Posted April 27, 201510 yr Hello everyone, I want to disable the natural healing overtime if the a specific condition is true. My problem right now is that I cant find if the source of healing is natural healing or something else, like a golden apple. Is there a way to check if the healing is caused by the natural healing? Right now I got @SubscribeEvent public void entityHealing(LivingHealEvent event) { if (event.entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) event.entity; ExtendedPlayer ext = ExtendedPlayer.get(player); //check here if source is natural if (ext.isVamp) { event.setCanceled(true); } } } Any help would be appreciated Greetz Fail
April 27, 201510 yr Author Well. That sucks. I guess I need to find a work around for it then.. Guess my solution will be sth like save if the player is using a heal spell and save that in the extendeprops. Still thank you diesieben
April 27, 201510 yr Wel, I dont know for sure, but you can check it in the potionEffect class. But I think natural healing is different from potion healing. So this should work I think. Btw, have you tested your current code? Edit: thanks Draco! Projects: Discontinued: - N2ConfigAPI - Meachanical Crafting Table Latest: - CollectionUtils Coöperations: - InGameConfigManager
April 27, 201510 yr I think natural healing is different from natural healing A != A I think [A] is different from [A] Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
April 27, 201510 yr One possible approach is in a tick event handler to try to detect the same conditions for the natural healing and then counteract it by reducing health by amount it would be healing. Check out my tutorials here: http://jabelarminecraft.blogspot.com/
April 28, 201510 yr One tricky way to find the healing source is using java call stack, which can be obtained by a try catch statement. try { throw new Exception(); } catch(Exception e) { StackTraceElement[] elems = e.getStackTrace(); // Do something with "elems" } But it's really the last way I would use. It makes me uncomfortable. Author of Tao Land Mod. http://taoland.herbix.me/images/1/14/TaoLandLogo.png[/img] Also, author of RenderTo ---- I'm not an English native speaker. I just try my best.
April 28, 201510 yr Author Yeah I see where this is going.. I guess this ways are just getting way to expensive to just disable the natural healing if one condition is true. I might make some runtime tests, but I guess I'll find another way then this. Still good ideas guys, thank you!
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.