在成功地使一个项目具有纹理后,在过去的几个小时里,我一直在努力使块的纹理加载工作正常(解释我的错误消息,这是我努力处理的模型加载)
我按照隔间师教程(https://cubicoder.wordpress.com/2018/06/20/basic-block/)到目前为止的进展。因为他创建块的解决方案抛出了一个错误,我用其他教程检查了一下。虽然我的错误日志坚持认为问题在于模型加载(特别是变体#正常的变体加载),但这一部分与我能找到的每个教程完全相同。
还有什么可能是这种异常的触发因素?
我的完整项目代码可以在这里找到:https://github.com/harlekintiger/modding
这实际上只是基本的设置,一个项目和这个破碎的块。
最重要的部分如下:
位于“resources/assets/MODID/blockstate”中的“basic_block.json”:
{
"forge_marker": 1,
"defaults": {
"model": "firstforgemod:basic_block"
},
"variants": {
"normal": [{}],
"inventory": [{}]
}
}
位于“resources/assets/MODID/models/block”中的“basic_block.json”:
{
"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
我得到的是:游戏开始,游戏中可以放置积木,但在世界和库存中都完全没有纹理(缺少纹理)。
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是一种数据格式,它不允许注释(任何类型)在文件中的任何位置。
我试图添加一个新的块到游戏中,每边都有不同的纹理,它会抛出一个错误异常加载模型的变体。 我有其他具有类似命名约定的块,这些块工作正常,但在所有方面都具有相同的纹理。 游戏中的方块正确显示了“燃烧”和“朝向”状态,但没有显示纹理。
在成功地使一个项目有一个纹理之后,在最后的几个小时里,我一直在努力使纹理加载为块工作(解释我的错误消息,这是我挣扎的模型加载) 我跟随cubicoders教程(https://cubicoder.wordpress.com/2018/06/20/basic-block/)了解到目前为止的进展。因为他的创建块的解决方案抛出了一个错误,所以我用其他教程进行了检查。虽然我的错误日志坚持问题出在模型加载(
我有中的图片。我知道它应该工作,因为还有很多其他物品有工作纹理。我的项目类看起来像这样: ItemBase类构造函数如下所示: 我不知道该怎么办。我的源代码在这里:链接,如果你需要的话。非常感谢。
问题内容: 我正在尝试将XML发送到服务器并取回XML。有什么办法可以解决/忽略此异常吗? 我知道状态行为空,这会引发此错误。 问题答案: 尝试看看您的服务器实际上返回了什么!它可能不是有效的HTTP响应。您可以使用以下方式将原始的http请求发送到服务器: 响应应类似于:
Mod源代码: 我知道出于测试的目的,我可以使用控制台命令gradlew运行它,但我希望能够以用户的正常方式运行它,我可以将一个jar文件放入minecraft的mods文件夹中,并运行mod。