mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2025-12-19 15:09:25 +00:00
Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@7612b5d0 Add identifier comparator for Plugin tickets PaperMC/Paper@35b466e3 Add support for getting data components from entities PaperMC/Paper@9f50f858 patch PaperMC/Paper@42623c4b no patch PaperMC/Paper@0cf73158 Bump to adventure 4.20.0 (#12391) PaperMC/Paper@e8eba887 Merge remote-tracking branch 'origin/main' into update/1.21.5 PaperMC/Paper@212dfc94 Correctly track raw data reader index for antixray PaperMC/Paper@cb0676a4 Commodore for Potions and Cows PaperMC/Paper@62256c51 add missed cow diff
This commit is contained in:
@@ -2,7 +2,7 @@ group=cn.dreeam.leaf
|
||||
mcVersion=1.21.5
|
||||
version=1.21.5-R0.1-SNAPSHOT
|
||||
|
||||
paperCommit=71ccae077355f854d5be0ece38a300d0499721b4
|
||||
paperCommit=62256c5182f0c12ca286708e9e7ac5e8f442fcd3
|
||||
|
||||
org.gradle.configuration-cache=true
|
||||
org.gradle.caching=true
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
-val annotationsVersion = "26.0.1"
|
||||
+val annotationsVersion = "26.0.2" // Leaf - Bump Dependencies
|
||||
val adventureVersion = "4.18.0"
|
||||
val adventureVersion = "4.20.0"
|
||||
val bungeeCordChatVersion = "1.21-R0.2-deprecated+build.21"
|
||||
-val slf4jVersion = "2.0.9"
|
||||
-val log4jVersion = "2.17.1"
|
||||
|
||||
@@ -811,10 +811,10 @@ index 332c55fd6b4b3a8c0cad920a6e765ecc40e684e4..10a8d64ad2da0be2c14f34c3e7d1957c
|
||||
// Paper start
|
||||
/**
|
||||
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
|
||||
index 50094f04c5a09b87bb24a37ead0a9a574a3fae83..97ba2c698da6820eae7d254008579bb64052f474 100644
|
||||
index 5a3a538c56892a1f3dd5bd437f77b1659da9bd99..5031e3b170af96c4aab85c0aea07f679d9711575 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Entity.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Entity.java
|
||||
@@ -1214,4 +1214,59 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
|
||||
@@ -1215,4 +1215,59 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
|
||||
*/
|
||||
void broadcastHurtAnimation(@NotNull java.util.Collection<Player> players);
|
||||
// Paper end - broadcast hurt animation
|
||||
@@ -1329,10 +1329,10 @@ index f1f97a85ec713c05c882d7588f4a3e4a017f4795..813f6cd253322538bdf96eb323dd23a7
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
|
||||
index 70a52a26de6e37154ac322ab28af211d5fdd93ff..f1d00fbad3a41800c2607facfe7a287d300c3f7f 100644
|
||||
index 41d000b81a793277e330fb62c848ab4c8c56d657..1f524abf07666e325a877c90414d6838f485ca71 100644
|
||||
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
|
||||
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
|
||||
@@ -22,6 +22,13 @@ import org.bukkit.material.MaterialData;
|
||||
@@ -23,6 +23,13 @@ import org.bukkit.material.MaterialData;
|
||||
import org.bukkit.persistence.PersistentDataContainer;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -1346,7 +1346,7 @@ index 70a52a26de6e37154ac322ab28af211d5fdd93ff..f1d00fbad3a41800c2607facfe7a287d
|
||||
|
||||
/**
|
||||
* Represents a stack of items.
|
||||
@@ -1371,4 +1378,482 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
|
||||
@@ -1372,4 +1379,482 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
|
||||
return this.craftDelegate.matchesWithoutData(item, excludeTypes, ignoreCount);
|
||||
}
|
||||
// Paper end - data component API
|
||||
|
||||
@@ -22,10 +22,10 @@ you to easily disable books, should you want to preemptively remove this
|
||||
functionality before additional exploits are found.
|
||||
|
||||
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 5e921c490814be31fc2843327c0e2cc76bda6620..df7142bbfec170966373dcf4ac50e4bbc5ba4e53 100644
|
||||
index f49a2c18ec20a7181951389066b7d062b48d43fa..7aa2c1c070e77a580dcc12865956119e42a33ba3 100644
|
||||
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1191,6 +1191,11 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -1223,6 +1223,11 @@ public class ServerGamePacketListenerImpl
|
||||
|
||||
@Override
|
||||
public void handleEditBook(ServerboundEditBookPacket packet) {
|
||||
|
||||
@@ -25,10 +25,10 @@ index d6826e878efb3e5532d23f04cc8e951a937cf29f..62e49f844c477c92894d77b469c1537b
|
||||
public @Nullable com.destroystokyo.paper.event.entity.PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper - PlayerNaturallySpawnCreaturesEvent
|
||||
public @Nullable String clientBrandName = null; // Paper - Brand support
|
||||
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index df7142bbfec170966373dcf4ac50e4bbc5ba4e53..dea2a849a1d1f2dcfc1e63eb873ada999780bf66 100644
|
||||
index 7aa2c1c070e77a580dcc12865956119e42a33ba3..f961d38cde80187673d27f9c6fa1239dd505fef5 100644
|
||||
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2334,7 +2334,7 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -2404,7 +2404,7 @@ public class ServerGamePacketListenerImpl
|
||||
this.disconnectAsync(Component.translatable("multiplayer.disconnect.illegal_characters"), org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_CHARACTERS); // Paper - add proper async disconnect
|
||||
} else if (this.player.isRemoved() || this.player.getChatVisibility() == ChatVisiblity.HIDDEN) { // CraftBukkit - dead men tell no tales
|
||||
this.send(new ClientboundSystemChatPacket(Component.translatable("chat.disabled.options").withStyle(ChatFormatting.RED), false));
|
||||
|
||||
@@ -7,10 +7,10 @@ License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
|
||||
Gale - https://galemc.org
|
||||
|
||||
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index dea2a849a1d1f2dcfc1e63eb873ada999780bf66..804afc38f2be37258ee68d601674a2832b61bfc6 100644
|
||||
index f961d38cde80187673d27f9c6fa1239dd505fef5..1f1df6616e416389fc5f84878469f0fed3254de7 100644
|
||||
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2416,7 +2416,7 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -2486,7 +2486,7 @@ public class ServerGamePacketListenerImpl
|
||||
// CraftBukkit start
|
||||
String rawMessage = message.signedContent();
|
||||
if (rawMessage.isEmpty()) {
|
||||
|
||||
@@ -139,10 +139,10 @@ index 3cb0407c022c0b3e8627fc1d9736d3eee0609039..609b3020e5c044c51d80680bb0e9f3ca
|
||||
return ret;
|
||||
}
|
||||
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 804afc38f2be37258ee68d601674a2832b61bfc6..7142de40a5ff9d1009bb06e73172877e8bf80962 100644
|
||||
index 1f1df6616e416389fc5f84878469f0fed3254de7..7e00e8b0eb9a7aaffc37ef4d98b9205d58e9c5b2 100644
|
||||
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2706,7 +2706,7 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -2776,7 +2776,7 @@ public class ServerGamePacketListenerImpl
|
||||
// SPIGOT-7136 - Allays
|
||||
if (target instanceof net.minecraft.world.entity.animal.allay.Allay || target instanceof net.minecraft.world.entity.animal.horse.AbstractHorse) { // Paper - Fix horse armor desync
|
||||
ServerGamePacketListenerImpl.this.send(new net.minecraft.network.protocol.game.ClientboundSetEquipmentPacket(
|
||||
|
||||
@@ -1275,7 +1275,7 @@ index 8c3255661221f8afbccb661bec3afb47e4059403..ea7710c17bfc9fcfe736c3a2e83898b7
|
||||
this.player.clientBrandName = new net.minecraft.network.FriendlyByteBuf(io.netty.buffer.Unpooled.wrappedBuffer(data)).readUtf(256);
|
||||
}
|
||||
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 7142de40a5ff9d1009bb06e73172877e8bf80962..4b59db324e71846d233e43bafcdae658bcc70328 100644
|
||||
index 7e00e8b0eb9a7aaffc37ef4d98b9205d58e9c5b2..90d0c59c66c2e18d601838886ff55bb428547779 100644
|
||||
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -321,6 +321,20 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -1312,7 +1312,7 @@ index 7142de40a5ff9d1009bb06e73172877e8bf80962..4b59db324e71846d233e43bafcdae658
|
||||
this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854
|
||||
this.disconnect(Component.translatable("multiplayer.disconnect.idling"), org.bukkit.event.player.PlayerKickEvent.Cause.IDLING); // Paper - kick event cause
|
||||
}
|
||||
@@ -615,6 +635,8 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -624,6 +644,8 @@ public class ServerGamePacketListenerImpl
|
||||
this.lastYaw = to.getYaw();
|
||||
this.lastPitch = to.getPitch();
|
||||
|
||||
@@ -1321,7 +1321,7 @@ index 7142de40a5ff9d1009bb06e73172877e8bf80962..4b59db324e71846d233e43bafcdae658
|
||||
Location oldTo = to.clone();
|
||||
PlayerMoveEvent event = new PlayerMoveEvent(player, from, to);
|
||||
this.cserver.getPluginManager().callEvent(event);
|
||||
@@ -671,6 +693,7 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -703,6 +725,7 @@ public class ServerGamePacketListenerImpl
|
||||
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
|
||||
if (packet.getId() == this.awaitingTeleport) {
|
||||
if (this.awaitingPositionFromClient == null) {
|
||||
@@ -1329,7 +1329,7 @@ index 7142de40a5ff9d1009bb06e73172877e8bf80962..4b59db324e71846d233e43bafcdae658
|
||||
this.disconnect(Component.translatable("multiplayer.disconnect.invalid_player_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PLAYER_MOVEMENT); // Paper - kick event cause
|
||||
return;
|
||||
}
|
||||
@@ -1204,6 +1227,10 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -1236,6 +1259,10 @@ public class ServerGamePacketListenerImpl
|
||||
final int maxBookPageSize = pageMax.intValue();
|
||||
final double multiplier = Math.clamp(io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.totalMultiplier, 0.3D, 1D);
|
||||
long byteAllowed = maxBookPageSize;
|
||||
@@ -1340,7 +1340,7 @@ index 7142de40a5ff9d1009bb06e73172877e8bf80962..4b59db324e71846d233e43bafcdae658
|
||||
for (final String page : pageList) {
|
||||
final int byteLength = page.getBytes(java.nio.charset.StandardCharsets.UTF_8).length;
|
||||
byteTotal += byteLength;
|
||||
@@ -1228,7 +1255,8 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -1260,7 +1287,8 @@ public class ServerGamePacketListenerImpl
|
||||
}
|
||||
|
||||
if (byteTotal > byteAllowed) {
|
||||
@@ -1350,7 +1350,7 @@ index 7142de40a5ff9d1009bb06e73172877e8bf80962..4b59db324e71846d233e43bafcdae658
|
||||
this.disconnectAsync(Component.literal("Book too large!"), org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION); // Paper - kick event cause // Paper - add proper async disconnect
|
||||
return;
|
||||
}
|
||||
@@ -1247,31 +1275,45 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -1279,31 +1307,45 @@ public class ServerGamePacketListenerImpl
|
||||
Optional<String> optional = packet.title();
|
||||
optional.ifPresent(list::add);
|
||||
list.addAll(packet.pages());
|
||||
@@ -1400,7 +1400,7 @@ index 7142de40a5ff9d1009bb06e73172877e8bf80962..4b59db324e71846d233e43bafcdae658
|
||||
itemStack.set(
|
||||
DataComponents.WRITTEN_BOOK_CONTENT,
|
||||
new WrittenBookContent(this.filterableFromOutgoing(title), this.player.getName().getString(), 0, list, true)
|
||||
@@ -1285,6 +1327,16 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -1317,6 +1359,16 @@ public class ServerGamePacketListenerImpl
|
||||
return this.player.isTextFilteringEnabled() ? Filterable.passThrough(filteredText.filteredOrEmpty()) : Filterable.from(filteredText);
|
||||
}
|
||||
|
||||
@@ -1417,7 +1417,7 @@ index 7142de40a5ff9d1009bb06e73172877e8bf80962..4b59db324e71846d233e43bafcdae658
|
||||
@Override
|
||||
public void handleEntityTagQuery(ServerboundEntityTagQueryPacket packet) {
|
||||
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
|
||||
@@ -1320,7 +1372,15 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -1352,7 +1404,15 @@ public class ServerGamePacketListenerImpl
|
||||
@Override
|
||||
public void handleMovePlayer(ServerboundMovePlayerPacket packet) {
|
||||
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
|
||||
@@ -1434,7 +1434,7 @@ index 7142de40a5ff9d1009bb06e73172877e8bf80962..4b59db324e71846d233e43bafcdae658
|
||||
this.disconnect(Component.translatable("multiplayer.disconnect.invalid_player_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PLAYER_MOVEMENT); // Paper - kick event cause
|
||||
} else {
|
||||
ServerLevel serverLevel = this.player.serverLevel();
|
||||
@@ -1501,7 +1561,7 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -1534,7 +1594,7 @@ public class ServerGamePacketListenerImpl
|
||||
movedWrongly = true;
|
||||
if (event.getLogWarning())
|
||||
// Paper end
|
||||
@@ -1443,7 +1443,7 @@ index 7142de40a5ff9d1009bb06e73172877e8bf80962..4b59db324e71846d233e43bafcdae658
|
||||
} // Paper
|
||||
}
|
||||
|
||||
@@ -1557,6 +1617,8 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -1600,6 +1660,8 @@ public class ServerGamePacketListenerImpl
|
||||
this.lastYaw = to.getYaw();
|
||||
this.lastPitch = to.getPitch();
|
||||
|
||||
@@ -1452,7 +1452,7 @@ index 7142de40a5ff9d1009bb06e73172877e8bf80962..4b59db324e71846d233e43bafcdae658
|
||||
Location oldTo = to.clone();
|
||||
PlayerMoveEvent event = new PlayerMoveEvent(player, from, to);
|
||||
this.cserver.getPluginManager().callEvent(event);
|
||||
@@ -1612,6 +1674,13 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -1655,6 +1717,13 @@ public class ServerGamePacketListenerImpl
|
||||
this.player.tryResetCurrentImpulseContext();
|
||||
}
|
||||
|
||||
@@ -1466,7 +1466,7 @@ index 7142de40a5ff9d1009bb06e73172877e8bf80962..4b59db324e71846d233e43bafcdae658
|
||||
this.player.checkMovementStatistics(this.player.getX() - x, this.player.getY() - y, this.player.getZ() - z);
|
||||
this.lastGoodX = this.player.getX();
|
||||
this.lastGoodY = this.player.getY();
|
||||
@@ -1629,6 +1698,17 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -1672,6 +1741,17 @@ public class ServerGamePacketListenerImpl
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1484,7 +1484,7 @@ index 7142de40a5ff9d1009bb06e73172877e8bf80962..4b59db324e71846d233e43bafcdae658
|
||||
private boolean shouldCheckPlayerMovement(boolean isElytraMovement) {
|
||||
if (this.isSingleplayerOwner()) {
|
||||
return false;
|
||||
@@ -2005,6 +2085,7 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -2075,6 +2155,7 @@ public class ServerGamePacketListenerImpl
|
||||
|
||||
boolean cancelled;
|
||||
if (hitResult == null || hitResult.getType() != HitResult.Type.BLOCK) {
|
||||
@@ -1492,7 +1492,7 @@ index 7142de40a5ff9d1009bb06e73172877e8bf80962..4b59db324e71846d233e43bafcdae658
|
||||
org.bukkit.event.player.PlayerInteractEvent event = CraftEventFactory.callPlayerInteractEvent(this.player, Action.RIGHT_CLICK_AIR, itemInHand, hand);
|
||||
cancelled = event.useItemInHand() == Event.Result.DENY;
|
||||
} else {
|
||||
@@ -2677,6 +2758,7 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -2747,6 +2828,7 @@ public class ServerGamePacketListenerImpl
|
||||
|
||||
AABB boundingBox = target.getBoundingBox();
|
||||
if (this.player.canInteractWithEntity(boundingBox, io.papermc.paper.configuration.GlobalConfiguration.get().misc.clientInteractionLeniencyDistance.or(3.0))) { // Paper - configurable lenience value for interact range
|
||||
@@ -1500,7 +1500,7 @@ index 7142de40a5ff9d1009bb06e73172877e8bf80962..4b59db324e71846d233e43bafcdae658
|
||||
packet.dispatch(
|
||||
new ServerboundInteractPacket.Handler() {
|
||||
private void performInteraction(InteractionHand hand, ServerGamePacketListenerImpl.EntityInteraction entityInteraction, PlayerInteractEntityEvent event) { // CraftBukkit
|
||||
@@ -2689,6 +2771,8 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -2759,6 +2841,8 @@ public class ServerGamePacketListenerImpl
|
||||
|
||||
ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event);
|
||||
|
||||
|
||||
@@ -65,10 +65,10 @@ index 35fd539eb2bfe60ad17ab1e558a01273666acc54..445bbdc8da7f1fdbddfc4d8787d78fea
|
||||
this.values[this.vp++ & 0xFF] = (int)(l * 100L / Runtime.getRuntime().maxMemory());
|
||||
this.repaint();
|
||||
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 4b59db324e71846d233e43bafcdae658bcc70328..413fac2acf8cc467d328ccb1fe01399722d02941 100644
|
||||
index 90d0c59c66c2e18d601838886ff55bb428547779..62586fc315b473761579daa863f89df150fb9576 100644
|
||||
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1255,7 +1255,7 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -1287,7 +1287,7 @@ public class ServerGamePacketListenerImpl
|
||||
}
|
||||
|
||||
if (byteTotal > byteAllowed) {
|
||||
|
||||
@@ -7,10 +7,10 @@ This Check is added in 1.17.x -> 1.18.x that updated by Mojang.
|
||||
By removing this check, it gives ability for hackers to use some modules of hack clients.
|
||||
|
||||
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 413fac2acf8cc467d328ccb1fe01399722d02941..776c23f64fdda3bcc93d66e811be7438c22be1f7 100644
|
||||
index 62586fc315b473761579daa863f89df150fb9576..956a19d137243baddcc44927b3ae77697ca0bfdf 100644
|
||||
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2003,8 +2003,13 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -2073,8 +2073,13 @@ public class ServerGamePacketListenerImpl
|
||||
BlockPos blockPos = hitResult.getBlockPos();
|
||||
if (this.player.canInteractWithBlock(blockPos, 1.0)) {
|
||||
Vec3 vec3 = location.subtract(Vec3.atCenterOf(blockPos));
|
||||
|
||||
@@ -53,10 +53,10 @@ index fe2710ee9b8a4452ff339a0b15ccf357a7c25336..f0e9dac266ef24f8e07460a1b08a244d
|
||||
} else {
|
||||
getBukkitEntity().setPlayerListName(prefix + scoreboardName + suffix, true);
|
||||
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 776c23f64fdda3bcc93d66e811be7438c22be1f7..4287bb927a25206016298be2cc659d5920b3c414 100644
|
||||
index 956a19d137243baddcc44927b3ae77697ca0bfdf..41251d29a881d31283cb647a7d74fa402c1b422f 100644
|
||||
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2259,6 +2259,7 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -2329,6 +2329,7 @@ public class ServerGamePacketListenerImpl
|
||||
|
||||
@Override
|
||||
public void handleChatCommand(ServerboundChatCommandPacket packet) {
|
||||
@@ -64,7 +64,7 @@ index 776c23f64fdda3bcc93d66e811be7438c22be1f7..4287bb927a25206016298be2cc659d59
|
||||
this.tryHandleChat(packet.command(), () -> {
|
||||
// CraftBukkit start - SPIGOT-7346: Prevent disconnected players from executing commands
|
||||
if (this.player.hasDisconnected()) {
|
||||
@@ -2267,7 +2268,7 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -2337,7 +2338,7 @@ public class ServerGamePacketListenerImpl
|
||||
// CraftBukkit end
|
||||
this.performUnsignedChatCommand(packet.command());
|
||||
this.detectRateSpam("/" + packet.command()); // Spigot
|
||||
@@ -73,7 +73,7 @@ index 776c23f64fdda3bcc93d66e811be7438c22be1f7..4287bb927a25206016298be2cc659d59
|
||||
}
|
||||
|
||||
private void performUnsignedChatCommand(String command) {
|
||||
@@ -2300,6 +2301,7 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -2370,6 +2371,7 @@ public class ServerGamePacketListenerImpl
|
||||
public void handleSignedChatCommand(ServerboundChatCommandSignedPacket packet) {
|
||||
Optional<LastSeenMessages> optional = this.unpackAndApplyLastSeen(packet.lastSeenMessages());
|
||||
if (!optional.isEmpty()) {
|
||||
@@ -81,7 +81,7 @@ index 776c23f64fdda3bcc93d66e811be7438c22be1f7..4287bb927a25206016298be2cc659d59
|
||||
this.tryHandleChat(packet.command(), () -> {
|
||||
// CraftBukkit start - SPIGOT-7346: Prevent disconnected players from executing commands
|
||||
if (this.player.hasDisconnected()) {
|
||||
@@ -2308,7 +2310,7 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -2378,7 +2380,7 @@ public class ServerGamePacketListenerImpl
|
||||
// CraftBukkit end
|
||||
this.performSignedChatCommand(packet, optional.get());
|
||||
this.detectRateSpam("/" + packet.command()); // Spigot
|
||||
@@ -90,7 +90,7 @@ index 776c23f64fdda3bcc93d66e811be7438c22be1f7..4287bb927a25206016298be2cc659d59
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2415,12 +2417,17 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -2485,12 +2487,17 @@ public class ServerGamePacketListenerImpl
|
||||
return dispatcher.parse(command, this.player.createCommandSourceStack());
|
||||
}
|
||||
|
||||
@@ -110,7 +110,7 @@ index 776c23f64fdda3bcc93d66e811be7438c22be1f7..4287bb927a25206016298be2cc659d59
|
||||
this.player.resetLastActionTime();
|
||||
// CraftBukkit start
|
||||
if (sync) {
|
||||
@@ -2432,6 +2439,40 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -2502,6 +2509,40 @@ public class ServerGamePacketListenerImpl
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -212,10 +212,10 @@ index d23ed8dbda5132337c8c96c67cf924e438ea9f4b..889b7e8752129dd3b5ba196c4b294496
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 5e693808b54efd77a40ccf0bafdf5a2aa7245da3..296c46d0a705dbb0085f3f58d574f4f4e0732668 100644
|
||||
index 27ca0be25253b35ebfe54b725f9ba28a120f4ea0..94dd2887398cbebb60200e9a5c61c01b2fda0a7f 100644
|
||||
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1806,7 +1806,7 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -1876,7 +1876,7 @@ public class ServerGamePacketListenerImpl
|
||||
}
|
||||
|
||||
public void internalTeleport(PositionMoveRotation posMoveRotation, Set<Relative> relatives) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Some Optimizations on SerializableChunkData
|
||||
|
||||
|
||||
diff --git a/net/minecraft/world/level/chunk/storage/SerializableChunkData.java b/net/minecraft/world/level/chunk/storage/SerializableChunkData.java
|
||||
index cbb6d1f6e715316e170936d29b816c0e6b02478d..0ed7534dad28e93cd0d1af8616f6d882c47dccf4 100644
|
||||
index 749096358fccbd5d1d13801092255c51096eb001..62a40e88fc03b7f383bd750d72c42747ddd591b4 100644
|
||||
--- a/net/minecraft/world/level/chunk/storage/SerializableChunkData.java
|
||||
+++ b/net/minecraft/world/level/chunk/storage/SerializableChunkData.java
|
||||
@@ -470,14 +470,16 @@ public record SerializableChunkData(
|
||||
@@ -469,14 +469,16 @@ public record SerializableChunkData(
|
||||
throw new IllegalArgumentException("Chunk can't be serialized: " + chunk);
|
||||
} else {
|
||||
ChunkPos pos = chunk.getPos();
|
||||
@@ -28,7 +28,7 @@ index cbb6d1f6e715316e170936d29b816c0e6b02478d..0ed7534dad28e93cd0d1af8616f6d882
|
||||
|
||||
final LevelChunkSection[] chunkSections = chunk.getSections();
|
||||
final ca.spottedleaf.moonrise.patches.starlight.light.SWMRNibbleArray[] blockNibbles = ((ca.spottedleaf.moonrise.patches.starlight.chunk.StarlightChunk)chunk).starlight$getBlockNibbles();
|
||||
@@ -509,10 +511,11 @@ public record SerializableChunkData(
|
||||
@@ -508,10 +510,11 @@ public record SerializableChunkData(
|
||||
((ca.spottedleaf.moonrise.patches.starlight.storage.StarlightSectionData)(Object)sectionData).starlight$setSkyLightState(skyNibble.state);
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ index cbb6d1f6e715316e170936d29b816c0e6b02478d..0ed7534dad28e93cd0d1af8616f6d882
|
||||
List<CompoundTag> list1 = new ArrayList<>(chunk.getBlockEntitiesPos().size());
|
||||
|
||||
for (BlockPos blockPos : chunk.getBlockEntitiesPos()) {
|
||||
@@ -522,7 +525,16 @@ public record SerializableChunkData(
|
||||
@@ -521,7 +524,16 @@ public record SerializableChunkData(
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ index cbb6d1f6e715316e170936d29b816c0e6b02478d..0ed7534dad28e93cd0d1af8616f6d882
|
||||
long[] longs = null;
|
||||
if (chunk.getPersistedStatus().getChunkType() == ChunkType.PROTOCHUNK) {
|
||||
ProtoChunk protoChunk = (ProtoChunk)chunk;
|
||||
@@ -538,14 +550,18 @@ public record SerializableChunkData(
|
||||
@@ -537,14 +549,18 @@ public record SerializableChunkData(
|
||||
for (Entry<Heightmap.Types, Heightmap> entry : chunk.getHeightmaps()) {
|
||||
if (chunk.getPersistedStatus().heightmapsAfter().contains(entry.getKey())) {
|
||||
long[] rawData = entry.getValue().getRawData();
|
||||
|
||||
@@ -175,7 +175,7 @@ index 6683df8d0f5a61ab094393f761a3d3a22d6e0455..4fd9313ce2c87383685d80e2533b93d5
|
||||
// Paper start - rewrite chunk system
|
||||
private volatile ca.spottedleaf.moonrise.patches.starlight.light.SWMRNibbleArray[] blockNibbles;
|
||||
diff --git a/net/minecraft/world/level/chunk/storage/SerializableChunkData.java b/net/minecraft/world/level/chunk/storage/SerializableChunkData.java
|
||||
index 0ed7534dad28e93cd0d1af8616f6d882c47dccf4..a829a828d2f1abbf403ef77d258cd635ad9bf6de 100644
|
||||
index 62a40e88fc03b7f383bd750d72c42747ddd591b4..6f4f431d5197e8157908191709776ff6d406207b 100644
|
||||
--- a/net/minecraft/world/level/chunk/storage/SerializableChunkData.java
|
||||
+++ b/net/minecraft/world/level/chunk/storage/SerializableChunkData.java
|
||||
@@ -92,6 +92,7 @@ public record SerializableChunkData(
|
||||
@@ -206,7 +206,7 @@ index 0ed7534dad28e93cd0d1af8616f6d882c47dccf4..a829a828d2f1abbf403ef77d258cd635
|
||||
List<CompoundTag> list3 = tag.getList("entities").stream().flatMap(ListTag::compoundStream).toList();
|
||||
List<CompoundTag> list4 = tag.getList("block_entities").stream().flatMap(ListTag::compoundStream).toList();
|
||||
CompoundTag compoundOrEmpty = tag.getCompoundOrEmpty("structures");
|
||||
@@ -269,6 +283,7 @@ public record SerializableChunkData(
|
||||
@@ -268,6 +282,7 @@ public record SerializableChunkData(
|
||||
list4,
|
||||
compoundOrEmpty
|
||||
, tag.get("ChunkBukkitValues") // CraftBukkit - ChunkBukkitValues
|
||||
@@ -214,7 +214,7 @@ index 0ed7534dad28e93cd0d1af8616f6d882c47dccf4..a829a828d2f1abbf403ef77d258cd635
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -425,6 +440,15 @@ public record SerializableChunkData(
|
||||
@@ -424,6 +439,15 @@ public record SerializableChunkData(
|
||||
chunkAccess.addPackedPostProcess(this.postProcessingSections[i], i);
|
||||
}
|
||||
|
||||
@@ -230,7 +230,7 @@ index 0ed7534dad28e93cd0d1af8616f6d882c47dccf4..a829a828d2f1abbf403ef77d258cd635
|
||||
if (chunkType == ChunkType.LEVELCHUNK) {
|
||||
return this.loadStarlightLightData(level, new ImposterProtoChunk((LevelChunk)chunkAccess, false)); // Paper - starlight
|
||||
} else {
|
||||
@@ -571,6 +595,7 @@ public record SerializableChunkData(
|
||||
@@ -570,6 +594,7 @@ public record SerializableChunkData(
|
||||
persistentDataContainer = chunk.persistentDataContainer.toTagCompound();
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -238,7 +238,7 @@ index 0ed7534dad28e93cd0d1af8616f6d882c47dccf4..a829a828d2f1abbf403ef77d258cd635
|
||||
return new SerializableChunkData(
|
||||
level.registryAccess().lookupOrThrow(Registries.BIOME),
|
||||
pos,
|
||||
@@ -591,6 +616,7 @@ public record SerializableChunkData(
|
||||
@@ -590,6 +615,7 @@ public record SerializableChunkData(
|
||||
list1,
|
||||
compoundTag
|
||||
, persistentDataContainer // CraftBukkit - persistentDataContainer
|
||||
@@ -246,7 +246,7 @@ index 0ed7534dad28e93cd0d1af8616f6d882c47dccf4..a829a828d2f1abbf403ef77d258cd635
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -675,6 +701,21 @@ public record SerializableChunkData(
|
||||
@@ -674,6 +700,21 @@ public record SerializableChunkData(
|
||||
compoundTag.put("ChunkBukkitValues", this.persistentDataContainer);
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -268,7 +268,7 @@ index 0ed7534dad28e93cd0d1af8616f6d882c47dccf4..a829a828d2f1abbf403ef77d258cd635
|
||||
// Paper start - starlight
|
||||
if (this.lightCorrect && !this.chunkStatus.isBefore(net.minecraft.world.level.chunk.status.ChunkStatus.LIGHT)) {
|
||||
// clobber vanilla value to force vanilla to relight
|
||||
@@ -882,4 +923,50 @@ public record SerializableChunkData(
|
||||
@@ -881,4 +922,50 @@ public record SerializableChunkData(
|
||||
}
|
||||
// Paper end - starlight - convert from record
|
||||
}
|
||||
|
||||
@@ -893,10 +893,10 @@ index 4d5958405e1c86c289d24500705686e7da02c3f6..86541e322fcacb6c525af39ba2675b71
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index 5aa8eab78e99408b0beb64d7ed07ff1bc61541db..83a23a82335eac087d36fd27ca6c6417960b881f 100644
|
||||
index 9e271f0e587be1ab9258937774121763b34e9e0f..8f9af0c5396abf25534eaee17b81982024eb9fcd 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -95,6 +95,25 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -98,6 +98,25 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
this.entityType = CraftEntityType.minecraftToBukkit(entity.getType());
|
||||
}
|
||||
|
||||
@@ -922,7 +922,7 @@ index 5aa8eab78e99408b0beb64d7ed07ff1bc61541db..83a23a82335eac087d36fd27ca6c6417
|
||||
public static <T extends Entity> CraftEntity getEntity(CraftServer server, T entity) {
|
||||
Preconditions.checkArgument(entity != null, "Unknown entity");
|
||||
|
||||
@@ -252,6 +271,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -255,6 +274,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
boolean retainPassengers = flagSet.contains(io.papermc.paper.entity.TeleportFlag.EntityState.RETAIN_PASSENGERS);
|
||||
// Don't allow teleporting between worlds while keeping passengers
|
||||
if (flagSet.contains(io.papermc.paper.entity.TeleportFlag.EntityState.RETAIN_PASSENGERS) && this.entity.isVehicle() && location.getWorld() != this.getWorld()) {
|
||||
@@ -930,11 +930,10 @@ index 5aa8eab78e99408b0beb64d7ed07ff1bc61541db..83a23a82335eac087d36fd27ca6c6417
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -1263,4 +1283,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
((CraftPlayer) player).sendHurtAnimation(0, this);
|
||||
}
|
||||
@@ -1281,4 +1301,26 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
return this.entity.get(io.papermc.paper.datacomponent.PaperDataComponentType.bukkitToMinecraft(type)) != null;
|
||||
}
|
||||
+
|
||||
|
||||
+ // Purpur start - Ridables
|
||||
+ @Override
|
||||
+ public org.bukkit.entity.Player getRider() {
|
||||
|
||||
@@ -88,10 +88,10 @@ index c03608fec96b51e1867f43d8f42e5aefb1520e46..56268cf8d184e0b6cd46de8c2e893ad3
|
||||
+ // Leaf end - SparklyPaper - skip EntityScheduler's executeTick checks if there isn't any tasks to be run
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index 83a23a82335eac087d36fd27ca6c6417960b881f..5a707acb7cda4097f822e3dcb17bdf26ca5c9f59 100644
|
||||
index 8f9af0c5396abf25534eaee17b81982024eb9fcd..31fe8bd91b5d2825af445e3d37d582a206202bf8 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -80,7 +80,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -83,7 +83,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
private final CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(CraftEntity.DATA_TYPE_REGISTRY);
|
||||
protected net.kyori.adventure.pointer.Pointers adventure$pointers; // Paper - implement pointers
|
||||
// Paper start - Folia shedulers
|
||||
@@ -100,7 +100,7 @@ index 83a23a82335eac087d36fd27ca6c6417960b881f..5a707acb7cda4097f822e3dcb17bdf26
|
||||
private final io.papermc.paper.threadedregions.scheduler.FoliaEntityScheduler apiScheduler = new io.papermc.paper.threadedregions.scheduler.FoliaEntityScheduler(this);
|
||||
|
||||
@Override
|
||||
@@ -93,6 +93,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -96,6 +96,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
this.server = server;
|
||||
this.entity = entity;
|
||||
this.entityType = CraftEntityType.minecraftToBukkit(entity.getType());
|
||||
|
||||
Reference in New Issue
Block a user