9
0
mirror of https://github.com/Winds-Studio/Leaf.git synced 2025-12-26 18:39:23 +00:00

Updated Upstream (Paper/Purpur)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@a24f9b20 1.21.6 dev
PaperMC/Paper@457a0a69 Bump version string and protocol version to 1.21.6 release
PaperMC/Paper@245b5473 Update base to 1.21.6
PaperMC/Paper@b28d77b3 Update Moonrise to 1.21.6
PaperMC/Paper@8318dcb7 Update DataConverter to 1.21.6-rc1

Purpur Changes:
PurpurMC/Purpur@b228e316 Updated Upstream (Paper)
PurpurMC/Purpur@d6562a57 make happy ghast takes-damage-from-water and always-drop-exp options work
PurpurMC/Purpur@08d989b6 inline import
PurpurMC/Purpur@61d7f559 Updated Upstream (Paper)
PurpurMC/Purpur@469a4de5 Merge branch 'ver/1.21.5' into ver/1.21.6
This commit is contained in:
Dreeam
2025-06-18 01:54:38 +08:00
parent 04a96fe86e
commit 549ee8c09f
9 changed files with 36 additions and 30 deletions

View File

@@ -7,7 +7,7 @@
+val leafMavenPublicUrl = "https://maven.nostal.ink/repository/maven-snapshots/" // Leaf - project setup - Add publish repo
dependencies {
mache("io.papermc:mache:1.21.6-rc1+build.1")
mache("io.papermc:mache:1.21.6+build.1")
- paperclip("io.papermc:paperclip:3.0.3")
+ paperclip("cn.dreeam:quantumleaper:1.0.0-SNAPSHOT") // Leaf - project setup - Use own paperclip fork
testRuntimeOnly("org.junit.platform:junit-platform-launcher")

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Purpur Server Minecraft Changes
Original license: MIT
Original project: https://github.com/PurpurMC/Purpur
Commit: a3c11d6845ae4a8b1cee0ee0d800e26adf5bfbff
Commit: 469a4de5ce87dcf6461e067d29a88507231f4a6b
Patches listed below are removed in this patch, They exists in Gale or Leaf:
* "net/minecraft/CrashReport.java.patch"
@@ -4569,10 +4569,10 @@ index 517c546cfc8eca2191df57289e6a22ac64fc867c..8964bb5098c0dc36741af3656af6bc0b
}
}
diff --git a/net/minecraft/world/entity/animal/HappyGhast.java b/net/minecraft/world/entity/animal/HappyGhast.java
index 4e74d5b3076f50f9294553b453f5903ef32f1e8a..65d4bd89be02973291b85463d242a9b22b1cec5f 100644
index 4e74d5b3076f50f9294553b453f5903ef32f1e8a..e04da94daced96a7eb9fdb01c551bea667b72d76 100644
--- a/net/minecraft/world/entity/animal/HappyGhast.java
+++ b/net/minecraft/world/entity/animal/HappyGhast.java
@@ -118,6 +118,33 @@ public class HappyGhast extends Animal {
@@ -118,6 +118,47 @@ public class HappyGhast extends Animal {
this.removeAllGoals(goal -> true);
}
@@ -4602,11 +4602,25 @@ index 4e74d5b3076f50f9294553b453f5903ef32f1e8a..65d4bd89be02973291b85463d242a9b2
+ return 6000;
+ }
+ // Purpur end - Make entity breeding times configurable
+
+ // Purpur start - Toggle for water sensitive mob damage
+ @Override
+ public boolean isSensitiveToWater() {
+ return this.level().purpurConfig.happyGhastTakeDamageFromWater;
+ }
+ // Purpur end - Toggle for water sensitive mob damage
+
+ // Purpur start - Mobs always drop experience
+ @Override
+ protected boolean isAlwaysExperienceDropper() {
+ return this.level().purpurConfig.happyGhastAlwaysDropExp;
+ }
+ // Purpur end - Mobs always drop experience
+
@Override
protected void ageBoundaryReached() {
if (this.isBaby()) {
@@ -141,7 +168,7 @@ public class HappyGhast extends Animal {
@@ -141,7 +182,7 @@ public class HappyGhast extends Animal {
@Override
protected float sanitizeScale(float scale) {
@@ -10406,18 +10420,10 @@ index 9d84bf2cffee25404eebbefdc9cc3f37ebc386b0..2b85cedf235e673d6030c2a649abf60b
if (!org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(this, blockPos, blockState.getFluidState().createLegacyBlock())) { // Paper - fix wrong block state
continue;
diff --git a/net/minecraft/world/entity/monster/Shulker.java b/net/minecraft/world/entity/monster/Shulker.java
index f667fc5ff1ea4149cb25608e0d12f9f73f86095e..2ace8aebd050e43582524c4a659132fef0e05be4 100644
index f667fc5ff1ea4149cb25608e0d12f9f73f86095e..a46ca09f661a4f8f3ede6550d613e0c704a9389b 100644
--- a/net/minecraft/world/entity/monster/Shulker.java
+++ b/net/minecraft/world/entity/monster/Shulker.java
@@ -52,6 +52,7 @@ import net.minecraft.world.level.Level;
import net.minecraft.world.level.ServerLevelAccessor;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.state.BlockState;
+import net.minecraft.world.level.entity.EntityTypeTest;
import net.minecraft.world.level.gameevent.GameEvent;
import net.minecraft.world.level.storage.ValueInput;
import net.minecraft.world.level.storage.ValueOutput;
@@ -94,12 +95,68 @@ public class Shulker extends AbstractGolem implements Enemy {
@@ -94,12 +94,68 @@ public class Shulker extends AbstractGolem implements Enemy {
this.lookControl = new Shulker.ShulkerLookControl(this);
}
@@ -10486,7 +10492,7 @@ index f667fc5ff1ea4149cb25608e0d12f9f73f86095e..2ace8aebd050e43582524c4a659132fe
this.targetSelector.addGoal(1, new HurtByTargetGoal(this, this.getClass()).setAlertOthers());
this.targetSelector.addGoal(2, new Shulker.ShulkerNearestAttackGoal(this));
this.targetSelector.addGoal(3, new Shulker.ShulkerDefenseAttackGoal(this));
@@ -461,11 +518,21 @@ public class Shulker extends AbstractGolem implements Enemy {
@@ -461,11 +517,21 @@ public class Shulker extends AbstractGolem implements Enemy {
private void hitByShulkerBullet() {
Vec3 vec3 = this.position();
AABB boundingBox = this.getBoundingBox();
@@ -10498,7 +10504,7 @@ index f667fc5ff1ea4149cb25608e0d12f9f73f86095e..2ace8aebd050e43582524c4a659132fe
+ if ((!this.level().purpurConfig.shulkerSpawnFromBulletRequireOpenLid || !this.isClosed()) && this.teleportSomewhere()) {
+ float chance = this.level().purpurConfig.shulkerSpawnFromBulletBaseChance;
+ if (!this.level().purpurConfig.shulkerSpawnFromBulletNearbyEquation.isBlank()) {
+ int nearby = this.level().getEntities((EntityTypeTest) EntityType.SHULKER, boundingBox.inflate(this.level().purpurConfig.shulkerSpawnFromBulletNearbyRange), Entity::isAlive).size();
+ int nearby = this.level().getEntities((net.minecraft.world.level.entity.EntityTypeTest) EntityType.SHULKER, boundingBox.inflate(this.level().purpurConfig.shulkerSpawnFromBulletNearbyRange), Entity::isAlive).size();
+ try {
+ chance -= ((Number) scriptEngine.eval("let nearby = " + nearby + "; " + this.level().purpurConfig.shulkerSpawnFromBulletNearbyEquation)).floatValue();
+ } catch (javax.script.ScriptException e) {
@@ -10512,7 +10518,7 @@ index f667fc5ff1ea4149cb25608e0d12f9f73f86095e..2ace8aebd050e43582524c4a659132fe
if (shulker != null) {
shulker.setVariant(this.getVariant());
shulker.snapTo(vec3);
@@ -565,7 +632,7 @@ public class Shulker extends AbstractGolem implements Enemy {
@@ -565,7 +631,7 @@ public class Shulker extends AbstractGolem implements Enemy {
@Override
protected float sanitizeScale(float scale) {
@@ -10521,7 +10527,7 @@ index f667fc5ff1ea4149cb25608e0d12f9f73f86095e..2ace8aebd050e43582524c4a659132fe
}
private void setVariant(Optional<DyeColor> variant) {
@@ -573,7 +640,7 @@ public class Shulker extends AbstractGolem implements Enemy {
@@ -573,7 +639,7 @@ public class Shulker extends AbstractGolem implements Enemy {
}
public Optional<DyeColor> getVariant() {
@@ -10530,7 +10536,7 @@ index f667fc5ff1ea4149cb25608e0d12f9f73f86095e..2ace8aebd050e43582524c4a659132fe
}
@Nullable
@@ -693,7 +760,7 @@ public class Shulker extends AbstractGolem implements Enemy {
@@ -693,7 +759,7 @@ public class Shulker extends AbstractGolem implements Enemy {
}
}

View File

@@ -10,10 +10,10 @@ Add Pufferfish DAB support for Camel, Sniffer
https://github.com/pufferfish-gg/Pufferfish/issues/83
diff --git a/net/minecraft/world/entity/animal/HappyGhast.java b/net/minecraft/world/entity/animal/HappyGhast.java
index 65d4bd89be02973291b85463d242a9b22b1cec5f..80b76c4557020e208eb1224d64fc094f86141363 100644
index e04da94daced96a7eb9fdb01c551bea667b72d76..e53773e086a589ee5fd83fde0bee1881ff43e926 100644
--- a/net/minecraft/world/entity/animal/HappyGhast.java
+++ b/net/minecraft/world/entity/animal/HappyGhast.java
@@ -401,9 +401,11 @@ public class HappyGhast extends Animal {
@@ -415,9 +415,11 @@ public class HappyGhast extends Animal {
return HappyGhastAi.makeBrain(this.brainProvider().makeBrain(dynamic));
}

View File

@@ -441,10 +441,10 @@ index 1354ccfbf525e5e64483ac5f443cc2325ba63850..f6f787db016f4d1ac14648ebf2b8e162
// (async tasks must live with race-conditions if they attempt to cancel between these few lines of code)
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index ff65904cf067900cd1635b6dab0b01b0fe6ef655..15a88601aaa07ce59b7096bdfc96aa517af5107f 100644
index c1aad9203af20102e560571435dfa75150b37c1b..756f08f25924c2128a0c8d4ea21f1bc905c33301 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -491,7 +491,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
@@ -481,7 +481,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
@Override
public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Purpur Server Paper Changes
Original license: MIT
Original project: https://github.com/PurpurMC/Purpur
Commit: a3c11d6845ae4a8b1cee0ee0d800e26adf5bfbff
Commit: 469a4de5ce87dcf6461e067d29a88507231f4a6b
Patches listed below are removed in this patch, They exists in Gale or Leaf:
* "Rebrand.patch"