From 63b5dc886a30556c6f1b0c3ae9beb9a2b325f21e Mon Sep 17 00:00:00 2001 From: Ben Kerllenevich Date: Wed, 8 Jun 2022 13:50:11 -0400 Subject: [PATCH] merge upstream --- gradle.properties | 2 +- patches/server/0005-Ridables.patch | 6 +++--- patches/server/0027-Zombie-horse-naturally-spawn.patch | 4 ++-- .../0075-Add-allow-water-in-end-world-option.patch | 6 +++--- ...-Allow-toggling-special-MobSpawners-per-world.patch | 4 ++-- patches/server/0102-Configurable-daylight-cycle.patch | 8 ++++---- patches/server/0151-Config-for-skipping-night.patch | 4 ++-- .../0188-Make-lightning-rod-range-configurable.patch | 4 ++-- ...0203-Customizable-sleeping-actionbar-messages.patch | 4 ++-- ...-for-if-rain-and-thunder-should-stop-on-sleep.patch | 6 +++--- patches/server/0253-Allow-void-trading.patch | 4 ++-- patches/server/0269-Drop-incompatible-tests.patch | 10 ++++++---- 12 files changed, 32 insertions(+), 30 deletions(-) diff --git a/gradle.properties b/gradle.properties index 54f12a5f1..08109db91 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ group = org.purpurmc.purpur version = 1.19-R0.1-SNAPSHOT -paperCommit = 57dfcdf4ebc4b677565fbeb4207c47e16f664d71 +paperCommit = 44ccc15a30eca5e1940911ec68c886b120ac2671 org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/server/0005-Ridables.patch b/patches/server/0005-Ridables.patch index 98a55c4bb..26dac586e 100644 --- a/patches/server/0005-Ridables.patch +++ b/patches/server/0005-Ridables.patch @@ -34,13 +34,13 @@ index 7c7d98d889fe799990b1bb5c416be50719c21194..50cbdd0e38b61a8290d6689d5fb9c7d1 this.profiler.push(() -> { diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 443ef9d81e769c26ebd5a7d72078ed0f43306a7e..f678861adc54cb00c9e2b7695c20f0e0f44bc7a6 100644 +index 960b7248228d97547bfc2410d234adab4a548a7b..45764686750f867b3b9dff3af2a6d600ff0a519a 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -216,6 +216,7 @@ public class ServerLevel extends Level implements WorldGenLevel { - public final UUID uuid; +@@ -217,6 +217,7 @@ public class ServerLevel extends Level implements WorldGenLevel { public boolean hasPhysicsEvent = true; // Paper public boolean hasEntityMoveEvent = false; // Paper + private final alternate.current.wire.WireHandler wireHandler = new alternate.current.wire.WireHandler(this); // Paper - optimize redstone (Alternate Current) + public boolean hasRidableMoveEvent = false; // Purpur public static Throwable getAddToWorldStackTrace(Entity entity) { return new Throwable(entity + " Added to world at " + new java.util.Date()); diff --git a/patches/server/0027-Zombie-horse-naturally-spawn.patch b/patches/server/0027-Zombie-horse-naturally-spawn.patch index 48a4d07dc..804c154af 100644 --- a/patches/server/0027-Zombie-horse-naturally-spawn.patch +++ b/patches/server/0027-Zombie-horse-naturally-spawn.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Zombie horse naturally spawn diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 805025d7b446110a6949635a7064d05fb51638fd..1b625173b7f56b56d5e7982290430cd7290386f0 100644 +index 45764686750f867b3b9dff3af2a6d600ff0a519a..d546494c212cef210662ff8f6bc6ec2aae11ed27 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -770,9 +770,15 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -771,9 +771,15 @@ public class ServerLevel extends Level implements WorldGenLevel { boolean flag1 = this.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.getEffectiveDifficulty() * paperConfig.skeleHorseSpawnChance && !this.getBlockState(blockposition.below()).is(Blocks.LIGHTNING_ROD); // Paper if (flag1) { diff --git a/patches/server/0075-Add-allow-water-in-end-world-option.patch b/patches/server/0075-Add-allow-water-in-end-world-option.patch index 5d13b7c2a..3d7dedad4 100644 --- a/patches/server/0075-Add-allow-water-in-end-world-option.patch +++ b/patches/server/0075-Add-allow-water-in-end-world-option.patch @@ -27,11 +27,11 @@ index 73f1211470d9626c82c8345037da19aed9db3f23..40c7bf266eccc43faa081ade9402bee5 return true; diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 1671cb165df030bf5a5a8f8fb0aabeaf6e7ac487..0990d2f68e2fec89295f127fef48c7e6f7cd24c0 100644 +index 3d5067477f8abbcfece1915013576941a588d021..1f78c8e9cdffc0bb557719404f3834f90b76ff50 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -1446,4 +1446,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable { - return ret; +@@ -1457,4 +1457,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable { + return null; } // Paper end + diff --git a/patches/server/0095-Allow-toggling-special-MobSpawners-per-world.patch b/patches/server/0095-Allow-toggling-special-MobSpawners-per-world.patch index aa053d29e..ebf7760b6 100644 --- a/patches/server/0095-Allow-toggling-special-MobSpawners-per-world.patch +++ b/patches/server/0095-Allow-toggling-special-MobSpawners-per-world.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Allow toggling special MobSpawners per world In vanilla, these are all hardcoded on for world type 0 (overworld) and hardcoded off for every other world type. Default config behaviour matches this. diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index cc825b8b079d1b18e667159437193d394d0a1b9e..93ac8c5c9594f95a2b9a399f0a4f3f0377ef8753 100644 +index d546494c212cef210662ff8f6bc6ec2aae11ed27..96acb6ef2ea31395f666e40c86eb7a4c61f7353c 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -503,7 +503,24 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -504,7 +504,24 @@ public class ServerLevel extends Level implements WorldGenLevel { this.dragonParts = new Int2ObjectOpenHashMap(); this.tickTime = flag1; this.server = minecraftserver; diff --git a/patches/server/0102-Configurable-daylight-cycle.patch b/patches/server/0102-Configurable-daylight-cycle.patch index cf295c7e3..576c5b1f3 100644 --- a/patches/server/0102-Configurable-daylight-cycle.patch +++ b/patches/server/0102-Configurable-daylight-cycle.patch @@ -31,7 +31,7 @@ index 47f1fb6851834183a28ef97ccbf6c53746e528a2..1a3f709c8aa455f1ce7e63751074044b } ServerPlayer entityplayer = (ServerPlayer) entityhuman; diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 93ac8c5c9594f95a2b9a399f0a4f3f0377ef8753..b1a3615d3b9d27ca7c7d7a84d213ef16a984e3a8 100644 +index 96acb6ef2ea31395f666e40c86eb7a4c61f7353c..4369cc7a72a29acd6004b7f76d8d7ef94932ec76 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -209,6 +209,8 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -43,7 +43,7 @@ index 93ac8c5c9594f95a2b9a399f0a4f3f0377ef8753..b1a3615d3b9d27ca7c7d7a84d213ef16 public long lastMidTickExecuteFailure; // Paper - execute chunk tasks mid tick // CraftBukkit start -@@ -580,6 +582,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -581,6 +583,7 @@ public class ServerLevel extends Level implements WorldGenLevel { this.getCraftServer().addWorld(this.getWorld()); // CraftBukkit this.asyncChunkTaskManager = new com.destroystokyo.paper.io.chunk.ChunkTaskManager(this); // Paper @@ -51,7 +51,7 @@ index 93ac8c5c9594f95a2b9a399f0a4f3f0377ef8753..b1a3615d3b9d27ca7c7d7a84d213ef16 } public void setWeatherParameters(int clearDuration, int rainDuration, boolean raining, boolean thundering) { -@@ -734,6 +737,13 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -735,6 +738,13 @@ public class ServerLevel extends Level implements WorldGenLevel { this.serverLevelData.setGameTime(i); this.serverLevelData.getScheduledEvents().tick(this.server, i); if (this.levelData.getGameRules().getBoolean(GameRules.RULE_DAYLIGHT)) { @@ -65,7 +65,7 @@ index 93ac8c5c9594f95a2b9a399f0a4f3f0377ef8753..b1a3615d3b9d27ca7c7d7a84d213ef16 this.setDayTime(this.levelData.getDayTime() + 1L); } -@@ -742,7 +752,21 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -743,7 +753,21 @@ public class ServerLevel extends Level implements WorldGenLevel { public void setDayTime(long timeOfDay) { this.serverLevelData.setDayTime(timeOfDay); diff --git a/patches/server/0151-Config-for-skipping-night.patch b/patches/server/0151-Config-for-skipping-night.patch index a781805a8..c73601f2b 100644 --- a/patches/server/0151-Config-for-skipping-night.patch +++ b/patches/server/0151-Config-for-skipping-night.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Config for skipping night diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index b1a3615d3b9d27ca7c7d7a84d213ef16a984e3a8..678dd3f82c3e842450b9d701909bd69298dd8015 100644 +index 4369cc7a72a29acd6004b7f76d8d7ef94932ec76..bf61f916059ea38586ee9ddd9261f71494be8a3f 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -621,7 +621,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -622,7 +622,7 @@ public class ServerLevel extends Level implements WorldGenLevel { int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE); long j; diff --git a/patches/server/0188-Make-lightning-rod-range-configurable.patch b/patches/server/0188-Make-lightning-rod-range-configurable.patch index 3d346171a..da866cee8 100644 --- a/patches/server/0188-Make-lightning-rod-range-configurable.patch +++ b/patches/server/0188-Make-lightning-rod-range-configurable.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Make lightning rod range configurable diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 678dd3f82c3e842450b9d701909bd69298dd8015..e584bcdca9ed8e3ccb3969b45011df3eb7624689 100644 +index bf61f916059ea38586ee9ddd9261f71494be8a3f..02adcf7c443536aa067e18c9d4b4253fa192c9b5 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -913,7 +913,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -914,7 +914,7 @@ public class ServerLevel extends Level implements WorldGenLevel { return holder.is(PoiTypes.LIGHTNING_ROD); }, (blockposition1) -> { return blockposition1.getY() == this.getHeight(Heightmap.Types.WORLD_SURFACE, blockposition1.getX(), blockposition1.getZ()) - 1; diff --git a/patches/server/0203-Customizable-sleeping-actionbar-messages.patch b/patches/server/0203-Customizable-sleeping-actionbar-messages.patch index 705ed4328..f2667204e 100644 --- a/patches/server/0203-Customizable-sleeping-actionbar-messages.patch +++ b/patches/server/0203-Customizable-sleeping-actionbar-messages.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Customizable sleeping actionbar messages diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index e584bcdca9ed8e3ccb3969b45011df3eb7624689..cbfc31d4b3aac2b681034106d8979a8779d529a5 100644 +index 02adcf7c443536aa067e18c9d4b4253fa192c9b5..66c646d51428f898fe98a4f0a47cf35b339c6963 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -962,11 +962,27 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -963,11 +963,27 @@ public class ServerLevel extends Level implements WorldGenLevel { if (this.canSleepThroughNights()) { if (!this.getServer().isSingleplayer() || this.getServer().isPublished()) { int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE); diff --git a/patches/server/0224-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch b/patches/server/0224-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch index 35f5f44da..cacaa849f 100644 --- a/patches/server/0224-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch +++ b/patches/server/0224-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Option for if rain and thunder should stop on sleep diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index cbfc31d4b3aac2b681034106d8979a8779d529a5..2f9f97ebd02aff41e1ab15fa1e3275e257f14863 100644 +index 66c646d51428f898fe98a4f0a47cf35b339c6963..8b3ea95fb593bfb0ce95ca5d6fd9ea424bde555e 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1121,6 +1121,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1122,6 +1122,7 @@ public class ServerLevel extends Level implements WorldGenLevel { private void resetWeatherCycle() { // CraftBukkit start @@ -16,7 +16,7 @@ index cbfc31d4b3aac2b681034106d8979a8779d529a5..2f9f97ebd02aff41e1ab15fa1e3275e2 this.serverLevelData.setRaining(false, org.bukkit.event.weather.WeatherChangeEvent.Cause.SLEEP); // Paper - when passing the night // If we stop due to everyone sleeping we should reset the weather duration to some other random value. // Not that everyone ever manages to get the whole server to sleep at the same time.... -@@ -1128,6 +1129,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1129,6 +1130,7 @@ public class ServerLevel extends Level implements WorldGenLevel { this.serverLevelData.setRainTime(0); } // CraftBukkit end diff --git a/patches/server/0253-Allow-void-trading.patch b/patches/server/0253-Allow-void-trading.patch index 118d82ae9..d43fc6003 100644 --- a/patches/server/0253-Allow-void-trading.patch +++ b/patches/server/0253-Allow-void-trading.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow void trading diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 2f9f97ebd02aff41e1ab15fa1e3275e257f14863..5636ed6d8be06e67c00be610c0ce1e7e5b69df23 100644 +index 8b3ea95fb593bfb0ce95ca5d6fd9ea424bde555e..e176298f1f18c359a19036ab6546c9698c717d0b 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -2652,7 +2652,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -2660,7 +2660,7 @@ public class ServerLevel extends Level implements WorldGenLevel { // Spigot Start if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder && (!(entity instanceof ServerPlayer) || entity.getRemovalReason() != Entity.RemovalReason.KILLED)) { // SPIGOT-6876: closeInventory clears death message // Paper start diff --git a/patches/server/0269-Drop-incompatible-tests.patch b/patches/server/0269-Drop-incompatible-tests.patch index df85e09e3..1f19a5568 100644 --- a/patches/server/0269-Drop-incompatible-tests.patch +++ b/patches/server/0269-Drop-incompatible-tests.patch @@ -1,21 +1,23 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Ben Kerllenevich -Date: Thu, 2 Jun 2022 13:54:19 -0400 +Date: Wed, 8 Jun 2022 13:49:49 -0400 Subject: [PATCH] Drop incompatible tests diff --git a/src/test/java/io/papermc/paper/permissions/MinecraftCommandPermissionsTest.java b/src/test/java/io/papermc/paper/permissions/MinecraftCommandPermissionsTest.java deleted file mode 100644 -index e80f8a32c82f89a2f898db1d869daadee735176f..0000000000000000000000000000000000000000 +index da2eb57ea64403657744ea00eff40243ef51df58..0000000000000000000000000000000000000000 --- a/src/test/java/io/papermc/paper/permissions/MinecraftCommandPermissionsTest.java +++ /dev/null -@@ -1,84 +0,0 @@ +@@ -1,86 +0,0 @@ -package io.papermc.paper.permissions; - -import com.mojang.brigadier.tree.CommandNode; -import com.mojang.brigadier.tree.RootCommandNode; +-import net.minecraft.commands.CommandBuildContext; -import net.minecraft.commands.CommandSourceStack; -import net.minecraft.commands.Commands; +-import net.minecraft.core.RegistryAccess; -import net.minecraft.server.Bootstrap; -import org.bukkit.Bukkit; -import org.bukkit.craftbukkit.command.VanillaCommandWrapper; @@ -49,7 +51,7 @@ index e80f8a32c82f89a2f898db1d869daadee735176f..00000000000000000000000000000000 - CraftDefaultPermissions.registerCorePermissions(); - Set perms = collectMinecraftCommandPerms(); - -- Commands commands = new Commands(Commands.CommandSelection.DEDICATED); +- Commands commands = new Commands(Commands.CommandSelection.DEDICATED, new CommandBuildContext(RegistryAccess.BUILTIN.get())); - RootCommandNode root = commands.getDispatcher().getRoot(); - Set missing = new LinkedHashSet<>(); - Set foundPerms = new HashSet<>();