diff --git a/gradle.properties b/gradle.properties index aa9858d..51902fe 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,4 +5,4 @@ org.gradle.vfs.watch=false group=org.galemc.gale version=1.19.2-R0.1-SNAPSHOT mcVersion=1.19.2 -paperRef=e6e37ba5d7d455d5f7f8ba029e53d723a5120f66 \ No newline at end of file +paperRef=476ef25d053c523aea416487a38f72011d72a9cf \ No newline at end of file diff --git a/patches/server/0005-Gale-configuration.patch b/patches/server/0005-Gale-configuration.patch index 5d01f67..e73b6d4 100644 --- a/patches/server/0005-Gale-configuration.patch +++ b/patches/server/0005-Gale-configuration.patch @@ -374,7 +374,7 @@ index ff3eced0e20c39b825586897ee2fed01dd471d88..661794310eb10d4b9fe29c9445abd578 if (this.convertOldUsers()) { this.getProfileCache().save(false); // Paper diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index feb0a6d6a90850977b393440881c472c317a9323..4b7058dc684d15a782455dd52a4d57e21ba18592 100644 +index 79aa3374fd47cd57d2e0810bb5afebbdb38a1892..6674c1bc0c6df3ad372975432ffac0143def9441 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -125,12 +125,10 @@ import net.minecraft.world.level.chunk.storage.EntityStorage; @@ -390,7 +390,7 @@ index feb0a6d6a90850977b393440881c472c317a9323..4b7058dc684d15a782455dd52a4d57e2 import net.minecraft.world.level.gameevent.DynamicGameEventListener; import net.minecraft.world.level.gameevent.GameEvent; import net.minecraft.world.level.gameevent.GameEventListener; -@@ -525,7 +523,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -526,7 +524,7 @@ public class ServerLevel extends Level implements WorldGenLevel { public ServerLevel(MinecraftServer minecraftserver, Executor executor, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PrimaryLevelData iworlddataserver, ResourceKey resourcekey, LevelStem worlddimension, ChunkProgressListener worldloadlistener, boolean flag, long i, List list, boolean flag1, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider) { // Holder holder = worlddimension.typeHolder(); // CraftBukkit - decompile error // Objects.requireNonNull(minecraftserver); // CraftBukkit - decompile error diff --git a/patches/server/0010-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch b/patches/server/0010-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch index a05aa13..ecc5a93 100644 --- a/patches/server/0010-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch +++ b/patches/server/0010-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch @@ -40,10 +40,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 3bfa0c6a0d82ed980b3289051892a6d1745ebb69..8c5b2eed391aabccdc720ab253d1b13c6c1fdfff 100644 +index 11d7c42d65b91bf57b7bba7812aa17e60e018c67..60f27cff9d03b5d09621b9daf428a00a916a4579 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3607,7 +3607,7 @@ public abstract class LivingEntity extends Entity { +@@ -3622,7 +3622,7 @@ public abstract class LivingEntity extends Entity { Vec3 vec3d1 = new Vec3(entity.getX(), entity.getEyeY(), entity.getZ()); // Paper - diff on change - used in CraftLivingEntity#hasLineOfSight(Location) and CraftWorld#lineOfSightExists diff --git a/patches/server/0014-Move-random-tick-random.patch b/patches/server/0014-Move-random-tick-random.patch index e8a6aa7..3959efc 100644 --- a/patches/server/0014-Move-random-tick-random.patch +++ b/patches/server/0014-Move-random-tick-random.patch @@ -19,10 +19,10 @@ require it to be initialized earlier. By moving it to the superclass, we initialize it earlier, ensuring that it is available sooner. diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 4b7058dc684d15a782455dd52a4d57e21ba18592..f7214b2a9bc8e8514477f1434a829a82da1e50d6 100644 +index 6674c1bc0c6df3ad372975432ffac0143def9441..5b4f34f255747048393cbb84b607090b9907c0ad 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -792,7 +792,6 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -793,7 +793,6 @@ public class ServerLevel extends Level implements WorldGenLevel { } // Paper start - optimise random block ticking private final BlockPos.MutableBlockPos chunkTickMutablePosition = new BlockPos.MutableBlockPos(); diff --git a/patches/server/0015-Optimize-random-calls-in-chunk-ticking.patch b/patches/server/0015-Optimize-random-calls-in-chunk-ticking.patch index 7ce3fd4..0e7fb61 100644 --- a/patches/server/0015-Optimize-random-calls-in-chunk-ticking.patch +++ b/patches/server/0015-Optimize-random-calls-in-chunk-ticking.patch @@ -64,10 +64,10 @@ index 4ff563d903633f181e1268daa77f250cfec204a0..4654995f9982e77abe4b825b32312c29 boolean flag1 = level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) != 0L && worlddata.getGameTime() % level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) == 0L; // CraftBukkit diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index f7214b2a9bc8e8514477f1434a829a82da1e50d6..a336ab0e88001fc1846b9172c16ca6f6043f98d5 100644 +index 5b4f34f255747048393cbb84b607090b9907c0ad..ff83ad8f61fc6ae251501b7764373b7745b69d33 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -794,6 +794,8 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -795,6 +795,8 @@ public class ServerLevel extends Level implements WorldGenLevel { private final BlockPos.MutableBlockPos chunkTickMutablePosition = new BlockPos.MutableBlockPos(); // Paper end @@ -76,7 +76,7 @@ index f7214b2a9bc8e8514477f1434a829a82da1e50d6..a336ab0e88001fc1846b9172c16ca6f6 public void tickChunk(LevelChunk chunk, int randomTickSpeed) { ChunkPos chunkcoordintpair = chunk.getPos(); boolean flag = this.isRaining(); -@@ -804,7 +806,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -805,7 +807,7 @@ public class ServerLevel extends Level implements WorldGenLevel { gameprofilerfiller.push("thunder"); final BlockPos.MutableBlockPos blockposition = this.chunkTickMutablePosition; // Paper - use mutable to reduce allocation rate, final to force compile fail on change @@ -85,7 +85,7 @@ index f7214b2a9bc8e8514477f1434a829a82da1e50d6..a336ab0e88001fc1846b9172c16ca6f6 blockposition.set(this.findLightningTargetAround(this.getBlockRandomPos(j, 0, k, 15))); // Paper if (this.isRainingAt(blockposition)) { DifficultyInstance difficultydamagescaler = this.getCurrentDifficultyAt(blockposition); -@@ -828,7 +830,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -829,7 +831,7 @@ public class ServerLevel extends Level implements WorldGenLevel { } gameprofilerfiller.popPush("iceandsnow"); diff --git a/patches/server/0022-Cache-on-climbable-check.patch b/patches/server/0022-Cache-on-climbable-check.patch index 62843c2..f4ffebc 100644 --- a/patches/server/0022-Cache-on-climbable-check.patch +++ b/patches/server/0022-Cache-on-climbable-check.patch @@ -31,10 +31,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 8c5b2eed391aabccdc720ab253d1b13c6c1fdfff..e1614462ba2f186db2b9febcc86afc270754199c 100644 +index 60f27cff9d03b5d09621b9daf428a00a916a4579..6fa0f38aff0c5f4ea4961cabf070b8c6463a4a22 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1906,6 +1906,20 @@ public abstract class LivingEntity extends Entity { +@@ -1921,6 +1921,20 @@ public abstract class LivingEntity extends Entity { return this.lastClimbablePos; } diff --git a/patches/server/0028-Use-fast-item-merge-raytracing.patch b/patches/server/0028-Use-fast-item-merge-raytracing.patch index 0364bd7..255c6e2 100644 --- a/patches/server/0028-Use-fast-item-merge-raytracing.patch +++ b/patches/server/0028-Use-fast-item-merge-raytracing.patch @@ -31,10 +31,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index fcc5444a1268931a0fd2df1e6bbbc17cfd5a61e0..cab6cc8255704f89cca909f16c9c182d95700e4a 100644 +index c8d8fdef7b8abc0f59b7d19462825ae30c8d4f48..298b7b2d2e306a22a511a56934fd985cb5d9f7de 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -@@ -252,10 +252,16 @@ public class ItemEntity extends Entity { +@@ -257,10 +257,16 @@ public class ItemEntity extends Entity { if (entityitem.isMergable()) { // Paper Start - Fix items merging through walls if (this.level.paperConfig().fixes.fixItemsMergingThroughWalls) { diff --git a/patches/server/0037-Remove-lambda-from-ticking-guard.patch b/patches/server/0037-Remove-lambda-from-ticking-guard.patch index 004e647..ea2718b 100644 --- a/patches/server/0037-Remove-lambda-from-ticking-guard.patch +++ b/patches/server/0037-Remove-lambda-from-ticking-guard.patch @@ -31,10 +31,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index a336ab0e88001fc1846b9172c16ca6f6043f98d5..e7505144eba068e687f1ce7617f09d838bceab85 100644 +index ff83ad8f61fc6ae251501b7764373b7745b69d33..4ce7445b81ce4fe8c6a9395c719d483cc002c08b 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -725,7 +725,20 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -726,7 +726,20 @@ public class ServerLevel extends Level implements WorldGenLevel { } gameprofilerfiller.push("tick"); diff --git a/patches/server/0038-Reduce-entity-fluid-lookups-if-no-fluids.patch b/patches/server/0038-Reduce-entity-fluid-lookups-if-no-fluids.patch index 76f76ec..4b104b5 100644 --- a/patches/server/0038-Reduce-entity-fluid-lookups-if-no-fluids.patch +++ b/patches/server/0038-Reduce-entity-fluid-lookups-if-no-fluids.patch @@ -31,10 +31,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 5a8d3cd8e3c1a4e901d321aab11698aed328b8bb..99ded3ea60fa625f0a557d413dd1b063f827d10d 100644 +index ff7599dbaecbf09f234a1b43b98ce13e1bf491f6..b524c2ef54821adce2a9b744aa6efcdd4aa03034 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4043,16 +4043,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4055,16 +4055,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public boolean updateFluidHeightAndDoFluidPushing(TagKey tag, double speed) { @@ -60,7 +60,7 @@ index 5a8d3cd8e3c1a4e901d321aab11698aed328b8bb..99ded3ea60fa625f0a557d413dd1b063 double d1 = 0.0D; boolean flag = this.isPushedByFluid(); boolean flag1 = false; -@@ -4060,14 +4062,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4072,14 +4074,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { int k1 = 0; BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos(); @@ -128,7 +128,7 @@ index 5a8d3cd8e3c1a4e901d321aab11698aed328b8bb..99ded3ea60fa625f0a557d413dd1b063 if (d2 >= axisalignedbb.minY) { flag1 = true; -@@ -4089,9 +4138,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4101,9 +4150,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { // CraftBukkit end } } diff --git a/patches/server/0041-Reduce-in-wall-checks.patch b/patches/server/0041-Reduce-in-wall-checks.patch index 8307a3c..38f6214 100644 --- a/patches/server/0041-Reduce-in-wall-checks.patch +++ b/patches/server/0041-Reduce-in-wall-checks.patch @@ -28,10 +28,10 @@ but is so much cheaper than the suffocation check that it's worth keeping it. diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index e1614462ba2f186db2b9febcc86afc270754199c..d8ee1536244ab780bc0c5d4e1a72dad4a12328f1 100644 +index 6fa0f38aff0c5f4ea4961cabf070b8c6463a4a22..5add41e429b176195a10115744305a2358b5fb7f 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -399,7 +399,10 @@ public abstract class LivingEntity extends Entity { +@@ -400,7 +400,10 @@ public abstract class LivingEntity extends Entity { if (this.isAlive()) { boolean flag = this instanceof net.minecraft.world.entity.player.Player; @@ -43,7 +43,7 @@ index e1614462ba2f186db2b9febcc86afc270754199c..d8ee1536244ab780bc0c5d4e1a72dad4 this.hurt(DamageSource.IN_WALL, 1.0F); } else if (flag && !this.level.getWorldBorder().isWithinBounds(this.getBoundingBox())) { double d0 = this.level.getWorldBorder().getDistanceToBorder(this) + this.level.getWorldBorder().getDamageSafeZone(); -@@ -1313,6 +1316,15 @@ public abstract class LivingEntity extends Entity { +@@ -1328,6 +1331,15 @@ public abstract class LivingEntity extends Entity { return this.getHealth() <= 0.0F; } diff --git a/patches/server/0043-Reduce-hopper-item-checks.patch b/patches/server/0043-Reduce-hopper-item-checks.patch index 4d747a9..18f6914 100644 --- a/patches/server/0043-Reduce-hopper-item-checks.patch +++ b/patches/server/0043-Reduce-hopper-item-checks.patch @@ -17,7 +17,7 @@ Licensed under: MIT (https://opensource.org/licenses/MIT) Only do an item "suck in" action once per second diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index cab6cc8255704f89cca909f16c9c182d95700e4a..3c4cffddc08f6a24f49ae58a89bc5e70e3ac153c 100644 +index 298b7b2d2e306a22a511a56934fd985cb5d9f7de..0b04f5342966d53dfef5441dd9f1acf62e5623d0 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java @@ -19,11 +19,13 @@ import net.minecraft.world.entity.Entity; @@ -34,7 +34,7 @@ index cab6cc8255704f89cca909f16c9c182d95700e4a..3c4cffddc08f6a24f49ae58a89bc5e70 import net.minecraft.world.phys.Vec3; // CraftBukkit start import net.minecraft.server.MinecraftServer; -@@ -196,11 +198,31 @@ public class ItemEntity extends Entity { +@@ -201,11 +203,31 @@ public class ItemEntity extends Entity { } // CraftBukkit end this.discard(); @@ -66,7 +66,7 @@ index cab6cc8255704f89cca909f16c9c182d95700e4a..3c4cffddc08f6a24f49ae58a89bc5e70 // Spigot start - copied from above @Override public void inactiveTick() { -@@ -220,7 +242,13 @@ public class ItemEntity extends Entity { +@@ -225,7 +247,13 @@ public class ItemEntity extends Entity { } // CraftBukkit end this.discard(); diff --git a/patches/server/0049-Do-not-log-setBlock-in-far-chunks.patch b/patches/server/0049-Do-not-log-setBlock-in-far-chunks.patch index 700403c..3a613b2 100644 --- a/patches/server/0049-Do-not-log-setBlock-in-far-chunks.patch +++ b/patches/server/0049-Do-not-log-setBlock-in-far-chunks.patch @@ -37,7 +37,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/src/main/java/net/minecraft/server/level/WorldGenRegion.java b/src/main/java/net/minecraft/server/level/WorldGenRegion.java -index 80c1e0e47818486a68e0114b063395290365346b..c9e719e676ea26ee94673538db2dfd9ce5c957ae 100644 +index 0d3587e2d454fb0994ecff930b5e496a3999746a..0cc830d2c964727325501ef1b61126022430206c 100644 --- a/src/main/java/net/minecraft/server/level/WorldGenRegion.java +++ b/src/main/java/net/minecraft/server/level/WorldGenRegion.java @@ -53,6 +53,7 @@ import net.minecraft.world.phys.AABB; @@ -48,7 +48,7 @@ index 80c1e0e47818486a68e0114b063395290365346b..c9e719e676ea26ee94673538db2dfd9c import org.slf4j.Logger; public class WorldGenRegion implements WorldGenLevel { -@@ -295,6 +296,7 @@ public class WorldGenRegion implements WorldGenLevel { +@@ -296,6 +297,7 @@ public class WorldGenRegion implements WorldGenLevel { return true; } else { // Paper start diff --git a/patches/server/0057-Fix-legacy-colors-in-console.patch b/patches/server/0057-Fix-legacy-colors-in-console.patch index ef82d3d..b0ca843 100644 --- a/patches/server/0057-Fix-legacy-colors-in-console.patch +++ b/patches/server/0057-Fix-legacy-colors-in-console.patch @@ -37,7 +37,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/src/main/java/io/papermc/paper/console/HexFormattingConverter.java b/src/main/java/io/papermc/paper/console/HexFormattingConverter.java -index b4d0b7ecd56ab952319946854168c1299cb0b1be..beea5c17f07f85825ed1ba5a016f6edc93112115 100644 +index b9922b07cb105618390187d98acdf89e728e1f5a..a66d202749f243f6752df5027cb7c82f6132992a 100644 --- a/src/main/java/io/papermc/paper/console/HexFormattingConverter.java +++ b/src/main/java/io/papermc/paper/console/HexFormattingConverter.java @@ -17,6 +17,7 @@ import org.apache.logging.log4j.core.pattern.PatternFormatter; @@ -56,8 +56,8 @@ index b4d0b7ecd56ab952319946854168c1299cb0b1be..beea5c17f07f85825ed1ba5a016f6edc public static final LegacyComponentSerializer SERIALIZER = LegacyComponentSerializer.builder() .hexColors() .flattener(PaperAdventure.FLATTENER) -@@ -48,6 +50,10 @@ public final class HexFormattingConverter extends LogEventPatternConverter { - private static final String RGB_ANSI = "\u001B[38;2;%d;%d;%dm"; +@@ -49,6 +51,10 @@ public final class HexFormattingConverter extends LogEventPatternConverter { + private static final String RESET_RGB_ANSI = ANSI_RESET + RGB_ANSI; private static final Pattern NAMED_PATTERN = Pattern.compile(COLOR_CHAR + "[0-9a-fk-orA-FK-OR]"); private static final Pattern RGB_PATTERN = Pattern.compile(COLOR_CHAR + "#([0-9a-fA-F]){6}"); + // Gale start - Purpur - fix legacy colors in console @@ -67,7 +67,7 @@ index b4d0b7ecd56ab952319946854168c1299cb0b1be..beea5c17f07f85825ed1ba5a016f6edc private static final String[] RGB_ANSI_CODES = new String[]{ formatHexAnsi(NamedTextColor.BLACK), // Black ยง0 -@@ -133,7 +139,27 @@ public final class HexFormattingConverter extends LogEventPatternConverter { +@@ -134,7 +140,27 @@ public final class HexFormattingConverter extends LogEventPatternConverter { } private static String convertRGBColors(final String input) { @@ -96,7 +96,7 @@ index b4d0b7ecd56ab952319946854168c1299cb0b1be..beea5c17f07f85825ed1ba5a016f6edc final int hex = Integer.decode(result.group().substring(1)); return formatHexAnsi(hex); }); -@@ -151,10 +177,18 @@ public final class HexFormattingConverter extends LogEventPatternConverter { +@@ -152,10 +178,18 @@ public final class HexFormattingConverter extends LogEventPatternConverter { } private static String stripRGBColors(final String input) { @@ -116,7 +116,7 @@ index b4d0b7ecd56ab952319946854168c1299cb0b1be..beea5c17f07f85825ed1ba5a016f6edc int next = content.indexOf(COLOR_CHAR); int last = content.length() - 1; if (next == -1 || next == last) { -@@ -209,4 +243,13 @@ public final class HexFormattingConverter extends LogEventPatternConverter { +@@ -210,4 +244,13 @@ public final class HexFormattingConverter extends LogEventPatternConverter { return new HexFormattingConverter(formatters, strip); } @@ -131,7 +131,7 @@ index b4d0b7ecd56ab952319946854168c1299cb0b1be..beea5c17f07f85825ed1ba5a016f6edc + } diff --git a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java -index bc44c8537ea69a7682584db57ec566ecb4e76b3b..0217977e15ae30918ce6e1dbddb5bdb5d4365c1c 100644 +index 24ed4fb7ddacba24873755edfa88912ffdf81cc8..0965f43068d12a85090906568e2c1b731730f015 100644 --- a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java +++ b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java @@ -60,6 +60,7 @@ public class GaleGlobalConfiguration extends ConfigurationPart { diff --git a/patches/server/0067-Reduce-array-allocations.patch b/patches/server/0067-Reduce-array-allocations.patch index b4a7240..24277d9 100644 --- a/patches/server/0067-Reduce-array-allocations.patch +++ b/patches/server/0067-Reduce-array-allocations.patch @@ -343,7 +343,7 @@ index a2920b8a9eff77d9c5d1d7f70ad3abdacba8f0fa..43f402d9032e4570a81a80e412215598 protected CipherBase(Cipher cipher) { this.cipher = cipher; diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java -index 69b8d1276045cd6742770dcedd6246bb1713fd3b..d05a2bc31f9caa83b8be2d860a34f6e2fb12992e 100644 +index f1e1a4a48349c0e431b31327fdf217989db027b3..40b3ca86faeb7374a2f67ed60769b7440e8dbbd7 100644 --- a/src/main/java/net/minecraft/network/Connection.java +++ b/src/main/java/net/minecraft/network/Connection.java @@ -20,7 +20,6 @@ import io.netty.channel.epoll.EpollSocketChannel; @@ -448,7 +448,7 @@ index 1392c2e7487a2317496c48a013a745b02c8123d3..cceaf1a5a146998896cba0bbdc88f19d for (int j = 0; j < i; ++j) { diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index e7505144eba068e687f1ce7617f09d838bceab85..023cd8d948ff7360ac8348b980473ef119b41225 100644 +index 4ce7445b81ce4fe8c6a9395c719d483cc002c08b..c94b850aa33928c0d834b1897b3e0ace3486c3da 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -39,6 +39,8 @@ import java.util.stream.Collectors; @@ -460,7 +460,7 @@ index e7505144eba068e687f1ce7617f09d838bceab85..023cd8d948ff7360ac8348b980473ef1 import net.minecraft.CrashReport; import net.minecraft.Util; import net.minecraft.core.BlockPos; -@@ -906,7 +908,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -907,7 +909,7 @@ public class ServerLevel extends Level implements WorldGenLevel { BlockPos blockposition2 = blockposition.set(j + randomX, randomY, k + randomZ); BlockState iblockdata = com.destroystokyo.paper.util.maplist.IBlockDataList.getBlockDataFromRaw(raw); @@ -469,7 +469,7 @@ index e7505144eba068e687f1ce7617f09d838bceab85..023cd8d948ff7360ac8348b980473ef1 // We drop the fluid tick since LAVA is ALREADY TICKED by the above method (See LiquidBlock). // TODO CHECK ON UPDATE } -@@ -1161,7 +1163,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1162,7 +1164,7 @@ public class ServerLevel extends Level implements WorldGenLevel { public static List getCurrentlyTickingEntities() { Entity ticking = currentlyTickingEntity.get(); @@ -705,10 +705,10 @@ index c82bb38b5b1c9204daef21455723d21509ad1c44..7ebb622c3e5961c730fbfe9e6113696d private EquipmentSlot(EquipmentSlot.Type type, int entityId, int armorStandId, String name) { this.type = type; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index d8ee1536244ab780bc0c5d4e1a72dad4a12328f1..5926ea4a5ad74cfaf8a33ad8d14e60e21bae606b 100644 +index 5add41e429b176195a10115744305a2358b5fb7f..214106611e449b0ab279fd256122f64b070fd34e 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3077,7 +3077,7 @@ public abstract class LivingEntity extends Entity { +@@ -3092,7 +3092,7 @@ public abstract class LivingEntity extends Entity { @Nullable private Map collectEquipmentChanges() { Map map = null; @@ -758,7 +758,7 @@ index cf40ebd06c52a7a00e6f704a29ae9d2b5186d35a..6d9e63060ea43d8b19c723bb97c1c92e for (int j = 0; j < i; ++j) { diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java -index fb0a77b4cf1ba47c73c00993bd9b7454240fe5d6..b02f3282a00663f68653aab5561932717137c05f 100644 +index d1f7d912ad274cf90a912e44d63b39f9387a694b..966a9b173b2a89b8726a6cf0c3cc94969f7930a2 100644 --- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java +++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java @@ -233,7 +233,7 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder { diff --git a/patches/server/0080-Check-frozen-ticks-before-landing-block.patch b/patches/server/0080-Check-frozen-ticks-before-landing-block.patch index acec81b..399d016 100644 --- a/patches/server/0080-Check-frozen-ticks-before-landing-block.patch +++ b/patches/server/0080-Check-frozen-ticks-before-landing-block.patch @@ -13,10 +13,10 @@ As part of: Lithium (https://github.com/CaffeineMC/lithium-fabric) Licensed under: LGPL-3.0 (https://www.gnu.org/licenses/lgpl-3.0.html) diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 5926ea4a5ad74cfaf8a33ad8d14e60e21bae606b..05168f8b8f542e73e7296a0b3f892d35924394ba 100644 +index 214106611e449b0ab279fd256122f64b070fd34e..7a2229f64a67530760b02ff1ac82495ec5f91b37 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -574,11 +574,10 @@ public abstract class LivingEntity extends Entity { +@@ -575,11 +575,10 @@ public abstract class LivingEntity extends Entity { } protected void tryAddFrost() { @@ -29,7 +29,7 @@ index 5926ea4a5ad74cfaf8a33ad8d14e60e21bae606b..05168f8b8f542e73e7296a0b3f892d35 if (attributemodifiable == null) { return; -@@ -588,7 +587,6 @@ public abstract class LivingEntity extends Entity { +@@ -589,7 +588,6 @@ public abstract class LivingEntity extends Entity { attributemodifiable.addTransientModifier(new AttributeModifier(LivingEntity.SPEED_MODIFIER_POWDER_SNOW_UUID, "Powder snow slow", (double) f, AttributeModifier.Operation.ADDITION)); } diff --git a/patches/server/0091-Ignore-durability-change-equipment-updates.patch b/patches/server/0091-Ignore-durability-change-equipment-updates.patch index 0299ff8..8dc9518 100644 --- a/patches/server/0091-Ignore-durability-change-equipment-updates.patch +++ b/patches/server/0091-Ignore-durability-change-equipment-updates.patch @@ -13,10 +13,10 @@ As part of: Slice (https://github.com/Cryptite/Slice) Licensed under: MIT (https://opensource.org/licenses/MIT) diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 05168f8b8f542e73e7296a0b3f892d35924394ba..093f8f7be0a6005321a45c42d70d0e8fb295429f 100644 +index 7a2229f64a67530760b02ff1ac82495ec5f91b37..03edc4274f0119b6c9134a7683541f6e126d4c43 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3095,7 +3095,7 @@ public abstract class LivingEntity extends Entity { +@@ -3110,7 +3110,7 @@ public abstract class LivingEntity extends Entity { ItemStack itemstack1 = this.getItemBySlot(enumitemslot); diff --git a/patches/server/0108-Reduce-RandomSource-instances.patch b/patches/server/0108-Reduce-RandomSource-instances.patch index f2a83de..c1ae6ef 100644 --- a/patches/server/0108-Reduce-RandomSource-instances.patch +++ b/patches/server/0108-Reduce-RandomSource-instances.patch @@ -26,10 +26,10 @@ index 23dcdc71a8a6fd5472cdc1c22331b56c6bb3ded9..c3f88980f1ea2f7b04ad110494962725 double d1 = (double) (center.y - maxRange); double d2 = (double) (center.x + maxRange); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 3b122f521c166253f20d233c0fcebdede6660be5..18a774d310a06a90fb2ba2eb8c9fbd26ca28ddc3 100644 +index 9c9b4d7e0637348a94befce9377fdb69c1239694..88d1659f9ada662ada2d4c0c540fc8a0d3b0005a 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -380,7 +380,7 @@ public class ServerPlayer extends Player { +@@ -387,7 +387,7 @@ public class ServerPlayer extends Player { long l = k * k; int i1 = l > 2147483647L ? Integer.MAX_VALUE : (int) l; int j1 = this.getCoprime(i1); @@ -38,7 +38,7 @@ index 3b122f521c166253f20d233c0fcebdede6660be5..18a774d310a06a90fb2ba2eb8c9fbd26 for (int l1 = 0; l1 < i1; ++l1) { int i2 = (k1 + j1 * l1) % i1; -@@ -417,7 +417,7 @@ public class ServerPlayer extends Player { +@@ -424,7 +424,7 @@ public class ServerPlayer extends Player { long l = k * k; int i1 = l > 2147483647L ? Integer.MAX_VALUE : (int) l; int j1 = this.getCoprime(i1); diff --git a/patches/server/0115-Base-thread-pools.patch b/patches/server/0115-Base-thread-pools.patch index 024dda3..c04087f 100644 --- a/patches/server/0115-Base-thread-pools.patch +++ b/patches/server/0115-Base-thread-pools.patch @@ -383,7 +383,7 @@ index 40812e6518b8aacfbd2d8cd65a407d00bb19e991..f3489a1e01f8b53045fbee9d99943b85 this.addEntities(list, worldserver1, vec3d, predicate); } diff --git a/src/main/java/net/minecraft/network/protocol/PacketUtils.java b/src/main/java/net/minecraft/network/protocol/PacketUtils.java -index 8bc0cb9ad5bb4e76d962ff54305e2c08e279a17b..8042ac663a3c91ece03986d37c8e2efe9688280f 100644 +index 27d4aa45e585842c04491839826d405d6f447f0e..f36a0e29f2ba464eee3fabba0b98a714a3b8a49d 100644 --- a/src/main/java/net/minecraft/network/protocol/PacketUtils.java +++ b/src/main/java/net/minecraft/network/protocol/PacketUtils.java @@ -2,6 +2,7 @@ package net.minecraft.network.protocol; @@ -413,7 +413,7 @@ index 8bc0cb9ad5bb4e76d962ff54305e2c08e279a17b..8042ac663a3c91ece03986d37c8e2efe - public static void ensureRunningOnSameThread(Packet packet, T listener, BlockableEventLoop engine) throws RunningOnDifferentThreadException { + public static void ensureRunningOnSameThread(Packet packet, T listener, AbstractBlockableEventLoop engine) throws RunningOnDifferentThreadException { // Gale - base thread pools if (!engine.isSameThread()) { - engine.executeIfPossible(() -> { + engine.execute(() -> { // Paper - Fix preemptive player kick on a server shutdown. packetProcessing.push(listener); // Paper - detailed watchdog information diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java index d8f8d2495c1e2e3f194485d16ea587d26cc3a23d..263c0be0d81f841cbbec474b48de151e6ab437d9 100644 @@ -1290,7 +1290,7 @@ index 4654995f9982e77abe4b825b32312c2913671cd4..ea23009b8f5a02429db514a374edb5db // CraftBukkit start - process pending Chunk loadCallback() and unloadCallback() after each run task public boolean pollTask() { diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 023cd8d948ff7360ac8348b980473ef119b41225..35b38e05b439f656a4f282e4bf91b4f97d2ef49a 100644 +index c94b850aa33928c0d834b1897b3e0ace3486c3da..784a05d3df96b4d24d9f262ee09f48947ada8353 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -22,6 +22,7 @@ import java.io.Writer; @@ -1321,7 +1321,7 @@ index 023cd8d948ff7360ac8348b980473ef119b41225..35b38e05b439f656a4f282e4bf91b4f9 private final MinecraftServer server; public final PrimaryLevelData serverLevelData; // CraftBukkit - type final EntityTickList entityTickList; -@@ -2609,7 +2616,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -2610,7 +2617,7 @@ public class ServerLevel extends Level implements WorldGenLevel { // Spigot start if ( entity instanceof Player ) { @@ -1730,7 +1730,7 @@ index 55d83a9a691d11c9408d2c3260c3e77dfb51b97e..367503092090c1ade673f865cd19956c return ret; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 9368ec01e498f913bc5b7b3e77fe87659090d9b5..312c3deddd5c3b30839177cdb43a7c73fb44bfc8 100644 +index 01132b10799034232e7e5cbb460d848601e04012..85ecf1530e26fd908b804b853edb6a50d27b1b69 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -189,6 +189,7 @@ import org.bukkit.plugin.Plugin; @@ -1741,7 +1741,7 @@ index 9368ec01e498f913bc5b7b3e77fe87659090d9b5..312c3deddd5c3b30839177cdb43a7c73 public abstract class CraftEntity implements org.bukkit.entity.Entity { private static PermissibleBase perm; -@@ -1260,7 +1261,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1266,7 +1267,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { for (net.minecraft.world.level.chunk.ChunkAccess chunk : list) { chunkProviderServer.addTicketAtLevel(net.minecraft.server.level.TicketType.POST_TELEPORT, chunk.getPos(), 33, CraftEntity.this.getEntityId()); } @@ -1750,7 +1750,7 @@ index 9368ec01e498f913bc5b7b3e77fe87659090d9b5..312c3deddd5c3b30839177cdb43a7c73 try { ret.complete(CraftEntity.this.teleport(locationClone, cause) ? Boolean.TRUE : Boolean.FALSE); } catch (Throwable throwable) { -@@ -1270,7 +1271,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1276,7 +1277,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { net.minecraft.server.MinecraftServer.LOGGER.error("Failed to teleport entity " + CraftEntity.this, throwable); ret.completeExceptionally(throwable); }