не загружается своя json модель (1.12.2)

Версия Minecraft
1.12.2
Сразу прошу, не бейте тапком и не по лицу...
Пытаюсь просто сделать себе небольшой модик как переходник между крафтами различных модов для сборочек.
Сделал пару айтемов, всё работает, json модельки плоские цепляет. Решил добавить кастомную модель(ниже начало json файла), и эту модель уже майн не подхватывает, может кто объяснить, может что дописать надо или сам json неверно составлен.

package foxylab.bpm.core;

import foxylab.bpm.items.basicItem;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraftforge.fml.common.registry.ForgeRegistries;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

public class ItemsRegister
{


public static Item basecasing = new basicItem("basecasing", 64);
public static Item advancedcasing = new basicItem("advancedcasing", 64);

public static void register()
{
setRegister(basecasing);
setRegister(advancedcasing);
}

@SideOnly(Side.CLIENT)
public static void registerRender()
{
setRender(basecasing);
setRender(advancedcasing);

}

private static void setRegister(Item item)
{
ForgeRegistries.ITEMS.register(item);
}

@SideOnly(Side.CLIENT)
private static void setRender(Item item)
{
Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(item.getRegistryName(), "inventory"));

}
}
package foxylab.bpm.proxy;


import foxylab.bpm.core.ItemsRegister;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;

public class ClientProxy extends CommonProxy{

@Override
public void preInit(FMLPreInitializationEvent event)
{
super.preInit(event);
}

@Override
public void init(FMLInitializationEvent event)
{
super.init(event);
ItemsRegister.registerRender();
}

@Override
public void postInit(FMLPostInitializationEvent event)
{
super.postInit(event);
}

}
package foxylab.bpm.items;

import foxylab.bpm.core.Main;
import net.minecraft.item.Item;

public class basicItem extends Item{
public basicItem(String name, int maxStackSize){
this.setRegistryName(name);
this.setUnlocalizedName(name);
this.setCreativeTab(Main.TabFCM);
this.setMaxStackSize(maxStackSize);
}

}

