diff --git a/gradle.properties b/gradle.properties index 6b511c90c..a9aaa455e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ group = org.purpurmc.purpur mcVersion = 26.2-pre-4 apiVersion = 26.2 channel=EXPERIMENTAL -paperCommit = c600b162314435ca84f99477384aeb7ec3bfc2e8 +paperCommit = 273c92d85559ea176dab86c16f76989c1a061012 org.gradle.configuration-cache = true org.gradle.caching = true diff --git a/purpur-api/paper-patches/features/0002-Purpur-config-files.patch b/purpur-api/paper-patches/features/0002-Purpur-config-files.patch index 430e1b905..2747090ba 100644 --- a/purpur-api/paper-patches/features/0002-Purpur-config-files.patch +++ b/purpur-api/paper-patches/features/0002-Purpur-config-files.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Purpur config files diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index b7f4c4efad7335d1c02d1315c64ba9953f3f05c9..81484f52feea2ccf8b9e7c791b976561a1a3e5f6 100644 +index 1f012a7c5c3129c1dcaacb5377051c6285b3486a..8805b385dd7c123d3de74520ca2ba702ea351b00 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2443,6 +2443,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2440,6 +2440,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi } // Paper end diff --git a/purpur-api/paper-patches/files/src/main/java/co/aikar/timings/TimedEventExecutor.java.patch b/purpur-api/paper-patches/files/src/main/java/co/aikar/timings/TimedEventExecutor.java.patch index 382cc7915..26f552a1f 100644 --- a/purpur-api/paper-patches/files/src/main/java/co/aikar/timings/TimedEventExecutor.java.patch +++ b/purpur-api/paper-patches/files/src/main/java/co/aikar/timings/TimedEventExecutor.java.patch @@ -4,8 +4,8 @@ executor.execute(listener, event); return; } -- try (Timing ignored = timings.startTiming()){ -+ //try (Timing ignored = timings.startTiming()){ // Purpur - Remove Timings +- try (Timing ignored = timings.startTiming()) { ++ //try (Timing ignored = timings.startTiming()) { // Purpur - Remove Timings executor.execute(listener, event); - } + //} // Purpur - Remove Timings diff --git a/purpur-api/paper-patches/files/src/main/java/org/bukkit/Server.java.patch b/purpur-api/paper-patches/files/src/main/java/org/bukkit/Server.java.patch index f606b7cf0..9573d7489 100644 --- a/purpur-api/paper-patches/files/src/main/java/org/bukkit/Server.java.patch +++ b/purpur-api/paper-patches/files/src/main/java/org/bukkit/Server.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2779,4 +_,125 @@ +@@ -2776,4 +_,125 @@ */ void allowPausing(@NotNull org.bukkit.plugin.Plugin plugin, boolean value); // Paper end - API to check if the server is sleeping diff --git a/purpur-api/paper-patches/files/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java.patch b/purpur-api/paper-patches/files/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java.patch index 9796956cd..13db4c5cb 100644 --- a/purpur-api/paper-patches/files/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java.patch +++ b/purpur-api/paper-patches/files/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java.patch @@ -1,12 +1,12 @@ --- a/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java +++ b/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java -@@ -310,7 +_,8 @@ +@@ -311,7 +_,8 @@ WORLD_BORDER, /** - * Damage caused when an entity contacts a block such as a Cactus, -- * Dripstone (Stalagmite) or Berry Bush. -+ * Dripstone (Stalagmite) or Berry Bush. (Stonecutters too if you -+ * have the Stonecutter damage Purpur feature enabled) + * Damage caused when an entity contacts another entity (sulfur cube) or block (cactus, dripstone stalagmite, +- * berry bush, campfire, magma block). ++ * berry bush, campfire, magma block). (Stonecutters too if you have the Stonecutter damage Purpur feature ++ * enabled) *

