diff --git a/gradle.properties b/gradle.properties index d2a188ca9..473655d7b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = org.purpurmc.purpur version = 1.20.6-R0.1-SNAPSHOT mcVersion = 1.20.6 -paperCommit = f17519338bc589c045e0b32bfc37e048b23544d5 +paperCommit = 0ad09de75bfb1db2a84bb760cdee09b06d609bb3 org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/server/0005-Component-related-conveniences.patch b/patches/server/0005-Component-related-conveniences.patch index 2c2ae7aac..6046b3496 100644 --- a/patches/server/0005-Component-related-conveniences.patch +++ b/patches/server/0005-Component-related-conveniences.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Component related conveniences diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 40b9a89531d1df347191edd274485cf977051e04..f587958d2b907f7fcd819dbb6db7e42232754567 100644 +index 88ce79c7c479a7b905a4d6e5c2b4c0bc25e66854..0f8c2ff5e2d0d396e85e26e0a03a761e9bb25654 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1978,6 +1978,26 @@ public class ServerPlayer extends Player { @@ -81,10 +81,10 @@ index dd9638bdb228a53e72820e0e7cf6fe6fcc08fe4b..bc5071efe710614309308dad5b6d9c56 return this.type().msgId(); } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 2bc85351e6e52f90da5fdb29d8d042a06132d742..6c7f80723d67baf0ca036e0a12c3007144352edf 100644 +index 25ea45a528612d1a2a2d77293b3802f473a52f38..95c88ac0142551fbcfd2356be2fc70f7a78278ab 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4190,6 +4190,20 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4196,6 +4196,20 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return SlotAccess.NULL; } diff --git a/patches/server/0006-Ridables.patch b/patches/server/0006-Ridables.patch index b6f22c902..11e0c7030 100644 --- a/patches/server/0006-Ridables.patch +++ b/patches/server/0006-Ridables.patch @@ -46,7 +46,7 @@ index ca56a0b596976448da6bb2a0e82b3d5cd4133e12..6247659f33c3d21d33ec1f5105234036 public LevelChunk getChunkIfLoaded(int x, int z) { return this.chunkSource.getChunkAtIfLoadedImmediately(x, z); // Paper - Use getChunkIfLoadedImmediately diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index f587958d2b907f7fcd819dbb6db7e42232754567..4391ae896d8dbe98c6577f85759b187a396a7c21 100644 +index 0f8c2ff5e2d0d396e85e26e0a03a761e9bb25654..c1d6a2c82e240a7c50b4cb973c285b816f7ec419 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -814,6 +814,15 @@ public class ServerPlayer extends Player { @@ -79,7 +79,7 @@ index b9b3277c8ed94e0cd30b20b9c00a33eaad48e5ac..647026afdb161e21ff55dc9a3d470eef if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) { entity.resendPossiblyDesyncedEntityData(ServerGamePacketListenerImpl.this.player); // Paper - The entire mob gets deleted, so resend it. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 6c7f80723d67baf0ca036e0a12c3007144352edf..9c99a3df80c5f0a0d81e1f6a6516d088438a0b1e 100644 +index 95c88ac0142551fbcfd2356be2fc70f7a78278ab..973e4c24a53fecad99fa5740c9c3cedd1320821b 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -381,7 +381,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -91,7 +91,7 @@ index 6c7f80723d67baf0ca036e0a12c3007144352edf..9c99a3df80c5f0a0d81e1f6a6516d088 private float eyeHeight; public boolean isInPowderSnow; public boolean wasInPowderSnow; -@@ -3080,6 +3080,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -3086,6 +3086,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess this.passengers = ImmutableList.copyOf(list); } @@ -105,7 +105,7 @@ index 6c7f80723d67baf0ca036e0a12c3007144352edf..9c99a3df80c5f0a0d81e1f6a6516d088 this.gameEvent(GameEvent.ENTITY_MOUNT, passenger); } } -@@ -3119,6 +3126,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -3125,6 +3132,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return false; } // CraftBukkit end @@ -120,7 +120,7 @@ index 6c7f80723d67baf0ca036e0a12c3007144352edf..9c99a3df80c5f0a0d81e1f6a6516d088 if (this.passengers.size() == 1 && this.passengers.get(0) == entity) { this.passengers = ImmutableList.of(); } else { -@@ -5009,4 +5024,44 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -5015,4 +5030,44 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return ((net.minecraft.server.level.ServerChunkCache) level.getChunkSource()).isPositionTicking(this); } // Paper end - Expose entity id counter @@ -190,7 +190,7 @@ index 09fdea983772612ef3fff6b2da3cf469a34e4ec0..aa76a24421cdb3908a3544d92eb3d1e3 protected ParticleOptions getInkParticle() { return ParticleTypes.GLOW_SQUID_INK; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 517e10c3d8b1549cd30fd0e7cf2bcb35e88eb8ed..961c4addedd288758ac91b5144571d054f6069ac 100644 +index ef0f118aecf0893e45cb9423a677d7e42496324b..593db87486031d6e21b574a755b16bf6f5c5bf95 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -229,9 +229,9 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -4034,7 +4034,7 @@ index 2d7b7c949faaaaae94c0043132a4a822f55df104..1248a48c0146258d14efcaa805a82ce1 this.getAttribute(Attributes.MOVEMENT_SPEED).setBaseValue(0.0D); } else { diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java -index 5215fa54666979ef4da074ddfdb082e7274f2957..78433d0b7624019018012c55e8dd6fec029f8cd1 100644 +index e03119f88719c8d6d44793a6b3706ae97b2da307..803a5c71f7712ac004990419131757d17ad685bf 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java +++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java @@ -97,12 +97,31 @@ public class Shulker extends AbstractGolem implements VariantHolder getVariant() { @@ -68,7 +68,7 @@ index 2202798612cad53aff28c499b8909a7292a37ad5..5ed2b7d15686fc9aa6dc7c03c337433c + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 1c2aec3ddbe6d9dd0ae9ce4d074092ed0555d711..444ae36042e5d5bf2bd3ba7348882304825b5f06 100644 +index 8e92de376b23fc2efcc4e5e65cd988d176399f9f..fbac1586ee666fa9ca22fb0bf2797b0913bf3788 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -1908,6 +1908,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0190-Add-compass-command.patch b/patches/server/0190-Add-compass-command.patch index a7c9fd136..9c9b87963 100644 --- a/patches/server/0190-Add-compass-command.patch +++ b/patches/server/0190-Add-compass-command.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add compass command diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java -index 26c9254cef922a78deac3053f93c60037f19d31f..67ec90a2a05269a5912b3c8e64d6d4162a8c6ca2 100644 +index f11d6bb515217088ef1192653998a77ddce67edf..9a91a29614823e10f59aeaa156d85f7229bfb497 100644 --- a/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java @@ -257,6 +257,7 @@ public class Commands { @@ -17,7 +17,7 @@ index 26c9254cef922a78deac3053f93c60037f19d31f..67ec90a2a05269a5912b3c8e64d6d416 if (environment.includeIntegrated) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 7bb82c9b652a509c2bf1a43ed82a5da709fb2cb2..e9d9cb47221075447aac66dd30ce6e8f08962cf5 100644 +index 58b066793a6248b4627f6b81921412971828e313..cce4ebb350ba09323c59903991e4f6f289d2cb53 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -300,6 +300,7 @@ public class ServerPlayer extends Player { @@ -44,7 +44,7 @@ index 7bb82c9b652a509c2bf1a43ed82a5da709fb2cb2..e9d9cb47221075447aac66dd30ce6e8f } // CraftBukkit start - World fallback code, either respawn location or global spawn -@@ -3011,5 +3014,13 @@ public class ServerPlayer extends Player { +@@ -3017,5 +3020,13 @@ public class ServerPlayer extends Player { public void tpsBar(boolean tpsBar) { this.tpsBar = tpsBar; } @@ -59,7 +59,7 @@ index 7bb82c9b652a509c2bf1a43ed82a5da709fb2cb2..e9d9cb47221075447aac66dd30ce6e8f // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index e4188163e7a9dda878e72ae84a1b5cb28c23510d..b56afa30c04350b5e9ca4ea2d33f9e7c58559380 100644 +index 297e02900adb7251cc0449db47490d26dec3f62f..899abbef0b6f458b560e9dd329cb95dfb8af3146 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -255,6 +255,11 @@ public class PurpurConfig { @@ -89,7 +89,7 @@ index e4188163e7a9dda878e72ae84a1b5cb28c23510d..b56afa30c04350b5e9ca4ea2d33f9e7c hideHiddenPlayersFromEntitySelector = getBoolean("settings.command.hide-hidden-players-from-entity-selector", hideHiddenPlayersFromEntitySelector); uptimeFormat = getString("settings.command.uptime.format", uptimeFormat); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ae67aa6cf66e64d5e7506c0ca7193a9ba8a986ce..963540e5c3eb6dfbb78b089bba013ef348c8487f 100644 +index 0f5bb7e220fc4381445e9aaef19882dd4b27987b..b66224c74eeb7b60ded96edb08d323002c355db6 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -222,6 +222,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0255-Remove-Mojang-Profiler.patch b/patches/server/0255-Remove-Mojang-Profiler.patch index d0342726c..3cab52d30 100644 --- a/patches/server/0255-Remove-Mojang-Profiler.patch +++ b/patches/server/0255-Remove-Mojang-Profiler.patch @@ -826,7 +826,7 @@ index b727c707ef46a9387fc225b51ef050c6baff1c74..7924e3c597164f71056cd58dd167ee8b while (iterator.hasNext()) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 326520c7bb551ca0712454324921a5c59ba6abb1..3670c65cf3c65c57d0e40862d1905c1dc3d158b6 100644 +index d3d6febb1942b59e6e0e90259acdef22d344a853..12d55da2cd14a497effe16f5d33b5bcba6cb22c1 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1317,7 +1317,7 @@ public class ServerPlayer extends Player { @@ -1085,7 +1085,7 @@ index a715ecf4a8ac91d3e5e5c6269d89e54b2c1cd279..223c3665126c576eddb1a8f7c9f5bc60 }; } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 68e8f9913055219486ce19d95dcf9d7c76e08082..2c3ad553272ad651e6ca26917719e6d9fffdef68 100644 +index 81c10d07d28e5158e0f248e02939f562fa20d65c..597c8934264d4d541494e7ce2375a0b403dcc68c 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -897,7 +897,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -1153,7 +1153,7 @@ index 68e8f9913055219486ce19d95dcf9d7c76e08082..2c3ad553272ad651e6ca26917719e6d9 } } // Paper start - detailed watchdog information -@@ -3258,7 +3258,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -3264,7 +3264,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess ServerLevel worldserver1 = minecraftserver.getLevel(resourcekey); if (true && !this.isPassenger() && this.portalTime++ >= i) { // CraftBukkit @@ -1162,7 +1162,7 @@ index 68e8f9913055219486ce19d95dcf9d7c76e08082..2c3ad553272ad651e6ca26917719e6d9 this.portalTime = i; // Paper start - Add EntityPortalReadyEvent io.papermc.paper.event.entity.EntityPortalReadyEvent event = new io.papermc.paper.event.entity.EntityPortalReadyEvent(this.getBukkitEntity(), worldserver1 == null ? null : worldserver1.getWorld(), org.bukkit.PortalType.NETHER); -@@ -3276,7 +3276,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -3282,7 +3282,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } } // Paper - Add EntityPortalReadyEvent // CraftBukkit end @@ -1171,7 +1171,7 @@ index 68e8f9913055219486ce19d95dcf9d7c76e08082..2c3ad553272ad651e6ca26917719e6d9 } this.isInsidePortal = false; -@@ -3736,14 +3736,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -3742,14 +3742,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } // Paper end - Fix item duplication and teleport issues if (this.level() instanceof ServerLevel && !this.isRemoved()) { @@ -1188,7 +1188,7 @@ index 68e8f9913055219486ce19d95dcf9d7c76e08082..2c3ad553272ad651e6ca26917719e6d9 PortalInfo shapedetectorshape = (location == null) ? this.findDimensionEntryPoint(worldserver) : new PortalInfo(new Vec3(location.x(), location.y(), location.z()), Vec3.ZERO, this.yRot, this.xRot, worldserver, null); // CraftBukkit if (shapedetectorshape == null) { -@@ -3782,7 +3782,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -3788,7 +3788,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess this.unRide(); // CraftBukkit end @@ -1197,7 +1197,7 @@ index 68e8f9913055219486ce19d95dcf9d7c76e08082..2c3ad553272ad651e6ca26917719e6d9 // Paper start - Fix item duplication and teleport issues if (this instanceof Mob) { ((Mob) this).dropLeash(true, true); // Paper drop lead -@@ -3809,10 +3809,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -3815,10 +3815,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } this.removeAfterChangingDimensions(); @@ -1211,7 +1211,7 @@ index 68e8f9913055219486ce19d95dcf9d7c76e08082..2c3ad553272ad651e6ca26917719e6d9 } } else { diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 3603e26b253c8489d11784f260b38bc7bc8e69e7..cba8fd846bfe8279252e232277d81a59349d3511 100644 +index 93670b0ca36eed241075168e5724fcffb14e83e3..7c020efc033ecdd0582ba972063d6de486699498 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -423,7 +423,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0262-Implement-ram-and-rambar-commands.patch b/patches/server/0262-Implement-ram-and-rambar-commands.patch index ec2e7056f..63976f70a 100644 --- a/patches/server/0262-Implement-ram-and-rambar-commands.patch +++ b/patches/server/0262-Implement-ram-and-rambar-commands.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement ram and rambar commands diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java -index d3c42c19a051fb3a670e541fc746b55717192a91..13dfb3e506d50c0b191baf5d05bbfc28c20be0ae 100644 +index 5c048dc779b29c4903dc63daa8a1f9bf54270ba1..96872be696c68b49586e95cca3df6f6f1759a0e4 100644 --- a/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java @@ -258,6 +258,8 @@ public class Commands { @@ -18,7 +18,7 @@ index d3c42c19a051fb3a670e541fc746b55717192a91..13dfb3e506d50c0b191baf5d05bbfc28 if (environment.includeIntegrated) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index ad9d42e886bc1e2529ca13990626169ab2354898..d7e4a9fe9676563845d9981523bff1a7ff12282c 100644 +index 12d55da2cd14a497effe16f5d33b5bcba6cb22c1..a7ba658a4dc6eeb9d5bc854289c21b3bd21646b1 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -301,6 +301,7 @@ public class ServerPlayer extends Player { @@ -45,7 +45,7 @@ index ad9d42e886bc1e2529ca13990626169ab2354898..d7e4a9fe9676563845d9981523bff1a7 nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur nbt.putBoolean("Purpur.CompassBar", this.compassBar); // Purpur } -@@ -3023,5 +3026,13 @@ public class ServerPlayer extends Player { +@@ -3029,5 +3032,13 @@ public class ServerPlayer extends Player { public void compassBar(boolean compassBar) { this.compassBar = compassBar; } @@ -60,7 +60,7 @@ index ad9d42e886bc1e2529ca13990626169ab2354898..d7e4a9fe9676563845d9981523bff1a7 // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 620f1207fc773f8602b748128557f1c73f0319fb..62612451c23bb146e82f4082ca8677e5dc57a08f 100644 +index 9b6b21a8a74617c40c9eedfc86e59cb7fa3461f3..90bcf87bec6ea88b670a84ed2c2f078e9563a473 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -182,6 +182,8 @@ public class PurpurConfig {