mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-07 16:57:42 +01:00
Entity AddTo/RemoveFrom World Events
This commit is contained in:
parent
63fa3068c6
commit
93bbce1c69
@ -129,7 +129,7 @@
|
|||||||
+ }
|
+ }
|
||||||
+ int minBlockX = Mth.floor(axisalignedbb.minX - 1.0E-7D) - 3;
|
+ int minBlockX = Mth.floor(axisalignedbb.minX - 1.0E-7D) - 3;
|
||||||
+ int minBlockZ = Mth.floor(axisalignedbb.minZ - 1.0E-7D) - 3;
|
+ int minBlockZ = Mth.floor(axisalignedbb.minZ - 1.0E-7D) - 3;
|
||||||
|
+
|
||||||
+ int maxBlockX = Mth.floor(axisalignedbb.maxX + 1.0E-7D) + 3;
|
+ int maxBlockX = Mth.floor(axisalignedbb.maxX + 1.0E-7D) + 3;
|
||||||
+ int maxBlockZ = Mth.floor(axisalignedbb.maxZ + 1.0E-7D) + 3;
|
+ int maxBlockZ = Mth.floor(axisalignedbb.maxZ + 1.0E-7D) + 3;
|
||||||
+
|
+
|
||||||
@ -200,7 +200,7 @@
|
|||||||
+ ChunkGenerator chunkgenerator = worlddimension.generator();
|
+ ChunkGenerator chunkgenerator = worlddimension.generator();
|
||||||
+ // CraftBukkit start
|
+ // CraftBukkit start
|
||||||
+ this.serverLevelData.setWorld(this);
|
+ this.serverLevelData.setWorld(this);
|
||||||
+
|
|
||||||
+ if (biomeProvider != null) {
|
+ if (biomeProvider != null) {
|
||||||
+ BiomeSource worldChunkManager = new CustomWorldChunkManager(this.getWorld(), biomeProvider, this.server.registryAccess().lookupOrThrow(Registries.BIOME));
|
+ BiomeSource worldChunkManager = new CustomWorldChunkManager(this.getWorld(), biomeProvider, this.server.registryAccess().lookupOrThrow(Registries.BIOME));
|
||||||
+ if (chunkgenerator instanceof NoiseBasedChunkGenerator cga) {
|
+ if (chunkgenerator instanceof NoiseBasedChunkGenerator cga) {
|
||||||
@ -875,7 +875,7 @@
|
|||||||
ServerLevel.this.getChunkSource().addEntity(entity);
|
ServerLevel.this.getChunkSource().addEntity(entity);
|
||||||
if (entity instanceof ServerPlayer entityplayer) {
|
if (entity instanceof ServerPlayer entityplayer) {
|
||||||
ServerLevel.this.players.add(entityplayer);
|
ServerLevel.this.players.add(entityplayer);
|
||||||
@@ -1864,9 +2198,51 @@
|
@@ -1864,9 +2198,52 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
entity.updateDynamicGameEventListener(DynamicGameEventListener::add);
|
entity.updateDynamicGameEventListener(DynamicGameEventListener::add);
|
||||||
@ -890,6 +890,7 @@
|
|||||||
+ entity.setOrigin(entity.getOriginVector().toLocation(getWorld()));
|
+ entity.setOrigin(entity.getOriginVector().toLocation(getWorld()));
|
||||||
+ }
|
+ }
|
||||||
+ // Paper end - Entity origin API
|
+ // Paper end - Entity origin API
|
||||||
|
+ new com.destroystokyo.paper.event.entity.EntityAddToWorldEvent(entity.getBukkitEntity(), ServerLevel.this.getWorld()).callEvent(); // Paper - fire while valid
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onTrackingEnd(Entity entity) {
|
public void onTrackingEnd(Entity entity) {
|
||||||
@ -927,7 +928,7 @@
|
|||||||
ServerLevel.this.getChunkSource().removeEntity(entity);
|
ServerLevel.this.getChunkSource().removeEntity(entity);
|
||||||
if (entity instanceof ServerPlayer entityplayer) {
|
if (entity instanceof ServerPlayer entityplayer) {
|
||||||
ServerLevel.this.players.remove(entityplayer);
|
ServerLevel.this.players.remove(entityplayer);
|
||||||
@@ -1895,6 +2271,14 @@
|
@@ -1895,6 +2272,15 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
entity.updateDynamicGameEventListener(DynamicGameEventListener::remove);
|
entity.updateDynamicGameEventListener(DynamicGameEventListener::remove);
|
||||||
@ -939,6 +940,7 @@
|
|||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+ // CraftBukkit end
|
+ // CraftBukkit end
|
||||||
|
+ new com.destroystokyo.paper.event.entity.EntityRemoveFromWorldEvent(entity.getBukkitEntity(), ServerLevel.this.getWorld()).callEvent(); // Paper - fire while valid
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onSectionChange(Entity entity) {
|
public void onSectionChange(Entity entity) {
|
||||||
|
Loading…
Reference in New Issue
Block a user