Собственно само начало Json (я думаю сюда не особо влезет 2к строк кода, хотя я и не пытался :giggle:)
JSON:
{

    "__comment": "123",

    "textures": {

        "atlas": "fcm:items/basecasing_atlas",

        "mesh_atlas": "fcm:items/basecasing_meshatlas"

    },

    "elements": [

        {

            "__comment": "Cube13",

            "from": [ 0, 0, 0 ],

            "to": [ 16, 1, 1 ],

            "faces": {

                "down": { "uv": [ 8.5, 15, 9.5, 15.5 ], "texture": "#atlas" },

                "up": { "uv": [ 10, 15.5, 11, 16 ], "texture": "#atlas" },

                "north": { "uv": [ 10, 15, 11, 15.5 ], "texture": "#atlas" },

                "south": { "uv": [ 11, 15.5, 12, 16 ], "texture": "#atlas" },

                "west": { "uv": [ 9.5, 15, 10, 15.5 ], "texture": "#atlas" },

                "east": { "uv": [ 0.5, 0, 1, 0.5 ], "texture": "#atlas" }

            }

        },

        {
"__comment"
 
Краш-лог
[Client thread/ERROR] [FML]: Exception loading model for variant fcm:basecasing#inventory for item "fcm:basecasing", normal location exception: 
net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model fcm:item/basecasing with loader VanillaLoader.INSTANCE, skipping
at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:161) ~[ModelLoaderRegistry.class:?]
at net.minecraftforge.client.model.ModelLoader.loadItemModels(ModelLoader.java:302) ~[ModelLoader.class:?]
at net.minecraft.client.renderer.block.model.ModelBakery.loadVariantItemModels(ModelBakery.java:175) ~[ModelBakery.class:?]
at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:151) ~[ModelLoader.class:?]
at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?]
at net.minecraft.client.Minecraft.init(Minecraft.java:560) [Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:422) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_201]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_201]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_201]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_201]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_201]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_201]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_201]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_201]
at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
at GradleStart.main(GradleStart.java:25) [start/:?]
Caused by: com.google.gson.JsonParseException: 'from' specifier exceeds the allowed boundaries: Vector3f[0.25, 9.3875, -18.0894]
at net.minecraft.client.renderer.block.model.BlockPart$Deserializer.parsePositionFrom(BlockPart.java:206) ~[BlockPart$Deserializer.class:?]
at net.minecraft.client.renderer.block.model.BlockPart$Deserializer.deserialize(BlockPart.java:76) ~[BlockPart$Deserializer.class:?]
at net.minecraft.client.renderer.block.model.BlockPart$Deserializer.deserialize(BlockPart.java:70) ~[BlockPart$Deserializer.class:?]
at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) ~[TreeTypeAdapter.class:?]
at com.google.gson.Gson.fromJson(Gson.java:887) ~[Gson.class:?]
at com.google.gson.Gson.fromJson(Gson.java:952) ~[Gson.class:?]
at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:162) ~[TreeTypeAdapter$GsonContextImpl.class:?]
at net.minecraft.client.renderer.block.model.ModelBlock$Deserializer.getModelElements(ModelBlock.java:315) ~[ModelBlock$Deserializer.class:?]
at net.minecraft.client.renderer.block.model.ModelBlock$Deserializer.deserialize(ModelBlock.java:248) ~[ModelBlock$Deserializer.class:?]
at net.minecraft.client.renderer.block.model.ModelBlock$Deserializer.deserialize(ModelBlock.java:242) ~[ModelBlock$Deserializer.class:?]
at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) ~[TreeTypeAdapter.class:?]
at net.minecraft.util.JsonUtils.gsonDeserialize(JsonUtils.java:435) ~[JsonUtils.class:?]
at net.minecraft.client.renderer.block.model.ModelBlock.deserialize(ModelBlock.java:51) ~[ModelBlock.class:?]
at net.minecraft.client.renderer.block.model.ModelBakery.loadModel(ModelBakery.java:338) ~[ModelBakery.class:?]
at net.minecraftforge.client.model.ModelLoader.access$1400(ModelLoader.java:115) ~[ModelLoader.class:?]
at net.minecraftforge.client.model.ModelLoader$VanillaLoader.loadModel(ModelLoader.java:861) ~[ModelLoader$VanillaLoader.class:?]
at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:157) ~[ModelLoaderRegistry.class:?]
... 20 more
[20:55:39] [Client thread/ERROR] [FML]: Exception loading model for variant fcm:basecasing#inventory for item "fcm:basecasing", blockstate location exception:
net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model fcm:basecasing#inventory with loader VariantLoader.INSTANCE, skipping
at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:161) ~[ModelLoaderRegistry.class:?]
at net.minecraftforge.client.model.ModelLoader.loadItemModels(ModelLoader.java:296) ~[ModelLoader.class:?]
at net.minecraft.client.renderer.block.model.ModelBakery.loadVariantItemModels(ModelBakery.java:175) ~[ModelBakery.class:?]
at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:151) ~[ModelLoader.class:?]
at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?]
at net.minecraft.client.Minecraft.init(Minecraft.java:560) [Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:422) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_201]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_201]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_201]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_201]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_201]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_201]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_201]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_201]
at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
at GradleStart.main(GradleStart.java:25) [start/:?]
Caused by: net.minecraft.client.renderer.block.model.ModelBlockDefinition$MissingVariantException
at net.minecraft.client.renderer.block.model.ModelBlockDefinition.getVariant(ModelBlockDefinition.java:83) ~[ModelBlockDefinition.class:?]
at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1175) ~[ModelLoader$VariantLoader.class:?]
at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:157) ~[ModelLoaderRegistry.class:?]
... 20 more
Краш-лог:
[Client thread/ERROR] [FML]: Exception loading model for variant fcm:basecasing#inventory for item "fcm:basecasing", normal location exception: 
net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model fcm:item/basecasing with loader VanillaLoader.INSTANCE, skipping
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:161) ~[ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadItemModels(ModelLoader.java:302) ~[ModelLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelBakery.loadVariantItemModels(ModelBakery.java:175) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:151) ~[ModelLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.Minecraft.init(Minecraft.java:560) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:422) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_201]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_201]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_201]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_201]
	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
	at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_201]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_201]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_201]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_201]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:25) [start/:?]
