Posted October 15, 20205 yr Hello, so I wanted to add permanent potion effect to the Armor I created when fully equipped. I meddled around in the internet to find some solutions but couldnt figure out anything since the weirdest part in my code is that it dosent show any problems in the log at the bottom. Here's my Classes for RegistryHandler, OmArmorMaterial and ArmorEffects >RegistryHandler: https://pastebin.com/WGPnjHCh >OmArmorMaterial: https://pastebin.com/Msgx8Avc >ArmorEffects: https://pastebin.com/rcSsjv8c I am generally confused as to why its not working and yet not giving me any issues in the problems logger, any help is greatly appriciated. Big tanks in advance! Here's also a screenshot of ArmorEffects if thats in any help:
October 15, 20205 yr Instead of applying every tick, I would rather subscribe to LivingEquipmentChangeEvent or whatever its called and check there and apply infinitely. Less data calculated per tick. However, you will need to check if the effect gets removed due to milk or something and reapply when that happens. However, that's my opinion.
October 16, 20205 yr Author @ChampionAsh5357It works now but i have a issue where, when i recieve the fire resistance on armor equp, i tried doing a onTickEvent to try and make so the effect refreshes and dosen't run out, but for some reason it dosent work and it has the same issue as onArmorTick. Is there any way i could make the effect infinite and to remove the fire resistance effect once i unequip armor? Pic:
October 16, 20205 yr 1 hour ago, mirakapz97 said: Is there any way i could make the effect infinite and to remove the fire resistance effect once i unequip armor? Just set the duration to something high (like Integer.MAX_VALUE) to approximate an infinite duration. To solve your other problem, just add an else to the if statement you already have, and use player.removePotionEffect(). You would still have to reapply the effect if it gets removed due to for example milk, as ChampionAsh pointed out.
October 16, 20205 yr Author Everything working as intended now! Appriciate it very much! @ChampionAsh5357 and @vemerion
October 16, 20205 yr I don't think applying potion effects on client will work as you expected. Edited October 16, 20205 yr by poopoodice
October 16, 20205 yr Author @poopoodice Yeeah, i realised until late cuz i left it off and on the other day, I tried equipping the obsidian armor i get the effect, when i remove the armor the effect dissapears as intended. But the current issue is when for example i use a regular fire resistance potion and equip any other type for armor the effect gets removed. So im trying to figure that out. i tried adding a else if with IsPotionActive and the regular potion effect stays when i equip any other type of armor. But when i equip the full obsidian set i get the infinite effect again but when i remove the set the infinite effect still stays there.
October 16, 20205 yr 29 minutes ago, mirakapz97 said: But the current issue is when for example i use a regular fire resistance potion and equip any other type for armor the effect gets removed Whoops, I did not think about that when I wrote my response :P. If I remember correctly, you can get the equipment that was previously equipped from the event as well. Try checking that the previously equipped item was your custom armor, and the newly equipped armor is not, and only then remove the effect.
October 16, 20205 yr Maybe it is not the best idea but what I do is apply 1 tick duration effect to the wearer if the wearer does not have the effect(isPotionActive) and has full equipped your armour set. By this you don't have to worry about the effect gets removed externally(milk, commands...), and the effect will disappear right after you take of your armour set. It also avoids you to remove the effect if the effect is applied externally via commands, potions...etc. Just my thoughts, may not be the best.
October 21, 20205 yr Author I aplologise for the late response, i made it so it checks out the gear im wearing and now everything is working like a charm. Thank you all! @ChampionAsh5357 , @vemerion , @poopoodice . 👍
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.