Jump to content

[1.8.9] Weird Block rendering Bug


MCenderdragon

Recommended Posts


I have got a weird problem with a Block. Sometimes it do sent render the Json but instead north side of the Block is rendering the Water texture while facing south (so you can only see the block form one direction). I have no idea why only sometimes this happens and i haven't found anything relevant in the log files.

Here some pics: http://imgur.com/a/qvW91

I don't think that the Jasos are wrong (because sometimes everything is working and the  blockstate doesn't change) but maybe you find something.
{
    "variants": {
        "light=0,type=0": { "model": "fp:leaves_tyros_0"},
	"light=1,type=0": { "model": "fp:leaves_tyros_1"},
	"light=2,type=0": { "model": "fp:leaves_tyros_2"},
	"light=3,type=0": { "model": "fp:leaves_tyros_3"},
	"light=4,type=0": { "model": "fp:leaves_tyros_4"},
	"light=5,type=0": { "model": "fp:leaves_tyros_5"},
	"light=6,type=0": { "model": "fp:leaves_tyros_6"},
	"light=7,type=0": { "model": "fp:leaves_tyros_7"},
	"light=8,type=0": { "model": "fp:leaves_tyros_8"},
	"light=9,type=0": { "model": "fp:leaves_tyros_9"},
	"light=10,type=0": { "model": "fp:leaves_tyros_10"},
	"light=11,type=0": { "model": "fp:leaves_tyros_11"},
	"light=12,type=0": { "model": "fp:leaves_tyros_12"},
	"light=13,type=0": { "model": "fp:leaves_tyros_13"},
	"light=14,type=0": { "model": "fp:leaves_tyros_14"},
	"light=15,type=0": { "model": "fp:leaves_tyros_15"},
	"type=1": { "model": "fp:#"},
	"type=2": { "model": "fp:#"},
	"type=3": { "model": "fp:#"}
    }
}

 

{
    "parent": "block/cube_all",
    "textures": {
        "all": "fp:blocks/tyros_frame0"
    }
}

(only the '0' is changing up to 15)

 

I use a state mapper to remove the unused property's in the json

catch(Exception e)

{

 

}

Yay, Pokémon exception handling, gotta catch 'em all (and then do nothing with 'em).

Link to comment
Share on other sites

I wonderwhy it only happens sometimes, and then every blockstate have this false"block-model"

 

I use a custom state mapper, so if I whould register it at the wrong time couldt it turn out this way ?

 

ModelLoader.setCustomStateMapper(leaves, new StateMapperBase()
	{
		@Override
		protected ModelResourceLocation getModelResourceLocation(IBlockState state)
		{
			String s = ((ResourceLocation)Block.blockRegistry.getNameForObject(state.getBlock())).toString();

			 Map<IProperty, Comparable> map = Maps.<IProperty, Comparable>newLinkedHashMap(state.getProperties());

			 map.remove(BlockLeaves.CHECK_DECAY);
			 map.remove(BlockLeaves.DECAYABLE);

			 if(state.getValue(BlockFpLeaves.subtype)!=0)
			 {
				 map.remove(BlockFpLeaves.LIGHT);
			 }

			return new ModelResourceLocation(s, this.getPropertyString(map));
		}
	});

 

Its called from FMLPreInitializationEvent (with @SideOnly CLIENT)

catch(Exception e)

{

 

}

Yay, Pokémon exception handling, gotta catch 'em all (and then do nothing with 'em).

Link to comment
Share on other sites

You need to register a custom IStateMapper in preInit.

 

the

StateMapperBase

implements IStateMapper. It only have an "automated" Map generating and a method to create the string from the IBlockState

catch(Exception e)

{

 

}

Yay, Pokémon exception handling, gotta catch 'em all (and then do nothing with 'em).

Link to comment
Share on other sites

Ok I thing i maybe fixed this bug. I had a not-working statemapper for a custom fluid so maybe things get shuffled. (This would be a reason why it displays the water texture)

catch(Exception e)

{

 

}

Yay, Pokémon exception handling, gotta catch 'em all (and then do nothing with 'em).

Link to comment
Share on other sites

OK I found the problem causing this to happen randomly. I (stupidly) had 2 FMLPreInit Events in my main class, one for Server and Client the other one only for client. Sometimes the only-client-method got called before the other one for both sides, so the blocks are not registered yet but allready got a stateMapper, this caused them to break and to do this strange stuff.

catch(Exception e)

{

 

}

Yay, Pokémon exception handling, gotta catch 'em all (and then do nothing with 'em).

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



×
×
  • Create New...

Important Information

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