2f782a6652
Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing CraftBukkit Changes: 17543ecf SPIGOT-5035: Error Using Virtual Merchant GUI 0fc6922b SPIGOT-5028: Villager#setVillagerExperience() doesn't work bdbdbe44 SPIGOT-5024: Fox error - Unknown target reason
61 lines
3.5 KiB
Diff
61 lines
3.5 KiB
Diff
From e5fd77b064727ca215a4a1bd6692c44cf7c55aa1 Mon Sep 17 00:00:00 2001
|
|
From: BillyGalbreath <Blake.Galbreath@GMail.com>
|
|
Date: Sat, 21 Jul 2018 01:51:27 -0500
|
|
Subject: [PATCH] EnderDragon Events
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java b/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java
|
|
index 4ab310cd6b..90f6d58ddd 100644
|
|
--- a/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java
|
|
+++ b/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java
|
|
@@ -65,7 +65,9 @@ public class DragonControllerLandedFlame extends AbstractDragonControllerLanded
|
|
this.d.setDuration(200);
|
|
this.d.setParticle(Particles.DRAGON_BREATH);
|
|
this.d.a(new MobEffect(MobEffects.HARM));
|
|
+ if (new com.destroystokyo.paper.event.entity.EnderDragonFlameEvent((org.bukkit.entity.EnderDragon) this.a.getBukkitEntity(), (org.bukkit.entity.AreaEffectCloud) this.d.getBukkitEntity()).callEvent()) // Paper
|
|
this.a.world.addEntity(this.d);
|
|
+ else this.removeAreaEffect(); // Paper
|
|
}
|
|
|
|
}
|
|
@@ -76,6 +78,8 @@ public class DragonControllerLandedFlame extends AbstractDragonControllerLanded
|
|
++this.c;
|
|
}
|
|
|
|
+
|
|
+ public void removeAreaEffect() { this.e(); } // Paper - OBFHELPER
|
|
@Override
|
|
public void e() {
|
|
if (this.d != null) {
|
|
diff --git a/src/main/java/net/minecraft/server/DragonControllerStrafe.java b/src/main/java/net/minecraft/server/DragonControllerStrafe.java
|
|
index 14e20f4961..0b0815e113 100644
|
|
--- a/src/main/java/net/minecraft/server/DragonControllerStrafe.java
|
|
+++ b/src/main/java/net/minecraft/server/DragonControllerStrafe.java
|
|
@@ -68,7 +68,9 @@ public class DragonControllerStrafe extends AbstractDragonController {
|
|
EntityDragonFireball entitydragonfireball = new EntityDragonFireball(this.a.world, this.a, d9, d10, d11);
|
|
|
|
entitydragonfireball.setPositionRotation(d6, d7, d8, 0.0F, 0.0F);
|
|
+ if (new com.destroystokyo.paper.event.entity.EnderDragonShootFireballEvent((org.bukkit.entity.EnderDragon) a.getBukkitEntity(), (org.bukkit.entity.DragonFireball) entitydragonfireball.getBukkitEntity()).callEvent()) // Paper
|
|
this.a.world.addEntity(entitydragonfireball);
|
|
+ else entitydragonfireball.die(); // Paper
|
|
this.c = 0;
|
|
if (this.d != null) {
|
|
while (!this.d.b()) {
|
|
diff --git a/src/main/java/net/minecraft/server/EntityDragonFireball.java b/src/main/java/net/minecraft/server/EntityDragonFireball.java
|
|
index 239be99c51..2195b83ce2 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityDragonFireball.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityDragonFireball.java
|
|
@@ -40,8 +40,10 @@ public class EntityDragonFireball extends EntityFireball {
|
|
}
|
|
}
|
|
|
|
+ if (new com.destroystokyo.paper.event.entity.EnderDragonFireballHitEvent((org.bukkit.entity.DragonFireball) this.getBukkitEntity(), list.stream().map(EntityLiving::getBukkitLivingEntity).collect(java.util.stream.Collectors.toList()), (org.bukkit.entity.AreaEffectCloud) entityareaeffectcloud.getBukkitEntity()).callEvent()) { // Paper
|
|
this.world.triggerEffect(2006, new BlockPosition(this.locX, this.locY, this.locZ), 0);
|
|
this.world.addEntity(entityareaeffectcloud);
|
|
+ } else entityareaeffectcloud.die(); // Paper
|
|
this.die();
|
|
}
|
|
|
|
--
|
|
2.21.0
|
|
|