Jump to content

MC 1.10+ Custom wall JSON issue


winnetrie

Recommended Posts

I have created my own wall class and everything is working fine.

But there is something not right with the json file i think.

 

While my walls behave like it should be and they are rendered correctly in the world and in my inventory, there is something weird when i break them.

 

If you break a block, you see "breaking" particles wich is normal.

If i break my wall i see those particles without the right texture.

I see those particles in black/pink

 

Here is the json:

 

{
    "forge_marker": 1,
    "defaults": {
        "model": "builtin/generated"
        },
    "variants": {
        "up": {
            "true": {
                "submodel": {"wall_up": {"model": "wall_post"}}
            },
            "false": {}
        },
        "north": {
            "true": {
                "submodel": {"wall_north": {"model": "wall_side","uvlock": true}}
            },
            "false": {}
        },
        "east": {
            "true": {
                "submodel": {"wall_east": {"model": "wall_side","y": 90,"uvlock": true}}
            },
            "false": {}
        },
        "south": {
            "true": {
                "submodel": {"wall_south": {"model": "wall_side","y": 180,"uvlock": true}}
            },
            "false": {}
        },
        "west": {
            "true": {
                "submodel": {"wall_west": {"model": "wall_side","y": 270,"uvlock": true}}
            },
            "false": {}
        },
        
        "type": {
            "raw": {
                "textures": {
                    "wall": "tem:blocks/chalkstone"
                }
            },
            "smooth": {
                "textures": {
                    "wall": "tem:blocks/smooth_chalkstone"
                }
            },
            "bricked": {
                "textures": {
                    "wall": "tem:blocks/bricked_chalkstone"
                }
            }
        },
        "type=raw": {
            "model": "wall_inventory",
            "textures": {
                "wall": "tem:blocks/chalkstone"
            }
        },
        "type=smooth": {
            "model": "wall_inventory",
            "textures": {
                "wall": "tem:blocks/smooth_chalkstone"
            }
        
        },
        "type=bricked": {
            "model": "wall_inventory",
            "textures": {
                "wall": "tem:blocks/bricked_chalkstone"
            }
        }
    }
}

 

 

I figured out that removing this from the json:

 

 "defaults": {
        "model": "builtin/generated"
        },

fixes it more or less but then i see this in the console:

 

[23:56:47] [Client thread/ERROR] [FML]: MultiModel minecraft:builtin/missing is empty (no base model or parts were provided/resolved)

[23:56:47] [Client thread/ERROR] [FML]: MultiModel minecraft:builtin/missing is empty (no base model or parts were provided/resolved)

[23:56:48] [Client thread/ERROR] [FML]: MultiModel minecraft:builtin/missing is empty (no base model or parts were provided/resolved)

 

The particles are mostly normal then, except for 1.

So i still see the black/pink particles but it's like just 1 out of 10.

 

How can i fix this?

 

Everything is working good, just this particle thing is really ennoying!

Link to comment
Share on other sites

It's an amazing coincidence that I am also running into a json issue with custom walls today. Maybe we can converge on a solution that works for both of our mods.

 

I took a different approach to the blockstates file, attempting to separate the texture from the other properties in an advanced Forge blockstate file and then copy the multipart json from vanilla. Unfortunately, I get a slew of MissingVariantException, so either I wrote it wrong, or it's not possible to do what I have attempted.

 

What do you think of this blockstates file (is it salvageable?):

 

{
  "forge_marker": 1,
  "variants": {
    "multipart": [
        {   "when": { "up": "true" },
            "apply": { "model": "wall_post" }
        },
        {   "when": { "north": "true" },
            "apply": { "model": "wall_side", "uvlock": true }
        },
        {   "when": { "east": "true" },
            "apply": { "model": "wall_side", "y": 90, "uvlock": true }
        },
        {   "when": { "south": "true" },
            "apply": { "model": "wall_side", "y": 180, "uvlock": true }
        },
        {   "when": { "west": "true" },
            "apply": { "model": "wall_side", "y": 270, "uvlock": true }
        }
    ],
    "skin": {
        "0":  { "textures": { "wall": "minecraft:blocks/cobblestone" }},
        "1":  { "textures": { "wall": "minecraft:blocks/cobblestone_mossy" }},
        "2":  { "textures": { "wall": "minecraft:blocks/hay_block_side" }},
        "3":  { "textures": { "wall": "minecraft:blocks/prismarine_dark" }},
        "4":  { "textures": { "wall": "minecraft:blocks/prismarine_bricks" }},
        "5":  { "textures": { "wall": "minecraft:blocks/lapis_block" }},
        "6":  { "textures": { "wall": "minecraft:blocks/quartz_ore" }},
        "7":  { "textures": { "wall": "minecraft:blocks/quartz_block_lines" }},
        "8":  { "textures": { "wall": "minecraft:blocks/iron_block" }},
        "9":  { "textures": { "wall": "minecraft:blocks/red_sandstone_normal" }},
        "10": { "textures": { "wall": "minecraft:blocks/red_sandstone_carved" }},
        "11": { "textures": { "wall": "minecraft:blocks/glass" }},
        "12": { "textures": { "wall": "minecraft:blocks/glowstone" }},
        "13": { "textures": { "wall": "minecraft:blocks/sea_lantern" }},
        "14": { "textures": { "wall": "minecraft:blocks/diamond_block" }},
        "15": { "textures": { "wall": "minecraft:blocks/emerald_block" }}
    }
  }
}

 

