mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2026-01-04 15:41:40 +00:00
Updated Upstream (Paper/Purpur/Leaves)
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@a5f2f614 Fix offhand item desync on cancelling interact events (#12828) PaperMC/Paper@10318775 [ci/skip] Update mache for codebook 1.0.15 (#12887) Purpur Changes: PurpurMC/Purpur@c4e5604c Updated Upstream (Paper) PurpurMC/Purpur@c130b18e Updated Upstream (Paper) PurpurMC/Purpur@60bdf1c7 Final Paper Upstream PurpurMC/Purpur@a39c4cb0 Updated Upstream (Paper) PurpurMC/Purpur@ea7b18ab Updated Upstream (Paper) PurpurMC/Purpur@0f82c210 Updated Upstream (Paper) PurpurMC/Purpur@8de15d66 this is important for the build to not fail.. PurpurMC/Purpur@5053eb0c use a different method for dropping lapis, closes #1692 Leaves Changes: LeavesMC/Leaves@df8397c7 Fix bot invulnerable LeavesMC/Leaves@e1c21d3f Movable Budding Amethyst bind carpet rule (#561) LeavesMC/Leaves@550dba49 Configurable item damage check and good shear behavior (#559) LeavesMC/Leaves@cb64df44 Old Throwable Projectile tick order (#520) LeavesMC/Leaves@b5793e80 Fix bot infinity desync (#584) LeavesMC/Leaves@c5ecbe85 1.21.7/8 (#587) LeavesMC/Leaves@5497dfb4 Fix CI LeavesMC/Leaves@2f8255bd Fix LitematicaEasyPlaceProtocol LeavesMC/Leaves@a416f476 Fix bot use actions (#606) (#605) LeavesMC/Leaves@bfde470a fix: revert Configurable-collision-behavior patch (#607) LeavesMC/Leaves@aaa2323d Fix Syncmatica file name
This commit is contained in:
@@ -152,7 +152,7 @@ index a9c2f419200483673f6743ed94af110a8e875e71..617eb1b9d30d499124576c5d7cb51525
|
||||
return ret;
|
||||
}
|
||||
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
|
||||
index bb1d7467b3fe01762c8ef28f1f9f6563e18a6195..af726d261f8d27ba95daa2657abd26a7461903ac 100644
|
||||
index a92be63160f35c67a4e9513c6b5445d84c80c27c..80b41d65e350a7ac4feb5d861c6c911096648b49 100644
|
||||
--- a/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1100,7 +1100,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
@@ -165,10 +165,10 @@ index bb1d7467b3fe01762c8ef28f1f9f6563e18a6195..af726d261f8d27ba95daa2657abd26a7
|
||||
this.getInventory().equipment.set(value, net.minecraft.world.item.ItemStack.EMPTY);
|
||||
}
|
||||
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 83ab47fead8c07c70a96d5794baa04cd1444fb8f..3f1f68ed20ec6c944f031afc74052e63594e84e6 100644
|
||||
index 5cd1b9d87f395872e1f51169130bfe2a7143c1a6..bcf5f7845d4b2ba6aa91c02dc4b99d357a9caec6 100644
|
||||
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2794,7 +2794,7 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -2795,7 +2795,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(
|
||||
@@ -217,7 +217,7 @@ index 3eea236bd1fd401fefdf7c5cc553a3db335029c7..3739272cbc73b7c4f15a2fbe874905cf
|
||||
if (!itemBySlot.isEmpty()) {
|
||||
newMob.setItemSlot(equipmentSlot, itemBySlot.copyAndClear());
|
||||
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
|
||||
index 397bf42ef1d83cc242ca8228cd28e5f862da72d7..584403a056350b05da0108ea668a1583db2ee943 100644
|
||||
index c941e144667f04e8710da9dacc3f5e02731303bd..977198e485053847b051b9e9ae60c6d8be6600cc 100644
|
||||
--- a/net/minecraft/world/entity/Entity.java
|
||||
+++ b/net/minecraft/world/entity/Entity.java
|
||||
@@ -3076,7 +3076,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -310,7 +310,7 @@ index bfda76974ea8d4397e2c2ebf5bdcb5d7e5f0bab5..cabbc93409ca99180d115e2f23419ee1
|
||||
String[] strings = new String[pattern.size() - i3 - i2];
|
||||
|
||||
diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java
|
||||
index b62ee276e2176da439ac2f4da4501861da746004..97d227249405c8648b8b5e9bcca5a3f202f7b903 100644
|
||||
index a0254e85fccebb66ce02bd58f9d461addd8ad73d..1f7b3db02e59c4cbc93bc0e4e42bd20e0031c4bd 100644
|
||||
--- a/net/minecraft/world/level/Level.java
|
||||
+++ b/net/minecraft/world/level/Level.java
|
||||
@@ -1825,7 +1825,7 @@ public abstract class Level implements LevelAccessor, UUIDLookup<Entity>, AutoCl
|
||||
|
||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Purpur Server Minecraft Changes
|
||||
Original license: MIT
|
||||
Original project: https://github.com/PurpurMC/Purpur
|
||||
|
||||
Commit: 11c030a8f81b2f845a9f2749790692c2d152f284
|
||||
Commit: 5053eb0c5dc9662ffb39ae7c39c6ca08c013d898
|
||||
|
||||
Patches listed below are removed in this patch, They exists in Gale or Leaf:
|
||||
* "net/minecraft/CrashReport.java.patch"
|
||||
@@ -1313,7 +1313,7 @@ index de630a692291926c52a0947f9943e59433ab130a..ca9ba2a2535eab66622230778efdf941
|
||||
this.playerBrand = 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 04d6647ca0d9c69054bc2f1fdacc80497e0a7804..51e2aad2034c289e7f6838cb7ac6686593072903 100644
|
||||
index bcf5f7845d4b2ba6aa91c02dc4b99d357a9caec6..98ee4250e6b893861c8312e22ec9427d0af6998b 100644
|
||||
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -338,6 +338,20 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -1538,16 +1538,16 @@ index 04d6647ca0d9c69054bc2f1fdacc80497e0a7804..51e2aad2034c289e7f6838cb7ac66865
|
||||
packet.dispatch(
|
||||
new ServerboundInteractPacket.Handler() {
|
||||
private void performInteraction(InteractionHand hand, ServerGamePacketListenerImpl.EntityInteraction entityInteraction, PlayerInteractEntityEvent event) { // CraftBukkit
|
||||
@@ -2777,6 +2859,8 @@ public class ServerGamePacketListenerImpl
|
||||
|
||||
@@ -2778,6 +2860,8 @@ public class ServerGamePacketListenerImpl
|
||||
ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event);
|
||||
final boolean resendData = event.isCancelled() || !ServerGamePacketListenerImpl.this.player.getItemInHand(hand).is(itemType);
|
||||
|
||||
+ player.processClick(hand); // Purpur - Ridables
|
||||
+
|
||||
// Entity in bucket - SPIGOT-4048 and SPIGOT-6859
|
||||
if ((target instanceof net.minecraft.world.entity.animal.Bucketable && target instanceof LivingEntity && origItem != null && origItem == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelectedItem().isEmpty() || !ServerGamePacketListenerImpl.this.player.getInventory().getSelectedItem().is(origItem))) {
|
||||
if (itemType == Items.WATER_BUCKET && target instanceof net.minecraft.world.entity.animal.Bucketable && target instanceof LivingEntity && resendData) {
|
||||
target.resendPossiblyDesyncedEntityData(ServerGamePacketListenerImpl.this.player); // Paper - The entire mob gets deleted, so resend it
|
||||
@@ -3495,7 +3579,7 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -3496,7 +3580,7 @@ public class ServerGamePacketListenerImpl
|
||||
@Override
|
||||
public void handleChangeGameMode(ServerboundChangeGameModePacket packet) {
|
||||
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.level());
|
||||
@@ -1923,7 +1923,7 @@ index 1fc9e1ad541c46124183a401b2a7d99aea69cecf..881271f0bc77a8a8a7d31daad9a8188b
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
|
||||
index 9ee1ce59ee5612a0793ad76c4635af63c315657a..5b6c8d4caac3fca20e5994e24267f04cb59c27dd 100644
|
||||
index a8fd1554acbe14ac74cba718ceddc9f65057bcc7..53a0d464c1eb68ee2eff7f93c5c745ee4667093a 100644
|
||||
--- a/net/minecraft/world/entity/Entity.java
|
||||
+++ b/net/minecraft/world/entity/Entity.java
|
||||
@@ -146,6 +146,7 @@ import org.jetbrains.annotations.Contract;
|
||||
@@ -14651,7 +14651,7 @@ index 966ca1e0e828e4176e12cbcf8c4a6b16489708de..e4ac7ee4e39b609aa70d6d4b766962a4
|
||||
return this.getRule(key).get();
|
||||
}
|
||||
diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java
|
||||
index 97d227249405c8648b8b5e9bcca5a3f202f7b903..dd8c7afecd62edc2ab3933034bf469aea729be53 100644
|
||||
index 1f7b3db02e59c4cbc93bc0e4e42bd20e0031c4bd..bee67a32c63df0901b9a9b6b3f6e7a35bb87025e 100644
|
||||
--- a/net/minecraft/world/level/Level.java
|
||||
+++ b/net/minecraft/world/level/Level.java
|
||||
@@ -164,12 +164,56 @@ public abstract class Level implements LevelAccessor, UUIDLookup<Entity>, AutoCl
|
||||
@@ -14736,7 +14736,7 @@ index 97d227249405c8648b8b5e9bcca5a3f202f7b903..dd8c7afecd62edc2ab3933034bf469ae
|
||||
+ // Purpur end - Add allow water in end world option
|
||||
}
|
||||
diff --git a/net/minecraft/world/level/NaturalSpawner.java b/net/minecraft/world/level/NaturalSpawner.java
|
||||
index ec32d77447dd250857a2af1d8cc3e6e233aa3e6e..345d4b80bd4383e0fb66d744d87bc8ef4100fd32 100644
|
||||
index ccbeda714085118b4dddf9fac6f3de2ed7a6426e..102d88fc2989f80a39826e50ee706d853bfb2c5e 100644
|
||||
--- a/net/minecraft/world/level/NaturalSpawner.java
|
||||
+++ b/net/minecraft/world/level/NaturalSpawner.java
|
||||
@@ -254,7 +254,7 @@ public final class NaturalSpawner {
|
||||
@@ -15369,27 +15369,6 @@ index 5c2f10486e3aed090c6545a86276e6927e424cb2..9ed7ffb10e0a172fe5f3dd4613922428
|
||||
WorldBorder worldBorder = level.getWorldBorder();
|
||||
|
||||
for (int i = 0; i < 1000; i++) {
|
||||
diff --git a/net/minecraft/world/level/block/EnchantingTableBlock.java b/net/minecraft/world/level/block/EnchantingTableBlock.java
|
||||
index 523082c69aad8269cd058ad6864184c3ab51dbeb..4f4e81a845c4d3dc0e7d82ba323a8595581535e2 100644
|
||||
--- a/net/minecraft/world/level/block/EnchantingTableBlock.java
|
||||
+++ b/net/minecraft/world/level/block/EnchantingTableBlock.java
|
||||
@@ -119,4 +119,16 @@ public class EnchantingTableBlock extends BaseEntityBlock {
|
||||
protected boolean isPathfindable(BlockState state, PathComputationType pathComputationType) {
|
||||
return false;
|
||||
}
|
||||
+
|
||||
+ // Purpur start - Enchantment Table Persists Lapis
|
||||
+ @Override
|
||||
+ protected void affectNeighborsAfterRemoval(BlockState state, net.minecraft.server.level.ServerLevel level, BlockPos pos, boolean movedByPiston) {
|
||||
+ BlockEntity blockEntity = level.getBlockEntity(pos);
|
||||
+
|
||||
+ if (level.purpurConfig.enchantmentTableLapisPersists && blockEntity instanceof EnchantingTableBlockEntity enchantmentTable) {
|
||||
+ net.minecraft.world.Containers.dropItemStack(level, pos.getX(), pos.getY(), pos.getZ(), new net.minecraft.world.item.ItemStack(net.minecraft.world.item.Items.LAPIS_LAZULI, enchantmentTable.getLapis()));
|
||||
+ net.minecraft.world.Containers.updateNeighboursAfterDestroy(state, level, pos);
|
||||
+ }
|
||||
+ }
|
||||
+ // Purpur end - Enchantment Table Persists Lapis
|
||||
}
|
||||
diff --git a/net/minecraft/world/level/block/EndGatewayBlock.java b/net/minecraft/world/level/block/EndGatewayBlock.java
|
||||
index 68914268ca9350a6c1d794e011e1f9a8aecd609c..8e53b45dbf740de6c6fe499ef424d11b2b15f9d8 100644
|
||||
--- a/net/minecraft/world/level/block/EndGatewayBlock.java
|
||||
@@ -16542,7 +16521,7 @@ index 0e87d20639c382be2221d73c7498480d21ebeafb..3ea9fe4c936f024c15a6bba6e7c5d960
|
||||
|
||||
private static void animationTick(Level level, BlockPos pos, List<BlockPos> positions, @Nullable Entity entity, int tickCount) {
|
||||
diff --git a/net/minecraft/world/level/block/entity/EnchantingTableBlockEntity.java b/net/minecraft/world/level/block/entity/EnchantingTableBlockEntity.java
|
||||
index 5dd044c13e09423af43330df565bfe6ce88a883c..93f34bbfae6f8f02ff4ea92d6745cd1d288c8dbd 100644
|
||||
index 5dd044c13e09423af43330df565bfe6ce88a883c..39a45a32b1c82e6d7641a1609384a902d0414659 100644
|
||||
--- a/net/minecraft/world/level/block/entity/EnchantingTableBlockEntity.java
|
||||
+++ b/net/minecraft/world/level/block/entity/EnchantingTableBlockEntity.java
|
||||
@@ -30,6 +30,7 @@ public class EnchantingTableBlockEntity extends BlockEntity implements Nameable
|
||||
@@ -16568,7 +16547,7 @@ index 5dd044c13e09423af43330df565bfe6ce88a883c..93f34bbfae6f8f02ff4ea92d6745cd1d
|
||||
}
|
||||
|
||||
public static void bookAnimationTick(Level level, BlockPos pos, BlockState state, EnchantingTableBlockEntity enchantingTable) {
|
||||
@@ -136,4 +139,14 @@ public class EnchantingTableBlockEntity extends BlockEntity implements Nameable
|
||||
@@ -136,4 +139,22 @@ public class EnchantingTableBlockEntity extends BlockEntity implements Nameable
|
||||
public void removeComponentsFromTag(ValueOutput output) {
|
||||
output.discard("CustomName");
|
||||
}
|
||||
@@ -16581,6 +16560,14 @@ index 5dd044c13e09423af43330df565bfe6ce88a883c..93f34bbfae6f8f02ff4ea92d6745cd1d
|
||||
+ public void setLapis(int lapis) {
|
||||
+ this.lapis = lapis;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void preRemoveSideEffects(BlockPos pos, BlockState state) {
|
||||
+ super.preRemoveSideEffects(pos, state);
|
||||
+ if (this.level != null && this.level.purpurConfig.enchantmentTableLapisPersists) {
|
||||
+ net.minecraft.world.Containers.dropItemStack(this.level, pos.getX(), pos.getY(), pos.getZ(), new net.minecraft.world.item.ItemStack(net.minecraft.world.item.Items.LAPIS_LAZULI, this.getLapis()));
|
||||
+ }
|
||||
+ }
|
||||
+ // Purpur end - Enchantment Table Persists Lapis
|
||||
}
|
||||
diff --git a/net/minecraft/world/level/block/entity/SignBlockEntity.java b/net/minecraft/world/level/block/entity/SignBlockEntity.java
|
||||
|
||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Leaves: Protocol Core
|
||||
Original license: GPLv3
|
||||
Original project: https://github.com/LeavesMC/Leaves
|
||||
|
||||
Commit: 3187d77f57058a81bc04ce7eaac1224f58b03c25
|
||||
Commit: aaa2323d60912b65b64c16e7583c5d55f8b4c7c9
|
||||
|
||||
diff --git a/net/minecraft/network/protocol/common/custom/CustomPacketPayload.java b/net/minecraft/network/protocol/common/custom/CustomPacketPayload.java
|
||||
index fb263fa1f30a7dfcb7ec2656abfb38e5fe88eac9..56fd1ed7ccaf96e7eedea60fbdbf7f934939d563 100644
|
||||
@@ -36,25 +36,6 @@ index fb263fa1f30a7dfcb7ec2656abfb38e5fe88eac9..56fd1ed7ccaf96e7eedea60fbdbf7f93
|
||||
}
|
||||
};
|
||||
}
|
||||
diff --git a/net/minecraft/network/protocol/common/custom/DiscardedPayload.java b/net/minecraft/network/protocol/common/custom/DiscardedPayload.java
|
||||
index 62b9d9486c15a1ec6527f786df4e9fc483390bcb..5384bbc6bb3dbe5481f9d8cb10282551a0f78ec1 100644
|
||||
--- a/net/minecraft/network/protocol/common/custom/DiscardedPayload.java
|
||||
+++ b/net/minecraft/network/protocol/common/custom/DiscardedPayload.java
|
||||
@@ -4,12 +4,12 @@ import net.minecraft.network.FriendlyByteBuf;
|
||||
import net.minecraft.network.codec.StreamCodec;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
|
||||
-public record DiscardedPayload(ResourceLocation id, byte[] data) implements CustomPacketPayload { // Paper - store data
|
||||
+public record DiscardedPayload(ResourceLocation id, byte @org.jetbrains.annotations.Nullable [] data) implements CustomPacketPayload { // Paper - store data // Leaves - nullable
|
||||
public static <T extends FriendlyByteBuf> StreamCodec<T, DiscardedPayload> codec(ResourceLocation id, int maxSize) {
|
||||
return CustomPacketPayload.codec((value, output) -> {
|
||||
// Paper start
|
||||
// Always write data
|
||||
- output.writeBytes(value.data);
|
||||
+ if (value.data != null) output.writeBytes(value.data); // Leaves - nullable
|
||||
}, buffer -> {
|
||||
int i = buffer.readableBytes();
|
||||
if (i >= 0 && i <= maxSize) {
|
||||
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
|
||||
index 12e697a626ce68127ac2157fca0e5408beb13f0b..46118a63b721d445623c4d831881652d845df96d 100644
|
||||
--- a/net/minecraft/server/MinecraftServer.java
|
||||
@@ -68,68 +49,67 @@ index 12e697a626ce68127ac2157fca0e5408beb13f0b..46118a63b721d445623c4d831881652d
|
||||
for (int i = 0; i < this.tickables.size(); i++) {
|
||||
this.tickables.get(i).run();
|
||||
}
|
||||
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
|
||||
index 940d6c2b5610e7bda00267db4108866d5cba3d8a..1105b9e12600b8fc0df664bfd2fa53c7ade78da2 100644
|
||||
--- a/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -437,6 +437,8 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
private ca.spottedleaf.moonrise.patches.chunk_system.player.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader;
|
||||
private final ca.spottedleaf.moonrise.patches.chunk_system.player.RegionizedPlayerChunkLoader.ViewDistanceHolder viewDistanceHolder = new ca.spottedleaf.moonrise.patches.chunk_system.player.RegionizedPlayerChunkLoader.ViewDistanceHolder();
|
||||
|
||||
+ public net.minecraft.network.Connection internalConnection; // Leaves - protocol core
|
||||
+
|
||||
@Override
|
||||
public final boolean moonrise$isRealPlayer() {
|
||||
return this.isRealPlayer;
|
||||
diff --git a/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
|
||||
index ca9ba2a2535eab66622230778efdf941f540f6d2..95f89a415f7f7b9d4d7823744cb6bcc6b3886aa5 100644
|
||||
index ca9ba2a2535eab66622230778efdf941f540f6d2..fa6095200243fafa796e49df3930c6d7ab2dcd84 100644
|
||||
--- a/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
|
||||
+++ b/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
|
||||
@@ -234,6 +234,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
|
||||
final String channel = new String(data, from, length, java.nio.charset.StandardCharsets.US_ASCII);
|
||||
if (register) {
|
||||
bridge.addChannel(channel);
|
||||
+ org.leavesmc.leaves.protocol.core.LeavesProtocolManager.handleMinecraftRegister(channel, bridge); // Leaves - protocol
|
||||
} else {
|
||||
bridge.removeChannel(channel);
|
||||
}
|
||||
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 7abe38f2c3939a2074b72f1d664ba5ad24fc591f..16e546fab3c7a025de7d04147b5b64d77b30c5a8 100644
|
||||
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -3677,6 +3677,17 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -64,6 +64,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
|
||||
public @Nullable String playerBrand;
|
||||
public final java.util.Set<String> pluginMessagerChannels;
|
||||
// Paper end - retain certain values
|
||||
+ public final GameProfile profile; // Leaves - protocol core
|
||||
|
||||
public ServerCommonPacketListenerImpl(MinecraftServer server, Connection connection, CommonListenerCookie cookie) {
|
||||
this.server = server;
|
||||
@@ -77,6 +78,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
|
||||
this.pluginMessagerChannels = cookie.channels();
|
||||
this.keepAlive = cookie.keepAlive();
|
||||
// Paper end
|
||||
+ this.profile = cookie.gameProfile(); // Leaves - protocol core
|
||||
}
|
||||
|
||||
// Paper start - configuration phase API
|
||||
@@ -169,6 +171,18 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
|
||||
|
||||
@Override
|
||||
public void handleCustomPayload(ServerboundCustomPayloadPacket packet) {
|
||||
+ // Leaves start - protocol
|
||||
+ if (packet.payload() instanceof org.leavesmc.leaves.protocol.core.LeavesCustomPayload leavesPayload) {
|
||||
+ org.leavesmc.leaves.protocol.core.LeavesProtocolManager.handlePayload(player, leavesPayload);
|
||||
+ org.leavesmc.leaves.protocol.core.LeavesProtocolManager.handlePayload(org.leavesmc.leaves.protocol.core.ProtocolUtils.createSelector(this), leavesPayload);
|
||||
+ return;
|
||||
+ }
|
||||
+ if (packet.payload() instanceof net.minecraft.network.protocol.common.custom.DiscardedPayload(net.minecraft.resources.ResourceLocation id, byte[] data)) {
|
||||
+ if (org.leavesmc.leaves.protocol.core.LeavesProtocolManager.handleBytebuf(player, id, io.netty.buffer.Unpooled.wrappedBuffer(data))) {
|
||||
+ if (org.leavesmc.leaves.protocol.core.LeavesProtocolManager.handleBytebuf(org.leavesmc.leaves.protocol.core.ProtocolUtils.createSelector(this), id, io.netty.buffer.Unpooled.wrappedBuffer(data))) {
|
||||
+ return;
|
||||
+ }
|
||||
+ }
|
||||
+ // Leaves end - protocol
|
||||
super.handleCustomPayload(packet); // Paper
|
||||
}
|
||||
|
||||
+
|
||||
// Paper start
|
||||
if (!(packet.payload() instanceof final net.minecraft.network.protocol.common.custom.DiscardedPayload discardedPayload)) {
|
||||
return;
|
||||
@@ -234,6 +248,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
|
||||
final String channel = new String(data, from, length, java.nio.charset.StandardCharsets.US_ASCII);
|
||||
if (register) {
|
||||
bridge.addChannel(channel);
|
||||
+ org.leavesmc.leaves.protocol.core.LeavesProtocolManager.handleMinecraftRegister(channel, org.leavesmc.leaves.protocol.core.ProtocolUtils.createSelector(this)); // Leaves - protocol
|
||||
} else {
|
||||
bridge.removeChannel(channel);
|
||||
}
|
||||
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
|
||||
index b290d228fc3d71aee6db3c4915e96d675097c870..908a39c6cb0ebc68eb08886f2199e6b6cd7aa422 100644
|
||||
index 22f0c1911a169b39c06d45483cded017be275a38..c6da3135d4473c8d3c410254474712bbcd2bd4b0 100644
|
||||
--- a/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/net/minecraft/server/players/PlayerList.java
|
||||
@@ -346,6 +346,9 @@ public abstract class PlayerList {
|
||||
@@ -346,6 +346,8 @@ public abstract class PlayerList {
|
||||
|
||||
player.didPlayerJoinEvent = true; // Gale - EMC - do not process chat/commands before player has joined
|
||||
|
||||
+ if (player.internalConnection == null) player.internalConnection = connection; // Leaf - Leaves - protocol
|
||||
+ org.leavesmc.leaves.protocol.core.LeavesProtocolManager.handlePlayerJoin(player); // Leaves - protocol
|
||||
+
|
||||
final net.kyori.adventure.text.Component jm = playerJoinEvent.joinMessage();
|
||||
|
||||
if (jm != null && !jm.equals(net.kyori.adventure.text.Component.empty())) { // Paper - Adventure
|
||||
@@ -525,6 +528,7 @@ public abstract class PlayerList {
|
||||
@@ -525,6 +527,7 @@ public abstract class PlayerList {
|
||||
return this.remove(player, net.kyori.adventure.text.Component.translatable("multiplayer.player.left", net.kyori.adventure.text.format.NamedTextColor.YELLOW, io.papermc.paper.configuration.GlobalConfiguration.get().messages.useDisplayNameInQuitMessage ? player.getBukkitEntity().displayName() : io.papermc.paper.adventure.PaperAdventure.asAdventure(player.getDisplayName())));
|
||||
}
|
||||
public @Nullable net.kyori.adventure.text.Component remove(ServerPlayer player, net.kyori.adventure.text.Component leaveMessage) {
|
||||
@@ -137,7 +117,7 @@ index b290d228fc3d71aee6db3c4915e96d675097c870..908a39c6cb0ebc68eb08886f2199e6b6
|
||||
// Paper end - Fix kick event leave message not being sent
|
||||
org.purpurmc.purpur.task.BossBarTask.removeFromAll(player.getBukkitEntity()); // Purpur - Implement TPSBar
|
||||
ServerLevel serverLevel = player.level();
|
||||
@@ -1507,6 +1511,7 @@ public abstract class PlayerList {
|
||||
@@ -1507,6 +1510,7 @@ public abstract class PlayerList {
|
||||
serverPlayer.connection.send(clientboundUpdateRecipesPacket);
|
||||
serverPlayer.getRecipeBook().sendInitialRecipeBook(serverPlayer);
|
||||
}
|
||||
|
||||
@@ -9,10 +9,10 @@ Original project: https://github.com/LeavesMC/Leaves
|
||||
This patch is Powered by Xaero Map
|
||||
|
||||
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
|
||||
index 908a39c6cb0ebc68eb08886f2199e6b6cd7aa422..8338644be256b4c0978adb2b6cb90f3decd4076c 100644
|
||||
index c6da3135d4473c8d3c410254474712bbcd2bd4b0..5cbb5d366258104968f7858f6462f9a83053d87e 100644
|
||||
--- a/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1218,6 +1218,7 @@ public abstract class PlayerList {
|
||||
@@ -1217,6 +1217,7 @@ public abstract class PlayerList {
|
||||
player.connection.send(new ClientboundInitializeBorderPacket(worldBorder));
|
||||
player.connection.send(new ClientboundSetTimePacket(level.getGameTime(), level.getDayTime(), level.getGameRules().getBoolean(GameRules.RULE_DAYLIGHT)));
|
||||
player.connection.send(new ClientboundSetDefaultSpawnPositionPacket(level.getSharedSpawnPos(), level.getSharedSpawnAngle()));
|
||||
|
||||
@@ -178,7 +178,7 @@ index 95c128f028c3cce7d0b37821a6e75208323fb4e9..2cf0fa70ae3d7675cac3cf7a0002097b
|
||||
ServerLevel.this.updateSleepingPlayerList();
|
||||
}
|
||||
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
|
||||
index 849428f5ad870ac93f29cec8bc7d3d335550cf14..77ca4f505dc0a1aa6292cfcd957b734ab107f657 100644
|
||||
index fbf78c7cf012353cf6549c13ccd8ffc1e0f0b28a..783af6b9857405a05cb5837bf3c0f416d1edf7a8 100644
|
||||
--- a/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -216,7 +216,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
@@ -191,7 +191,7 @@ index 849428f5ad870ac93f29cec8bc7d3d335550cf14..77ca4f505dc0a1aa6292cfcd957b734a
|
||||
private final PlayerAdvancements advancements;
|
||||
private final ServerStatsCounter stats;
|
||||
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
|
||||
index 8338644be256b4c0978adb2b6cb90f3decd4076c..90d32e8f55b21e1f2b67db8bb2a4575d91438fea 100644
|
||||
index 5cbb5d366258104968f7858f6462f9a83053d87e..ed22e35855c0a3e6a65b9f016bf43e9c07476d91 100644
|
||||
--- a/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/net/minecraft/server/players/PlayerList.java
|
||||
@@ -131,6 +131,7 @@ public abstract class PlayerList {
|
||||
@@ -202,7 +202,7 @@ index 8338644be256b4c0978adb2b6cb90f3decd4076c..90d32e8f55b21e1f2b67db8bb2a4575d
|
||||
|
||||
// CraftBukkit start
|
||||
private org.bukkit.craftbukkit.CraftServer cserver;
|
||||
@@ -149,6 +150,106 @@ public abstract class PlayerList {
|
||||
@@ -149,6 +150,112 @@ public abstract class PlayerList {
|
||||
|
||||
abstract public void loadAndSaveFiles(); // Paper - fix converting txt to json file; moved from DedicatedPlayerList constructor
|
||||
|
||||
@@ -271,6 +271,12 @@ index 8338644be256b4c0978adb2b6cb90f3decd4076c..90d32e8f55b21e1f2b67db8bb2a4575d
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
+ // Leaves start - skip photographer
|
||||
+ if (entityplayer1 instanceof org.leavesmc.leaves.replay.ServerPhotographer) {
|
||||
+ continue;
|
||||
+ }
|
||||
+ // Leaves end - skip photographer
|
||||
+
|
||||
+ onlinePlayers.add(entityplayer1);
|
||||
+ }
|
||||
+ if (!onlinePlayers.isEmpty()) {
|
||||
@@ -309,7 +315,7 @@ index 8338644be256b4c0978adb2b6cb90f3decd4076c..90d32e8f55b21e1f2b67db8bb2a4575d
|
||||
public void placeNewPlayer(Connection connection, ServerPlayer player, CommonListenerCookie cookie) {
|
||||
player.isRealPlayer = true; // Paper
|
||||
player.loginTime = System.currentTimeMillis(); // Paper - Replace OfflinePlayer#getLastPlayed
|
||||
@@ -318,6 +419,7 @@ public abstract class PlayerList {
|
||||
@@ -318,6 +425,7 @@ public abstract class PlayerList {
|
||||
|
||||
// player.connection.send(ClientboundPlayerInfoUpdatePacket.createPlayerInitializing(this.players)); // CraftBukkit - replaced with loop below
|
||||
this.players.add(player);
|
||||
@@ -317,20 +323,7 @@ index 8338644be256b4c0978adb2b6cb90f3decd4076c..90d32e8f55b21e1f2b67db8bb2a4575d
|
||||
this.playersByName.put(player.getScoreboardName().toLowerCase(java.util.Locale.ROOT), player); // Spigot
|
||||
this.playersByUUID.put(player.getUUID(), player);
|
||||
this.addToSendAllPlayerInfoBuckets(player); // Gale - Purpur - spread out sending all player info
|
||||
@@ -380,6 +482,12 @@ public abstract class PlayerList {
|
||||
continue;
|
||||
}
|
||||
|
||||
+ // Leaves start - skip photographer
|
||||
+ if (entityplayer1 instanceof org.leavesmc.leaves.replay.ServerPhotographer) {
|
||||
+ continue;
|
||||
+ }
|
||||
+ // Leaves end - skip photographer
|
||||
+
|
||||
onlinePlayers.add(entityplayer1); // Paper - Use single player info update packet on join
|
||||
}
|
||||
// Paper start - Use single player info update packet on join
|
||||
@@ -523,6 +631,43 @@ public abstract class PlayerList {
|
||||
@@ -522,6 +630,43 @@ public abstract class PlayerList {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -374,7 +367,7 @@ index 8338644be256b4c0978adb2b6cb90f3decd4076c..90d32e8f55b21e1f2b67db8bb2a4575d
|
||||
public @Nullable net.kyori.adventure.text.Component remove(ServerPlayer player) { // CraftBukkit - return string // Paper - return Component
|
||||
// Paper start - Fix kick event leave message not being sent
|
||||
return this.remove(player, net.kyori.adventure.text.Component.translatable("multiplayer.player.left", net.kyori.adventure.text.format.NamedTextColor.YELLOW, io.papermc.paper.configuration.GlobalConfiguration.get().messages.useDisplayNameInQuitMessage ? player.getBukkitEntity().displayName() : io.papermc.paper.adventure.PaperAdventure.asAdventure(player.getDisplayName())));
|
||||
@@ -599,6 +744,7 @@ public abstract class PlayerList {
|
||||
@@ -598,6 +743,7 @@ public abstract class PlayerList {
|
||||
player.retireScheduler(); // Paper - Folia schedulers
|
||||
player.getAdvancements().stopListening();
|
||||
this.players.remove(player);
|
||||
@@ -382,7 +375,7 @@ index 8338644be256b4c0978adb2b6cb90f3decd4076c..90d32e8f55b21e1f2b67db8bb2a4575d
|
||||
this.playersByName.remove(player.getScoreboardName().toLowerCase(java.util.Locale.ROOT)); // Spigot
|
||||
this.removeFromSendAllPlayerInfoBuckets(player); // Gale - Purpur - spread out sending all player info
|
||||
this.server.getCustomBossEvents().onPlayerDisconnect(player);
|
||||
@@ -1104,7 +1250,7 @@ public abstract class PlayerList {
|
||||
@@ -1103,7 +1249,7 @@ public abstract class PlayerList {
|
||||
|
||||
// Paper start - whitelist verify event / login event
|
||||
public LoginResult canBypassFullServerLogin(final GameProfile profile, final LoginResult currentResult) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Remove useless creating stats json bases on player name logic
|
||||
|
||||
|
||||
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
|
||||
index 90d32e8f55b21e1f2b67db8bb2a4575d91438fea..e999ce4ed3a1bba81f61085ead2565f2d3e90cfa 100644
|
||||
index ed22e35855c0a3e6a65b9f016bf43e9c07476d91..a31d9b3ee78ce0ddbe4f5d2ffca1505bed555f0f 100644
|
||||
--- a/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1557,6 +1557,8 @@ public abstract class PlayerList {
|
||||
@@ -1556,6 +1556,8 @@ public abstract class PlayerList {
|
||||
if (serverStatsCounter == null) {
|
||||
File file = this.server.getWorldPath(LevelResource.PLAYER_STATS_DIR).toFile();
|
||||
File file1 = new File(file, uuid + ".json");
|
||||
@@ -17,7 +17,7 @@ index 90d32e8f55b21e1f2b67db8bb2a4575d91438fea..e999ce4ed3a1bba81f61085ead2565f2
|
||||
if (!file1.exists()) {
|
||||
File file2 = new File(file, displayName + ".json"); // CraftBukkit
|
||||
Path path = file2.toPath();
|
||||
@@ -1564,6 +1566,8 @@ public abstract class PlayerList {
|
||||
@@ -1563,6 +1565,8 @@ public abstract class PlayerList {
|
||||
file2.renameTo(file1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,10 +19,10 @@ index 287c0936930ff4f3ca6dc2a4cbfc796a120fe4c0..3f32da75ee0a8a993b54e4156f7e4be9
|
||||
org.purpurmc.purpur.command.DemoCommand.register(this.dispatcher); // Purpur - Add demo command
|
||||
org.purpurmc.purpur.command.PingCommand.register(this.dispatcher); // Purpur - Add ping command
|
||||
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
|
||||
index d129bfa0e350119f55fc6cf9a60921cf2296d2c4..46dcfd09cc01cdf5aca43ef100e0307ae1b72e0d 100644
|
||||
index 783af6b9857405a05cb5837bf3c0f416d1edf7a8..5775b0568dd90075539698b04ff185e10c3b3f75 100644
|
||||
--- a/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -2432,6 +2432,10 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
@@ -2430,6 +2430,10 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
|
||||
// Purpur start - AFK API
|
||||
private boolean isAfk = false;
|
||||
@@ -33,7 +33,7 @@ index d129bfa0e350119f55fc6cf9a60921cf2296d2c4..46dcfd09cc01cdf5aca43ef100e0307a
|
||||
|
||||
@Override
|
||||
public void setAfk(boolean afk) {
|
||||
@@ -2469,6 +2473,18 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
@@ -2467,6 +2471,18 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
String prefix = (split.length > 0 ? split[0] : "").replace(org.purpurmc.purpur.PurpurConfig.afkTabListPrefix, "");
|
||||
String suffix = (split.length > 1 ? split[1] : "").replace(org.purpurmc.purpur.PurpurConfig.afkTabListSuffix, "");
|
||||
if (afk) {
|
||||
@@ -53,7 +53,7 @@ index d129bfa0e350119f55fc6cf9a60921cf2296d2c4..46dcfd09cc01cdf5aca43ef100e0307a
|
||||
} else {
|
||||
getBukkitEntity().setPlayerListName(prefix + scoreboardName + suffix, true);
|
||||
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index a08351fc29a06f1db491b2aa8b79f1850bc8cb19..b3f45d5e8ff92c50adfc4885349ec0d29992037d 100644
|
||||
index 5e005e8f341e83bbc1a4cc6de781ed9407bdf8ef..f5c609fb2df079a2c5970b0d5882b402478a7e82 100644
|
||||
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2371,6 +2371,7 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -152,10 +152,10 @@ index a08351fc29a06f1db491b2aa8b79f1850bc8cb19..b3f45d5e8ff92c50adfc4885349ec0d2
|
||||
synchronized (this.lastSeenMessages) {
|
||||
Optional var10000;
|
||||
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
|
||||
index e999ce4ed3a1bba81f61085ead2565f2d3e90cfa..9026b45b6ee7f53f3a3872cda1a8c3f96eb5b2a7 100644
|
||||
index a31d9b3ee78ce0ddbe4f5d2ffca1505bed555f0f..d196ad81b6d9b22d63f7bfebb7aba090e668824b 100644
|
||||
--- a/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/net/minecraft/server/players/PlayerList.java
|
||||
@@ -676,6 +676,7 @@ public abstract class PlayerList {
|
||||
@@ -675,6 +675,7 @@ public abstract class PlayerList {
|
||||
org.leavesmc.leaves.protocol.core.LeavesProtocolManager.handlePlayerLeave(player); // Leaves - protocol
|
||||
// Paper end - Fix kick event leave message not being sent
|
||||
org.purpurmc.purpur.task.BossBarTask.removeFromAll(player.getBukkitEntity()); // Purpur - Implement TPSBar
|
||||
|
||||
@@ -103,10 +103,10 @@ index 87fc8861948b50361ec04c5a23406d3abdec6eac..77f11179836636424927843f5f10c3fd
|
||||
// Paper start - Add setting for proxy online mode status
|
||||
return properties.enforceSecureProfile
|
||||
diff --git a/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
|
||||
index 95f89a415f7f7b9d4d7823744cb6bcc6b3886aa5..7f4257870c5fca902403e246b9ce569b20dbb364 100644
|
||||
index fa6095200243fafa796e49df3930c6d7ab2dcd84..84030c40f2f91b433b3ccd21e0367d2f8b7c97b6 100644
|
||||
--- a/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
|
||||
+++ b/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
|
||||
@@ -349,10 +349,30 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
|
||||
@@ -363,10 +363,30 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
|
||||
}
|
||||
|
||||
public void send(Packet<?> packet) {
|
||||
@@ -138,10 +138,10 @@ index 95f89a415f7f7b9d4d7823744cb6bcc6b3886aa5..7f4257870c5fca902403e246b9ce569b
|
||||
if (packet == null || this.processedDisconnect) { // Spigot
|
||||
return;
|
||||
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
|
||||
index 9026b45b6ee7f53f3a3872cda1a8c3f96eb5b2a7..df532c61dcfedcafd8c6a75bd0f12a58acb9ca00 100644
|
||||
index d196ad81b6d9b22d63f7bfebb7aba090e668824b..bee2ede3cecac11862b8fa56fdb89d06e741c272 100644
|
||||
--- a/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1517,7 +1517,7 @@ public abstract class PlayerList {
|
||||
@@ -1516,7 +1516,7 @@ public abstract class PlayerList {
|
||||
public void broadcastChatMessage(PlayerChatMessage message, Predicate<ServerPlayer> shouldFilterMessageTo, @Nullable ServerPlayer sender, ChatType.Bound boundChatType, @Nullable Function<net.kyori.adventure.audience.Audience, Component> unsignedFunction) {
|
||||
// Paper end
|
||||
boolean flag = this.verifyChatTrusted(message);
|
||||
@@ -150,7 +150,7 @@ index 9026b45b6ee7f53f3a3872cda1a8c3f96eb5b2a7..df532c61dcfedcafd8c6a75bd0f12a58
|
||||
OutgoingChatMessage outgoingChatMessage = OutgoingChatMessage.create(message);
|
||||
boolean flag1 = false;
|
||||
|
||||
@@ -1542,6 +1542,7 @@ public abstract class PlayerList {
|
||||
@@ -1541,6 +1541,7 @@ public abstract class PlayerList {
|
||||
}
|
||||
|
||||
public boolean verifyChatTrusted(PlayerChatMessage message) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable connection message
|
||||
|
||||
|
||||
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
|
||||
index df532c61dcfedcafd8c6a75bd0f12a58acb9ca00..528042f0aee2ec18835b72b931a64b7c37b9504d 100644
|
||||
index bee2ede3cecac11862b8fa56fdb89d06e741c272..416cfcf8585b6db26431a51fa356eef59c17325a 100644
|
||||
--- a/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/net/minecraft/server/players/PlayerList.java
|
||||
@@ -439,7 +439,7 @@ public abstract class PlayerList {
|
||||
@@ -445,7 +445,7 @@ public abstract class PlayerList {
|
||||
// Ensure that player inventory is populated with its viewer
|
||||
player.containerMenu.transferTo(player.containerMenu, bukkitPlayer);
|
||||
|
||||
@@ -17,7 +17,7 @@ index df532c61dcfedcafd8c6a75bd0f12a58acb9ca00..528042f0aee2ec18835b72b931a64b7c
|
||||
this.cserver.getPluginManager().callEvent(playerJoinEvent);
|
||||
|
||||
if (!player.connection.isAcceptingMessages()) {
|
||||
@@ -453,7 +453,7 @@ public abstract class PlayerList {
|
||||
@@ -458,7 +458,7 @@ public abstract class PlayerList {
|
||||
|
||||
final net.kyori.adventure.text.Component jm = playerJoinEvent.joinMessage();
|
||||
|
||||
@@ -26,7 +26,7 @@ index df532c61dcfedcafd8c6a75bd0f12a58acb9ca00..528042f0aee2ec18835b72b931a64b7c
|
||||
joinMessage = io.papermc.paper.adventure.PaperAdventure.asVanilla(jm); // Paper - Adventure
|
||||
this.server.getPlayerList().broadcastSystemMessage(joinMessage, false); // Paper - Adventure
|
||||
}
|
||||
@@ -685,7 +685,7 @@ public abstract class PlayerList {
|
||||
@@ -684,7 +684,7 @@ public abstract class PlayerList {
|
||||
player.closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason.DISCONNECT); // Paper - Inventory close reason
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ index df532c61dcfedcafd8c6a75bd0f12a58acb9ca00..528042f0aee2ec18835b72b931a64b7c
|
||||
this.cserver.getPluginManager().callEvent(playerQuitEvent);
|
||||
player.getBukkitEntity().disconnect(playerQuitEvent.getQuitMessage());
|
||||
|
||||
@@ -1670,4 +1670,40 @@ public abstract class PlayerList {
|
||||
@@ -1669,4 +1669,40 @@ public abstract class PlayerList {
|
||||
public boolean isAllowCommandsForAllPlayers() {
|
||||
return this.allowCommandsForAllPlayers;
|
||||
}
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: [PATCH] Do not place player if the server is full
|
||||
Fix https://github.com/PaperMC/Paper/issues/10668
|
||||
|
||||
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
|
||||
index 528042f0aee2ec18835b72b931a64b7c37b9504d..9dbc73b7d5406c7e82b8f1dd2d60d144d24d5220 100644
|
||||
index 416cfcf8585b6db26431a51fa356eef59c17325a..704fbb08d5c1768c3024a7dbd6d7e34da4ab6be7 100644
|
||||
--- a/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/net/minecraft/server/players/PlayerList.java
|
||||
@@ -343,6 +343,13 @@ public abstract class PlayerList {
|
||||
@@ -349,6 +349,13 @@ public abstract class PlayerList {
|
||||
return;
|
||||
}
|
||||
// Gale end - MultiPaper - do not place player in world if kicked before being spawned in
|
||||
@@ -23,7 +23,7 @@ index 528042f0aee2ec18835b72b931a64b7c37b9504d..9dbc73b7d5406c7e82b8f1dd2d60d144
|
||||
|
||||
org.bukkit.Location loc = ev.getSpawnLocation();
|
||||
serverLevel = ((org.bukkit.craftbukkit.CraftWorld) loc.getWorld()).getHandle();
|
||||
@@ -1251,7 +1258,7 @@ public abstract class PlayerList {
|
||||
@@ -1250,7 +1257,7 @@ public abstract class PlayerList {
|
||||
|
||||
// Paper start - whitelist verify event / login event
|
||||
public LoginResult canBypassFullServerLogin(final GameProfile profile, final LoginResult currentResult) {
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: [PATCH] Fix MC-119417
|
||||
Related MC issue: https://bugs.mojang.com/browse/MC/issues/MC-119417
|
||||
|
||||
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
|
||||
index 46dcfd09cc01cdf5aca43ef100e0307ae1b72e0d..567187499c29fbd159b472278665a824dbb1cfd6 100644
|
||||
index 5775b0568dd90075539698b04ff185e10c3b3f75..72ab1e2ea7571b5fde4c3769249e950b67dc9c82 100644
|
||||
--- a/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -2236,6 +2236,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
@@ -2234,6 +2234,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
this.connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.CHANGE_GAME_MODE, gameMode.getId()));
|
||||
if (gameMode == GameType.SPECTATOR) {
|
||||
this.removeEntitiesOnShoulder();
|
||||
|
||||
@@ -424,7 +424,7 @@ index 8f41326fda8c5f9f6926038508be6c6529b051bc..46e171ca454253c32e22c0c18587e9a7
|
||||
}
|
||||
}
|
||||
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
|
||||
index 5b7b05ab3224e3dbc0957589e8d9bb20cd2e0158..c181fc4f895d0ea1e7b61919cc5e6fe90d6a62ae 100644
|
||||
index 91752678f887559132921cff61697478e5f44e3d..0b26940e3f1645b6b8d5bd92be4d10fbe17fda58 100644
|
||||
--- a/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -180,7 +180,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -664,10 +664,10 @@ index 5b7b05ab3224e3dbc0957589e8d9bb20cd2e0158..c181fc4f895d0ea1e7b61919cc5e6fe9
|
||||
// Paper start - extra debug info
|
||||
if (entity.valid) {
|
||||
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
|
||||
index 567187499c29fbd159b472278665a824dbb1cfd6..4b359856e2981cfb52f43bab8c088e0e273dad93 100644
|
||||
index 72ab1e2ea7571b5fde4c3769249e950b67dc9c82..0314abb98efa62c16363bfc60a24c5db62dc3736 100644
|
||||
--- a/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -465,6 +465,8 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
@@ -463,6 +463,8 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
}
|
||||
// Paper end - rewrite chunk system
|
||||
|
||||
@@ -676,7 +676,7 @@ index 567187499c29fbd159b472278665a824dbb1cfd6..4b359856e2981cfb52f43bab8c088e0e
|
||||
public ServerPlayer(MinecraftServer server, ServerLevel level, GameProfile gameProfile, ClientInformation clientInformation) {
|
||||
super(level, gameProfile);
|
||||
this.textFilter = server.createTextFilterForPlayer(this);
|
||||
@@ -751,6 +753,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
@@ -749,6 +751,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
@@ -684,7 +684,7 @@ index 567187499c29fbd159b472278665a824dbb1cfd6..4b359856e2981cfb52f43bab8c088e0e
|
||||
// CraftBukkit start
|
||||
if (this.joining) {
|
||||
this.joining = false;
|
||||
@@ -1436,6 +1439,8 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
@@ -1434,6 +1437,8 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
teleportTransition.postTeleportTransition().onTransition(this);
|
||||
return this;
|
||||
} else {
|
||||
@@ -693,7 +693,7 @@ index 567187499c29fbd159b472278665a824dbb1cfd6..4b359856e2981cfb52f43bab8c088e0e
|
||||
// CraftBukkit start
|
||||
/*
|
||||
this.isChangingDimension = true;
|
||||
@@ -1782,6 +1787,12 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
@@ -1780,6 +1785,12 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
return OptionalInt.empty();
|
||||
} else {
|
||||
// CraftBukkit start
|
||||
@@ -706,7 +706,7 @@ index 567187499c29fbd159b472278665a824dbb1cfd6..4b359856e2981cfb52f43bab8c088e0e
|
||||
this.containerMenu = abstractContainerMenu; // Moved up
|
||||
if (!this.isImmobile())
|
||||
this.connection
|
||||
@@ -1846,6 +1857,11 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
@@ -1844,6 +1855,11 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
}
|
||||
@Override
|
||||
public void closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason reason) {
|
||||
@@ -719,10 +719,10 @@ index 567187499c29fbd159b472278665a824dbb1cfd6..4b359856e2981cfb52f43bab8c088e0e
|
||||
// Paper end - Inventory close reason
|
||||
this.connection.send(new ClientboundContainerClosePacket(this.containerMenu.containerId));
|
||||
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
|
||||
index ff3798fd384679fd8324d4d47e71095024209fe2..8b72f2612c6968c4602a4cb72f3d1160d9679e36 100644
|
||||
index 704fbb08d5c1768c3024a7dbd6d7e34da4ab6be7..a478d3f7c8a90682decc5e853d7bbe6f896c02e4 100644
|
||||
--- a/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/net/minecraft/server/players/PlayerList.java
|
||||
@@ -251,6 +251,8 @@ public abstract class PlayerList {
|
||||
@@ -257,6 +257,8 @@ public abstract class PlayerList {
|
||||
// Leaves end - replay mod api
|
||||
|
||||
public void placeNewPlayer(Connection connection, ServerPlayer player, CommonListenerCookie cookie) {
|
||||
@@ -731,7 +731,7 @@ index ff3798fd384679fd8324d4d47e71095024209fe2..8b72f2612c6968c4602a4cb72f3d1160
|
||||
player.isRealPlayer = true; // Paper
|
||||
player.loginTime = System.currentTimeMillis(); // Paper - Replace OfflinePlayer#getLastPlayed
|
||||
GameProfile gameProfile = player.getGameProfile();
|
||||
@@ -854,6 +856,15 @@ public abstract class PlayerList {
|
||||
@@ -853,6 +855,15 @@ public abstract class PlayerList {
|
||||
}
|
||||
|
||||
public ServerPlayer respawn(ServerPlayer player, boolean keepInventory, Entity.RemovalReason reason, @Nullable org.bukkit.event.player.PlayerRespawnEvent.RespawnReason eventReason, @Nullable org.bukkit.Location location) {
|
||||
@@ -747,7 +747,7 @@ index ff3798fd384679fd8324d4d47e71095024209fe2..8b72f2612c6968c4602a4cb72f3d1160
|
||||
player.stopRiding(); // CraftBukkit
|
||||
this.players.remove(player);
|
||||
this.playersByName.remove(player.getScoreboardName().toLowerCase(java.util.Locale.ROOT)); // Spigot
|
||||
@@ -865,6 +876,7 @@ public abstract class PlayerList {
|
||||
@@ -864,6 +875,7 @@ public abstract class PlayerList {
|
||||
ServerPlayer serverPlayer = player;
|
||||
Level fromWorld = player.level();
|
||||
player.wonGame = false;
|
||||
@@ -849,7 +849,7 @@ index f9e7532f86122a379692561a639a209a126e8bba..fab317d6c9a1c914f19bae11846cb576
|
||||
if (isLocatorBarEnabledFor(player)) {
|
||||
if (!connection.isBroken()) {
|
||||
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
|
||||
index 129248da7e1bfa5edc1c1a43c98a400f697e735f..4be8e90dfe99663ea84dae04d9bb2b0e3bb01098 100644
|
||||
index b87a1a2452cd236b4bdf7a7f12cae03f58833ccd..d3b4c193b82accd424a4201eee2a25b81315ef0c 100644
|
||||
--- a/net/minecraft/world/entity/Entity.java
|
||||
+++ b/net/minecraft/world/entity/Entity.java
|
||||
@@ -3509,15 +3509,40 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -1124,7 +1124,7 @@ index 8c713d90e81df61d65fa6770516afc4704bbbb6f..f5ca3d6b29b11475ac56cd206464577b
|
||||
serverLevel.capturedBlockStates.clear();
|
||||
org.bukkit.event.world.StructureGrowEvent structureEvent = null;
|
||||
diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java
|
||||
index ca39e3bd93f896d5c7b1fc3b9264f64555be5d50..54f03ad9b7f62bf717f32376e81a49bbf600385c 100644
|
||||
index 4ba44c325c7a29d398ed10335108bc5c9556e109..93be887352ac5995672a18b7289e5f4d0ca25870 100644
|
||||
--- a/net/minecraft/world/level/Level.java
|
||||
+++ b/net/minecraft/world/level/Level.java
|
||||
@@ -165,6 +165,7 @@ public abstract class Level implements LevelAccessor, UUIDLookup<Entity>, AutoCl
|
||||
|
||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Remove streams on PlayerDetector
|
||||
Dreeam TODO: Merge to single loop
|
||||
|
||||
diff --git a/net/minecraft/world/level/block/entity/trialspawner/PlayerDetector.java b/net/minecraft/world/level/block/entity/trialspawner/PlayerDetector.java
|
||||
index 774d4028f0be7c388abb47f8eb97011341f50f59..81d2dfdd8bd2a8b205e4b617911c277a366f0369 100644
|
||||
index 438b269e53915f7f00ff894697096157f68cdff8..6e27472deabe86e899d0227d2963d30926a3b114 100644
|
||||
--- a/net/minecraft/world/level/block/entity/trialspawner/PlayerDetector.java
|
||||
+++ b/net/minecraft/world/level/block/entity/trialspawner/PlayerDetector.java
|
||||
@@ -21,28 +21,45 @@ import net.minecraft.world.phys.Vec3;
|
||||
@@ -72,7 +72,7 @@ index 774d4028f0be7c388abb47f8eb97011341f50f59..81d2dfdd8bd2a8b205e4b617911c277a
|
||||
};
|
||||
+ // Leaf end - Remove streams on PlayerDetector
|
||||
|
||||
List<UUID> detect(ServerLevel level, PlayerDetector.EntitySelector entitySelector, BlockPos pos, double maxDistance, boolean flag);
|
||||
List<UUID> detect(ServerLevel level, PlayerDetector.EntitySelector entitySelector, BlockPos pos, double maxDistance, boolean requireLineOfSight);
|
||||
|
||||
@@ -78,14 +95,31 @@ public interface PlayerDetector {
|
||||
return new PlayerDetector.EntitySelector() {
|
||||
|
||||
@@ -15,7 +15,7 @@ The delay is currently set to 2 seconds, however, we may want to adjust this bef
|
||||
fixes Paper#9581
|
||||
|
||||
diff --git a/ca/spottedleaf/moonrise/patches/chunk_system/player/RegionizedPlayerChunkLoader.java b/ca/spottedleaf/moonrise/patches/chunk_system/player/RegionizedPlayerChunkLoader.java
|
||||
index 98054ab2be3fecc5f6a111a11cfe94f1a10419c1..d144a4db620dfdd0dcc803d05b37ad3c32732cf0 100644
|
||||
index 19b5e4856d471ebfa49335ed19ced767e57df771..bf33e4d17b076aaf68de4023dd4106efb0a37b7c 100644
|
||||
--- a/ca/spottedleaf/moonrise/patches/chunk_system/player/RegionizedPlayerChunkLoader.java
|
||||
+++ b/ca/spottedleaf/moonrise/patches/chunk_system/player/RegionizedPlayerChunkLoader.java
|
||||
@@ -48,6 +48,7 @@ public final class RegionizedPlayerChunkLoader {
|
||||
@@ -27,10 +27,10 @@ index 98054ab2be3fecc5f6a111a11cfe94f1a10419c1..d144a4db620dfdd0dcc803d05b37ad3c
|
||||
public static final int GENERATED_TICKET_LEVEL = ChunkHolderManager.FULL_LOADED_TICKET_LEVEL;
|
||||
public static final int LOADED_TICKET_LEVEL = ChunkTaskScheduler.getTicketLevel(ChunkStatus.EMPTY);
|
||||
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
|
||||
index 283115b85ba910f7b155354dd536146bb57e378e..5a471d847a483ad4e8eb0d752c40a9cbd004cade 100644
|
||||
index a478d3f7c8a90682decc5e853d7bbe6f896c02e4..bdc3ee44125ab070fb432a90cf1b02b009ba31ad 100644
|
||||
--- a/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/net/minecraft/server/players/PlayerList.java
|
||||
@@ -435,6 +435,13 @@ public abstract class PlayerList {
|
||||
@@ -441,6 +441,13 @@ public abstract class PlayerList {
|
||||
// this.broadcastAll(ClientboundPlayerInfoUpdatePacket.createPlayerInitializing(List.of(player))); // CraftBukkit - replaced with loop below
|
||||
// Paper start - Fire PlayerJoinEvent when Player is actually ready; correctly register player BEFORE PlayerJoinEvent, so the entity is valid and doesn't require tick delay hacks
|
||||
player.supressTrackerForLogin = true;
|
||||
|
||||
@@ -34,10 +34,10 @@ index 9a68042d1efb0da915fc2a302641c9ea6d92f582..225d1604baa2a2c974de5c3ae45d3afd
|
||||
for (int i = 0; i < this.tickables.size(); i++) {
|
||||
this.tickables.get(i).run();
|
||||
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
|
||||
index bf50cc20f0254ad4115a9db8ca633e219dcfbaa0..20e90a7a57ef25622cd22dcd76e06a0a69c5f42b 100644
|
||||
index 0314abb98efa62c16363bfc60a24c5db62dc3736..7c3cb3374e0827021b7accf2235ce9d410eaa1d6 100644
|
||||
--- a/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -808,6 +808,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
@@ -806,6 +806,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
}
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
@@ -46,10 +46,10 @@ index bf50cc20f0254ad4115a9db8ca633e219dcfbaa0..20e90a7a57ef25622cd22dcd76e06a0a
|
||||
|
||||
private void updatePlayerAttributes() {
|
||||
diff --git a/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
|
||||
index 7f4257870c5fca902403e246b9ce569b20dbb364..70eb3ea8094bbbd460452935f62579b027a7925f 100644
|
||||
index 84030c40f2f91b433b3ccd21e0367d2f8b7c97b6..03cd2af813c3cca167b07115f03f6b5eae6d4185 100644
|
||||
--- a/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
|
||||
+++ b/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
|
||||
@@ -176,6 +176,12 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
|
||||
@@ -190,6 +190,12 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
|
||||
|
||||
net.minecraft.network.protocol.PacketUtils.ensureRunningOnSameThread(packet, this, this.server);
|
||||
|
||||
@@ -63,10 +63,10 @@ index 7f4257870c5fca902403e246b9ce569b20dbb364..70eb3ea8094bbbd460452935f62579b0
|
||||
final byte[] data = discardedPayload.data();
|
||||
try {
|
||||
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
|
||||
index 5a471d847a483ad4e8eb0d752c40a9cbd004cade..17c173ba83ab8bb7c797923ae06599af20a1eed3 100644
|
||||
index bdc3ee44125ab070fb432a90cf1b02b009ba31ad..fd6e21416bb0b82ae6b1f602a168069558f9ad93 100644
|
||||
--- a/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/net/minecraft/server/players/PlayerList.java
|
||||
@@ -690,6 +690,7 @@ public abstract class PlayerList {
|
||||
@@ -689,6 +689,7 @@ public abstract class PlayerList {
|
||||
}
|
||||
public @Nullable net.kyori.adventure.text.Component remove(ServerPlayer player, net.kyori.adventure.text.Component leaveMessage) {
|
||||
org.leavesmc.leaves.protocol.core.LeavesProtocolManager.handlePlayerLeave(player); // Leaves - protocol
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Only tick items at hand
|
||||
|
||||
|
||||
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
|
||||
index 7eb59771ac977aeeca33abd8d359b180a22215c5..4a39b4ee1ea860a8a47bdad67ac79c74157b6d07 100644
|
||||
index 7c3cb3374e0827021b7accf2235ce9d410eaa1d6..8036e3c06f76a1b546c6eae645f27e316315c66e 100644
|
||||
--- a/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -846,12 +846,19 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
@@ -844,12 +844,19 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
super.tick();
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ index 7eb59771ac977aeeca33abd8d359b180a22215c5..4a39b4ee1ea860a8a47bdad67ac79c74
|
||||
if (this.getHealth() != this.lastSentHealth
|
||||
|| this.lastSentFood != this.foodData.getFoodLevel()
|
||||
diff --git a/net/minecraft/world/entity/player/Player.java b/net/minecraft/world/entity/player/Player.java
|
||||
index 2dcc4446f898124dfc9134f9fae892167256d724..34fefafa3d3ed9a336dd57c51d6549b470c22b3a 100644
|
||||
index 731f50fa6786557db0a1745442b2ad61a6685375..2f450aa1c9e98fc03071d55b181909f06cb11899 100644
|
||||
--- a/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/net/minecraft/world/entity/player/Player.java
|
||||
@@ -648,7 +648,14 @@ public abstract class Player extends LivingEntity {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add configurable death item drop knockback settings
|
||||
|
||||
|
||||
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
|
||||
index 4a39b4ee1ea860a8a47bdad67ac79c74157b6d07..9ec5f1ebc013b427e92f92d6df722b42aa7f73d7 100644
|
||||
index 8036e3c06f76a1b546c6eae645f27e316315c66e..8cb7fa08f442d2d6b87261d3cc9546e31d1ec02b 100644
|
||||
--- a/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1065,7 +1065,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
@@ -1063,7 +1063,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
if (!keepInventory) {
|
||||
for (ItemStack item : this.getInventory().getContents()) {
|
||||
if (!item.isEmpty() && !EnchantmentHelper.has(item, net.minecraft.world.item.enchantment.EnchantmentEffectComponents.PREVENT_EQUIPMENT_DROP)) {
|
||||
@@ -18,7 +18,7 @@ index 4a39b4ee1ea860a8a47bdad67ac79c74157b6d07..9ec5f1ebc013b427e92f92d6df722b42
|
||||
}
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
|
||||
index 0ebc6dcb8d76de33dfae2f17e580df2364580359..762dc374d77f615f2a2a4fff9158a9de41d8ab17 100644
|
||||
index b19d2066b921d27f03b2c0af06fbf76fcb8d87b5..67d78dccd74eb25fa63619159764210cb8137164 100644
|
||||
--- a/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -4157,9 +4157,9 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||
|
||||
@@ -79,10 +79,10 @@ index 6c7edbbf3935c40ccb78bee680ea75431718b9bd..fd2f79d976c9587b00380f8b8f784b32
|
||||
public String toString() {
|
||||
return "Reference{" + this.key + "=" + this.value + "}";
|
||||
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
|
||||
index 158859a2c87d242d5c51e7ca10362d78c5c46c1f..a16607c165965a7c325909ded75a3cf65440f6f7 100644
|
||||
index 8cb7fa08f442d2d6b87261d3cc9546e31d1ec02b..b0e4a7066ab12a0f7890e529f12027b330f0518b 100644
|
||||
--- a/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1913,7 +1913,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
@@ -1911,7 +1911,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
this.awardStat(Stats.SWIM_ONE_CM, rounded);
|
||||
this.causeFoodExhaustion(this.level().spigotConfig.swimMultiplier * (float) rounded * 0.01F, org.bukkit.event.entity.EntityExhaustionEvent.ExhaustionReason.SWIM); // CraftBukkit - EntityExhaustionEvent // Spigot
|
||||
}
|
||||
@@ -92,7 +92,7 @@ index 158859a2c87d242d5c51e7ca10362d78c5c46c1f..a16607c165965a7c325909ded75a3cf6
|
||||
if (rounded > 0) {
|
||||
this.awardStat(Stats.WALK_UNDER_WATER_ONE_CM, rounded);
|
||||
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
|
||||
index dc591c4f10ab527af5e5da51fc5ced8afe6364f7..bdac75d6c9805af0363d2d183330318ca2ff82da 100644
|
||||
index ab0cf0bff7b477327fd92a20e6c7bc7d62f418d2..ceede6519645cb488ea4152842e00751eef53a6c 100644
|
||||
--- a/net/minecraft/world/entity/Entity.java
|
||||
+++ b/net/minecraft/world/entity/Entity.java
|
||||
@@ -288,7 +288,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Op lock
|
||||
|
||||
|
||||
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
|
||||
index 570602e0fb00465eed1dcfb923775807c600a7bb..27763ca0ae77d271aa30a3feea76728cad5b4990 100644
|
||||
index fd6e21416bb0b82ae6b1f602a168069558f9ad93..bd263adfbd86ee1be674c6bfa26dec40f7c5d307 100644
|
||||
--- a/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1213,6 +1213,9 @@ public abstract class PlayerList {
|
||||
@@ -1212,6 +1212,9 @@ public abstract class PlayerList {
|
||||
}
|
||||
|
||||
public void op(GameProfile profile) {
|
||||
@@ -18,7 +18,7 @@ index 570602e0fb00465eed1dcfb923775807c600a7bb..27763ca0ae77d271aa30a3feea76728c
|
||||
this.ops.add(new ServerOpListEntry(profile, this.server.getOperatorUserPermissionLevel(), this.ops.canBypassPlayerLimit(profile)));
|
||||
ServerPlayer player = this.getPlayer(profile.getId());
|
||||
if (player != null) {
|
||||
@@ -1221,6 +1224,9 @@ public abstract class PlayerList {
|
||||
@@ -1220,6 +1223,9 @@ public abstract class PlayerList {
|
||||
}
|
||||
|
||||
public void deop(GameProfile profile) {
|
||||
|
||||
Reference in New Issue
Block a user