如何解决块纹理仅在放置时丢失
编辑 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],"to": [16,16,16],"faces": {
"down": {"uv": [0,"texture":"#top","cullface":"down"},"up": {"uv": [0,"cullface":"up"},"north": {"uv": [0,"texture":"#side_one","cullface":"north"},"east": {"uv": [0,"texture":"#side","cullface":"east"},"south": {"uv": [0,"cullface":"south"},"west": {"uv": [0,"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"}
解决方法
感觉好傻,我的fomes_block.json模型文件写好了
{
"variants":{
"": "mushroomforest:block/fomes_block"
}
}
应该是什么时候
{
"variants":{
"": {"model":"mushroomforest:block/fomes_block"}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。