mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Dropped per the advice of Proximyst. Has possible issues if players log in while they are still logging out from another location, with increased risk during lag spikes. A fix/workaround is possible in the future, but for the time being we will just drop this patch to avoid any potential problems.
35 lines
2.6 KiB
Diff
35 lines
2.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: BillyGalbreath <blake.galbreath@gmail.com>
|
|
Date: Wed, 23 Dec 2020 00:43:59 -0600
|
|
Subject: [PATCH] PlayerBookTooLargeEvent
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
index 3b32303b9e8c9c96938758c02ed72e3fea73a638..d413f3f15de603a9755e5ed9b949edec09b7006d 100644
|
|
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
@@ -930,6 +930,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
|
NBTTagList pageList = testStack.getTag().getList("pages", 8);
|
|
if (pageList.size() > 100) {
|
|
PlayerConnection.LOGGER.warn(this.player.getName() + " tried to send a book with too many pages");
|
|
+ net.pl3x.purpur.event.player.PlayerBookTooLargeEvent event = new net.pl3x.purpur.event.player.PlayerBookTooLargeEvent(player.getBukkitEntity(), testStack.asBukkitCopy()); if (event.shouldKickPlayer()) // Purpur
|
|
minecraftServer.scheduleOnMain(() -> this.disconnect("Book too large!"));
|
|
return;
|
|
}
|
|
@@ -942,6 +943,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
|
int byteLength = testString.getBytes(java.nio.charset.StandardCharsets.UTF_8).length;
|
|
if (byteLength > 256 * 4) {
|
|
PlayerConnection.LOGGER.warn(this.player.getName() + " tried to send a book with with a page too large!");
|
|
+ net.pl3x.purpur.event.player.PlayerBookTooLargeEvent event = new net.pl3x.purpur.event.player.PlayerBookTooLargeEvent(player.getBukkitEntity(), testStack.asBukkitCopy()); if (event.shouldKickPlayer()) // Purpur
|
|
minecraftServer.scheduleOnMain(() -> this.disconnect("Book too large!"));
|
|
return;
|
|
}
|
|
@@ -965,6 +967,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
|
|
|
if (byteTotal > byteAllowed) {
|
|
PlayerConnection.LOGGER.warn(this.player.getName() + " tried to send too large of a book. Book Size: " + byteTotal + " - Allowed: "+ byteAllowed + " - Pages: " + pageList.size());
|
|
+ net.pl3x.purpur.event.player.PlayerBookTooLargeEvent event = new net.pl3x.purpur.event.player.PlayerBookTooLargeEvent(player.getBukkitEntity(), testStack.asBukkitCopy()); if (event.shouldKickPlayer()) // Purpur
|
|
minecraftServer.scheduleOnMain(() -> this.disconnect("Book too large!"));
|
|
return;
|
|
}
|