Posted August 5, 201312 yr Hey, I'm new to minecraft modding (and Java), since the tutorials told me to to put this into the load function in the mod I would like to know if there's any problem with it being in the constructor, I've been able to do this trhough a this pointer and I tested a little and it seemed to not have any problem.
August 6, 201312 yr Well, in most cases, it is better to wait for things to be initialized completely. If it worked for you, why not ?
August 6, 201312 yr Author GotoLink, because it may create performance (i don't know) issues or unstability. diesiebesen07, i mean in the object's constructor.
August 6, 201312 yr Author sorry for the noobness, but dont' know exactly how the block is created in preinit. This is basically how I have it, I have deleted everything wich does not have anything to do with this. public class MyMod { public final static Block jadeOre = new BaseOre (502, Material.ground, "oreJade","factorix:oreJade",2.0F); //Mod instance //Proxy code @EventHandler public void preInit(FMLPreInitializationEvent event) { // Stub Method } @EventHandler public void load(FMLInitializationEvent event) { proxy.registerRenderers(); } @EventHandler public void postInit(FMLPostInitializationEvent event) { // Stub Method } } So, don't know whether this is exactly creating them in preInit, also of I can do this for the oreregistration, I can do it for the other things (localization in language registry, block registration ...)?
August 6, 201312 yr Author By that do you mean this: public final static Block jadeOre @EventHandler public void preInit(FMLPreInitializationEvent event) { jadeOre = new BaseOre (502, Material.ground, "oreJade","factorix:oreJade",2.0F).setCreativeTab(creativeTab); } or this: public void preInit(FMLPreInitializationEvent event) { final jadeOre = new BaseOre (502, Material.ground, "oreJade","factorix:oreJade",2.0F).setCreativeTab(creativeTab); } I think it's the first one, since that way jadeOre is global, but I don't really know.
August 6, 201312 yr Author I really thank you diesieben07, and since I'm really new to java I didn't know what final was, now I searched a bit and learned that is the constant of c++, basically it can be changed later. I have two more questions: 1. I can do this with all the other registrations? (I assume yes but would like someone experienced told me) 2. I should put everythin into preinit because the way I'm using them (registration in constructor) or simply because is a good practice?
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.