* Damage: variable */ diff --git a/purpur-server/minecraft-patches/sources/net/minecraft/world/level/block/Block.java.patch b/purpur-server/minecraft-patches/sources/net/minecraft/world/level/block/Block.java.patch index 9d65cd7ef..625c1a72f 100644 --- a/purpur-server/minecraft-patches/sources/net/minecraft/world/level/block/Block.java.patch +++ b/purpur-server/minecraft-patches/sources/net/minecraft/world/level/block/Block.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/level/block/Block.java +++ b/net/minecraft/world/level/block/Block.java -@@ -112,6 +_,10 @@ +@@ -111,6 +_,10 @@ public static final int UPDATE_LIMIT = 512; protected final StateDefinition stateDefinition; private BlockState defaultBlockState; @@ -11,7 +11,7 @@ // Paper start - Protect Bedrock and End Portal/Frames from being destroyed public final boolean isDestroyable() { return io.papermc.paper.configuration.GlobalConfiguration.get().unsupportedSettings.allowPermanentBlockBreakExploits || -@@ -413,7 +_,7 @@ +@@ -412,7 +_,7 @@ event.setExpToDrop(block.getExpDrop(state, serverLevel, pos, net.minecraft.world.item.ItemStack.EMPTY, true)); // Paper - Properly handle xp dropping event.callEvent(); for (org.bukkit.inventory.ItemStack drop : event.getDrops()) { @@ -20,7 +20,7 @@ } state.spawnAfterBreak(serverLevel, pos, ItemStack.EMPTY, false); // Paper - Properly handle xp dropping block.popExperience(serverLevel, pos, event.getExpToDrop()); // Paper - Properly handle xp dropping -@@ -431,7 +_,7 @@ +@@ -430,7 +_,7 @@ public static void dropResources(final BlockState state, final LevelAccessor level, final BlockPos pos, final @Nullable BlockEntity blockEntity) { if (level instanceof ServerLevel serverLevel) { @@ -29,7 +29,7 @@ state.spawnAfterBreak(serverLevel, pos, ItemStack.EMPTY, true); } } -@@ -452,11 +_,30 @@ +@@ -451,11 +_,30 @@ , final boolean dropExperience // Paper - Properly handle xp dropping ) { if (level instanceof ServerLevel serverLevel) { @@ -61,7 +61,7 @@ public static void popResource(final Level level, final BlockPos pos, final ItemStack itemStack) { double halfHeight = EntityTypes.ITEM.getHeight() / 2.0; RandomSource random = level.getRandom(); -@@ -546,7 +_,15 @@ +@@ -545,7 +_,15 @@ } public void setPlacedBy(final Level level, final BlockPos pos, final BlockState state, final @Nullable LivingEntity by, final ItemStack itemStack) { @@ -78,7 +78,7 @@ public boolean isPossibleToRespawnInThis(final BlockState state) { return !state.isSolid() && !state.liquid(); -@@ -557,7 +_,7 @@ +@@ -556,7 +_,7 @@ } public void fallOn(final Level level, final BlockState state, final BlockPos pos, final Entity entity, final double fallDistance) { diff --git a/purpur-server/paper-patches/files/src/main/java/com/destroystokyo/paper/gui/RAMDetails.java.patch b/purpur-server/paper-patches/files/src/main/java/com/destroystokyo/paper/gui/RAMDetails.java.patch index 795d9b9f2..e22ceef80 100644 --- a/purpur-server/paper-patches/files/src/main/java/com/destroystokyo/paper/gui/RAMDetails.java.patch +++ b/purpur-server/paper-patches/files/src/main/java/com/destroystokyo/paper/gui/RAMDetails.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/com/destroystokyo/paper/gui/RAMDetails.java +++ b/src/main/java/com/destroystokyo/paper/gui/RAMDetails.java -@@ -60,7 +_,7 @@ +@@ -61,7 +_,7 @@ Vector vector = new Vector<>(); // Follows CraftServer#getTPS @@ -8,11 +8,11 @@ + double[] tps = server.getTPS(); // Purpur - diff on change String[] tpsAvg = new String[tps.length]; - for ( int g = 0; g < tps.length; g++) { -@@ -69,7 +_,7 @@ + for (int g = 0; g < tps.length; g++) { +@@ -70,7 +_,7 @@ vector.add("Memory use: " + (data.getUsedMem() / 1024L / 1024L) + " mb (" + (data.getFree() * 100L / data.getMax()) + "% free)"); vector.add("Heap: " + (data.getTotal() / 1024L / 1024L) + " / " + (data.getMax() / 1024L / 1024L) + " mb"); - vector.add("Avg tick: " + DECIMAL_FORMAT.format((double)this.server.getAverageTickTimeNanos() / (double) TimeUtil.NANOSECONDS_PER_MILLISECOND) + " ms"); + vector.add("Avg tick: " + DECIMAL_FORMAT.format((double) this.server.getAverageTickTimeNanos() / (double) TimeUtil.NANOSECONDS_PER_MILLISECOND) + " ms"); - vector.add("TPS from last 1m, 5m, 15m: " + String.join(", ", tpsAvg)); + vector.add("TPS from last 5s, 1m, 5m, 15m: " + String.join(", ", tpsAvg)); // Purpur - Add 5 second tps average in /tps setListData(vector);