【发布时间】:2021-04-16 17:10:13
【问题描述】:
编辑 2:我想将这个问题改写为“为什么我的纹理没有加载?是因为我的 .json 文件写得不好?我应该以不同的方式注册我的块/项目吗?”说到注册,我意识到我还没有添加我的主 mod 文件,所以在这里:
package kijilas.mushroomMod;
@Mod("mushroomforest")
public class MushroomMod {
public static MushroomMod instance;
public static final String modid = "mushroomforest";
private static final Logger logger = LogManager.getLogger(modid);
public MushroomMod() {
instance = this;
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup);
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::clientRegistries);
MinecraftForge.EVENT_BUS.register(this);
}
private void setup(final FMLCommonSetupEvent event) {
logger.info("Setup method registered");
}
private void clientRegistries(final FMLClientSetupEvent event) {
logger.info("Client registries method registered");
}
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD)
public static class RegistryEvents {
@SubscribeEvent
public static void registeritems(final RegistryEvent.Register<Item> event) {
event.getRegistry().registerAll(
ItemList.fomes_sword = new Item(new Item.Properties().tab(ItemGroup.TAB_COMBAT)).setRegistryName(location("fomes_sword")),
ItemList.fomes_block = new BlockItem(BlockList.fomes_block, new Item.Properties().tab(ItemGroup.TAB_BUILDING_BLOCKS)).setRegistryName(BlockList.fomes_block.getRegistryName())
);
logger.info("Items registered.");
}
@SubscribeEvent
public static void registerblocks(final RegistryEvent.Register<Block> event) {
event.getRegistry().registerAll(
BlockList.fomes_block = new Block(Block.Properties.of(Material.STONE).strength(0.75f).harvestTool(ToolType.AXE).sound(SoundType.WART_BLOCK)).setRegistryName(location("fomes_block"))
);
logger.info("Blocks registered.");
}
private static ResourceLocation location(String name) {
return new ResourceLocation(modid, name);
}
}
}
(为了便于阅读,我删除了导入,但我没有收到 Eclipse 对丢失的抱怨,我在“package kijilas.mushroomMod”行之后将它们全部导入)
我一直在努力学习为我的世界创建模组。 遵循“Harry Talks”的教程: https://www.youtube.com/watch?v=Hlo-tBIhr0k&list=PLiDUvCGH5WEUcxyUKxHpQpDuinaiNp3it&index=7
我有一个方块、它的物品和一把剑(它还不像剑,但没关系)。
我可以很好地从创意物品栏中取出方块,而且它有正确的名称、材质等。 但是当我把方块放下时,它有黑色和紫色的“缺失纹理”纹理。
这是我的方块状态
{
"variants": {
"": "mushroomforest:block/fomes_block"
}
}
这是我的模型
{
"parent":"block/block",
"textures": {
"side":"mushroomforest:block/fomes_side",
"top":"mushroomforest:block/fomes_top",
"side_one":"mushroomforest:block/fomes_top"
},
"elements": [
{
"from": [0, 0, 0],
"to": [16, 16, 16],
"faces": {
"down": {"uv": [0, 0, 16, 16], "texture":"#top", "cullface":"down"},
"up": {"uv": [0, 0, 16, 16], "texture":"#top", "cullface":"up"},
"north": {"uv": [0, 0, 16, 16], "texture":"#side_one", "cullface":"north"},
"east": {"uv": [0, 0, 16, 16], "texture":"#side", "cullface":"east"},
"south": {"uv": [0, 0, 16, 16], "texture":"#side", "cullface":"south"},
"west": {"uv": [0, 0, 16, 16], "texture":"#side", "cullface":"west"}
}
}
]
}
我没有块类,因为我只是使用 AbstractBlock 类。 我有 3 个 texture.png 文件(每个都正确命名)。
我遇到的错误(无法找到任何其他错误)是
[16Apr2021 17:53:35.199] [Worker-Main-12/WARN] [net.minecraft.client.renderer.model.ModelBakery/]: Exception loading blockstate definition: 'mushroomforest:blockstates/fomes_block.json' missing model for variant: 'mushroomforest:fomes_block#'
和
[16Apr2021 17:53:35.200] [Worker-Main-12/WARN] [net.minecraft.client.renderer.model.ModelBakery/]: Exception loading blockstate definition: 'mushroomforest:blockstates/fomes_block.json' in resourcepack: 'Mod Resources': java.lang.IllegalStateException: Not a JSON Object: "mushroomforest:block/fomes_block"
这是最新的 debug.log 文件: https://pastebin.com/EK3xy4vL
我不明白我做错了什么,如果有人可以帮助我,将不胜感激!
编辑:fomes_block 物品模型: {"parent":"mushroomforest:block/fomes_block"}
【问题讨论】:
标签: java json minecraft minecraft-forge