Fix cancelled EnderDragonShootFireballEvent playing sound (#12977)
This commit is contained in:
+10
-3
@@ -1,14 +1,21 @@
|
||||
--- a/net/minecraft/world/entity/boss/enderdragon/phases/DragonStrafePlayerPhase.java
|
||||
+++ b/net/minecraft/world/entity/boss/enderdragon/phases/DragonStrafePlayerPhase.java
|
||||
@@ -77,8 +_,11 @@
|
||||
@@ -72,13 +_,17 @@
|
||||
double d6 = this.attackTarget.getY(0.5) - d3;
|
||||
double d7 = this.attackTarget.getZ() - d4;
|
||||
Vec3 vec32 = new Vec3(d5, d6, d7);
|
||||
- if (!this.dragon.isSilent()) {
|
||||
+ if (false && !this.dragon.isSilent()) { // Paper - EnderDragon Events; Fire after shoot fireball event
|
||||
level.levelEvent(null, 1017, this.dragon.blockPosition(), 0);
|
||||
}
|
||||
|
||||
DragonFireball dragonFireball = new DragonFireball(level, this.dragon, vec32.normalize());
|
||||
+ dragonFireball.preserveMotion = true; // Paper - Fix Entity Teleportation and cancel velocity if teleported
|
||||
dragonFireball.snapTo(d2, d3, d4, 0.0F, 0.0F);
|
||||
+ if (new com.destroystokyo.paper.event.entity.EnderDragonShootFireballEvent((org.bukkit.entity.EnderDragon) this.dragon.getBukkitEntity(), (org.bukkit.entity.DragonFireball) dragonFireball.getBukkitEntity()).callEvent()) // Paper - EnderDragon Events
|
||||
+ if (new com.destroystokyo.paper.event.entity.EnderDragonShootFireballEvent((org.bukkit.entity.EnderDragon) this.dragon.getBukkitEntity(), (org.bukkit.entity.DragonFireball) dragonFireball.getBukkitEntity()).callEvent()) { // Paper - EnderDragon Events
|
||||
+ if (!this.dragon.isSilent()) level.levelEvent(null, net.minecraft.world.level.block.LevelEvent.SOUND_DRAGON_FIREBALL, this.dragon.blockPosition(), 0); // Paper - EnderDragon Events; Fire after shoot fireball event
|
||||
level.addFreshEntity(dragonFireball);
|
||||
+ else dragonFireball.discard(null); // Paper - EnderDragon Events
|
||||
+ } else dragonFireball.discard(null); // Paper - EnderDragon Events
|
||||
this.fireballCharge = 0;
|
||||
if (this.currentPath != null) {
|
||||
while (!this.currentPath.isDone()) {
|
||||
|
||||
Reference in New Issue
Block a user