diff --git a/leaves-server/minecraft-patches/features/0057-Container-open-passthrough.patch b/leaves-server/minecraft-patches/features/0056-Container-open-passthrough.patch similarity index 100% rename from leaves-server/minecraft-patches/features/0057-Container-open-passthrough.patch rename to leaves-server/minecraft-patches/features/0056-Container-open-passthrough.patch diff --git a/leaves-server/minecraft-patches/features/0056-Raider-die-skip-self-raid-check.patch b/leaves-server/minecraft-patches/features/0056-Raider-die-skip-self-raid-check.patch deleted file mode 100644 index 839e84f6..00000000 --- a/leaves-server/minecraft-patches/features/0056-Raider-die-skip-self-raid-check.patch +++ /dev/null @@ -1,19 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: violetc <58360096+s-yh-china@users.noreply.github.com> -Date: Sun, 9 Jul 2023 16:51:47 +0800 -Subject: [PATCH] Raider die skip self raid check - - -diff --git a/net/minecraft/world/entity/raid/Raider.java b/net/minecraft/world/entity/raid/Raider.java -index a495789b2d21fa9a24d5dca4ecfa196ddce49466..7b697f1dfe8131296ef55cd88a8b9d7cd884eb44 100644 ---- a/net/minecraft/world/entity/raid/Raider.java -+++ b/net/minecraft/world/entity/raid/Raider.java -@@ -156,7 +156,7 @@ public abstract class Raider extends PatrollingMonster { - } - - public boolean hasRaid() { -- return this.level() instanceof ServerLevel serverLevel && (this.getCurrentRaid() != null || serverLevel.getRaidAt(this.blockPosition()) != null); -+ return !org.leavesmc.leaves.LeavesConfig.modify.skipSelfRaidCheck && (this.level() instanceof ServerLevel serverLevel && (this.getCurrentRaid() != null || serverLevel.getRaidAt(this.blockPosition()) != null)); // Leaves - skip self raid check - } - - public boolean hasActiveRaid() { diff --git a/leaves-server/minecraft-patches/features/0058-Dont-respond-ping-before-start-fully.patch b/leaves-server/minecraft-patches/features/0057-Dont-respond-ping-before-start-fully.patch similarity index 100% rename from leaves-server/minecraft-patches/features/0058-Dont-respond-ping-before-start-fully.patch rename to leaves-server/minecraft-patches/features/0057-Dont-respond-ping-before-start-fully.patch diff --git a/leaves-server/minecraft-patches/features/0059-Faster-chunk-serialization.patch b/leaves-server/minecraft-patches/features/0058-Faster-chunk-serialization.patch similarity index 100% rename from leaves-server/minecraft-patches/features/0059-Faster-chunk-serialization.patch rename to leaves-server/minecraft-patches/features/0058-Faster-chunk-serialization.patch diff --git a/leaves-server/minecraft-patches/features/0060-Skip-secondary-POI-sensor-if-absent.patch b/leaves-server/minecraft-patches/features/0059-Skip-secondary-POI-sensor-if-absent.patch similarity index 100% rename from leaves-server/minecraft-patches/features/0060-Skip-secondary-POI-sensor-if-absent.patch rename to leaves-server/minecraft-patches/features/0059-Skip-secondary-POI-sensor-if-absent.patch diff --git a/leaves-server/minecraft-patches/features/0061-Store-mob-counts-in-an-array.patch b/leaves-server/minecraft-patches/features/0060-Store-mob-counts-in-an-array.patch similarity index 100% rename from leaves-server/minecraft-patches/features/0061-Store-mob-counts-in-an-array.patch rename to leaves-server/minecraft-patches/features/0060-Store-mob-counts-in-an-array.patch diff --git a/leaves-server/minecraft-patches/features/0062-Optimize-noise-generation.patch b/leaves-server/minecraft-patches/features/0061-Optimize-noise-generation.patch similarity index 100% rename from leaves-server/minecraft-patches/features/0062-Optimize-noise-generation.patch rename to leaves-server/minecraft-patches/features/0061-Optimize-noise-generation.patch diff --git a/leaves-server/minecraft-patches/features/0063-Optimize-sun-burn-tick.patch b/leaves-server/minecraft-patches/features/0062-Optimize-sun-burn-tick.patch similarity index 100% rename from leaves-server/minecraft-patches/features/0063-Optimize-sun-burn-tick.patch rename to leaves-server/minecraft-patches/features/0062-Optimize-sun-burn-tick.patch diff --git a/leaves-server/minecraft-patches/features/0064-Reduce-lambda-and-Optional-allocation-in-EntityBased.patch b/leaves-server/minecraft-patches/features/0063-Reduce-lambda-and-Optional-allocation-in-EntityBased.patch similarity index 100% rename from leaves-server/minecraft-patches/features/0064-Reduce-lambda-and-Optional-allocation-in-EntityBased.patch rename to leaves-server/minecraft-patches/features/0063-Reduce-lambda-and-Optional-allocation-in-EntityBased.patch diff --git a/leaves-server/minecraft-patches/features/0065-Avoid-Class-isAssignableFrom-call-in-ClassInstanceMu.patch b/leaves-server/minecraft-patches/features/0064-Avoid-Class-isAssignableFrom-call-in-ClassInstanceMu.patch similarity index 100% rename from leaves-server/minecraft-patches/features/0065-Avoid-Class-isAssignableFrom-call-in-ClassInstanceMu.patch rename to leaves-server/minecraft-patches/features/0064-Avoid-Class-isAssignableFrom-call-in-ClassInstanceMu.patch diff --git a/leaves-server/minecraft-patches/features/0066-Optimized-CubePointRange.patch b/leaves-server/minecraft-patches/features/0065-Optimized-CubePointRange.patch similarity index 100% rename from leaves-server/minecraft-patches/features/0066-Optimized-CubePointRange.patch rename to leaves-server/minecraft-patches/features/0065-Optimized-CubePointRange.patch diff --git a/leaves-server/minecraft-patches/features/0067-Check-frozen-ticks-before-landing-block.patch b/leaves-server/minecraft-patches/features/0066-Check-frozen-ticks-before-landing-block.patch similarity index 93% rename from leaves-server/minecraft-patches/features/0067-Check-frozen-ticks-before-landing-block.patch rename to leaves-server/minecraft-patches/features/0066-Check-frozen-ticks-before-landing-block.patch index 8a6bb147..3ab6b524 100644 --- a/leaves-server/minecraft-patches/features/0067-Check-frozen-ticks-before-landing-block.patch +++ b/leaves-server/minecraft-patches/features/0066-Check-frozen-ticks-before-landing-block.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Check frozen ticks before landing block This patch is Powered by Gale(https://github.com/GaleMC/Gale) diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java -index c25cdcebfdd2697da927d55420ab9f02bd4c792a..305c099d32f1472a6e8909cdf2a53cec8a31afb5 100644 +index 9c85639394826f7e683d67e53c1be8cdf9369a78..1bf4cda041189aa5ac67be4a1bda312620788388 100644 --- a/net/minecraft/world/entity/LivingEntity.java +++ b/net/minecraft/world/entity/LivingEntity.java @@ -537,10 +537,10 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin diff --git a/leaves-server/minecraft-patches/features/0068-Skip-entity-move-if-movement-is-zero.patch b/leaves-server/minecraft-patches/features/0067-Skip-entity-move-if-movement-is-zero.patch similarity index 100% rename from leaves-server/minecraft-patches/features/0068-Skip-entity-move-if-movement-is-zero.patch rename to leaves-server/minecraft-patches/features/0067-Skip-entity-move-if-movement-is-zero.patch diff --git a/leaves-server/minecraft-patches/features/0069-Skip-cloning-advancement-criteria.patch b/leaves-server/minecraft-patches/features/0068-Skip-cloning-advancement-criteria.patch similarity index 100% rename from leaves-server/minecraft-patches/features/0069-Skip-cloning-advancement-criteria.patch rename to leaves-server/minecraft-patches/features/0068-Skip-cloning-advancement-criteria.patch diff --git a/leaves-server/minecraft-patches/features/0070-Avoid-anvil-too-expensive.patch b/leaves-server/minecraft-patches/features/0069-Avoid-anvil-too-expensive.patch similarity index 100% rename from leaves-server/minecraft-patches/features/0070-Avoid-anvil-too-expensive.patch rename to leaves-server/minecraft-patches/features/0069-Avoid-anvil-too-expensive.patch diff --git a/leaves-server/minecraft-patches/features/0071-Bow-infinity-fix.patch b/leaves-server/minecraft-patches/features/0070-Bow-infinity-fix.patch similarity index 100% rename from leaves-server/minecraft-patches/features/0071-Bow-infinity-fix.patch rename to leaves-server/minecraft-patches/features/0070-Bow-infinity-fix.patch diff --git a/leaves-server/minecraft-patches/features/0072-Zero-tick-plants.patch b/leaves-server/minecraft-patches/features/0071-Zero-tick-plants.patch similarity index 100% rename from leaves-server/minecraft-patches/features/0072-Zero-tick-plants.patch rename to leaves-server/minecraft-patches/features/0071-Zero-tick-plants.patch diff --git a/leaves-server/minecraft-patches/features/0073-Replay-Mod-API.patch b/leaves-server/minecraft-patches/features/0072-Replay-Mod-API.patch similarity index 99% rename from leaves-server/minecraft-patches/features/0073-Replay-Mod-API.patch rename to leaves-server/minecraft-patches/features/0072-Replay-Mod-API.patch index d0ef7acf..67a4d107 100644 --- a/leaves-server/minecraft-patches/features/0073-Replay-Mod-API.patch +++ b/leaves-server/minecraft-patches/features/0072-Replay-Mod-API.patch @@ -181,7 +181,7 @@ index c6ae34f91b3629990294fc5e69237a1e600ef038..2109b0a2d4099e64c34cd1c45b83f726 org.bukkit.entity.Player sender = (org.bukkit.entity.Player) source.getBukkitSender(); playersTemp = playersTemp.stream().filter((ep) -> sender.canSee(ep.getBukkitEntity())).collect(java.util.stream.Collectors.toList()); diff --git a/net/minecraft/server/commands/OpCommand.java b/net/minecraft/server/commands/OpCommand.java -index f2286b96b8f40b4588f817913c42ae7b4a92340f..dbe6c37642d35ac6ee8b428cf1e45878a5dfa9da 100644 +index e6c7bbb023000b9de90c1256274ff5aba4a6478a..98f8804d58616592332e2a968282be6ad8903ea8 100644 --- a/net/minecraft/server/commands/OpCommand.java +++ b/net/minecraft/server/commands/OpCommand.java @@ -25,7 +25,7 @@ public class OpCommand { diff --git a/leaves-server/minecraft-patches/features/0074-Leaves-I18n-support.patch b/leaves-server/minecraft-patches/features/0073-Leaves-I18n-support.patch similarity index 100% rename from leaves-server/minecraft-patches/features/0074-Leaves-I18n-support.patch rename to leaves-server/minecraft-patches/features/0073-Leaves-I18n-support.patch diff --git a/leaves-server/minecraft-patches/features/0075-Fix-minecraft-hopper-not-work-without-player.patch b/leaves-server/minecraft-patches/features/0074-Fix-minecraft-hopper-not-work-without-player.patch similarity index 100% rename from leaves-server/minecraft-patches/features/0075-Fix-minecraft-hopper-not-work-without-player.patch rename to leaves-server/minecraft-patches/features/0074-Fix-minecraft-hopper-not-work-without-player.patch diff --git a/leaves-server/minecraft-patches/features/0076-RNG-Fishing.patch b/leaves-server/minecraft-patches/features/0075-RNG-Fishing.patch similarity index 100% rename from leaves-server/minecraft-patches/features/0076-RNG-Fishing.patch rename to leaves-server/minecraft-patches/features/0075-RNG-Fishing.patch diff --git a/leaves-server/minecraft-patches/features/0077-Wool-Hopper-Counter.patch b/leaves-server/minecraft-patches/features/0076-Wool-Hopper-Counter.patch similarity index 98% rename from leaves-server/minecraft-patches/features/0077-Wool-Hopper-Counter.patch rename to leaves-server/minecraft-patches/features/0076-Wool-Hopper-Counter.patch index 579735ea..f6919b78 100644 --- a/leaves-server/minecraft-patches/features/0077-Wool-Hopper-Counter.patch +++ b/leaves-server/minecraft-patches/features/0076-Wool-Hopper-Counter.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Wool Hopper Counter This patch is Powered by fabric-carpet(https://github.com/gnembon/fabric-carpet) diff --git a/net/minecraft/world/level/block/entity/HopperBlockEntity.java b/net/minecraft/world/level/block/entity/HopperBlockEntity.java -index d152ad88e8e873a0164b2394516bd10f23c7b263..f1388ad51b7549e881cae36a5a9bcd4229442f3e 100644 +index 6dfdd4853d084f63285a7de3db49a245004c4fa5..3145b6ee853f720c5c201f5dd464645eb039100c 100644 --- a/net/minecraft/world/level/block/entity/HopperBlockEntity.java +++ b/net/minecraft/world/level/block/entity/HopperBlockEntity.java @@ -205,8 +205,30 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen diff --git a/leaves-server/minecraft-patches/features/0078-Spider-jockeys-drop-gapples.patch b/leaves-server/minecraft-patches/features/0077-Spider-jockeys-drop-gapples.patch similarity index 100% rename from leaves-server/minecraft-patches/features/0078-Spider-jockeys-drop-gapples.patch rename to leaves-server/minecraft-patches/features/0077-Spider-jockeys-drop-gapples.patch diff --git a/leaves-server/minecraft-patches/features/0079-Force-Void-Trade.patch b/leaves-server/minecraft-patches/features/0078-Force-Void-Trade.patch similarity index 100% rename from leaves-server/minecraft-patches/features/0079-Force-Void-Trade.patch rename to leaves-server/minecraft-patches/features/0078-Force-Void-Trade.patch diff --git a/leaves-server/minecraft-patches/features/0080-Villager-infinite-discounts.patch b/leaves-server/minecraft-patches/features/0079-Villager-infinite-discounts.patch similarity index 100% rename from leaves-server/minecraft-patches/features/0080-Villager-infinite-discounts.patch rename to leaves-server/minecraft-patches/features/0079-Villager-infinite-discounts.patch diff --git a/leaves-server/minecraft-patches/features/0081-CCE-update-suppression.patch b/leaves-server/minecraft-patches/features/0080-CCE-update-suppression.patch similarity index 100% rename from leaves-server/minecraft-patches/features/0081-CCE-update-suppression.patch rename to leaves-server/minecraft-patches/features/0080-CCE-update-suppression.patch diff --git a/leaves-server/minecraft-patches/features/0083-Disable-offline-warn-if-use-proxy.patch b/leaves-server/minecraft-patches/features/0081-Disable-offline-warn-if-use-proxy.patch similarity index 100% rename from leaves-server/minecraft-patches/features/0083-Disable-offline-warn-if-use-proxy.patch rename to leaves-server/minecraft-patches/features/0081-Disable-offline-warn-if-use-proxy.patch diff --git a/leaves-server/minecraft-patches/features/0082-Armor-stand-cant-kill-by-mob-projectile.patch b/leaves-server/minecraft-patches/features/0082-Armor-stand-cant-kill-by-mob-projectile.patch deleted file mode 100644 index 60977a4e..00000000 --- a/leaves-server/minecraft-patches/features/0082-Armor-stand-cant-kill-by-mob-projectile.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: violetc <58360096+s-yh-china@users.noreply.github.com> -Date: Fri, 29 Sep 2023 10:39:36 +0800 -Subject: [PATCH] Armor stand cant kill by mob projectile - - -diff --git a/net/minecraft/world/entity/decoration/ArmorStand.java b/net/minecraft/world/entity/decoration/ArmorStand.java -index d7725b5ca689e3d5b512baab04e113be77c0b2ee..39b056d73bbdd06ba5cdb5368efcbcc128dc79ae 100644 ---- a/net/minecraft/world/entity/decoration/ArmorStand.java -+++ b/net/minecraft/world/entity/decoration/ArmorStand.java -@@ -372,6 +372,15 @@ public class ArmorStand extends LivingEntity { - // CraftBukkit end - boolean isCanBreakArmorStand = damageSource.is(DamageTypeTags.CAN_BREAK_ARMOR_STAND); - boolean isAlwaysKillsArmorStands = damageSource.is(DamageTypeTags.ALWAYS_KILLS_ARMOR_STANDS); -+ -+ // Leaves start - Armor stand cant kill by mob projectile -+ if (org.leavesmc.leaves.LeavesConfig.modify.oldMC.armorStandCantKillByMobProjectile) { -+ if (damageSource.getDirectEntity() instanceof net.minecraft.world.entity.projectile.Projectile projectile && !(projectile.getOwner() instanceof Player)) { -+ return false; -+ } -+ } -+ // Leaves end - Armor stand cant kill by mob projectile -+ - if (!isCanBreakArmorStand && !isAlwaysKillsArmorStands) { - return false; - } else if (damageSource.getEntity() instanceof Player player && !player.getAbilities().mayBuild) { diff --git a/leaves-server/minecraft-patches/features/0084-Make-Item-tick-vanilla.patch b/leaves-server/minecraft-patches/features/0082-Make-Item-tick-vanilla.patch similarity index 100% rename from leaves-server/minecraft-patches/features/0084-Make-Item-tick-vanilla.patch rename to leaves-server/minecraft-patches/features/0082-Make-Item-tick-vanilla.patch diff --git a/leaves-server/minecraft-patches/features/0085-Copper-Bulb-1-gt-delay.patch b/leaves-server/minecraft-patches/features/0083-Copper-Bulb-1-gt-delay.patch similarity index 100% rename from leaves-server/minecraft-patches/features/0085-Copper-Bulb-1-gt-delay.patch rename to leaves-server/minecraft-patches/features/0083-Copper-Bulb-1-gt-delay.patch diff --git a/leaves-server/minecraft-patches/features/0086-Crafter-1-gt-delay.patch b/leaves-server/minecraft-patches/features/0084-Crafter-1-gt-delay.patch similarity index 100% rename from leaves-server/minecraft-patches/features/0086-Crafter-1-gt-delay.patch rename to leaves-server/minecraft-patches/features/0084-Crafter-1-gt-delay.patch diff --git a/leaves-server/minecraft-patches/features/0087-More-Region-Format-Support.patch b/leaves-server/minecraft-patches/features/0085-More-Region-Format-Support.patch similarity index 99% rename from leaves-server/minecraft-patches/features/0087-More-Region-Format-Support.patch rename to leaves-server/minecraft-patches/features/0085-More-Region-Format-Support.patch index 4beb95dd..426105c3 100644 --- a/leaves-server/minecraft-patches/features/0087-More-Region-Format-Support.patch +++ b/leaves-server/minecraft-patches/features/0085-More-Region-Format-Support.patch @@ -54,7 +54,7 @@ index 51c126735ace8fdde89ad97b5cab62f244212db0..a6573e327ace16b7ea320eb1440ffcbc + public void moonrise$write(final org.leavesmc.leaves.region.IRegionFile regionFile) throws IOException; // Leaves - more region format } diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java -index 25087f470db918dbca3ec582581d02822e5ff17d..7813085bec9f4b3a88ed2394ddc781ad7cf72439 100644 +index 1241b008d66bacd8640302a6dbf52a2e592b29b9..0172b4f0c3d5753a3a3d8ccfe591c09328216e48 100644 --- a/net/minecraft/server/MinecraftServer.java +++ b/net/minecraft/server/MinecraftServer.java @@ -944,10 +944,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop +Date: Tue, 26 Aug 2025 03:14:04 +0800 +Subject: [PATCH] Modify end void rings generation + + +diff --git a/net/minecraft/world/level/levelgen/DensityFunctions.java b/net/minecraft/world/level/levelgen/DensityFunctions.java +index 04527a5c65ad630f794fed9071d485aedd02257a..0298ba0c68447c5d0d555431b3118552b3d90a34 100644 +--- a/net/minecraft/world/level/levelgen/DensityFunctions.java ++++ b/net/minecraft/world/level/levelgen/DensityFunctions.java +@@ -528,7 +528,7 @@ public final class DensityFunctions { + int i1 = z / 2; + int i2 = x % 2; + int i3 = z % 2; +- float f = 100.0F - Mth.sqrt((long)x * (long)x + (long)z * (long)z) * 8.0F; // Paper - cast ints to long to avoid integer overflow ++ float f = org.leavesmc.leaves.LeavesConfig.fix.vanillaEndVoidRings ? 100.0F - Mth.sqrt(x * x + z * z) * 8.0F : 100.0F - Mth.sqrt((long)x * (long)x + (long)z * (long)z) * 8.0F; // Paper - cast ints to long to avoid integer overflow // Leaves - customize end void rings generation + f = Mth.clamp(f, -100.0F, 80.0F); + + NoiseCache cache = noiseCache.get().computeIfAbsent(noise, noiseKey -> new NoiseCache()); // Paper - Perf: Optimize end generation diff --git a/leaves-server/src/main/java/org/leavesmc/leaves/LeavesConfig.java b/leaves-server/src/main/java/org/leavesmc/leaves/LeavesConfig.java index 4ef591f1..42162b4d 100644 --- a/leaves-server/src/main/java/org/leavesmc/leaves/LeavesConfig.java +++ b/leaves-server/src/main/java/org/leavesmc/leaves/LeavesConfig.java @@ -304,9 +304,6 @@ public final class LeavesConfig { @GlobalConfig("shears-in-dispenser-can-zero-amount") public boolean shearsInDispenserCanZeroAmount = false; - @GlobalConfig("armor-stand-cant-kill-by-mob-projectile") - public boolean armorStandCantKillByMobProjectile = false; - @SuppressWarnings("unused") @GlobalConfig(value = "villager-infinite-discounts", validator = VillagerInfiniteDiscountsValidator.class) private boolean villagerInfiniteDiscounts = false; @@ -679,9 +676,6 @@ public final class LeavesConfig { @GlobalConfig("no-tnt-place-update") public boolean noTNTPlaceUpdate = false; - @GlobalConfig("raider-die-skip-self-raid-check") - public boolean skipSelfRaidCheck = false; - @GlobalConfig("container-passthrough") public boolean containerPassthrough = false; @@ -1292,5 +1286,8 @@ public final class LeavesConfig { public enum CollisionBehavior { VANILLA, BLOCK_SHAPE_VANILLA, PAPER } + + @GlobalConfig("vanilla-end-void-rings") + public boolean vanillaEndVoidRings = false; } }