Posted February 22, 201312 yr Hello.... Quick and simple question here: Is there a method that I can @Override in Item that will get called when an item is taken from the creative inventory? I know about onCreated(), but it only gets called when the item is crafted, as opposed to say, 'cheated in'... I need that method to initialise some NBT data on my item, unless there is some other way to do it? Thanks.
February 22, 201312 yr I'd use the onUpdate method, test player for creative mode and mark it so it won't be called again. Not tested, but it could look like this: if(!stack.hasTagCompound()){ stack.setTagCompound(new NBTTagCompound()); if(player.capabilities.isCreativeMode){ // do stuff when cheated } } mnn.getNativeLang() != English If I helped you please click on the "thank you" button.
February 22, 201312 yr or u can create a tickhandler ticktype gui, check to see if gui creative, if yes, close the current screen, and open a new gui creative(u create another, just copy and paste)and do your things in the transferStackInSlot
February 24, 201312 yr Author Heh... well it turns out (thanks to monoxide on IRC for pointing this out) that I can just add an ItemStack with NBT data already on it to the creative inventory... Thanks guys!
February 26, 201312 yr I don't think your solution is compatible with mods like NEI (mine partially is, if a player is in creative and spawns an item it should work), but your approach is definitely less resource demanding (no special NBT is saved, no NBT testing is done on update). mnn.getNativeLang() != English If I helped you please click on the "thank you" button.
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.