Jump to content

[1.12.x/1.11.x] [SOLVED] Block connections (Collision, JSON)


Recommended Posts

Posted (edited)
1 hour ago, Draco18s said:

But you've also got this:


Caused by: java.io.FileNotFoundException: justanotherenergy:models/item/plate_tin.json

 

Yeah, this is because I never got to the point to create the JSON files for everything. I'm just writing all the code and the last thing I'm doing is adding the JSON files. Mostly this results

into the JSON files beeing added a few hours before I build a new alpha version.

 

1 hour ago, Draco18s said:

And this:


Caused by: java.io.FileNotFoundException: justanotherenergy:models/item/cable.json

This JSON will come later. I just added the other jsons to see if it is working for the world. For the item json I have to figure out how to use the 3D model from the world for the inventory and rotate it in a good direction with some submodels beeing added.

 

1 hour ago, Draco18s said:

This is probably your main problem:


Caused by: java.lang.RuntimeException: Encountered an exception when loading model definition of 'justanotherenergy:cable' from: 'justanotherenergy:blockstates/cable.json' in resourcepack: 'FMLFileResourcePack:JustAnotherEnergy'
...
Caused by: com.google.gson.JsonParseException: transform: unknown default string: cable_side

 

How can I fix this?

 

EDIT: I replaced the line which caused the error now with "inventory": [{ "transform": "forge:default-block" }].

But the problem with all the other errors still remains. My block is still just displayed as a normal block with a missing texture instead of the model I defined.

Edited by Bektor

Developer of Primeval Forest.

Posted
5 hours ago, Jay Avery said:

Post the full latest log, and your latest blockstates and model files.

There you go, however I didn't posted the full latest log as there are some errors thrown out which aren't even related to the blocks this thread is about (like missing jsons for copper ingot etc.)

Spoiler

[14:54:48] [Client thread/DEBUG] [FML/]: Bar Finished: ModelLoader: blocks took 2.922s
[14:54:49] [Client thread/DEBUG] [FML/]: Bar Finished: ModelLoader: items took 1.378s
[14:54:49] [Client thread/INFO] [FML/]: Max texture size: 16384
[14:54:49] [Client thread/DEBUG] [FML/]: Bar Finished: Texture stitching - missingno took 0.001s
[14:54:49] [Client thread/DEBUG] [FML/]: Bar Finished: Texture creation took 0.002s
[14:54:49] [Client thread/DEBUG] [FML/]: Bar Finished: Texture mipmap and upload - missingno took 0.001s
[14:54:49] [Client thread/ERROR] [FML/]: Exception loading model for variant justanotherenergy:cable#east=false,north=true,south=false,west=true for blockstate "justanotherenergy:cable[east=false,north=true,south=false,west=true]"
net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model justanotherenergy:cable#east=false,north=true,south=false,west=true with loader VariantLoader.INSTANCE, skipping
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader.registerVariant(ModelLoader.java:264) ~[ModelLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelBakery.loadBlock(ModelBakery.java:153) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:252) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:159) ~[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:122) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.Minecraft.init(Minecraft.java:541) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:387) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_144]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_144]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_144]
	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_144]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_144]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_144]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_144]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:26) [start/:?]
