diff --git a/gradle.properties b/gradle.properties index b24077c..4098eef 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ version = 1.20.2-R0.1-SNAPSHOT mcVersion = 1.20.2 packageVersion = 1_20_R2 -paperRef = 996d529fb3d3f85f002bd9aa8a51dae07975d686 +paperRef = 487109fddc74813b81bf17dfe8ec7be443963d9d org.gradle.jvmargs = -Xmx2G diff --git a/patches/server/0001-Pufferfish-Server-Patches.patch b/patches/server/0001-Pufferfish-Server-Patches.patch index a7b4daa..80cd77b 100644 --- a/patches/server/0001-Pufferfish-Server-Patches.patch +++ b/patches/server/0001-Pufferfish-Server-Patches.patch @@ -2058,10 +2058,10 @@ index 2b5d82fbf4e7ec32d0c53dd3e8207b1dba708bbd..462c4eb3c06779f86f66778e9578d3d8 } } diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 6a49a36f64521f0bddcf21585ee507040119fd6d..dba021ae5d71bc44e4aee83d6c3910a81cc8ad83 100644 +index caa73632aee15583c6b6ed12a668c8f49b794708..3abec84383a445d3ad0d3b5f613246b6ac7ee741 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java -@@ -206,7 +206,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -244,7 +244,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider // Paper end // Paper start - optimise chunk tick iteration public final it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet needsChangeBroadcasting = new it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet<>(); @@ -2070,7 +2070,7 @@ index 6a49a36f64521f0bddcf21585ee507040119fd6d..dba021ae5d71bc44e4aee83d6c3910a8 // Paper end - optimise chunk tick iteration public ChunkMap(ServerLevel world, LevelStorageSource.LevelStorageAccess session, DataFixer dataFixer, StructureTemplateManager structureTemplateManager, Executor executor, BlockableEventLoop mainThreadExecutor, LightChunkGetter chunkProvider, ChunkGenerator chunkGenerator, ChunkProgressListener worldGenerationProgressListener, ChunkStatusUpdateListener chunkStatusChangeListener, Supplier persistentStateManagerFactory, int viewDistance, boolean dsync) { -@@ -1330,8 +1330,28 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1464,8 +1464,28 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider return ChunkMap.this.level.getServer().getScaledTrackingDistance(initialDistance); } @@ -2099,7 +2099,7 @@ index 6a49a36f64521f0bddcf21585ee507040119fd6d..dba021ae5d71bc44e4aee83d6c3910a8 Iterator iterator = this.entity.getIndirectPassengers().iterator(); while (iterator.hasNext()) { -@@ -1343,6 +1363,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1477,6 +1497,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider i = j; } } @@ -2308,7 +2308,7 @@ index 584a768f2ce1c98a1de7749060c47f21721f9055..411bde0231bc76c1689327d54f23311b this.tickIceAndSnow(flag, blockposition, chunk); } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index c7d26a119415ced56ccad04f8a1b180d9f714586..042602fef0fd30b269be226241b1735f14f5222d 100644 +index f71a4a8307fb092d33545e12d253e0b80c884168..aea0b628a1510b1dad1e7bf022c251efc05c27f4 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1250,6 +1250,7 @@ public class ServerPlayer extends Player { @@ -2327,15 +2327,15 @@ index c7d26a119415ced56ccad04f8a1b180d9f714586..042602fef0fd30b269be226241b1735f } @Override -@@ -2161,6 +2163,7 @@ public class ServerPlayer extends Player { +@@ -2163,6 +2165,7 @@ public class ServerPlayer extends Player { this.connection.send(new ClientboundSetCameraPacket(this.camera)); this.connection.resetPosition(); + this.mainSupportingBlockPos = Optional.empty(); // Pufferfish - Fix paper 9372 } - } -@@ -2599,6 +2602,7 @@ public class ServerPlayer extends Player { + } +@@ -2602,6 +2605,7 @@ public class ServerPlayer extends Player { public void forceSetPositionRotation(double x, double y, double z, float yaw, float pitch) { this.moveTo(x, y, z, yaw, pitch); this.connection.resetPosition(); @@ -2468,10 +2468,10 @@ index d6cbe98e67fdbf8db46338a88ab1356dd63b50a3..49c1d677db8fcf53b39bd9673259b88d int DEFAULT_DISTANCE_LIMIT = 8; diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 2eaa35f5679053b6864fcc4eeb49f360a828bb34..ed068acdf22bff2a2ddd1249142fdc05d7d82edb 100644 +index d435d04ab50b2f64e6438c6c26639b6048322013..b8d3239e62f234c5ed04fb4ece8a16262c93b898 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -305,7 +305,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -306,7 +306,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public double yo; public double zo; private Vec3 position; @@ -2480,7 +2480,7 @@ index 2eaa35f5679053b6864fcc4eeb49f360a828bb34..ed068acdf22bff2a2ddd1249142fdc05 private ChunkPos chunkPosition; private Vec3 deltaMovement; private float yRot; -@@ -433,6 +433,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -434,6 +434,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return this.originWorld; } // Paper end @@ -2494,7 +2494,7 @@ index 2eaa35f5679053b6864fcc4eeb49f360a828bb34..ed068acdf22bff2a2ddd1249142fdc05 public float getBukkitYaw() { return this.yRot; } -@@ -765,6 +772,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -798,6 +805,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public void tick() { @@ -2508,7 +2508,7 @@ index 2eaa35f5679053b6864fcc4eeb49f360a828bb34..ed068acdf22bff2a2ddd1249142fdc05 this.baseTick(); } -@@ -4324,16 +4338,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4357,16 +4371,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public boolean updateFluidHeightAndDoFluidPushing(TagKey tag, double speed) { @@ -2534,7 +2534,7 @@ index 2eaa35f5679053b6864fcc4eeb49f360a828bb34..ed068acdf22bff2a2ddd1249142fdc05 double d1 = 0.0D; boolean flag = this.isPushedByFluid(); boolean flag1 = false; -@@ -4341,14 +4357,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4374,14 +4390,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { int k1 = 0; BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos(); @@ -2602,7 +2602,7 @@ index 2eaa35f5679053b6864fcc4eeb49f360a828bb34..ed068acdf22bff2a2ddd1249142fdc05 if (d2 >= axisalignedbb.minY) { flag1 = true; -@@ -4370,9 +4433,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4403,9 +4466,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { // CraftBukkit end } } @@ -2630,7 +2630,7 @@ index 73871f456a85bda1e51f54986d0e61fb629822e8..ce61b4e067c94742043bef71a252a15d return (EntityType) Registry.register(BuiltInRegistries.ENTITY_TYPE, id, (EntityType) type.build(id)); // CraftBukkit - decompile error } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 776e9adc07e9ddd142c9fc7df56b5795ff8b2249..cb4ac1939448a0eb297fee5215020396358800f5 100644 +index 675d695989cef5d8fc2e85673efbb57ec1bb38bd..cd33ce44c72aa7d37402e17807eb6a3079860820 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -414,7 +414,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -2659,7 +2659,7 @@ index 776e9adc07e9ddd142c9fc7df56b5795ff8b2249..cb4ac1939448a0eb297fee5215020396 @Override public boolean hurt(DamageSource source, float amount) { if (this.isInvulnerableTo(source)) { -@@ -1999,6 +2009,20 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1996,6 +2006,20 @@ public abstract class LivingEntity extends Entity implements Attackable { return this.lastClimbablePos; } diff --git a/patches/server/0008-Only-broadcast-item-pickup-to-picker-viewers.patch b/patches/server/0008-Only-broadcast-item-pickup-to-picker-viewers.patch index 47d8042..dd0bd84 100644 --- a/patches/server/0008-Only-broadcast-item-pickup-to-picker-viewers.patch +++ b/patches/server/0008-Only-broadcast-item-pickup-to-picker-viewers.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Only broadcast item pickup to picker viewers Stops people with modified clients from detecting vanished players based on invalid entities in this packet diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 7eaee0d0dcbb420abb5c49ba0a465d90fe513551..641d652527025a4705c27300fc4e99604f78a8c6 100644 +index 3abec84383a445d3ad0d3b5f613246b6ac7ee741..4124a2e1855f815553e52cbf49f2a65b89e77b48 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java -@@ -1139,7 +1139,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1237,7 +1237,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } @@ -19,10 +19,10 @@ index 7eaee0d0dcbb420abb5c49ba0a465d90fe513551..641d652527025a4705c27300fc4e9960 if (playerchunkmap_entitytracker != null) { diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 4535a37661743ede3bdca71fe6e66336028b3342..58a5f3f249836e4dab4de7ae1f4a16d173f28f46 100644 +index cd33ce44c72aa7d37402e17807eb6a3079860820..5e60a5fd108dca46b0b608245eaa844a407927f1 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3728,7 +3728,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3725,7 +3725,7 @@ public abstract class LivingEntity extends Entity implements Attackable { public void take(Entity item, int count) { if (!item.isRemoved() && !this.level().isClientSide && (item instanceof ItemEntity || item instanceof AbstractArrow || item instanceof ExperienceOrb)) { diff --git a/patches/server/0013-Fix-non-adventure-components-not-being-translated.patch b/patches/server/0013-Fix-non-adventure-components-not-being-translated.patch index 079d94d..540d150 100644 --- a/patches/server/0013-Fix-non-adventure-components-not-being-translated.patch +++ b/patches/server/0013-Fix-non-adventure-components-not-being-translated.patch @@ -36,10 +36,10 @@ index f2f4575e6ec4f5a90b8f48306b0edfef2e5527f5..5ec4339fde101cbf1380dc7104f6d789 return asJsonString(((AdventureComponent) component).adventure, locale); } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 1b1ef2b4b8441fa3c94b06ebb7713a2428d4a769..6aed3d3cda132a33089a9ae0dd44daa41bf7c861 100644 +index b8d3239e62f234c5ed04fb4ece8a16262c93b898..d338b25899675544bc60831f723ebe77aa766110 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2486,7 +2486,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2519,7 +2519,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { String s = nbt.getString("CustomName"); try { diff --git a/patches/server/0014-Fix-cancelling-spectate-event-not-doing-anything.patch b/patches/server/0014-Fix-cancelling-spectate-event-not-doing-anything.patch deleted file mode 100644 index 55251c4..0000000 --- a/patches/server/0014-Fix-cancelling-spectate-event-not-doing-anything.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: booky10 -Date: Mon, 17 Jul 2023 18:10:28 +0200 -Subject: [PATCH] Fix cancelling spectate event not doing anything - - -diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 9b1bd5eec8836cd90da6cfaff981197d042443ad..962e6d780d917b2e78d86f28034b7f348235737c 100644 ---- a/src/main/java/net/minecraft/server/level/ServerPlayer.java -+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2140,11 +2140,13 @@ public class ServerPlayer extends Player { - if (this.camera == this) { - com.destroystokyo.paper.event.player.PlayerStopSpectatingEntityEvent playerStopSpectatingEntityEvent = new com.destroystokyo.paper.event.player.PlayerStopSpectatingEntityEvent(this.getBukkitEntity(), entity1.getBukkitEntity()); - if (!playerStopSpectatingEntityEvent.callEvent()) { -+ this.camera = entity1; // CloudPlane - return; - } - } else { - com.destroystokyo.paper.event.player.PlayerStartSpectatingEntityEvent playerStartSpectatingEntityEvent = new com.destroystokyo.paper.event.player.PlayerStartSpectatingEntityEvent(this.getBukkitEntity(), entity1.getBukkitEntity(), entity.getBukkitEntity()); - if (!playerStartSpectatingEntityEvent.callEvent()) { -+ this.camera = entity1; // CloudPlane - return; - } - } diff --git a/patches/server/0015-Resend-more-data-on-locale-change.patch b/patches/server/0014-Resend-more-data-on-locale-change.patch similarity index 96% rename from patches/server/0015-Resend-more-data-on-locale-change.patch rename to patches/server/0014-Resend-more-data-on-locale-change.patch index e52567d..6c71e18 100644 --- a/patches/server/0015-Resend-more-data-on-locale-change.patch +++ b/patches/server/0014-Resend-more-data-on-locale-change.patch @@ -27,7 +27,7 @@ index e38e2e5a7ddba9c140f362021b6be0b0974f7cd1..44140141b3e727131cfdc9fae2d84732 this.player = owner; } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index db4b8887bef82fde3225769d415e9ee50079a29c..b581aa8ab59de2f85571d22aa1b09f7e1f9e9e4b 100644 +index 20f39f27fc3e7a4bee861b147da66f7726dc2338..f734765ba2c3f152a414f0115df37ec307e354c3 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -322,6 +322,10 @@ public class ServerPlayer extends Player { @@ -104,10 +104,10 @@ index ec4325b90b5707e97927b95064ef4dd840b2a538..c754ed230a5320128839541bf707d0cb public static final EntityDataAccessor DATA_BACKGROUND_COLOR_ID = SynchedEntityData.defineId(Display.TextDisplay.class, EntityDataSerializers.INT); private static final EntityDataAccessor DATA_TEXT_OPACITY_ID = SynchedEntityData.defineId(Display.TextDisplay.class, EntityDataSerializers.BYTE); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index ff6e897f69e367a1790e22d820472093e0051888..3254f8584ab32ea9bebd07277a4f3c6d7cebe303 100644 +index d338b25899675544bc60831f723ebe77aa766110..7140633f8ca81392d8d54e1a2939d37c65583413 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -354,7 +354,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -355,7 +355,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { protected static final int FLAG_GLOWING = 6; protected static final int FLAG_FALL_FLYING = 7; private static final EntityDataAccessor DATA_AIR_SUPPLY_ID = SynchedEntityData.defineId(Entity.class, EntityDataSerializers.INT); diff --git a/patches/server/0016-Work-around-worldborder-collision-issues.patch b/patches/server/0015-Work-around-worldborder-collision-issues.patch similarity index 100% rename from patches/server/0016-Work-around-worldborder-collision-issues.patch rename to patches/server/0015-Work-around-worldborder-collision-issues.patch