当前位置: 首页 > 知识库问答 >
问题:

如何修复minecraft Forge中“blockstate变体'#normal'异常的加载模型”?

季稳
2023-03-14

在成功地使一个项目有一个纹理之后,在最后的几个小时里,我一直在努力使纹理加载为块工作(解释我的错误消息,这是我挣扎的模型加载)

我跟随cubicoders教程(https://cubicoder.wordpress.com/2018/06/20/basic-block/)了解到目前为止的进展。因为他的创建块的解决方案抛出了一个错误,所以我用其他教程进行了检查。虽然我的错误日志坚持问题出在模型加载(特别是variant#normal的variant加载),但这部分与我能找到的每个教程中完全相同。
还有什么可能是这种异常的触发器?

我完整的项目代码可以在这里找到:https://github.com/harlekintiger/modding
它实际上只是基本的设置,一个项目和这个破碎的块。

最重要的部分如下:

“basic_block.json”位于“resources/assets/modid/blockstate”中:

{
   "forge_marker": 1,
   "defaults": {
      "model": "firstforgemod:basic_block"
   },
      "variants": {
         "normal": [{}],
         "inventory": [{}]
   }
}

“basic_block.json”位于“resources/assets/modid/model/block”中:

{
   "parent": "block/cube_all",
   "textures": {
      "all": "firstforgemod:blocks/basic_block"
   }
}

实际块的类:

public class BlockBasic extends Block{

    public BlockBasic(Material material, String unlocalizedName, String registryName){
        this(material, SoundType.STONE, unlocalizedName, registryName);
    }

    public BlockBasic(Material material, SoundType sound, String unlocalizedName, String registryName){
        super(material);
        setUnlocalizedName(FirstForgeMod.MODID + "." + unlocalizedName);
        setRegistryName(registryName);
        setCreativeTab(FirstForgeMod.TUTORIAL_TAB);
        setSoundType(sound);
    }
}

类来收集块:

@ObjectHolder(FirstForgeMod.MODID)
public class TutorialBlocks {

    public static final Block BASIC_BLOCK = null;
}

ModelRegistryHandler类:(我猜是这里缺少了什么)

@EventBusSubscriber(Side.CLIENT)
public class ModelRegistryHandler {

    @SubscribeEvent
    public static void registerModels(ModelRegistryEvent event){
        registerModel(TutorialItems.BASIC_ITEM);
        registerModel(Item.getItemFromBlock(TutorialBlocks.BASIC_BLOCK));
    }

    private static void registerModel(Item item) {
        ModelLoader.setCustomModelResourceLocation(item, 0, new ModelResourceLocation(item.getRegistryName(), "inventory"));
    }
}

RegistryHandler类:

@EventBusSubscriber
public class RegistryHandler {

    @SubscribeEvent
    public static void registerBlocks(Register<Block> event){
        final Block[] blocks ={
            new BlockBasic(Material.ROCK, "blockBasic", "basic_block")
        };

        event.getRegistry().registerAll(blocks);
    }

    @SubscribeEvent
    public  static  void registerItems(Register<Item> event){
        final Item[] items = {
                new ItemBasic("itemBasic", "basic_item")
        };

        final Item[] itemBlocks = {
                new ItemBlock(TutorialBlocks.BASIC_BLOCK).setRegistryName(TutorialBlocks.BASIC_BLOCK.getRegistryName())
        };

        event.getRegistry().registerAll(items);
        event.getRegistry().registerAll(itemBlocks);
    }
}

minecraft的日志文件启动(带有错误消息)和关闭:
https://pastebin.com/ff7nufsk

我得到的是:游戏开始和游戏中的块可以放置,但是完全没有纹理(缺少纹理文本)在世界和库存。

共有1个答案

戈建白
2023-03-14
Caused by: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 14 column 2 path $

这是你的潜在错误。

https://github.com/harlekintiger/modding/blob/master/src/main/resources/assets/firstforgemod/blockstates/basic_block.json#L14

JSON是一种数据格式,它不允许文件中的任何位置有注释(任何类型)。

 类似资料:
  • 在成功地使一个项目具有纹理后,在过去的几个小时里,我一直在努力使块的纹理加载工作正常(解释我的错误消息,这是我努力处理的模型加载) 我按照隔间师教程(https://cubicoder.wordpress.com/2018/06/20/basic-block/)到目前为止的进展。因为他创建块的解决方案抛出了一个错误,我用其他教程检查了一下。虽然我的错误日志坚持认为问题在于模型加载(特别是变体#正常

  • 问题内容: 我正在尝试将XML发送到服务器并取回XML。有什么办法可以解决/忽略此异常吗? 我知道状态行为空,这会引发此错误。 问题答案: 尝试看看您的服务器实际上返回了什么!它可能不是有效的HTTP响应。您可以使用以下方式将原始的http请求发送到服务器: 响应应类似于:

  • 我想使用来模拟请求和响应。为此,我使用docker映像。下面是docker-compose文件示例,其中使用。 现在为了增加期望。我使用以下mockserver java客户端。 但是当我调用rest api添加期望时,它就起作用了。 Curl-V-X将“http://mylocalhost.org:1080/mockserver/expected”

  • 嗨,我正在尝试建立一个从visual Studio2019/VB.NET到phpmyadmin的连接,我试着按照YouTube的教程学习,但当我尝试连接时,我一直遇到这个错误,我甚至尝试了mysql.data的其他验证。

  • 我正试着数字符串中元音的数目。问题是它编译正确,但当我运行它时,命令窗口显示“countvowels.main(countvowels.java:25)处线程'main'java.lang.NullPointerException”。 是什么导致了这一点,我该如何修复它,我该如何防止它在未来再次发生? 第25行是我的if语句:

  • 我使用的是Selenium3.9.0+Geckodriver0.24+Firefox58.0.2。 当webdriver想要在我的目标站点上单击导航树中的元素时->script crashing with selenium异常:“selenium.Common.Exceptions.ElementClickInterceptedException:Message:element is not cl