diff --git a/gradle.properties b/gradle.properties index 124d1e55..76bcdfe0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = cn.dreeam.leaf mcVersion = 1.21.1 version = 1.21.1-R0.1-SNAPSHOT -galeCommit = 0f8447745c03d811434c81f6db87736351bceb13 +galeCommit = 3a10fbfb0d13a2ef47da837b4c524272779f5c0d org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/server/0003-Leaf-Config.patch b/patches/server/0003-Leaf-Config.patch index a9c6e60d..b418ec01 100644 --- a/patches/server/0003-Leaf-Config.patch +++ b/patches/server/0003-Leaf-Config.patch @@ -11,7 +11,7 @@ Add per world config Add config reload diff --git a/build.gradle.kts b/build.gradle.kts -index 58663d658394704eda5193d60ed8d412c4845fae..86c54bdbe9db0c2b11c78a0323a33344614131ba 100644 +index e6d3fb2e7f7c4b5e5298acef7569a046c9062b67..9783e7800d060d0daab25b37b86cbbd811e02f65 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -14,6 +14,13 @@ val alsoShade: Configuration by configurations.creating @@ -41,10 +41,10 @@ index 278adb48400ca9d4fd37bff040b37d4a8dd47282..759b22fc6f949829cef757232357368e DedicatedServerSettings dedicatedserversettings = new DedicatedServerSettings(optionset); // CraftBukkit - CLI argument support diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index f4dd63ae1a9715f3cd10949ca49a269897443e56..1e18635c78ee73fab352465e56f2dc827ae8337a 100644 +index f39c51ae8ea689cb089cd9d4195276c2cfdaf1b7..5fed168aeeab505cd75cb89af09ac3ba8bb5aedb 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1222,6 +1222,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop processQueue = new java.util.concurrent.ConcurrentLinkedQueue(); public int autosavePeriod; // Paper - don't store the vanilla dispatcher -@@ -305,6 +306,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0; // Paper - Add EntityMoveEvent net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = worldserver.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper - Perf: Optimize Hoppers worldserver.updateLagCompensationTick(); // Paper - lag compensation @@ -8203,7 +8203,7 @@ index e86fdf5d6853b7bddfe19d6e5d41d3dec0c25f23..f45567aa7695da68f92809a6c208eb51 } 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 b8dacff80c114a00b698b6fc29e4d6da2eaedb5e..9ef292d75160089b278ee38d41f65aeb221ea600 100644 +index adbe1c6aad0abe367280b75c4d6691ac5e26bc30..a23cf6bc107220c92fa40c56e8360e1744ec9ab9 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java @@ -66,6 +66,12 @@ public class ItemEntity extends Entity implements TraceableEntity { @@ -8219,7 +8219,7 @@ index b8dacff80c114a00b698b6fc29e4d6da2eaedb5e..9ef292d75160089b278ee38d41f65aeb public ItemEntity(EntityType type, Level world) { super(type, world); -@@ -400,7 +406,16 @@ public class ItemEntity extends Entity implements TraceableEntity { +@@ -399,7 +405,16 @@ public class ItemEntity extends Entity implements TraceableEntity { @Override public boolean hurt(DamageSource source, float amount) { @@ -8237,7 +8237,7 @@ index b8dacff80c114a00b698b6fc29e4d6da2eaedb5e..9ef292d75160089b278ee38d41f65aeb return false; } else if (!this.getItem().isEmpty() && this.getItem().is(Items.NETHER_STAR) && source.is(DamageTypeTags.IS_EXPLOSION)) { return false; -@@ -608,6 +623,12 @@ public class ItemEntity extends Entity implements TraceableEntity { +@@ -607,6 +622,12 @@ public class ItemEntity extends Entity implements TraceableEntity { public void setItem(ItemStack stack) { this.getEntityData().set(ItemEntity.DATA_ITEM, stack); this.despawnRate = this.level().paperConfig().entities.spawning.altItemDespawnRate.enabled ? this.level().paperConfig().entities.spawning.altItemDespawnRate.items.getOrDefault(stack.getItem(), this.level().spigotConfig.itemDespawnRate) : this.level().spigotConfig.itemDespawnRate; // Paper - Alternative item-despawn-rate @@ -11414,13 +11414,13 @@ index 0d447c8a141a7d7fcaf9218571bf0513dd28269e..fdc57a81cbd7a02a3ade0da8ff84d7df this.updateActivity(); } diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java -index 2280004638fd19ed018cb3e77d53a018b34ec516..4578fc25456361b76c9821f066fd8a628cd4bd67 100644 +index 2b43337ac63d051718a2074fcc46e128a1d65129..77cc311e2b9aea6cb4d014fa93aac2d362bc8cd3 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java +++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java @@ -97,22 +97,70 @@ public class Zombie extends Monster { private int inWaterTime; public int conversionTime; - private int lastTick = MinecraftServer.currentTick; // CraftBukkit - add field + // private int lastTick = MinecraftServer.currentTick; // CraftBukkit - add field // Paper - remove anti tick skipping measures / wall time - private boolean shouldBurnInDay = true; // Paper - Add more Zombie API + //private boolean shouldBurnInDay = true; // Paper - Add more Zombie API // Purpur - implemented in LivingEntity - API for any mob to burn daylight @@ -11510,7 +11510,7 @@ index 2280004638fd19ed018cb3e77d53a018b34ec516..4578fc25456361b76c9821f066fd8a62 this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, IronGolem.class, true)); this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR)); } -@@ -244,32 +304,7 @@ public class Zombie extends Monster { +@@ -241,32 +301,7 @@ public class Zombie extends Monster { @Override public void aiStep() { @@ -11544,7 +11544,7 @@ index 2280004638fd19ed018cb3e77d53a018b34ec516..4578fc25456361b76c9821f066fd8a62 super.aiStep(); } -@@ -307,6 +342,7 @@ public class Zombie extends Monster { +@@ -304,6 +339,7 @@ public class Zombie extends Monster { } @@ -11552,7 +11552,7 @@ index 2280004638fd19ed018cb3e77d53a018b34ec516..4578fc25456361b76c9821f066fd8a62 public boolean isSunSensitive() { return this.shouldBurnInDay; // Paper - Add more Zombie API } -@@ -435,7 +471,7 @@ public class Zombie extends Monster { +@@ -432,7 +468,7 @@ public class Zombie extends Monster { nbt.putBoolean("CanBreakDoors", this.canBreakDoors()); nbt.putInt("InWaterTime", this.isInWater() ? this.inWaterTime : -1); nbt.putInt("DrownedConversionTime", this.isUnderWaterConverting() ? this.conversionTime : -1); @@ -11561,7 +11561,7 @@ index 2280004638fd19ed018cb3e77d53a018b34ec516..4578fc25456361b76c9821f066fd8a62 } @Override -@@ -448,7 +484,7 @@ public class Zombie extends Monster { +@@ -445,7 +481,7 @@ public class Zombie extends Monster { this.startUnderWaterConversion(nbt.getInt("DrownedConversionTime")); } // Paper start - Add more Zombie API @@ -11570,7 +11570,7 @@ index 2280004638fd19ed018cb3e77d53a018b34ec516..4578fc25456361b76c9821f066fd8a62 this.shouldBurnInDay = nbt.getBoolean("Paper.ShouldBurnInDay"); } // Paper end - Add more Zombie API -@@ -520,19 +556,20 @@ public class Zombie extends Monster { +@@ -517,19 +553,20 @@ public class Zombie extends Monster { } if (object instanceof Zombie.ZombieGroupData entityzombie_groupdatazombie) { @@ -11597,7 +11597,7 @@ index 2280004638fd19ed018cb3e77d53a018b34ec516..4578fc25456361b76c9821f066fd8a62 Chicken entitychicken1 = (Chicken) EntityType.CHICKEN.create(this.level()); if (entitychicken1 != null) { -@@ -542,6 +579,7 @@ public class Zombie extends Monster { +@@ -539,6 +576,7 @@ public class Zombie extends Monster { this.startRiding(entitychicken1); world.addFreshEntity(entitychicken1, CreatureSpawnEvent.SpawnReason.MOUNT); // CraftBukkit } @@ -11605,7 +11605,7 @@ index 2280004638fd19ed018cb3e77d53a018b34ec516..4578fc25456361b76c9821f066fd8a62 } } } -@@ -588,7 +626,7 @@ public class Zombie extends Monster { +@@ -585,7 +623,7 @@ public class Zombie extends Monster { } protected void randomizeReinforcementsChance() { @@ -16589,7 +16589,7 @@ index 86d95edc7dd1e42b4b38eba1177cd508e72e4fc4..6c07fc507df6070854f5950a8616d294 private static final float SAFE_TRAVEL_MAX_ENTITY_XY = 4.0F; private static final double SAFE_TRAVEL_MAX_VERTICAL_DELTA = 1.0D; diff --git a/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java b/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java -index 73e546cc828850365dae0131bf8d997f58473823..d6c704d8e933d689c3a946d7ef0e8396ac024841 100644 +index 72d69cf3976abef064e2bf10455025536c67082f..b794c097039f6a3f812dd76df407587594d3ac49 100644 --- a/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java +++ b/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java @@ -80,6 +80,7 @@ public class MapItemSavedData extends SavedData { diff --git a/patches/server/0012-Fix-Pufferfish-and-Purpur-patches.patch b/patches/server/0012-Fix-Pufferfish-and-Purpur-patches.patch index d96f9dd7..3cb8be87 100644 --- a/patches/server/0012-Fix-Pufferfish-and-Purpur-patches.patch +++ b/patches/server/0012-Fix-Pufferfish-and-Purpur-patches.patch @@ -28,7 +28,7 @@ index 23609a71a993fc91271578ee0a541a9c6ec7354f..34f7f74b374d319d0d578e498db7663d @Override diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 9d082b3c06281b0cafe455959d6ef20b8891110e..c842bd59cb612a98d261d31a026d4ae8ce4e455b 100644 +index 3e13ef5a4d3771a0c8eab0721951051a84aba9fa..f185a1a6a924e1f304a8a78028e3722c9668e586 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -300,7 +300,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop S spin(Function serverFactory) { AtomicReference atomicreference = new AtomicReference(); -@@ -1036,6 +1036,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop implements ServerInfo, ChunkIOErrorReporter, CommandSource, AutoCloseable, ca.spottedleaf.moonrise.patches.chunk_system.server.ChunkSystemMinecraftServer { // Paper - rewrite chunk system public static final int SERVER_THREAD_PRIORITY = Integer.getInteger("gale.thread.priority.server", -1); // Gale - server thread priority environment variable -@@ -1026,7 +1024,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { return !this.canSleepForTickNoOversleep(); // Paper - move oversleep into full server tick -@@ -1601,15 +1597,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { entityplayer.connection.suspendFlushing(); }); @@ -914,7 +914,7 @@ index ea19753d46b185f540084f8c5b97c59de1ba5233..1578fb315db16933059ed9c17b883059 // Paper start - Folia scheduler API ((io.papermc.paper.threadedregions.scheduler.FoliaGlobalRegionScheduler) Bukkit.getGlobalRegionScheduler()).tick(); getAllLevels().forEach(level -> { -@@ -1757,20 +1745,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop= i) { return (List) object; diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 4652e1d7f8b49faa36e632b1ce36b010fe1cc582..69d11753d98f05be5a894268be1a1452ca4f8f8f 100644 +index 04c1dc92d6404fffffd519f9f48763253737f14d..c2049ace0261c0a76b06d7f3da3514e1c12194aa 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1704,7 +1704,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop S spin(Function serverFactory) { AtomicReference atomicreference = new AtomicReference(); -@@ -1732,6 +1733,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { for (final Entity entity : level.moonrise$getEntityLookup().getAllCopy()) { // Paper - rewrite chunk system if (entity.isRemoved()) { -@@ -1743,6 +1756,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop entitytypes = entityzombie.getType(); diff --git a/patches/server/0105-Change-max-stack-count.patch b/patches/server/0105-Change-max-stack-count.patch index 4e93e3a6..a799e418 100644 --- a/patches/server/0105-Change-max-stack-count.patch +++ b/patches/server/0105-Change-max-stack-count.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Change max stack count TODO - Dreeam: Check shulkerbox unpack whether correct 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 fd96a97d35fcd422c3f99aa379a0daf9e5c2a695..5633ecea8639dd8564eb7f61aa9d366b552407a1 100644 +index 1fe41abcdc28013e2dae4b5c3ee727759fc3890c..18773f975b70f4d871808aa0eb1f7313baf26a91 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -@@ -351,7 +351,13 @@ public class ItemEntity extends Entity implements TraceableEntity { +@@ -350,7 +350,13 @@ public class ItemEntity extends Entity implements TraceableEntity { private boolean isMergable() { ItemStack itemstack = this.getItem(); @@ -24,7 +24,7 @@ index fd96a97d35fcd422c3f99aa379a0daf9e5c2a695..5633ecea8639dd8564eb7f61aa9d366b } private void tryToMerge(ItemEntity other) { -@@ -369,11 +375,24 @@ public class ItemEntity extends Entity implements TraceableEntity { +@@ -368,11 +374,24 @@ public class ItemEntity extends Entity implements TraceableEntity { } public static boolean areMergable(ItemStack stack1, ItemStack stack2) { @@ -51,7 +51,7 @@ index fd96a97d35fcd422c3f99aa379a0daf9e5c2a695..5633ecea8639dd8564eb7f61aa9d366b ItemStack itemstack2 = stack1.copyWithCount(stack1.getCount() + j); stack2.shrink(j); -@@ -381,7 +400,14 @@ public class ItemEntity extends Entity implements TraceableEntity { +@@ -380,7 +399,14 @@ public class ItemEntity extends Entity implements TraceableEntity { } private static void merge(ItemEntity targetEntity, ItemStack stack1, ItemStack stack2) {