我刚开始学习Java,同时修改了Minecraft。我已经看过一个关于使用Minecraft Forge API将块添加到游戏中的教程,但我遇到了问题。不再有“.setBlockTextureName()”方法,所以我不知道该怎么做。我在游戏中添加了一个简单的块,但它没有纹理,我想为它添加纹理。我如何为Minecraft 1.8做这个?
PS:如果这是重复的,我很抱歉,我只看到有关Minecraft怪物的问题,而不是1.8的纹理(记住这一点,1.8的Forge API与其他版本不同),所以我决定问自己。如果我需要澄清任何事情,请告诉我!
答案 0 :(得分:22)
1.8中的纹理非常不同。以下是一些教程:
Updating Blocks;
Updating Items
对于以上两种情况:
GameRegistry.registerBlock
。这些现在应该在block / item的构造函数中。private final
name
字段并为其创建一个getter。对于块:
在src/main/resources/assets/{MODID}/models/block
中,您需要2个JSON文件
第一个应该被称为{BLOCKNAME}.json
并包含:
{
"parent": "block/cube_all",
"textures": {
"all": "{MODID}:blocks/{BLOCKNAME}"
}
}
第二个名称相同,位于src/main/resources/assets/{MODID}/models/item
,并且有以下代码:
{
"parent": "{MODID}:block/{BLOCKNAME}",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}
现在在src/main/resources/assets/{MODID}/blockstates
中,您还需要1个JSON文件。使用相同的名称,它应该保留此代码:
{
"variants": {
"normal": { "model": "{MODID}:{BLOCKNAME}" }
}
}
您应该分别用您的mod ID和阻止名称替换{MODID}
和{BLOCKNAME}
。
答案 1 :(得分:0)
我建议阅读Minecraft Modding
特别是"对某些关键点的一些澄清"在上面的页面。Minecraft渲染区块的方式已经发生了显着变化,1.8。以前,块的形状是在java代码中定义的。这意味着(例如)BlockTorch将始终具有相同的形状,并且只能更改纹理。 Minecraft现在使用模型文件来定义形状和纹理。
另请参阅:Block models