Maybe I need to continue the multipart to "apply" each of the skins? would such a solution work for your custom walls also?

The debugger is a powerful and necessary tool in any IDE, so learn how to use it. You'll be able to tell us more and get better help here if you investigate your runtime problems in the debugger before posting.

Link to comment
Share on other sites

I tried continuing the multipart:

{
  "variants": {
    "multipart": [
        {   "when": { "up": "true" },
            "apply": { "model": "wall_post" }
        },
        {   "when": { "north": "true" },
            "apply": { "model": "wall_side", "uvlock": true }
        },
        {   "when": { "east": "true" },
            "apply": { "model": "wall_side", "y": 90, "uvlock": true }
        },
        {   "when": { "south": "true" },
            "apply": { "model": "wall_side", "y": 180, "uvlock": true }
        },
        {   "when": { "west": "true" },
            "apply": { "model": "wall_side", "y": 270, "uvlock": true }
        },

        {   "when": { "skin": "0" },
            "apply": { "textures": {"wall": "minecraft:blocks/cobblestone"} }
        },
        {   "when": { "skin": "1" },
            "apply": { "textures": {"wall": "minecraft:blocks/cobblestone_mossy"} }
        },
        {   "when": { "skin": "2" },
            "apply": { "textures": {"wall": "minecraft:blocks/hay_block_side"} }
        },
        {   "when": { "skin": "3" },
            "apply": { "textures": {"wall": "minecraft:blocks/prismarine_dark"} }
        },
        {   "when": { "skin": "4" },
            "apply": { "textures": {"wall": "minecraft:blocks/prismarine_bricks"} }
        },
        {   "when": { "skin": "5" },
            "apply": { "textures": {"wall": "minecraft:blocks/lapis_block"} }
        },
        {   "when": { "skin": "6" },
            "apply": { "textures": {"wall": "minecraft:blocks/quartz_ore"} }
        },
        {   "when": { "skin": "7" },
            "apply": { "textures": {"wall": "minecraft:blocks/quartz_block_lines"} }
        },
        {   "when": { "skin": "8" },
            "apply": { "textures": {"wall": "minecraft:blocks/iron_block"} }
        },
        {   "when": { "skin": "9" },
            "apply": { "textures": {"wall": "minecraft:blocks/red_sandstone_normal"} }
        },
        {   "when": { "skin": "10" },
            "apply": { "textures": {"wall": "minecraft:blocks/red_sandstone_carved"} }
        },
        {   "when": { "skin": "11" },
            "apply": { "textures": {"wall": "minecraft:blocks/glass"} }
        },
        {   "when": { "skin": "12" },
            "apply": { "textures": {"wall": "minecraft:blocks/glowstone"} }
        },
        {   "when": { "skin": "13" },
            "apply": { "textures": {"wall": "minecraft:blocks/sea_lantern"} }
        },
        {   "when": { "skin": "14" },
            "apply": { "textures": {"wall": "minecraft:blocks/diamond_block"} }
        },
        {   "when": { "skin": "15" },
            "apply": { "textures": {"wall": "minecraft:blocks/emerald_block"} }
        }
    ]
  }
}

 

But I still get only a huge number of MissingVariantException. It's as if the multipart is completely ignored. I checked it with json lint, so syntax is okay. Is there an explanation of multipart out there somewhere? Or, is it the wrong tool to use when separating tesxture assignment from model assignment?

 

PS: If my problem is really different from the OP, let me know so I can start a separate thread.

The debugger is a powerful and necessary tool in any IDE, so learn how to use it. You'll be able to tell us more and get better help here if you investigate your runtime problems in the debugger before posting.

