mirror of
https://github.com/PaperMC/Paper.git
synced 2025-07-31 04:02:06 -07:00
Add PlayerClientLoadedWorldEvent (#11940)
This commit is contained in:
@@ -373,7 +373,7 @@
|
||||
this.awaitingPositionFromClient.x,
|
||||
this.awaitingPositionFromClient.y,
|
||||
this.awaitingPositionFromClient.z,
|
||||
@@ -495,6 +_,7 @@
|
||||
@@ -495,12 +_,20 @@
|
||||
this.lastGoodZ = this.awaitingPositionFromClient.z;
|
||||
this.player.hasChangedDimension();
|
||||
this.awaitingPositionFromClient = null;
|
||||
@@ -381,6 +381,19 @@
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleAcceptPlayerLoad(ServerboundPlayerLoadedPacket packet) {
|
||||
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
|
||||
+ // Paper start - PlayerLoadedWorldEvent
|
||||
+ if (this.player.hasClientLoaded()) {
|
||||
+ return;
|
||||
+ }
|
||||
+ final io.papermc.paper.event.player.PlayerClientLoadedWorldEvent event = new io.papermc.paper.event.player.PlayerClientLoadedWorldEvent(this.player.getBukkitEntity(), false);
|
||||
+ event.callEvent();
|
||||
+ // Paper end - PlayerLoadedWorldEvent
|
||||
this.player.setClientLoaded(true);
|
||||
}
|
||||
|
||||
@@ -521,6 +_,7 @@
|
||||
@Override
|
||||
public void handleRecipeBookChangeSettingsPacket(ServerboundRecipeBookChangeSettingsPacket packet) {
|
||||
|
@@ -674,3 +674,25 @@
|
||||
|
||||
for (int i = 0; i < this.inventory.getContainerSize(); i++) {
|
||||
ItemStack item = this.inventory.getItem(i);
|
||||
@@ -2089,12 +_,20 @@
|
||||
}
|
||||
|
||||
public boolean hasClientLoaded() {
|
||||
- return this.clientLoaded || this.clientLoadedTimeoutTimer <= 0;
|
||||
+ return this.clientLoaded; // Paper - Add PlayerLoadedWorldEvent
|
||||
}
|
||||
|
||||
public void tickClientLoadTimeout() {
|
||||
if (!this.clientLoaded) {
|
||||
this.clientLoadedTimeoutTimer--;
|
||||
+ // Paper start - Add PlayerLoadedWorldEvent
|
||||
+ if (this.clientLoadedTimeoutTimer <= 0) {
|
||||
+ this.clientLoaded = true;
|
||||
+
|
||||
+ final io.papermc.paper.event.player.PlayerClientLoadedWorldEvent event = new io.papermc.paper.event.player.PlayerClientLoadedWorldEvent((org.bukkit.craftbukkit.entity.CraftPlayer) getBukkitEntity(), true);
|
||||
+ event.callEvent();
|
||||
+ }
|
||||
+ // Paper end - Add PlayerLoadedWorldEvent
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user