I have just started learning Java while modding Minecraft. I have watched a tutorial on adding the blocks into the game using the Minecraft Forge API, but I have a problem. Ther
I recommend reading Minecraft Modding
The way that Minecraft renders blocks has changed significantly for 1.8. Previously, the shape of blocks was defined in the java code. This meant that (for example) a BlockTorch would always have the same shape, and only the textures could be changed. Minecraft now uses model files to define both the shape and the texture.
in particular "Some Clarifications of some of the key points" on the above page.
See also: Block models
Texturing is very different in 1.8. Here are some tutorials:
Updating Blocks;
Updating Items.
For both of the above:
GameRegistry.registerBlock
from the main mod class. These should now be in the block/item's constructor.private final
name
field and create a getter for it.For blocks:
In src/main/resources/assets/{MODID}/models/block
you will need 2 JSON files.
The first should be called {BLOCKNAME}.json
and contain this:
{
"parent": "block/cube_all",
"textures": {
"all": "{MODID}:blocks/{BLOCKNAME}"
}
}
The second has the same name, goes in src/main/resources/assets/{MODID}/models/item
, and has this code:
{
"parent": "{MODID}:block/{BLOCKNAME}",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}
Now in src/main/resources/assets/{MODID}/blockstates
, you need 1 more JSON file. With the same name, it should hold this code:
{
"variants": {
"normal": { "model": "{MODID}:{BLOCKNAME}" }
}
}
You should replace {MODID}
and {BLOCKNAME}
with your mod's ID and block's name, respectively.