Link to comment
Share on other sites

@Winnetrie

Use the model "block/wall_post" as a parent instead of "builtin/generated"

 

@jeffryfisher

I might be wrong, but I believe that Forge's blockstate files make use of submodels not multiparts.

Also previously known as eAndPi.

"Pi, is there a station coming up where we can board your train of thought?" -Kronnn

Published Mods: Underworld

Handy links: Vic_'s Forge events Own WIP Tutorials.

Link to comment
Share on other sites

Forge's own blockstate is confusing as heck and has zero documentation. Only a select few people know how to use it 100%.

 

Essentially to get it working you need to do so many extra steps.

 

Multipart in forge submodel looks like this

 

 "forge_marker": 1,
    "defaults": {
        "model": "technorcery:depositsVat"
    },
    "variants": {
        "north": {
            "true": {
                "submodel": {
                    "spout_north" : {
                     "model": "technorcery:depositsVat_spout",
                    "uvlock": true
                    }
                }
            },
            "false": {}
        },
...etc

 

 

Also you need to register it as whatever the main node is in this case "variants" If you would call it "bigscarymain" then you register as that.

 

Also notice how each submodel is named . I don't know if the naming matters what it is but without it it won't work.

 

I recommend going vanilla json and forget about forge blockstates.

Disclaimer:  I been told to keep my opinions to myself, to shut up and that I am spreading lies and misinformation or even that my methods are unorthodox and or too irregular. Here are my suggestions take it or leave it.

Link to comment
Share on other sites

@Jeffreyfisher

 

I tried that approach first too with the multiparts, but i found out it was completely ignored (i think so)

It gave me those variant exception errors, so i tried another way. Like i posted in the first post.

This was working fine for except a small issue with the black/purple particles.

 

I don't mind if you post your problem with your walls here too, but a moderator could see this as a thread hijack  ;)

You have helped me alot already with other things, so np for me.

 

@Matryoshika

 

My first thoughts was also using wall_post, but that creates now a wall post in every wall piece. That's not how it should look like.

I found some small documentation about forge blockstates, there in a small example too they use submodels.

So i also believe we need to make use of submodels and not multiparts.

 

@trollworkout

 

Forge's own blockstate is confusing as heck and has zero documentation. Only a select few people know how to use it 100%.

It is only confusing if you don't understand it. It becomes more clear if you dig deeper in it. Perhaps you are right and only a few people know about this 100%, but isn't the purpose of this forum to share information and help others?

 

Essentially to get it working you need to do so many extra steps.

That's not true, in my opinion it takes less work.

The example you give is just the same as i did

 

I recommend going vanilla json and forget about forge blockstates.

The forge team is working very hard to give us all these things, yet you recommend people not to use an improvement?

The forge blockstates json is a great improvement and you better start learning how to use it.

 

 

Link to comment
Share on other sites

The "particle" texture is unspecified/missing.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

The "particle" texture is unspecified/missing.

 

Most of the particles are normal, just a few (1-3) are not correct.

Does your solution still applies for this?

 

How would i add this in the json file.

 

here a screenshot 0ynrlb0

It was hard to capture it, but you see the wrong particles

Link to comment
Share on other sites

Forge's own blockstate ... has zero documentation.

mcforge.readthedocs.io has a detailed documentation of the Forge blockstate system. It also has documentation for other systems. You might want to check this out before complaining.

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Link to comment
Share on other sites

I managed to get a better screenshot of the problem i have:

 

009u188

 

You can see i have "normal" particles and untextured particles.

 

this is my blockstate file:

 

{
    "forge_marker": 1,
    "defaults": {
        
        },
    
    "variants": {
        "up": {
            "true": {
                "submodel": {"wall_up": {"model": "wall_post"}}
            },
            "false": {}
        },
        "north": {
            "true": {
                "submodel": {"wall_north": {"model": "wall_side","uvlock": true}}
            },
            "false": {}
        },
        "east": {
            "true": {
                "submodel": {"wall_east": {"model": "wall_side","y": 90,"uvlock": true}}
            },
            "false": {}
        },
        "south": {
            "true": {
                "submodel": {"wall_south": {"model": "wall_side","y": 180,"uvlock": true}}
            },
            "false": {}
        },
        "west": {
            "true": {
                "submodel": {"wall_west": {"model": "wall_side","y": 270,"uvlock": true}}
            },
            "false": {}
        },
        
        "type": {
            "raw": {
                "textures": {
                    "wall": "tem:blocks/chalkstone"
                    
                    
                }
            },
            "smooth": {
                "textures": {
                    "wall": "tem:blocks/smooth_chalkstone"
                    
                }
            },
            "bricked": {
                "textures": {
                    "wall": "tem:blocks/bricked_chalkstone"
                    
                }
            }
        },
        "type=raw": {
            "model": "wall_inventory",
            "textures": {
                "wall": "tem:blocks/chalkstone"
                
            }
        },
        "type=smooth": {
            "model": "wall_inventory",
            "textures": {
                "wall": "tem:blocks/smooth_chalkstone"
                
            }
        
        },
        "type=bricked": {
            "model": "wall_inventory",
            "textures": {
                "wall": "tem:blocks/bricked_chalkstone"
                
            }
        }
    }
}

 

I hope someone can help me with this.

Link to comment
Share on other sites

If you have a missing texture, there has to be an error in the logs. Post them for help.

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Link to comment
Share on other sites

 

-- System Details --

Details:

Minecraft Version: 1.10.2

Operating System: Windows 10 (amd64) version 10.0

Java Version: 1.8.0_73, Oracle Corporation

Java VM Version: Java HotSpot 64-Bit Server VM (mixed mode), Oracle Corporation

Memory: 700684600 bytes (668 MB) / 1037959168 bytes (989 MB) up to 1037959168 bytes (989 MB)

JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M

IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0

FML:

Loaded coremods (and transformers):

GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.5.0 NVIDIA 372.70' Renderer: 'GeForce GTX 960/PCIe/SSE2'

[20:56:37] [Client thread/INFO] [FML]: MinecraftForge v12.18.2.2099 Initialized

[20:56:37] [Client thread/INFO] [FML]: Replaced 232 ore recipes

[20:56:37] [Client thread/INFO] [FML]: Found 0 mods from the command line. Injecting into mod discoverer

[20:56:37] [Client thread/INFO] [FML]: Searching C:\Users\Timmy\Desktop\workspace1.10\run\mods for mods

[20:56:39] [Client thread/INFO] [FML]: Forge Mod Loader has identified 4 mods to load

[20:56:39] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, tem] at CLIENT