Caused by: net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model justanotherenergy:block/cable_base with loader VanillaLoader.INSTANCE, skipping
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader$WeightedRandomModel.<init>(ModelLoader.java:781) ~[ModelLoader$WeightedRandomModel.class:?]
	at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1258) ~[ModelLoader$VariantLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
	... 21 more
Caused by: com.google.gson.JsonSyntaxException: Missing texture, expected to find a string
	at net.minecraft.util.JsonUtils.getString(JsonUtils.java:102) ~[JsonUtils.class:?]
	at net.minecraft.client.renderer.block.model.BlockPartFace$Deserializer.parseTexture(BlockPartFace.java:52) ~[BlockPartFace$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPartFace$Deserializer.deserialize(BlockPartFace.java:40) ~[BlockPartFace$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPartFace$Deserializer.deserialize(BlockPartFace.java:32) ~[BlockPartFace$Deserializer.class:?]
	at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:58) ~[TreeTypeAdapter.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:803) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:868) ~[Gson.class:?]
	at com.google.gson.Gson$1.deserialize(Gson.java:126) ~[Gson$1.class:?]
	at net.minecraft.client.renderer.block.model.BlockPart$Deserializer.parseFaces(BlockPart.java:162) ~[BlockPart$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPart$Deserializer.parseFacesCheck(BlockPart.java:142) ~[BlockPart$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPart$Deserializer.deserialize(BlockPart.java:79) ~[BlockPart$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPart$Deserializer.deserialize(BlockPart.java:70) ~[BlockPart$Deserializer.class:?]
	at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:58) ~[TreeTypeAdapter.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:803) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:868) ~[Gson.class:?]
	at com.google.gson.Gson$1.deserialize(Gson.java:126) ~[Gson$1.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.TreeTypeAdapter.read(TreeTypeAdapter.java:58) ~[TreeTypeAdapter.class:?]
	at net.minecraft.util.JsonUtils.gsonDeserialize(JsonUtils.java:429) ~[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$1600(ModelLoader.java:127) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader$VanillaLoader.loadModel(ModelLoader.java:941) ~[ModelLoader$VanillaLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader$WeightedRandomModel.<init>(ModelLoader.java:781) ~[ModelLoader$WeightedRandomModel.class:?]
	at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1258) ~[ModelLoader$VariantLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
	... 21 more
[14:54:49] [Client thread/ERROR] [FML/]: Exception loading model for variant justanotherenergy:cable#east=true,north=true,south=true,west=true for blockstate "justanotherenergy:cable[east=true,north=true,south=true,west=true]"
net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model justanotherenergy:cable#east=true,north=true,south=true,west=true with loader VariantLoader.INSTANCE, skipping
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader.registerVariant(ModelLoader.java:264) ~[ModelLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelBakery.loadBlock(ModelBakery.java:153) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:252) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:159) ~[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:122) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.Minecraft.init(Minecraft.java:541) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:387) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_144]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_144]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_144]
	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_144]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_144]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_144]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_144]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:26) [start/:?]
Caused by: net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model justanotherenergy:block/cable_base with loader VanillaLoader.INSTANCE, skipping
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader$WeightedRandomModel.<init>(ModelLoader.java:781) ~[ModelLoader$WeightedRandomModel.class:?]
	at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1258) ~[ModelLoader$VariantLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
	... 21 more
Caused by: com.google.gson.JsonSyntaxException: Missing texture, expected to find a string
	at net.minecraft.util.JsonUtils.getString(JsonUtils.java:102) ~[JsonUtils.class:?]
	at net.minecraft.client.renderer.block.model.BlockPartFace$Deserializer.parseTexture(BlockPartFace.java:52) ~[BlockPartFace$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPartFace$Deserializer.deserialize(BlockPartFace.java:40) ~[BlockPartFace$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPartFace$Deserializer.deserialize(BlockPartFace.java:32) ~[BlockPartFace$Deserializer.class:?]
	at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:58) ~[TreeTypeAdapter.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:803) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:868) ~[Gson.class:?]
	at com.google.gson.Gson$1.deserialize(Gson.java:126) ~[Gson$1.class:?]
	at net.minecraft.client.renderer.block.model.BlockPart$Deserializer.parseFaces(BlockPart.java:162) ~[BlockPart$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPart$Deserializer.parseFacesCheck(BlockPart.java:142) ~[BlockPart$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPart$Deserializer.deserialize(BlockPart.java:79) ~[BlockPart$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPart$Deserializer.deserialize(BlockPart.java:70) ~[BlockPart$Deserializer.class:?]
	at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:58) ~[TreeTypeAdapter.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:803) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:868) ~[Gson.class:?]
	at com.google.gson.Gson$1.deserialize(Gson.java:126) ~[Gson$1.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.TreeTypeAdapter.read(TreeTypeAdapter.java:58) ~[TreeTypeAdapter.class:?]
	at net.minecraft.util.JsonUtils.gsonDeserialize(JsonUtils.java:429) ~[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$1600(ModelLoader.java:127) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader$VanillaLoader.loadModel(ModelLoader.java:941) ~[ModelLoader$VanillaLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader$WeightedRandomModel.<init>(ModelLoader.java:781) ~[ModelLoader$WeightedRandomModel.class:?]
	at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1258) ~[ModelLoader$VariantLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
	... 21 more
[14:54:49] [Client thread/ERROR] [FML/]: Exception loading model for variant justanotherenergy:cable#east=false,north=false,south=true,west=true for blockstate "justanotherenergy:cable[east=false,north=false,south=true,west=true]"
net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model justanotherenergy:cable#east=false,north=false,south=true,west=true with loader VariantLoader.INSTANCE, skipping
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader.registerVariant(ModelLoader.java:264) ~[ModelLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelBakery.loadBlock(ModelBakery.java:153) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:252) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:159) ~[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:122) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.Minecraft.init(Minecraft.java:541) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:387) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_144]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_144]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_144]
	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_144]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_144]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_144]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_144]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:26) [start/:?]
