SPIGOT-336, SPIGOT-3366, SPIGOT-5768, SPIGOT-6409, SPIGOT-6861, #1008: Add EntityRemoveEvent

By: DerFrZocker <derrieple@gmail.com>
This commit is contained in:
CraftBukkit/Spigot
2024-02-21 20:55:34 +11:00
parent 6dc11b5d28
commit 64cd2b148a
81 changed files with 2037 additions and 475 deletions

View File

@@ -26,6 +26,15 @@
this.gateways.addAll((Collection) enderdragonbattle_a.gateways.orElseGet(() -> {
ObjectArrayList<Integer> objectarraylist = new ObjectArrayList(ContiguousSet.create(Range.closedOpen(0, 20), DiscreteDomain.integers()));
@@ -207,7 +207,7 @@
this.dragonKilled = false;
if (!flag) {
EnderDragonBattle.LOGGER.info("But we didn't have a portal, let's remove it.");
- entityenderdragon.discard();
+ entityenderdragon.discard(null); // CraftBukkit - add Bukkit remove cause
this.dragonUUID = null;
}
}
@@ -510,7 +510,7 @@
return this.previouslyKilled;
}

View File

@@ -0,0 +1,58 @@
--- a/net/minecraft/world/level/dimension/end/EnumDragonRespawn.java
+++ b/net/minecraft/world/level/dimension/end/EnumDragonRespawn.java
@@ -13,6 +13,10 @@
import net.minecraft.world.level.levelgen.feature.WorldGenerator;
import net.minecraft.world.level.levelgen.feature.configurations.WorldGenFeatureEndSpikeConfiguration;
+// CraftBukkit start
+import org.bukkit.event.entity.EntityRemoveEvent;
+// CraftBukkit end
+
public enum EnumDragonRespawn {
START {
@@ -27,7 +31,7 @@
entityendercrystal.setBeamTarget(blockposition1);
}
- enderdragonbattle.setRespawnStage(null.PREPARING_TO_SUMMON_PILLARS);
+ enderdragonbattle.setRespawnStage(PREPARING_TO_SUMMON_PILLARS); // CraftBukkit - decompile error
}
},
PREPARING_TO_SUMMON_PILLARS {
@@ -38,7 +42,7 @@
worldserver.levelEvent(3001, new BlockPosition(0, 128, 0), 0);
}
} else {
- enderdragonbattle.setRespawnStage(null.SUMMONING_PILLARS);
+ enderdragonbattle.setRespawnStage(SUMMONING_PILLARS); // CraftBukkit - decompile error
}
}
@@ -81,7 +85,7 @@
WorldGenerator.END_SPIKE.place(worldgenfeatureendspikeconfiguration, worldserver, worldserver.getChunkSource().getGenerator(), RandomSource.create(), new BlockPosition(worldgenender_spike.getCenterX(), 45, worldgenender_spike.getCenterZ()));
}
} else if (flag1) {
- enderdragonbattle.setRespawnStage(null.SUMMONING_DRAGON);
+ enderdragonbattle.setRespawnStage(SUMMONING_DRAGON); // CraftBukkit - decompile error
}
}
@@ -94,7 +98,7 @@
EntityEnderCrystal entityendercrystal;
if (i >= 100) {
- enderdragonbattle.setRespawnStage(null.END);
+ enderdragonbattle.setRespawnStage(END); // CraftBukkit - decompile error
enderdragonbattle.resetSpikeCrystals();
iterator = list.iterator();
@@ -102,7 +106,7 @@
entityendercrystal = (EntityEnderCrystal) iterator.next();
entityendercrystal.setBeamTarget((BlockPosition) null);
worldserver.explode(entityendercrystal, entityendercrystal.getX(), entityendercrystal.getY(), entityendercrystal.getZ(), 6.0F, World.a.NONE);
- entityendercrystal.discard();
+ entityendercrystal.discard(EntityRemoveEvent.Cause.EXPLODE); // CraftBukkit - add Bukkit remove cause
}
} else if (i >= 80) {
worldserver.levelEvent(3001, new BlockPosition(0, 128, 0), 0);