[20:56:39] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, tem] at SERVER

[20:56:39] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Tim's Expansion Mod

[20:56:39] [Client thread/INFO] [FML]: Processing ObjectHolder annotations

[20:56:40] [Client thread/INFO] [FML]: Found 423 ObjectHolder annotations

[20:56:40] [Client thread/INFO] [FML]: Identifying ItemStackHolder annotations

[20:56:40] [Client thread/INFO] [FML]: Found 0 ItemStackHolder annotations

[20:56:40] [Client thread/INFO] [FML]: Applying holder lookups

[20:56:40] [Client thread/INFO] [FML]: Holder lookups applied

[20:56:40] [Client thread/INFO] [FML]: Applying holder lookups

[20:56:40] [Client thread/INFO] [FML]: Holder lookups applied

[20:56:40] [Client thread/INFO] [FML]: Applying holder lookups

[20:56:40] [Client thread/INFO] [FML]: Holder lookups applied

[20:56:40] [Client thread/INFO] [FML]: Configured a dormant chunk cache size of 0

[20:56:40] [Forge Version Check/INFO] [ForgeVersionCheck]: [Forge] Starting version check at http://files.minecraftforge.net/maven/net/minecraftforge/forge/promotions_slim.json

[20:56:40] [Forge Version Check/INFO] [ForgeVersionCheck]: [Forge] Found status: UP_TO_DATE Target: null

[20:56:40] [Client thread/INFO] [sTDOUT]: [winnetrie.tem.proxy.ClientProxy:preInit:21]: renders have been registered

[20:56:40] [Client thread/INFO] [FML]: Applying holder lookups

[20:56:40] [Client thread/INFO] [FML]: Holder lookups applied

[20:56:40] [Client thread/INFO] [FML]: Injecting itemstacks

[20:56:40] [Client thread/INFO] [FML]: Itemstack injection complete

[20:56:43] [sound Library Loader/INFO]: Starting up SoundSystem...

[20:56:43] [Thread-8/INFO]: Initializing LWJGL OpenAL

[20:56:43] [Thread-8/INFO]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)

[20:56:43] [Thread-8/INFO]: OpenAL initialized.

[20:56:43] [sound Library Loader/INFO]: Sound engine started

[20:56:47] [Client thread/INFO] [FML]: Max texture size: 16384

[20:56:47] [Client thread/INFO]: Created: 16x16 textures-atlas

