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. There is no longer the ".setBlockTextureName ()" method, so I don't know what to do. I have a simple block added into my game, but it has no texture and I want to add a texture to it. How would I do this for Minecraft 1.8?
P.S.: If this is a duplicate, I am sorry, I only saw questions about Minecraft mobs, not textures for 1.8 (keep that in mind, the Forge API for 1.8 is different than every other version), so I decided to ask myself.
If I need to clarify anything, please, let me know!
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.