[Bug] CrystaliteArmor regeneration effect is applied to all living entities that have no armor slots
TelepathicGrunt opened this issue ยท 0 comments
What happened?
I was getting reports that my Cosmic Crystal Entity boss in Bumblezone was impossible to be defeated due to a constant regeneration status effect being applied. I made a test jar and printed out the stacktrace when the effect is added to my entity. I have found it is coming from BetterEnd here:
My entity has no armor slots so true is always returned which means BetterEnd thinks my entity and any others without armor slots is wearing the full CrystaliteArmor set. And then applies the regeneration effect to them. This logic should be changed to make sure there's at least 1 of your armor present before returning true.
BetterEnd
4.0.10
BCLib
3.0.13
Fabric API
0.91.0+1.20.1
Fabric Loader
0.14.25
Minecraft
1.20.1
Relevant log output
[17:48:14] [Server thread/ERROR]: [java.base/java.lang.Thread.getStackTrace(Thread.java:1610)
com.telepathicgrunt.the_bumblezone.entities.living.CosmicCrystalEntity.canHaveStatusEffect(CosmicCrystalEntity.java:1520)
net.minecraft.entity.LivingEntity.addStatusEffect(LivingEntity.java:984)
net.minecraft.entity.LivingEntity.addStatusEffect(LivingEntity.java:980)
org.betterx.betterend.item.CrystaliteArmor.applySetEffect(CrystaliteArmor.java:35)
net.minecraft.entity.LivingEntity.handler$ccm000$betterend$be_applyEffects(LivingEntity.java:5668)
net.minecraft.entity.LivingEntity.tickStatusEffects(LivingEntity.java)
com.telepathicgrunt.the_bumblezone.entities.living.CosmicCrystalEntity.baseTick(CosmicCrystalEntity.java:1182)
net.minecraft.entity.Entity.tick(Entity.java:474)
net.minecraft.entity.LivingEntity.tick(LivingEntity.java:2380)
com.telepathicgrunt.the_bumblezone.entities.living.CosmicCrystalEntity.tick(CosmicCrystalEntity.java:540)
net.minecraft.server.world.ServerWorld.tickEntity(ServerWorld.java:739)
net.minecraft.world.World.mixinextras$bridge$accept$206(World.java)
com.bawnorton.neruina.handler.NeruinaTickHandler.safelyTickEntities$notTheCauseOfTickLag(NeruinaTickHandler.java:115)
net.minecraft.world.World.wrapOperation$inc000$neruina$catchTickingEntities(World.java:15048)
net.minecraft.world.World.tickEntity(World.java:480)
net.minecraft.server.world.ServerWorld.method_31420(ServerWorld.java:385)
net.minecraft.world.EntityList.forEach(EntityList.java:54)
net.minecraft.server.world.ServerWorld.tick(ServerWorld.java:353)
net.minecraft.server.MinecraftServer.tickWorlds(MinecraftServer.java:897)
net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:824)
net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:105)
net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:671)
net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:265)
java.base/java.lang.Thread.run(Thread.java:833)]
Other Mods
The Bumblezone
MidnightLib