That's a good point, but I don't thing the forge team make things worse, they try to optimize things.
I think only in 1.13 the loading could change, but more from the reason that minecraft updates to lwjgl 3. So you have to change it in your code anyways.
At the end it's up to you, if you know what you do, it's fine.
You could do your own implementation, but what would be the advantage?
Minecraft does the same thing for you when you call 'TextureManager::bindTexture':
Personal I see no reasonable benefit from doing like it. It's just a: "I don't like how Minecraft it does" thing.
But correct me if someone think this is better.
Heya!
I currently work on the serialization of a nbt tag to a json file and I struggle at the point of saving an nbt array like NBTTagByteArray.
There is no problem for me to do that, but i want to use the class JsonToNBT for the deserialisation.
And here is the thing:
For me there is no possbile way to do that. Minecraft wants for the deserialization a struct that looks like that:
{
"byte_array_name": [B;2B,4B,6B,9B]
}
For me that is no known or valid json format. Did I miss something or did minecraft something stupid here?
For that you should use a custom state mapper, right.
You use for the ModelResourceLocation a ResourceLocation of the blockstate file you want, e.g. dirt and the variant you want to use.
So that you have a ModelResourceLocation for your StateMapper like this:
return new ModelResourceLocation(new ResourceLocation("dirt"), "normal");
Now your block looks like dirt.
But If you have properties in your block that the block state file not have, you will get an error.
That are two things I will keep in mind for the future. Always good to know that.
At the end I took the "File->Export->Save for Web..." option from Photoshop. I selected "PNG-8" and there is the option to set the transparency color.
If I had known that the solution is that simple, then this thread wouldn't exist. Thanks!
Heya!
I know that minecraft renders transparency black, if the block model is solid. (Like the leaves if the graphic settings is set to 'Fast')
The same I do for one of my blocks. The strange thing is that the transparency is rendered white instead of black and I don't know why.
Everything works just fine, because if I replace my block texture with the default oak leaves texture the transparency is rendered black.
That means my blockstate file, model file and block class work like it should.
I think there is something wrong with my texture. Do I have to pay attention to something special? Maybe the color space?
SOLUTION
You should initialize your Entity AI in:
protected void initEntityAI() {}
or make sure the world is a server before you add the tasks.
Like Minecraft it does in the EntityLiving Constructor.
You also can debug the code in the EntityAIFollowOwner to see where the problem is.
Did you pass the correct values to getMetafromState() and getStateFromMeta() ?
If you have still set it to "0" and "getDefaultState()" it won't save anything.
Draco18s explained it in a good example.
What is 'gainTimer', it is the color?
It where important to understand how bit shifting is working. For me you try to set the alpha by shifting 24 in a timer value. This doesn't work.
The better question is, why you want to display the item name twice? It's showing you the name already above the hotbar.