Jump to content

Recommended Posts

Posted

Not gonna lie, I'm just too lazy/annoyed to figure out a solution to this at the moment.

 

So the code I currently have gets the unlocalizedName of a block and saves it as a variable. I get that variable from another class and use Block.getBlockFromName() to get an instance of the block in order to be able to use things like .getMaterial(). Basically this:

(Obviously not real code)

public String blockName;
blockName = SomeBlock.getUnlocalizedName();

Material material = Block.getBlockFromName(blockName.subString(5)).getMaterial();

This usually seems to work fine.... When I do this with something like soul sand though, it crashes. I found out that this is because while the unlocalizedName variable in the soul sand class is "hellsand", it is added to the block registry as "soul_sand". This of course causes a problem. -Insert rant about how something like this shouldn't even be an issue-

 

Is there some other way I should be getting a blocks name? Perhaps Block.blockRegistry.getNameForObject(SomeBlock) which for soul sand returns "minecraft:soul_sand"? I could obviously just save the block itself as a variable instead of it's name, but I feel like that would be a little less efficient.

Posted

Unlocalized name has NOTHING to do with registry name. STOP USING IT THAT WAY. It breaks everything.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Guest
This topic is now closed to further replies.

Announcements



×
×
  • Create New...

Important Information

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