The constructor is called twice, ones for the server and ones for the client. That's why you need to sync the two, as the server and the client both have different copies of the TileEntity which can contain different values than the TileEntity on the other side.
Do you have a GitHub repository? If not, are you willing to make one? Here's a tutorial by Jabelar: http://jabelarminecraft.blogspot.nl/p/minecraft-forge-publishing-to-github.html
Question: Why do you have this code in your FMLPostInitializationEvent:
if (event.getSide() == Side.CLIENT)
Minecraft.getMinecraft().refreshResources();
}
Maybe you could try moving the
proxy.registerRenderInformation()
to the FMLInitializationEvent.
First: You should initialize/register your blocks in the FMLPreInitializationEvent.
Second: Doesn't the RenderingRegistry line show a compile error? Because you are missing some parentheses when making a new constructor of RenderMyExplosive.
First: Please use code tags:
[.code]Code Here[./code]
(without the dots)
Second: Try adding something like
System.out.println("rendering!")
in your render method. If that spams out the console, it is something wrong with the renderer, or else with the registration with the renderer.
Try putting something like
System.out.println("rendering!")
in your render class. If that's called, it is something with the renderer, or else it is with the registration of the renderer.
Your modid you pass in at the @Mod annotation doesn't match up the modid used in your assets/<modid>/textures/* path. You need to change your modid you pass in at the @Mod annotation to "infiniteDiamonds".
You might need to play a little bit with the player's jaw to determine if the player is facing down or up, and with the player's pitch to determine the rotation of the Block.