【问题标题】:Block Texture missing only when placed方块纹理仅在放置时丢失
【发布时间】: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


    【解决方案1】:

    我觉得好傻,我的fomes_block.json模型文件被写了

    {
        "variants":{
            "": "mushroomforest:block/fomes_block"
        }
    }
    

    应该是什么时候

    {
        "variants":{
            "": {"model":"mushroomforest:block/fomes_block"}
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多