[20:56:48] [Client thread/ERROR] [FML]: MultiModel minecraft:builtin/missing is empty (no base model or parts were provided/resolved)

[20:56:48] [Client thread/ERROR] [FML]: MultiModel minecraft:builtin/missing is empty (no base model or parts were provided/resolved)

[20:56:49] [Client thread/ERROR] [FML]: MultiModel minecraft:builtin/missing is empty (no base model or parts were provided/resolved)

[20:56:49] [Client thread/INFO] [FML]: Injecting itemstacks

[20:56:49] [Client thread/INFO] [FML]: Itemstack injection complete

[20:56:49] [Client thread/INFO] [FML]: Forge Mod Loader has successfully loaded 4 mods

[20:56:49] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Tim's Expansion Mod

[20:56:52] [Client thread/INFO]: SoundSystem shutting down...

[20:56:52] [Client thread/WARN]: Author: Paul Lamb, www.paulscode.com

[20:56:52] [sound Library Loader/INFO]: Starting up SoundSystem...

[20:56:52] [Thread-10/INFO]: Initializing LWJGL OpenAL

[20:56:52] [Thread-10/INFO]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)

[20:56:52] [Thread-10/INFO]: OpenAL initialized.

[20:56:53] [sound Library Loader/INFO]: Sound engine started

[20:56:56] [Client thread/INFO] [FML]: Max texture size: 16384

[20:56:56] [Client thread/INFO]: Created: 1024x512 textures-atlas

[20:56:57] [Client thread/ERROR] [FML]: MultiModel minecraft:builtin/missing is empty (no base model or parts were provided/resolved)

[20:56:57] [Client thread/ERROR] [FML]: MultiModel minecraft:builtin/missing is empty (no base model or parts were provided/resolved)

[20:56:57] [Client thread/ERROR] [FML]: MultiModel minecraft:builtin/missing is empty (no base model or parts were provided/resolved)

[20:56:57] [Client thread/WARN]: Skipping bad option: lastServer:

