bffb08c2f9
The Paper method was chosen for deprecation because it was more restrictive in that it has an isGliding check.
35 Zeilen
2.1 KiB
Diff
35 Zeilen
2.1 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: ysl3000 <yannicklamprecht@live.de>
|
|
Date: Mon, 5 Oct 2020 21:25:16 +0200
|
|
Subject: [PATCH] Player Chunk Load/Unload Events
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/network/PlayerChunkSender.java b/src/main/java/net/minecraft/server/network/PlayerChunkSender.java
|
|
index 19b3f4fa7678a038bf25efc2a8b46ddad0193fde..cfeb85b89a7f3dbc856fe7ebdf0bd6a9f3761f1c 100644
|
|
--- a/src/main/java/net/minecraft/server/network/PlayerChunkSender.java
|
|
+++ b/src/main/java/net/minecraft/server/network/PlayerChunkSender.java
|
|
@@ -46,6 +46,11 @@ public class PlayerChunkSender {
|
|
public static void dropChunkStatic(ServerPlayer player, ChunkPos pos) {
|
|
player.serverLevel().chunkSource.chunkMap.getVisibleChunkIfPresent(pos.toLong()).removePlayer(player);
|
|
player.connection.send(new ClientboundForgetLevelChunkPacket(pos));
|
|
+ // Paper start
|
|
+ if (io.papermc.paper.event.packet.PlayerChunkUnloadEvent.getHandlerList().getRegisteredListeners().length > 0) {
|
|
+ new io.papermc.paper.event.packet.PlayerChunkUnloadEvent(player.getBukkitEntity().getWorld().getChunkAt(pos.longKey), player.getBukkitEntity()).callEvent();
|
|
+ }
|
|
+ // Paper end
|
|
}
|
|
// Paper end - rewrite player chunk loader
|
|
|
|
@@ -89,6 +94,11 @@ public class PlayerChunkSender {
|
|
final boolean shouldModify = world.chunkPacketBlockController.shouldModify(handler.player, chunk);
|
|
handler.send(new ClientboundLevelChunkWithLightPacket(chunk, world.getLightEngine(), (BitSet)null, (BitSet)null, shouldModify));
|
|
// Paper end - Anti-Xray
|
|
+ // Paper start - PlayerChunkLoadEvent
|
|
+ if (io.papermc.paper.event.packet.PlayerChunkLoadEvent.getHandlerList().getRegisteredListeners().length > 0) {
|
|
+ new io.papermc.paper.event.packet.PlayerChunkLoadEvent(new org.bukkit.craftbukkit.CraftChunk(chunk), handler.getPlayer().getBukkitEntity()).callEvent();
|
|
+ }
|
|
+ // Paper end - PlayerChunkLoadEvent
|
|
ChunkPos chunkPos = chunk.getPos();
|
|
DebugPackets.sendPoiPacketsForChunk(world, chunkPos);
|
|
}
|