Caused by: net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model justanotherenergy:block/cable_base with loader VanillaLoader.INSTANCE, skipping
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader$WeightedRandomModel.<init>(ModelLoader.java:781) ~[ModelLoader$WeightedRandomModel.class:?]
	at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1258) ~[ModelLoader$VariantLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
	... 21 more
Caused by: com.google.gson.JsonSyntaxException: Missing texture, expected to find a string
	at net.minecraft.util.JsonUtils.getString(JsonUtils.java:102) ~[JsonUtils.class:?]
	at net.minecraft.client.renderer.block.model.BlockPartFace$Deserializer.parseTexture(BlockPartFace.java:52) ~[BlockPartFace$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPartFace$Deserializer.deserialize(BlockPartFace.java:40) ~[BlockPartFace$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPartFace$Deserializer.deserialize(BlockPartFace.java:32) ~[BlockPartFace$Deserializer.class:?]
	at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:58) ~[TreeTypeAdapter.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:803) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:868) ~[Gson.class:?]
	at com.google.gson.Gson$1.deserialize(Gson.java:126) ~[Gson$1.class:?]
	at net.minecraft.client.renderer.block.model.BlockPart$Deserializer.parseFaces(BlockPart.java:162) ~[BlockPart$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPart$Deserializer.parseFacesCheck(BlockPart.java:142) ~[BlockPart$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPart$Deserializer.deserialize(BlockPart.java:79) ~[BlockPart$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPart$Deserializer.deserialize(BlockPart.java:70) ~[BlockPart$Deserializer.class:?]
	at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:58) ~[TreeTypeAdapter.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:803) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:868) ~[Gson.class:?]
	at com.google.gson.Gson$1.deserialize(Gson.java:126) ~[Gson$1.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.TreeTypeAdapter.read(TreeTypeAdapter.java:58) ~[TreeTypeAdapter.class:?]
	at net.minecraft.util.JsonUtils.gsonDeserialize(JsonUtils.java:429) ~[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$1600(ModelLoader.java:127) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader$VanillaLoader.loadModel(ModelLoader.java:941) ~[ModelLoader$VanillaLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader$WeightedRandomModel.<init>(ModelLoader.java:781) ~[ModelLoader$WeightedRandomModel.class:?]
	at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1258) ~[ModelLoader$VariantLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
	... 21 more

 

 

I'm also wondering what's causing the JSONSyntaxException as JSONLint - The JSON Validator tells me the JSON files are correct.

 

The code:

Spoiler

{
	"forge_marker": 1,
	"defaults": {
		"model": "justanotherenergy:cable_base",
		"textures": { "all": "justanotherenergy:blocks/cable" }
	},
	"variants": {
	   "north": {
	       "true": {
	           "submodel": "justanotherenergy:cable_side"
	       },
	       "false": {
	       }
	   },
	   "east": {
           "true": {
               "submodel": "justanotherenergy:cable_side"
           },
           "false": {
           }
       },
       "south": {
           "true": {
               "submodel": "justanotherenergy:cable_side"
           },
           "false": {
           }
       },
       "west": {
           "true": {
               "submodel": "justanotherenergy:cable_side"
           },
           "false": {
           }
       },
       "inventory": [{ "transform": "forge:default-block" }]
	}
}

cable.json found in assets.justanotherenergy.blockstates

 


{
    "parent": "justanotherenergy:cable_base",
    "texture": {
        "particle": "justanotherenergy:blocks/cable",
        "texture": "justanotherenergy:blocks/cable",
        "overlay": "justanotherenergy:blocks/cable"
    },
    "elements": [
        {
            "from": [ 4, 4, 4 ],
            "to": [ 12, 12, 12 ],
            "faces": {
                "down": { "cullface": "down" },
                "up": { "cullface": "up" },
                "north": { "cullface": "north" },
                "south": { "cullface": "south" },
                "west": { "cullface": "west" },
                "east": { "cullface": "east" }
            }
        }
    ]
}

cable_base.json found in assets.justanotherenergy.models.block

 


{
    "parent": "justanotherenergy:cable_side",
    "texture": {
        "particle": "justanotherenergy:blocks/cable",
        "texture": "justanotherenergy:blocks/cable",
        "overlay": "justanotherenergy:blocks/cable"
    },
    "elements": [
        {
            "from": [ 4, 0, 4 ],
            "to": [ 12, 4, 12 ],
            "faces": {
                "down": { "cullface": "down" },
                "up": { "cullface": "up" },
                "north": { "cullface": "north" },
                "south": { "cullface": "south" },
                "west": { "cullface": "west" },
                "east": { "cullface": "east" }
            }
        }
    ]
}

cable_side.json found in assets.justanotherenergy.models.block

 

The texture cable.png can be found in assets.justanotherenergy.textures.blocks.

 

The source code of the block remains the same as before.

Developer of Primeval Forest.

Posted
44 minutes ago, Bektor said:

    "texture": {
        "particle": "justanotherenergy:blocks/cable",
        "texture": "justanotherenergy:blocks/cable",
        "overlay": "justanotherenergy:blocks/cable"
    },

 

This block should be "textures" not "texture" - same mistake in cable_base and cable_side.

Posted
50 minutes ago, Jay Avery said:

This block should be "textures" not "texture" - same mistake in cable_base and cable_side.

    "textures": {
        "particle": "justanotherenergy:blocks/cable",
        "texture": "justanotherenergy:blocks/cable",
        "overlay": "justanotherenergy:blocks/cable"
    },

Ok, I changed it in cable_base and cable_side, thought the errors still remain.

Developer of Primeval Forest.

Posted
22 minutes ago, Jay Avery said:

Post the log again, the errors are probably not identical.

Spoiler

[20:33:49] [Client thread/ERROR] [FML]: Exception loading model for variant justanotherenergy:cable#east=false,north=true,south=false,west=true for blockstate "justanotherenergy:cable[east=false,north=true,south=false,west=true]"
net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model justanotherenergy:cable#east=false,north=true,south=false,west=true with loader VariantLoader.INSTANCE, skipping
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader.registerVariant(ModelLoader.java:264) ~[ModelLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelBakery.loadBlock(ModelBakery.java:153) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:252) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:159) ~[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:122) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.Minecraft.init(Minecraft.java:541) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:387) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_144]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_144]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_144]
	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_144]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_144]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_144]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_144]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:26) [start/:?]
