"In order to run all of these, you will need a 64 bit computer (ideally little endian, on BE you will need to use a JIT like box64 which decreases performance) with 4 or more processor cores at over 900 MHz. A minimum of 4 GB of RAM is recommended, with some trickery like zram you might get away with less but it will cause slowdown. Ideally youd want an OpenGL capable graphics card too."
Alongside text like:
"Now, click on the right facing triangle (play button"
I have not played minecraft in a few years but I think nothing has changed. Mojang, even pre microsoft, has never provided any sort of modding support. I grew up on quake where ID would give you the game code and tools necessary to make mods. Mojang gave nothing. modding on minecraft involved decompiling the bytecode, dealing with the terrible symbols the decompiler gave you then recompiling it back into a jar. It was ugly and unpleasant. later the bigger efforts produced some tooling and libraries to make this better, but mojang had no part in this.
So minecraft is wierd, one of the most modded game in existence, yet the developers have provided no mod support.
new Block("mymod:mystone").setShape(Shapes.CUBE).setTexture("mymod:stone_texture").setStepSound(Sounds.STEP_ON_STONE)...
you now have to do some of this inline (the part that can't be customized in data packs):
new Block("mymod:mystone").setStepSound(Sounds.STEP_ON_STONE)...
but the rest is looked up across 5 different cross-referenced JSON files full of magic values with no autocomplete or syntax highlighting. Start with an indirection layer in assets/mymod/blockstates/mystone.json: [2]
{"variants": {"": {"model": "mystone"}}}
then of course you have to actually specify how to display the block: [3]
{"parent": "minecraft:block/cube_all", "textures": {"all": "fabric-docs-reference:block/steel_block"}}
(you see that? there are inheritance and variables in Minecraft's ad-hoc JSON language)
You need a second file to specify how to display the item when it's held in your hand. Usually it's similar boilerplate. But have a look at the abomination that is "item property overrides" [4] [5] as an example of inner-platforming. Instead of render(is_cast ? cast_model : uncast_model); there's this whole infrastructure of a registry of item property predicates written in Java which can then be referenced in JSON to select a different model file under specific conditions.
[1] https://thedailywtf.com/articles/the_inner-platform_effect
[2] https://docs.minecraftforge.net/en/1.12.x/models/blockstates...
[3] https://docs.fabricmc.net/develop/data-generation/block-mode...
[4] https://docs.minecraftforge.net/en/1.12.x/models/overrides/
[5] https://minecraft.fandom.com/wiki/Tutorials/Models#Example:_...
Yes, having to declare json files for your new block in your mod is a pain...
Meanwhile what it was built for, resource packs, this actually gives a good amount of power to the pack maker without having to ask the client to run untrusted java code.
It wasn't easy and majong did not help back then.
Bedrock added support for modding in 2016, 9 years ago, with resource packs and behavior packs. You can make custom entities, custom items, custom blocks, etc. There is also a marketplace available to distribute these to players, built right into the game.
Java edition also has had similar things for many years.
I do think that I have yet to see a bedrock player on windows as compared to java player on windows & I have been playing minecraft for so long and joined so many discord communities of minecraft related as well and that's my experience.
Java is really peak minecraft, with modpacks as well. You should try out prismlauncher, its open source and works quite smoothly on linux and you can try a lot of modpacks which the bedrock players can't play.
Fabuously Optimized is a must have modpack given how efficient it can make minecraft / give fps boosts
Of course the course of Microsoft and jeb_ might be different and he might get pushed towards some decisions later. The problem is that kids nowadays don't use computers. They use phones and tablets. For me Minecraft experience on phone is awful but there are many young generations that consider it native way of playing games
https://codeberg.org/mineclonia/mineclonia/pulls/3419 - Minecraft world gen (full reimplementation)
https://codeberg.org/mineclonia/mineclonia/pulls/3351 - raids
https://codeberg.org/mineclonia/mineclonia/pulls/2681 - much improved mob spawning
https://codeberg.org/mineclonia/mineclonia/pulls/2184 - a big mob rewrite
https://codeberg.org/mineclonia/mineclonia/pulls/2516 - client-side modding support, there's https://codeberg.org/halon/mcl_localplayer/ which makes physics and some other things way more Minecraft-like (elytras, proper eating, horses, etc), although currently it requires a Luanti fork since the upstream is not very interested in the changes.