diff --git a/src/main/java/io/github/lncvrt/lncvrtbox/LncvrtBox.java b/src/main/java/io/github/lncvrt/lncvrtbox/LncvrtBox.java index 277809e..3d58583 100644 --- a/src/main/java/io/github/lncvrt/lncvrtbox/LncvrtBox.java +++ b/src/main/java/io/github/lncvrt/lncvrtbox/LncvrtBox.java @@ -18,7 +18,6 @@ import org.bukkit.command.CommandSender; import org.bukkit.command.TabExecutor; import org.bukkit.entity.Player; import org.bukkit.event.Listener; -import org.bukkit.event.player.PlayerItemConsumeEvent; import org.bukkit.inventory.Inventory; import org.bukkit.plugin.Plugin; import org.bukkit.plugin.java.JavaPlugin; @@ -102,6 +101,7 @@ public final class LncvrtBox extends JavaPlugin implements Listener, TabExecutor getServer().getPluginManager().registerEvents(new BlockPlaceListener(), this); getServer().getPluginManager().registerEvents(new BlockBreakListener(this), this); getServer().getPluginManager().registerEvents(new CraftItemListener(), this); + getServer().getPluginManager().registerEvents(new EntityDamageByEntityListener(), this); getServer().getPluginManager().registerEvents(new EntityDamageListener(this), this); getServer().getPluginManager().registerEvents(new EntityPickupItemListener(this), this); getServer().getPluginManager().registerEvents(new EntityResurrectListener(this), this); diff --git a/src/main/java/io/github/lncvrt/lncvrtbox/events/EntityDamageByEntityListener.java b/src/main/java/io/github/lncvrt/lncvrtbox/events/EntityDamageByEntityListener.java new file mode 100644 index 0000000..c01d6d7 --- /dev/null +++ b/src/main/java/io/github/lncvrt/lncvrtbox/events/EntityDamageByEntityListener.java @@ -0,0 +1,16 @@ +package io.github.lncvrt.lncvrtbox.events; + +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.entity.EntityDamageByEntityEvent; +import org.bukkit.entity.EntityType; + +public class EntityDamageByEntityListener implements Listener { + @EventHandler + public void onEntityDamageByEntity(EntityDamageByEntityEvent event) { + if (event.getDamager().getType() == EntityType.END_CRYSTAL || event.getDamager().getType() == EntityType.TNT_MINECART || event.getDamager().getType() == EntityType.TNT) { + double damage = event.getDamage(); + event.setDamage(damage * 0.4); + } + } +} diff --git a/src/main/java/io/github/lncvrt/lncvrtbox/events/EntityDamageListener.java b/src/main/java/io/github/lncvrt/lncvrtbox/events/EntityDamageListener.java index 4837cea..cfa719c 100644 --- a/src/main/java/io/github/lncvrt/lncvrtbox/events/EntityDamageListener.java +++ b/src/main/java/io/github/lncvrt/lncvrtbox/events/EntityDamageListener.java @@ -1,6 +1,7 @@ package io.github.lncvrt.lncvrtbox.events; import io.github.lncvrt.lncvrtbox.LncvrtBox; +import org.bukkit.entity.EntityType; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -33,5 +34,9 @@ public class EntityDamageListener implements Listener { } } } + if (event.getCause() == EntityDamageEvent.DamageCause.BLOCK_EXPLOSION) { + double damage = event.getDamage(); + event.setDamage(damage * 0.4); + } } }