Caused by: net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model justanotherenergy:block/cable_base with loader VanillaLoader.INSTANCE, skipping
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader$WeightedRandomModel.<init>(ModelLoader.java:781) ~[ModelLoader$WeightedRandomModel.class:?]
	at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1258) ~[ModelLoader$VariantLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
	... 21 more
Caused by: com.google.gson.JsonSyntaxException: Missing texture, expected to find a string
	at net.minecraft.util.JsonUtils.getString(JsonUtils.java:102) ~[JsonUtils.class:?]
	at net.minecraft.client.renderer.block.model.BlockPartFace$Deserializer.parseTexture(BlockPartFace.java:52) ~[BlockPartFace$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPartFace$Deserializer.deserialize(BlockPartFace.java:40) ~[BlockPartFace$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPartFace$Deserializer.deserialize(BlockPartFace.java:32) ~[BlockPartFace$Deserializer.class:?]
	at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:58) ~[TreeTypeAdapter.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:803) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:868) ~[Gson.class:?]
	at com.google.gson.Gson$1.deserialize(Gson.java:126) ~[Gson$1.class:?]
	at net.minecraft.client.renderer.block.model.BlockPart$Deserializer.parseFaces(BlockPart.java:162) ~[BlockPart$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPart$Deserializer.parseFacesCheck(BlockPart.java:142) ~[BlockPart$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPart$Deserializer.deserialize(BlockPart.java:79) ~[BlockPart$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPart$Deserializer.deserialize(BlockPart.java:70) ~[BlockPart$Deserializer.class:?]
	at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:58) ~[TreeTypeAdapter.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:803) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:868) ~[Gson.class:?]
	at com.google.gson.Gson$1.deserialize(Gson.java:126) ~[Gson$1.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.TreeTypeAdapter.read(TreeTypeAdapter.java:58) ~[TreeTypeAdapter.class:?]
	at net.minecraft.util.JsonUtils.gsonDeserialize(JsonUtils.java:429) ~[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$1600(ModelLoader.java:127) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader$VanillaLoader.loadModel(ModelLoader.java:941) ~[ModelLoader$VanillaLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader$WeightedRandomModel.<init>(ModelLoader.java:781) ~[ModelLoader$WeightedRandomModel.class:?]
	at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1258) ~[ModelLoader$VariantLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
	... 21 more
[20:33:49] [Client thread/ERROR] [FML]: Exception loading model for variant justanotherenergy:cable#east=true,north=true,south=true,west=true for blockstate "justanotherenergy:cable[east=true,north=true,south=true,west=true]"
net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model justanotherenergy:cable#east=true,north=true,south=true,west=true with loader VariantLoader.INSTANCE, skipping
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader.registerVariant(ModelLoader.java:264) ~[ModelLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelBakery.loadBlock(ModelBakery.java:153) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:252) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:159) ~[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:122) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.Minecraft.init(Minecraft.java:541) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:387) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_144]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_144]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_144]
	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_144]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_144]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_144]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_144]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:26) [start/:?]
