Kajetan Johannes Hammerle 2 年 前
コミット
3fe8b02513
1 ファイル変更12 行追加2 行削除
  1. 12 2
      src/main/java/me/km/snuviscript/ScriptEvents.java

+ 12 - 2
src/main/java/me/km/snuviscript/ScriptEvents.java

@@ -86,8 +86,7 @@ public class ScriptEvents implements BlockHarvest, Craft {
         this.server = server;
     }
 
-    private static void nothing(Script sc) {
-    }
+    private static void nothing(Script sc) {}
 
     private void handleEvent(Event e, String event, Consumer<Script> before,
             Consumer<Script> after) {
@@ -208,6 +207,17 @@ public class ScriptEvents implements BlockHarvest, Craft {
         handleEvent("player_pre_respawn", sc -> setPlayer(sc, p));
     }
 
+    @SubscribeEvent(receiveCanceled = true)
+    public void onLivingDamage(LivingDamageEvent e) {
+        handleEvent(e, "living_damage", (sc) -> {
+            setLiving(sc, e.getEntityLiving());
+            sc.setVar("damage_source", e.getSource());
+            sc.setVar("damage_amount", (double) e.getAmount());
+        }, (sc) -> {
+            handleVar(sc, "living_damage", "damage_amount", v -> e.setAmount(v.getFloat(sc)));
+        });
+    }
+
     @SubscribeEvent(receiveCanceled = true)
     public void onLivingHurt(LivingHurtEvent e) {
         handleEvent(e, "living_hurt", (sc) -> {