Caused by: com.google.gson.JsonParseException: 'from' specifier exceeds the allowed boundaries: Vector3f[0.25, 9.3875, -18.0894]
	at net.minecraft.client.renderer.block.model.BlockPart$Deserializer.parsePositionFrom(BlockPart.java:206) ~[BlockPart$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPart$Deserializer.deserialize(BlockPart.java:76) ~[BlockPart$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPart$Deserializer.deserialize(BlockPart.java:70) ~[BlockPart$Deserializer.class:?]
	at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) ~[TreeTypeAdapter.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:887) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:952) ~[Gson.class:?]
	at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:162) ~[TreeTypeAdapter$GsonContextImpl.class:?]
	at net.minecraft.client.renderer.block.model.ModelBlock$Deserializer.getModelElements(ModelBlock.java:315) ~[ModelBlock$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.ModelBlock$Deserializer.deserialize(ModelBlock.java:248) ~[ModelBlock$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.ModelBlock$Deserializer.deserialize(ModelBlock.java:242) ~[ModelBlock$Deserializer.class:?]
	at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) ~[TreeTypeAdapter.class:?]
	at net.minecraft.util.JsonUtils.gsonDeserialize(JsonUtils.java:435) ~[JsonUtils.class:?]
	at net.minecraft.client.renderer.block.model.ModelBlock.deserialize(ModelBlock.java:51) ~[ModelBlock.class:?]
	at net.minecraft.client.renderer.block.model.ModelBakery.loadModel(ModelBakery.java:338) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.access$1400(ModelLoader.java:115) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader$VanillaLoader.loadModel(ModelLoader.java:861) ~[ModelLoader$VanillaLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:157) ~[ModelLoaderRegistry.class:?]
	... 20 more
[20:55:39] [Client thread/ERROR] [FML]: Exception loading model for variant fcm:basecasing#inventory for item "fcm:basecasing", blockstate location exception: 
net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model fcm:basecasing#inventory with loader VariantLoader.INSTANCE, skipping
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:161) ~[ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadItemModels(ModelLoader.java:296) ~[ModelLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelBakery.loadVariantItemModels(ModelBakery.java:175) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:151) ~[ModelLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.Minecraft.init(Minecraft.java:560) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:422) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_201]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_201]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_201]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_201]
	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
	at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_201]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_201]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_201]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_201]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:25) [start/:?]
Caused by: net.minecraft.client.renderer.block.model.ModelBlockDefinition$MissingVariantException
	at net.minecraft.client.renderer.block.model.ModelBlockDefinition.getVariant(ModelBlockDefinition.java:83) ~[ModelBlockDefinition.class:?]
	at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1175) ~[ModelLoader$VariantLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:157) ~[ModelLoaderRegistry.class:?]
	... 20 more
Последнее редактирование модератором:
3,005
192
592
@Hesperus_rus Как-бы код правильно скидывать надо, да, но код можно написать и в 1 сообщении, а не флудить/спамить.
А чем отличается твой код от ТС'а ?
Ну, кроме того, что у тебя лишний registerItemRenderer в прокси.
~
@Rufous_Fox попробуй добавить в начале "parent": "item/generated", (перед "textures": {)
 
изменил 1 строку, считай что всё остальное в точности (кроме регистрации крафтов, у меня пока их и нет, сейчас бы с моделью разобраться )
а так, всё та же ошибка, он по прежнему не цепляет вторую модельку.
P.S. спасибо, не знал про </> код
P.S.S. не через блокнот, я через кубик делал) Мне легче осваивать граф редакторы и рисовать, чем пытаться это писать кодом....
а так, буду благодарен, если кто-то поможет кроме самой этой ошибки освоится с созданием модификаций, учебник учебником, но иногда возникают вопросы, но не всегда нахожу ответы на них
 
Последнее редактирование:
148
2
6
@Hesperus_rus Как-бы код правильно скидывать надо, да, но код можно написать и в 1 сообщении, а не флудить/спамить.
А чем отличается твой код от ТС'а ?
Ну, кроме того, что у тебя лишний registerItemRenderer в прокси.
~
@Rufous_Fox попробуй добавить в начале "parent": "item/generated", (перед "textures": {)
Рассказал бы как вставлять код в 1 коммент
 
148
2
6
Спасибо что подсказал @Doc
 
Спасибо тем, кто пытался помочь, нашёл проблему, что-то не так с самим json файлом, может изменение того, как он выглядит в мире, в руке и гуи, а может воксель. Но не суть важно, буду эксперментировать и смотреть что ему не так.
Сделал за пару секунд новую модель (просто жирная палка 2 на 2 на 16 стоящая вертикально по центру) и json уже подгрузился вместе со всеми текстурами
Осталось поиграться со старым json фалом и посмотреть, что именно даёт ошибку)1552129111130.png
 
поправка от старого (то что удалил) получается координаты должны быть в пределах от -16 до 32, как я понял? Я чуть повозиллся с тем кодом, поменял то что выходит за эти рамки и сюрприз, код работает (привет кубику, который мне поставил координаты вне этих пределов...)
 
Сверху