Caused by: net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model justanotherenergy:block/cable_base with loader VanillaLoader.INSTANCE, skipping
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader$WeightedRandomModel.<init>(ModelLoader.java:781) ~[ModelLoader$WeightedRandomModel.class:?]
	at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1258) ~[ModelLoader$VariantLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
	... 21 more
Caused by: com.google.gson.JsonSyntaxException: Missing texture, expected to find a string
	at net.minecraft.util.JsonUtils.getString(JsonUtils.java:102) ~[JsonUtils.class:?]
	at net.minecraft.client.renderer.block.model.BlockPartFace$Deserializer.parseTexture(BlockPartFace.java:52) ~[BlockPartFace$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPartFace$Deserializer.deserialize(BlockPartFace.java:40) ~[BlockPartFace$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPartFace$Deserializer.deserialize(BlockPartFace.java:32) ~[BlockPartFace$Deserializer.class:?]
	at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:58) ~[TreeTypeAdapter.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:803) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:868) ~[Gson.class:?]
	at com.google.gson.Gson$1.deserialize(Gson.java:126) ~[Gson$1.class:?]
	at net.minecraft.client.renderer.block.model.BlockPart$Deserializer.parseFaces(BlockPart.java:162) ~[BlockPart$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPart$Deserializer.parseFacesCheck(BlockPart.java:142) ~[BlockPart$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPart$Deserializer.deserialize(BlockPart.java:79) ~[BlockPart$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPart$Deserializer.deserialize(BlockPart.java:70) ~[BlockPart$Deserializer.class:?]
	at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:58) ~[TreeTypeAdapter.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:803) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:868) ~[Gson.class:?]
	at com.google.gson.Gson$1.deserialize(Gson.java:126) ~[Gson$1.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.TreeTypeAdapter.read(TreeTypeAdapter.java:58) ~[TreeTypeAdapter.class:?]
	at net.minecraft.util.JsonUtils.gsonDeserialize(JsonUtils.java:429) ~[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$1600(ModelLoader.java:127) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader$VanillaLoader.loadModel(ModelLoader.java:941) ~[ModelLoader$VanillaLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader$WeightedRandomModel.<init>(ModelLoader.java:781) ~[ModelLoader$WeightedRandomModel.class:?]
	at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1258) ~[ModelLoader$VariantLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
	... 21 more
[20:33:49] [Client thread/ERROR] [FML]: Exception loading model for variant justanotherenergy:cable#east=false,north=false,south=true,west=true for blockstate "justanotherenergy:cable[east=false,north=false,south=true,west=true]"
net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model justanotherenergy:cable#east=false,north=false,south=true,west=true with loader VariantLoader.INSTANCE, skipping
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader.registerVariant(ModelLoader.java:264) ~[ModelLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelBakery.loadBlock(ModelBakery.java:153) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:252) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:159) ~[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:122) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.Minecraft.init(Minecraft.java:541) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:387) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_144]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_144]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_144]
	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_144]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_144]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_144]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_144]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:26) [start/:?]