[20:56:58] [Realms Notification Availability checker #1/INFO]: Could not authorize you against Realms server: Invalid session id

 

 

 

this:  [Client thread/ERROR] [FML]: MultiModel minecraft:builtin/missing is empty (no base model or parts were provided/resolved)

 

comes up 6 times. If i provide a model in the default section of the blockstate file this error is gone, but the problem persists

Link to comment
Share on other sites

"type=raw": {
            "model": "wall_inventory",
            "textures": {
                "wall": "tem:blocks/chalkstone"
                
            }
        },

"type=raw" doesn't work that way, you have to do it just like the other variants.

 

Also, you can specify your main model in de default section, instead of 3 times in the type variant.

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Link to comment
Share on other sites

The piece you show is to create my item models wich are working fine.

If this isn't the proper way how to do it then?

 

How do i specify my main model in the default section?

What is the main model anyway?

 

EDIT:

I tried many things now and it only makes it worse.

If i set a main model in my default section all my walls look like that.

 

I also need it 3 times because i need 3 different textures for the items.

 

Link to comment
Share on other sites

My custom walls are working now. I had item model files left over from mc 1.8, so I gave up trying to teach the blockstates json to do inventory. Here's one of my blockstates files that handles blocks only:

 

{
  "forge_marker": 1,
  "variants": {
      "up" : {
	"true"	: {"submodel": {"wall_up"    : {"model": "wall_post" }}},
	"false"	: {}
      },
      "north" : {
	"true"	: {"submodel": {"wall_north" : {"model": "wall_side", "uvlock": true }}},
	"false"	: {}
      },
      "east" : {
	"true"	: {"submodel": {"wall_east"  : {"model": "wall_side", "uvlock": true, "y": 90 }}},
	"false"	: {}
      },
      "south" : {
	"true"	: {"submodel": {"wall_south" : {"model": "wall_side", "uvlock": true, "y": 180 }}},
	"false"	: {}
      },
      "west" : {
	"true"	: {"submodel": {"wall_west"  : {"model": "wall_side", "uvlock": true, "y": 270 }}},
	"false"	: {}
      },
      "skin" : {
        "0":  { "textures": { "wall": "blocks/stonebrick" }},
        "1":  { "textures": { "wall": "blocks/stonebrick_mossy" }},
        "2":  { "textures": { "wall": "blocks/stonebrick_cracked" }},
        "3":  { "textures": { "wall": "blocks/stonebrick_carved" }},
        "4":  { "textures": { "wall": "blocks/brick" }},
        "5":  { "textures": { "wall": "blocks/hardened_clay" }},
        "6":  { "textures": { "wall": "blocks/netherrack" }},
        "7":  { "textures": { "wall": "blocks/quartz_block_chiseled" }},
        "8":  { "textures": { "wall": "blocks/obsidian" }},
        "9":  { "textures": { "wall": "blocks/sandstone_normal" }},
        "10": { "textures": { "wall": "blocks/sandstone_carved" }},
        "11": { "textures": { "wall": "blocks/stone" }},
        "12": { "textures": { "wall": "blocks/stone_granite_smooth" }},
        "13": { "textures": { "wall": "blocks/stone_diorite_smooth" }},
        "14": { "textures": { "wall": "blocks/stone_andesite_smooth" }},
        "15": { "textures": { "wall": "blocks/end_stone" }}
      }
  }
}

The debugger is a powerful and necessary tool in any IDE, so learn how to use it. You'll be able to tell us more and get better help here if you investigate your runtime problems in the debugger before posting.

Link to comment
Share on other sites

I have the feeling people do not understand what the problem is i have!

My inventory works fine, my walls are working fine. Look at the pictures i posted.

 

This is my blockstate file again:

 

{
    "forge_marker": 1,
    
    "variants": {
        "up": {
            "true": {
                "submodel": {"wall_up": {"model": "wall_post"}}
            },
            "false": {}
        },
        "north": {
            "true": {
                "submodel": {"wall_north": {"model": "wall_side","uvlock": true}}
            },
            "false": {}
        },
        "east": {
            "true": {
                "submodel": {"wall_east": {"model": "wall_side","y": 90,"uvlock": true}}
            },
            "false": {}
        },
        "south": {
            "true": {
                "submodel": {"wall_south": {"model": "wall_side","y": 180,"uvlock": true}}
            },
            "false": {}
        },
        "west": {
            "true": {
                "submodel": {"wall_west": {"model": "wall_side","y": 270,"uvlock": true}}
            },
            "false": {}
        },
        
        "type": {
            "raw": {
                "textures": {
                    "wall": "tem:blocks/chalkstone"
                    
                    
                }
            },
            "smooth": {
                "textures": {
                    "wall": "tem:blocks/smooth_chalkstone"
                    
                }
            },
            "bricked": {
                "textures": {
                    "wall": "tem:blocks/bricked_chalkstone"
                    
                }
            }
        },
        "type=raw": {
            "model": "wall_inventory",
            "textures": {
                "wall": "tem:blocks/chalkstone"
                
            }
        },
        "type=smooth": {
            "model": "wall_inventory",
            "textures": {
                "wall": "tem:blocks/smooth_chalkstone"
                
            }
        
        },
        "type=bricked": {
            "model": "wall_inventory",
            "textures": {
                "wall": "tem:blocks/bricked_chalkstone"
                
            }
        }
    }
}

 

 

I have a working item for my wall

I have a fully working wall

I have a small untextured particle issue. Just a few are untextured.

I can't find out why this happens.

I have still this error too:

 

[Client thread/ERROR] [FML]: MultiModel minecraft:builtin/missing is empty (no base model or parts were provided/resolved)

 

If i have to provide a base model in the default section, wich do i use? Is there even a base model for walls?

I tried these already:

-builtin/generated --> with this all the particles are untextured

-wall_inventory --> all placed walls looks like the inventory model

-wall_post --> all placed walls have a wallpost inside it

-wall_side --> all placed walls are equipped with a side piece

-cube_all --> yes i was so desperate i tried it.....but ofc black purple squares

 

I really don't know what to do anymore.

Link to comment
Share on other sites

You should be able to create an empty model like this to use as the default and then specify the

"particle"

texture in the blockstates file like this.

Thank you so much, i already came up with the idea to make a custom empty model, but i had no json code inside it.

I tried your approach and yes that works fine now.

here is what i have now:

 

{
    "forge_marker": 1,
    "defaults": {
        "model": "tem:dummy",
        "textures": {
            "particle": "tem:blocks/bricked_chalkstone"
        }    
    },
    
    "variants": {
        "up": {
            "true": {
                "submodel": {"wall_up": {"model": "wall_post"}}
            },
            "false": {}
        },
        "north": {
            "true": {
                "submodel": {"wall_north": {"model": "wall_side","uvlock": true}}
            },
            "false": {}
        },
        "east": {
            "true": {
                "submodel": {"wall_east": {"model": "wall_side","y": 90,"uvlock": true}}
            },
            "false": {}
        },
        "south": {
            "true": {
                "submodel": {"wall_south": {"model": "wall_side","y": 180,"uvlock": true}}
            },
            "false": {}
        },
        "west": {
            "true": {
                "submodel": {"wall_west": {"model": "wall_side","y": 270,"uvlock": true}}
            },
            "false": {}
        },
        
        "type": {
            "raw": {
                "textures": {
                    "wall": "tem:blocks/chalkstone"
                    
                    
                }
            },
            "smooth": {
                "textures": {
                    "wall": "tem:blocks/smooth_chalkstone"
                    
                }
            },
            "bricked": {
                "textures": {
                    "wall": "tem:blocks/bricked_chalkstone"
                    
                }
            }
        },
        "type=raw": {
            "model": "wall_inventory",
            "textures": {
                "wall": "tem:blocks/chalkstone"
                
            }
        },
        "type=smooth": {
            "model": "wall_inventory",
            "textures": {
                "wall": "tem:blocks/smooth_chalkstone"
                
            }
        
        },
        "type=bricked": {
            "model": "wall_inventory",
            "textures": {
                "wall": "tem:blocks/bricked_chalkstone"
                
            }
        }
    }
}

 

The particle is now a defined texture, but can it be variable too or does this not matter?

The 3 stone types are almost the same so you won't notice a different color,but what if you have a wall in 16 colors?

Would the default particle for example white, be in every other block?

I don't know if it is working like this, just wondering.

Maybe i can use an empty texture for it?

Link to comment
Share on other sites

The particle is now a defined texture, but can it be variable too or does this not matter?

The 3 stone types are almost the same so you won't notice a different color,but what if you have a wall in 16 colors?

Would the default particle for example white, be in every other block?

I don't know if it is working like this, just wondering.

Maybe i can use an empty texture for it?

 

The

"particle"

texture can be a reference to another texture (like in my example) or defined separately for each value of the

type

property.

 

Setting it to

"#wall"

should use the

"wall"

texture for the particles.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Link to comment
Share on other sites

here is what i have now...

 

You have two sets of wall types at the bottom of the blockstates file. Are they doing the same thing? What's the difference between writing "raw" versus writing "type=raw"? Do both sets need to be there, or could they be consolidated?

 

It looks as if you might have solved the inventory texturing inside the blockstates file, but I'm unsure.

The debugger is a powerful and necessary tool in any IDE, so learn how to use it. You'll be able to tell us more and get better help here if you investigate your runtime problems in the debugger before posting.

Link to comment
Share on other sites

Yes i have 2 sets of types. 1 is for the block and the other is for the item (inventory).

I'm not sure what the best way is to do this, but for me this works fine.

 

the second set wich is called (type=raw) for example does not need to be the same as the first set.

It could be for example (myitem=rough). Those are only references to be used in the renderRegistry:

 

registerMetaRender(chalkstonewall,0,"type=raw");
	registerMetaRender(chalkstonewall,1,"type=smooth");
	registerMetaRender(chalkstonewall,2,"type=bricked");

 

the method is this:

private static void registerMetaRender(Block block, int meta, String variant){
	ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), meta, new ModelResourceLocation(block.getRegistryName(),variant));	
}

 

