|
@@ -86,8 +86,7 @@ public class ScriptEvents implements BlockHarvest, Craft {
|
|
this.server = server;
|
|
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,
|
|
private void handleEvent(Event e, String event, Consumer<Script> before,
|
|
Consumer<Script> after) {
|
|
Consumer<Script> after) {
|
|
@@ -208,6 +207,17 @@ public class ScriptEvents implements BlockHarvest, Craft {
|
|
handleEvent("player_pre_respawn", sc -> setPlayer(sc, p));
|
|
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)
|
|
@SubscribeEvent(receiveCanceled = true)
|
|
public void onLivingHurt(LivingHurtEvent e) {
|
|
public void onLivingHurt(LivingHurtEvent e) {
|
|
handleEvent(e, "living_hurt", (sc) -> {
|
|
handleEvent(e, "living_hurt", (sc) -> {
|