Caused by: net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model justanotherenergy:block/cable_base with loader VanillaLoader.INSTANCE, skipping
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader$WeightedRandomModel.<init>(ModelLoader.java:781) ~[ModelLoader$WeightedRandomModel.class:?]
	at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1258) ~[ModelLoader$VariantLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
	... 21 more
Caused by: com.google.gson.JsonSyntaxException: Missing texture, expected to find a string
	at net.minecraft.util.JsonUtils.getString(JsonUtils.java:102) ~[JsonUtils.class:?]
	at net.minecraft.client.renderer.block.model.BlockPartFace$Deserializer.parseTexture(BlockPartFace.java:52) ~[BlockPartFace$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPartFace$Deserializer.deserialize(BlockPartFace.java:40) ~[BlockPartFace$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPartFace$Deserializer.deserialize(BlockPartFace.java:32) ~[BlockPartFace$Deserializer.class:?]
	at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:58) ~[TreeTypeAdapter.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:803) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:868) ~[Gson.class:?]
	at com.google.gson.Gson$1.deserialize(Gson.java:126) ~[Gson$1.class:?]
	at net.minecraft.client.renderer.block.model.BlockPart$Deserializer.parseFaces(BlockPart.java:162) ~[BlockPart$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPart$Deserializer.parseFacesCheck(BlockPart.java:142) ~[BlockPart$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPart$Deserializer.deserialize(BlockPart.java:79) ~[BlockPart$Deserializer.class:?]
	at net.minecraft.client.renderer.block.model.BlockPart$Deserializer.deserialize(BlockPart.java:70) ~[BlockPart$Deserializer.class:?]
	at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:58) ~[TreeTypeAdapter.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:803) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:868) ~[Gson.class:?]
	at com.google.gson.Gson$1.deserialize(Gson.java:126) ~[Gson$1.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.TreeTypeAdapter.read(TreeTypeAdapter.java:58) ~[TreeTypeAdapter.class:?]
	at net.minecraft.util.JsonUtils.gsonDeserialize(JsonUtils.java:429) ~[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$1600(ModelLoader.java:127) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader$VanillaLoader.loadModel(ModelLoader.java:941) ~[ModelLoader$VanillaLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader$WeightedRandomModel.<init>(ModelLoader.java:781) ~[ModelLoader$WeightedRandomModel.class:?]
	at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1258) ~[ModelLoader$VariantLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
	... 21 more

 

 

Developer of Primeval Forest.

Posted

Oh, I just realised the problem, your model files are missing important things.

 

      "faces": {
          "down": { "cullface": "down" },
          "up": { "cullface": "up" },
          "north": { "cullface": "north" },
          "south": { "cullface": "south" },
          "west": { "cullface": "west" },
          "east": { "cullface": "east" }
      }

Each of the faces ("down" etc) needs to contain a "texture" element - a string referring to the texture label (as defined in the "textures" section at the start of your file) and starting with #. You likely also want a "uv" element - an array of four numbers - to define which area of the texture to apply to the face. Here is a random example from a model in my mod:

    "faces": {
        "down":  { "uv": [ 15, 14, 0, 2 ], "texture": "#cotton1" },
        "up":    { "uv": [ 1, 4, 16, 16 ], "texture": "#cotton1" },
        "north": { "uv": [ 0, 15, 15, 16 ], "texture": "#cotton1" },
        "south": { "uv": [ 1, 15, 16, 16 ], "texture": "#cotton1" },
        "west":  { "uv": [ 2, 15, 14, 16 ], "texture": "#cotton1" },
        "east":  { "uv": [ 2, 15, 14, 16 ], "texture": "#cotton1" }
    }

 

Posted (edited)
On 10/4/2017 at 9:02 PM, Jay Avery said:

Oh, I just realised the problem, your model files are missing important things.

 


      "faces": {
          "down": { "cullface": "down" },
          "up": { "cullface": "up" },
          "north": { "cullface": "north" },
          "south": { "cullface": "south" },
          "west": { "cullface": "west" },
          "east": { "cullface": "east" }
      }

Each of the faces ("down" etc) needs to contain a "texture" element - a string referring to the texture label (as defined in the "textures" section at the start of your file) and starting with #. You likely also want a "uv" element - an array of four numbers - to define which area of the texture to apply to the face. Here is a random example from a model in my mod:


    "faces": {
        "down":  { "uv": [ 15, 14, 0, 2 ], "texture": "#cotton1" },
        "up":    { "uv": [ 1, 4, 16, 16 ], "texture": "#cotton1" },
        "north": { "uv": [ 0, 15, 15, 16 ], "texture": "#cotton1" },
        "south": { "uv": [ 1, 15, 16, 16 ], "texture": "#cotton1" },
        "west":  { "uv": [ 2, 15, 14, 16 ], "texture": "#cotton1" },
        "east":  { "uv": [ 2, 15, 14, 16 ], "texture": "#cotton1" }
    }

 

Thx, that solved the problem. :) 

Thought how am I about to let my item json render my block in the inventory with some submodels added to it?

Edited by Bektor

Developer of Primeval Forest.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Version 1.19 - Forge 41.0.63 I want to create a wolf entity that I can ride, so far it seems to be working, but the problem is that when I get on the wolf, I can’t control it. I then discovered that the issue is that the server doesn’t detect that I’m riding the wolf, so I’m struggling with synchronization. However, it seems to not be working properly. As I understand it, the server receives the packet but doesn’t register it correctly. I’m a bit new to Java, and I’ll try to provide all the relevant code and prints *The comments and prints are translated by chatgpt since they were originally in Spanish* Thank you very much in advance No player is mounted, or the passenger is not a player. No player is mounted, or the passenger is not a player. No player is mounted, or the passenger is not a player. No player is mounted, or the passenger is not a player. No player is mounted, or the passenger is not a player. MountableWolfEntity package com.vals.valscraft.entity; import com.vals.valscraft.network.MountSyncPacket; import com.vals.valscraft.network.NetworkHandler; import net.minecraft.client.Minecraft; import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; import net.minecraft.server.MinecraftServer; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.Mob; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.animal.Wolf; import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.Entity; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.level.Level; import net.minecraft.world.phys.Vec3; import net.minecraftforge.event.TickEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.network.PacketDistributor; public class MountableWolfEntity extends Wolf { private boolean hasSaddle; private static final EntityDataAccessor<Byte> DATA_ID_FLAGS = SynchedEntityData.defineId(MountableWolfEntity.class, EntityDataSerializers.BYTE); public MountableWolfEntity(EntityType<? extends Wolf> type, Level level) { super(type, level); this.hasSaddle = false; } @Override protected void defineSynchedData() { super.defineSynchedData(); this.entityData.define(DATA_ID_FLAGS, (byte)0); } public static AttributeSupplier.Builder createAttributes() { return Wolf.createAttributes() .add(Attributes.MAX_HEALTH, 20.0) .add(Attributes.MOVEMENT_SPEED, 0.3); } @Override public InteractionResult mobInteract(Player player, InteractionHand hand) { ItemStack itemstack = player.getItemInHand(hand); if (itemstack.getItem() == Items.SADDLE && !this.hasSaddle()) { if (!player.isCreative()) { itemstack.shrink(1); } this.setSaddle(true); return InteractionResult.SUCCESS; } else if (!level.isClientSide && this.hasSaddle()) { player.startRiding(this); MountSyncPacket packet = new MountSyncPacket(true); // 'true' means the player is mounted NetworkHandler.CHANNEL.sendToServer(packet); // Ensure the server handles the packet return InteractionResult.SUCCESS; } return InteractionResult.PASS; } @Override public void travel(Vec3 travelVector) { if (this.isVehicle() && this.getControllingPassenger() instanceof Player) { System.out.println("The wolf has a passenger."); System.out.println("The passenger is a player."); Player player = (Player) this.getControllingPassenger(); // Ensure the player is the controller this.setYRot(player.getYRot()); this.yRotO = this.getYRot(); this.setXRot(player.getXRot() * 0.5F); this.setRot(this.getYRot(), this.getXRot()); this.yBodyRot = this.getYRot(); this.yHeadRot = this.yBodyRot; float forward = player.zza; float strafe = player.xxa; if (forward <= 0.0F) { forward *= 0.25F; } this.flyingSpeed = this.getSpeed() * 0.1F; this.setSpeed((float) this.getAttributeValue(Attributes.MOVEMENT_SPEED) * 1.5F); this.setDeltaMovement(new Vec3(strafe, travelVector.y, forward).scale(this.getSpeed())); this.calculateEntityAnimation(this, false); } else { // The wolf does not have a passenger or the passenger is not a player System.out.println("No player is mounted, or the passenger is not a player."); super.travel(travelVector); } } public boolean hasSaddle() { return this.hasSaddle; } public void setSaddle(boolean hasSaddle) { this.hasSaddle = hasSaddle; } @Override protected void dropEquipment() { super.dropEquipment(); if (this.hasSaddle()) { this.spawnAtLocation(Items.SADDLE); this.setSaddle(false); } } @SubscribeEvent public static void onServerTick(TickEvent.ServerTickEvent event) { if (event.phase == TickEvent.Phase.START) { MinecraftServer server = net.minecraftforge.server.ServerLifecycleHooks.getCurrentServer(); if (server != null) { for (ServerPlayer player : server.getPlayerList().getPlayers()) { if (player.isPassenger() && player.getVehicle() instanceof MountableWolfEntity) { MountableWolfEntity wolf = (MountableWolfEntity) player.getVehicle(); System.out.println("Tick: " + player.getName().getString() + " is correctly mounted on " + wolf); } } } } } private boolean lastMountedState = false; @Override public void tick() { super.tick(); if (!this.level.isClientSide) { // Only on the server boolean isMounted = this.isVehicle() && this.getControllingPassenger() instanceof Player; // Only print if the state changed if (isMounted != lastMountedState) { if (isMounted) { Player player = (Player) this.getControllingPassenger(); // Verify the passenger is a player System.out.println("Server: Player " + player.getName().getString() + " is now mounted."); } else { System.out.println("Server: The wolf no longer has a passenger."); } lastMountedState = isMounted; } } } @Override public void addPassenger(Entity passenger) { super.addPassenger(passenger); if (passenger instanceof Player) { Player player = (Player) passenger; if (!this.level.isClientSide && player instanceof ServerPlayer) { // Send the packet to the server to indicate the player is mounted NetworkHandler.CHANNEL.send(PacketDistributor.PLAYER.with(() -> (ServerPlayer) player), new MountSyncPacket(true)); } } } @Override public void removePassenger(Entity passenger) { super.removePassenger(passenger); if (passenger instanceof Player) { Player player = (Player) passenger; if (!this.level.isClientSide && player instanceof ServerPlayer) { // Send the packet to the server to indicate the player is no longer mounted NetworkHandler.CHANNEL.send(PacketDistributor.PLAYER.with(() -> (ServerPlayer) player), new MountSyncPacket(false)); } } } @Override public boolean isControlledByLocalInstance() { Entity entity = this.getControllingPassenger(); return entity instanceof Player; } @Override public void positionRider(Entity passenger) { if (this.hasPassenger(passenger)) { double xOffset = Math.cos(Math.toRadians(this.getYRot() + 90)) * 0.4; double zOffset = Math.sin(Math.toRadians(this.getYRot() + 90)) * 0.4; passenger.setPos(this.getX() + xOffset, this.getY() + this.getPassengersRidingOffset() + passenger.getMyRidingOffset(), this.getZ() + zOffset); } } } MountSyncPacket package com.vals.valscraft.network; import com.vals.valscraft.entity.MountableWolfEntity; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.player.Player; import net.minecraftforge.network.NetworkEvent; import java.util.function.Supplier; public class MountSyncPacket { private final boolean isMounted; public MountSyncPacket(boolean isMounted) { this.isMounted = isMounted; } public void encode(FriendlyByteBuf buffer) { buffer.writeBoolean(isMounted); } public static MountSyncPacket decode(FriendlyByteBuf buffer) { return new MountSyncPacket(buffer.readBoolean()); } public void handle(NetworkEvent.Context context) { context.enqueueWork(() -> { ServerPlayer player = context.getSender(); // Get the player from the context if (player != null) { // Verifies if the player has dismounted if (!isMounted) { Entity vehicle = player.getVehicle(); if (vehicle instanceof MountableWolfEntity wolf) { // Logic to remove the player as a passenger wolf.removePassenger(player); System.out.println("Server: Player " + player.getName().getString() + " is no longer mounted."); } } } }); context.setPacketHandled(true); // Marks the packet as handled } } networkHandler package com.vals.valscraft.network; import com.vals.valscraft.valscraft; import net.minecraft.resources.ResourceLocation; import net.minecraftforge.network.NetworkRegistry; import net.minecraftforge.network.simple.SimpleChannel; import net.minecraftforge.network.NetworkEvent; import java.util.function.Supplier; public class NetworkHandler { private static final String PROTOCOL_VERSION = "1"; public static final SimpleChannel CHANNEL = NetworkRegistry.newSimpleChannel( new ResourceLocation(valscraft.MODID, "main"), () -> PROTOCOL_VERSION, PROTOCOL_VERSION::equals, PROTOCOL_VERSION::equals ); public static void init() { int packetId = 0; // Register the mount synchronization packet CHANNEL.registerMessage( packetId++, MountSyncPacket.class, MountSyncPacket::encode, MountSyncPacket::decode, (msg, context) -> msg.handle(context.get()) // Get the context with context.get() ); } }  
    • Do you use features of inventory profiles next (ipnext) or is there a change without it?
    • Remove rubidium - you are already using embeddium, which is a fork of rubidium
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.