Posted August 9, 201411 yr I'd like to do something whenever something happens to a vanilla EntityItem, for example its within a certain fluid, within a range away from another EntityItem of a different type, etc. I know how to perform the checks, but I don't know where to place them. Is there a place I can do these checks in? I haven't found any events that seem to work for it, yet. I have tried EntityEvent.CanUpdate, ItemTossEvent and ItemExpireEvent. The closest I got was setting the age of the entityItem to 5999 in the ItemTossEvent, then cancelling the ItemExpireEvent and adding 1 to the extraLife variable so that ItemExpire gets called every tick, but this seems very hacky and the item won't ever 'die' (unless I add my own tick counter that sets the extraLife to 0 and uncancels the event after 6000 times of getting called, yet this still seems very hacky). BEFORE ASKING FOR HELP READ THE EAQ! I'll help if I can. Apologies if I do something obviously stupid. If you don't know basic Java yet, go and follow these tutorials.
August 9, 201411 yr Hi I would suggest that you add code to the WorldTickEvent- i.e. code that looks through the list of all entities, finds the EntityItems, and performs the checks for each one it finds. Look in World.updateEntities() for the vanilla code - you can get the entities by looking at World.loadedEntityList -TGG
August 9, 201411 yr Author Thank you very much. BEFORE ASKING FOR HELP READ THE EAQ! I'll help if I can. Apologies if I do something obviously stupid. If you don't know basic Java yet, go and follow these tutorials.
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.