deathmarine / DiabloDrops

Bukkit plugin that adjusts the mob dropping mechanics to include regularly dropped enchanted items that could be commonly found in Diablo.
http://dev.bukkit.org/bukkit-plugins/diablodrops/
GNU General Public License v3.0
17 stars 19 forks source link

DiabloMonsterDamageByEntityEvent #51

Closed Zilacon closed 11 years ago

Zilacon commented 11 years ago

21:30:45 [SEVERE] Could not pass event DiabloMonsterDamageByEntityEvent to DiabloDrops v2.1b318 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:341) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) at com.modcrafting.diablolibrary.EntityListener.onEntityDamageByEntity(EntityListener.java:95) at sun.reflect.GeneratedMethodAccessor977.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:339) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) at org.bukkit.craftbukkit.event.CraftEventFactory.callEvent(CraftEventFactory.java:80) at org.bukkit.craftbukkit.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:377) at org.bukkit.craftbukkit.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:399) at net.minecraft.server.EntityLiving.damageEntity(EntityLiving.java:658) at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:605) at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:306) at net.minecraft.server.EntityMonster.m(EntityMonster.java:88) at net.minecraft.server.EntityMonster.a(EntityMonster.java:110) at net.minecraft.server.EntityCreature.bn(EntityCreature.java:56) at net.minecraft.server.EntityLiving.c(EntityLiving.java:1228) at net.minecraft.server.EntityMonster.c(EntityMonster.java:20) at net.minecraft.server.EntityEnderman.c(EntityEnderman.java:176) at net.minecraft.server.EntityLiving.j(EntityLiving.java:508) at net.minecraft.server.EntityMonster.j_(EntityMonster.java:24) at net.minecraft.server.World.tickEntity(World.java:1458) at net.minecraft.server.World.entityJoinedWorld(World.java:1420) at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:569) at net.minecraft.server.World.playerJoinedWorld(World.java:1410) at net.minecraft.server.World.tickEntities(World.java:1288) at net.minecraft.server.WorldServer.tickEntities(WorldServer.java:463) at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:562) at net.minecraft.server.DedicatedServer.r(DedicatedServer.java:222) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:478) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:413) at net.minecraft.server.ThreadServerApplication.run(SourceFile:856) Caused by: java.lang.IllegalArgumentException: Health must be between 0 and 20 at org.bukkit.craftbukkit.entity.CraftLivingEntity.setHealth(CraftLivingEntity.java:59) at com.modcrafting.diablodrops.effects.EffectsAPI.addEffect(EffectsAPI.java:170) at com.modcrafting.diablodrops.effects.EffectsAPI.handlePluginEffects(EffectsAPI.java:411) at com.modcrafting.diablodrops.listeners.EffectsListener.onDiabloMonsterDamageByEntityEvent(EffectsListener.java:37) at sun.reflect.GeneratedMethodAccessor978.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:339) ... 36 more

deathmarine commented 11 years ago

This has been resolved in later builds. :) I did verify that it was fixed.

int chng = level - damaged.getHealth();
if ((chng < damaged.getMaxHealth()) && (chng > 0)){
     damaged.setHealth(chng);
}else{
     damaged.setHealth(0);
}