Getting the inventory item was never a problem, i only had this untextured glitch in the blocks particle effect.

Link to comment
Share on other sites

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

    • I created my own modpack just for mainly entities right now and im having issues with only a handful of the mobs. is there a way someone could help go over my work and check whats wrong? its a file 
    • Hi, I have a problem with my minecraft: I'm in forge 1.20.1 and I have several mods installed, (link to photo below) and after a while, at random, the game freezes, I can't play or move but I can still hear the game in the background, there's just the image that remains, (problematic when I fight a fire dragon :() ) can you help me? my mods:   zmedievalmusic-1.20.1-2.1 treeharvester-1.20.1-8.7 tctcore-1.0-1.20.1 specialmobs-1.20.1-3.1.3 simpleOres2-1.20.1-6.0.0.2 OldCombatMod_1.20x.jar oculus-mc1.20.1-1.7.0 medieval_buildings-forge-1.0.2 matmos-5.2-forge-1.20.1 journeymap-1.20.1-5.9.18-forge jei-1.20.1-forge-15.8.0.11 iceandfire-2.1.13-1.20.1-beta-4 healthindicatortxf-1.20.1-1.2.2-forge geckolib-forge-1.20.1-4.4.7 embeddium-0.3.25+mc1.20.1 dynamiclights-1.20.1-1.2 cupboard-1.20.1-2.7 crust-1.20.1-2.3.3 collective-1.20.1-7.71 citadel-2.4.9-1.20.1 bucketlib-1.20.1-2.3.0.5 born_in_chaos_(Forge)1.20.1_1.3.1 betterfpsdist-4.4   forge 1.20.1 (47.3.5) i fink it's because of ice and fire mod, but i want it thank to help me! i hope you are well Translated with DeepL.com (free version)
    • Long story short, my girlfriend found a mod for Minecraft she wanted but it was for Pocket Edition. So I took it on myself to try and port it over and it has gone fairly well until the point I had to work with particles. Basically, I had it working using animateTick but I was checking if the block name contained a certain value to specify the lantern's color and as such choose which particle to spawn. I was initially trying to do this via the constructor, but this value hasn't been initialized that early and I can't seem to find some event or method to override which ideally happens when the block is loaded/placed. Performing upwards to 16 string comparisons per tick isn't exactly efficient so I want to try and optimize this. By the time animateTick starts executing, the name is properly initialized and I can use that to set my property accordingly. But this is where I'm starting to run into a weird issue. This is my current code; public void animateTick(BlockState state, Level level, BlockPos pos, RandomSource randomSource) { // It's not fully initialized yet... I guess? if (this.getName().toString().contains("air")) return; if (!state.getValue(COLOR_SET)) { // This method doesn't work at all, neither states are updated var blockState = level.getBlockState(pos); blockState.setValue(LANTERNCOLOR, this.getBlockColor()); blockState.setValue(COLOR_SET, true); level.setBlockAndUpdate(pos, blockState); } double d0 = (double)pos.getX() + randomSource.nextDouble(); double d1 = (double)pos.getY() + randomSource.nextDouble(); double d2 = (double)pos.getZ() + randomSource.nextDouble(); // No idea how to better do this without adding 5 000 new files if (level.getBlockState(pos).getValue(LANTERNCOLOR) == DyeColor.WHITE.getId()) level.addParticle(PaperLanterns.LANTERN_GLOW_WHITE.get(), d0, d1, d2, 0.0D, ThreadLocalRandom.current().nextDouble(-0.10D, 0.0D), 0.0D); if (level.getBlockState(pos).getValue(LANTERNCOLOR) == DyeColor.BLUE.getId()) level.addParticle(PaperLanterns.LANTERN_GLOW_BLUE.get(), d0, d1, d2, 0.0D, ThreadLocalRandom.current().nextDouble(-0.10D, 0.0D), 0.0D); } COLOR_SET is a BooleanProperty meant to ensure this is only executed once, for performance reasons. LANTERNCOLOR is currently an IntegerProperty (it used to be an EnumProperty, but been changing stuff around trying to fix the issue) which specified the color. My issue is that I can only set one of these states, for example like this; if (!state.getValue(COLOR_SET)) { // LANTERNCOLOR is set successfully, but not COLORSET level.setBlockAndUpdate(pos, state.setValue(LANTERNCOLOR, this.getBlockColor())); level.setBlockAndUpdate(pos, state.setValue(COLOR_SET, true)); } // OR if (!state.getValue(COLOR_SET)) { // COLOR_SET is set successfully, but not LANTERNCOLOR level.setBlockAndUpdate(pos, state.setValue(COLOR_SET, true)); level.setBlockAndUpdate(pos, state.setValue(LANTERNCOLOR, this.getBlockColor())); } So I can only seemingly set one state at a time, I now know that my issue wasn't in my usage of EnumProperty so once I solve this I will be going back to that and using a switch-case. But I would love some pointers as to why I can only set one of these states. Is it because once you set it and update it, that instance of the block is now considered dirty and as such accepts no more state changes or something? I know the code's a bit all over the place with how I retrieve the states. I'm still learning and have been testing a bunch trying to get this to work, but have now found the issue but no idea how to solve it 😅 If there's a better way of setting this LANTERNCOLOR property and ensuring it's only executed once, that would be even better. The sole purpose of this is to choose which particle to spawn, since the particle colors are hardcoded.
    • Hi, I have a problem with my minecraft: I'm in forge 1.20.1 and I have several mods installed, (link to photo below) and after a while, at random, the game freezes, I can't play or move but I can still hear the game in the background, there's just the image that remains, (problematic when I fight a fire dragon :() ) can you help me? my mods: file:///C:/Users/meria/Pictures/Capture.PNG forge 1.20.1 (47.3.5) i fink it's because of ice and fire mod, but i want it thank to help me! i hope you are well Translated with DeepL.com (free version)
  • Topics

×
×
  • Create New...

Important Information

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