9
0
mirror of https://github.com/Winds-Studio/Leaf.git synced 2025-12-19 15:09:25 +00:00

Updated Upstream (Paper/Gale/Purpur)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@742968e0 [ci/skip] Increase outdated build delay to two weeks (#12063)

Gale Changes:
Dreeam-qwq/Gale@57be1e6f Updated Upstream (Paper)

Purpur Changes:
PurpurMC/Purpur@36a18d54 fix(mobs/ravager): add missing blocks to griefable list
PurpurMC/Purpur@fdc28eed Updated Upstream (Paper)
PurpurMC/Purpur@d8aadde1 [ci/skip] Update README.md (#1642)
PurpurMC/Purpur@9680ad8e [ci/skip] clean up unsafe enchants diff
This commit is contained in:
Dreeam
2025-02-06 19:36:44 -05:00
parent c963bb3315
commit e7b5078dce
6 changed files with 78 additions and 59 deletions

View File

@@ -2,7 +2,7 @@ group=cn.dreeam.leaf
mcVersion=1.21.4 mcVersion=1.21.4
version=1.21.4-R0.1-SNAPSHOT version=1.21.4-R0.1-SNAPSHOT
galeCommit=f35382c4fa4ecf3466bce1476ecc1210c584f149 galeCommit=57be1e6f9c39bca76bb15c965e44f2dba521b293
org.gradle.configuration-cache=true org.gradle.configuration-cache=true
org.gradle.caching=true org.gradle.caching=true

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Purpur API Changes
Original license: MIT Original license: MIT
Original project: https://github.com/PurpurMC/Purpur Original project: https://github.com/PurpurMC/Purpur
Commit: 5583a3f19b75a9d07367e2ca80adbbafa9af6593 Commit: 9680ad8e578abc81fd92f1bb2b30357eab103057
Patches listed below are removed in this patch, They exists in Gale or Leaf: Patches listed below are removed in this patch, They exists in Gale or Leaf:
* "co/aikar/timings/TimedEventExecutor.java.patch" * "co/aikar/timings/TimedEventExecutor.java.patch"

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Purpur Server Minecraft Changes
Original license: MIT Original license: MIT
Original project: https://github.com/PurpurMC/Purpur Original project: https://github.com/PurpurMC/Purpur
Commit: 4f481858a32b9636fcd19f539f13fb03e1bbf443 Commit: 9680ad8e578abc81fd92f1bb2b30357eab103057
Patches listed below are removed in this patch, They exists in Gale or Leaf: Patches listed below are removed in this patch, They exists in Gale or Leaf:
* "net/minecraft/CrashReport.java.patch" * "net/minecraft/CrashReport.java.patch"
@@ -13239,7 +13239,7 @@ index d3814f351e3b0cd00b2b9ad0d122ca376c18e6a3..a23ff3defe4e49cd04008b7d793994bf
} else if (this.isFuel(item)) { } else if (this.isFuel(item)) {
if (!this.moveItemStackTo(item, 1, 2, false)) { if (!this.moveItemStackTo(item, 1, 2, false)) {
diff --git a/net/minecraft/world/inventory/AnvilMenu.java b/net/minecraft/world/inventory/AnvilMenu.java diff --git a/net/minecraft/world/inventory/AnvilMenu.java b/net/minecraft/world/inventory/AnvilMenu.java
index aaa022ac3656d68bad8dbd4c80a90b62fb6f9a16..fa468068552b29661d3d258f5365a3ef06f68920 100644 index aaa022ac3656d68bad8dbd4c80a90b62fb6f9a16..84c438f922321bb80906589ebee30bff83f4ebfa 100644
--- a/net/minecraft/world/inventory/AnvilMenu.java --- a/net/minecraft/world/inventory/AnvilMenu.java
+++ b/net/minecraft/world/inventory/AnvilMenu.java +++ b/net/minecraft/world/inventory/AnvilMenu.java
@@ -20,6 +20,12 @@ import net.minecraft.world.level.block.AnvilBlock; @@ -20,6 +20,12 @@ import net.minecraft.world.level.block.AnvilBlock;
@@ -13306,7 +13306,7 @@ index aaa022ac3656d68bad8dbd4c80a90b62fb6f9a16..fa468068552b29661d3d258f5365a3ef
ItemStack itemStack = item.copy(); ItemStack itemStack = item.copy();
ItemStack item1 = this.inputSlots.getItem(1); ItemStack item1 = this.inputSlots.getItem(1);
ItemEnchantments.Mutable mutable = new ItemEnchantments.Mutable(EnchantmentHelper.getEnchantmentsForCrafting(itemStack)); ItemEnchantments.Mutable mutable = new ItemEnchantments.Mutable(EnchantmentHelper.getEnchantmentsForCrafting(itemStack));
@@ -191,23 +212,36 @@ public class AnvilMenu extends ItemCombinerMenu { @@ -191,23 +212,34 @@ public class AnvilMenu extends ItemCombinerMenu {
int intValue = entry.getIntValue(); int intValue = entry.getIntValue();
intValue = level == intValue ? intValue + 1 : Math.max(intValue, level); intValue = level == intValue ? intValue + 1 : Math.max(intValue, level);
Enchantment enchantment = holder.value(); Enchantment enchantment = holder.value();
@@ -13319,25 +13319,21 @@ index aaa022ac3656d68bad8dbd4c80a90b62fb6f9a16..fa468068552b29661d3d258f5365a3ef
canEnchant = true; canEnchant = true;
} }
- for (Holder<Enchantment> holder1 : mutable.keySet()) { + java.util.Set<Holder<Enchantment>> removedEnchantments = new java.util.HashSet<>(); // Purpur - Config to allow unsafe enchants
+ // Purpur start - Config to allow unsafe enchants for (Holder<Enchantment> holder1 : mutable.keySet()) {
+ java.util.Iterator<Holder<Enchantment>> mutableIterator = mutable.keySet().iterator();
+ while (mutableIterator.hasNext()) {
+ Holder<Enchantment> holder1 = mutableIterator.next();
+ // Purpur end - Config to allow unsafe enchants
if (!holder1.equals(holder) && !Enchantment.areCompatible(holder, holder1)) { if (!holder1.equals(holder) && !Enchantment.areCompatible(holder, holder1)) {
- canEnchant = false; - canEnchant = false;
- i++; + canEnchant1 = this.canDoUnsafeEnchants || org.purpurmc.purpur.PurpurConfig.allowIncompatibleEnchants; // Purpur - Anvil API // Purpur - canEnchant -> canEnchant1 - Config to allow unsafe enchants
+ canEnchant1 = this.canDoUnsafeEnchants || org.purpurmc.purpur.PurpurConfig.allowIncompatibleEnchants; // Purpur - Anvil API // Purpur - flag3 -> canEnchant1 - Config to allow unsafe enchants
+ // Purpur start - Config to allow unsafe enchants + // Purpur start - Config to allow unsafe enchants
+ if (!canEnchant1 && org.purpurmc.purpur.PurpurConfig.replaceIncompatibleEnchants) { + if (!canEnchant1 && org.purpurmc.purpur.PurpurConfig.replaceIncompatibleEnchants) {
+ mutableIterator.remove(); // replace current enchant with the incompatible one trying to be applied // TODO: is this needed? + removedEnchantments.add(holder1);
+ canEnchant1 = true; + canEnchant1 = true;
+ } + }
+ // Purpur end - Config to allow unsafe enchants + // Purpur end - Config to allow unsafe enchants
+ ++i; i++;
} }
} }
+ mutable.removeIf(removedEnchantments::contains); // Purpur - Config to allow unsafe enchants
- if (!canEnchant) { - if (!canEnchant) {
+ if (!canEnchant || !canEnchant1) { // Purpur - Config to allow unsafe enchants + if (!canEnchant || !canEnchant1) { // Purpur - Config to allow unsafe enchants
@@ -13349,7 +13345,7 @@ index aaa022ac3656d68bad8dbd4c80a90b62fb6f9a16..fa468068552b29661d3d258f5365a3ef
intValue = enchantment.getMaxLevel(); intValue = enchantment.getMaxLevel();
} }
@@ -236,6 +270,54 @@ public class AnvilMenu extends ItemCombinerMenu { @@ -236,6 +268,54 @@ public class AnvilMenu extends ItemCombinerMenu {
if (!this.itemName.equals(item.getHoverName().getString())) { if (!this.itemName.equals(item.getHoverName().getString())) {
i1 = 1; i1 = 1;
i += i1; i += i1;
@@ -13404,7 +13400,7 @@ index aaa022ac3656d68bad8dbd4c80a90b62fb6f9a16..fa468068552b29661d3d258f5365a3ef
itemStack.set(DataComponents.CUSTOM_NAME, Component.literal(this.itemName)); itemStack.set(DataComponents.CUSTOM_NAME, Component.literal(this.itemName));
} }
} else if (item.has(DataComponents.CUSTOM_NAME)) { } else if (item.has(DataComponents.CUSTOM_NAME)) {
@@ -260,6 +342,12 @@ public class AnvilMenu extends ItemCombinerMenu { @@ -260,6 +340,12 @@ public class AnvilMenu extends ItemCombinerMenu {
this.onlyRenaming = true; this.onlyRenaming = true;
} }
@@ -13417,7 +13413,7 @@ index aaa022ac3656d68bad8dbd4c80a90b62fb6f9a16..fa468068552b29661d3d258f5365a3ef
if (this.cost.get() >= this.maximumRepairCost && !this.player.getAbilities().instabuild) { // CraftBukkit if (this.cost.get() >= this.maximumRepairCost && !this.player.getAbilities().instabuild) { // CraftBukkit
itemStack = ItemStack.EMPTY; itemStack = ItemStack.EMPTY;
} }
@@ -280,6 +368,13 @@ public class AnvilMenu extends ItemCombinerMenu { @@ -280,6 +366,13 @@ public class AnvilMenu extends ItemCombinerMenu {
org.bukkit.craftbukkit.event.CraftEventFactory.callPrepareAnvilEvent(this.getBukkitView(), itemStack); // CraftBukkit org.bukkit.craftbukkit.event.CraftEventFactory.callPrepareAnvilEvent(this.getBukkitView(), itemStack); // CraftBukkit
this.broadcastChanges(); this.broadcastChanges();
@@ -13431,7 +13427,7 @@ index aaa022ac3656d68bad8dbd4c80a90b62fb6f9a16..fa468068552b29661d3d258f5365a3ef
} else { } else {
org.bukkit.craftbukkit.event.CraftEventFactory.callPrepareAnvilEvent(this.getBukkitView(), ItemStack.EMPTY); // CraftBukkit org.bukkit.craftbukkit.event.CraftEventFactory.callPrepareAnvilEvent(this.getBukkitView(), ItemStack.EMPTY); // CraftBukkit
this.cost.set(AnvilMenu.DEFAULT_DENIED_COST); // CraftBukkit - use a variable for set a cost for denied item this.cost.set(AnvilMenu.DEFAULT_DENIED_COST); // CraftBukkit - use a variable for set a cost for denied item
@@ -288,7 +383,7 @@ public class AnvilMenu extends ItemCombinerMenu { @@ -288,7 +381,7 @@ public class AnvilMenu extends ItemCombinerMenu {
} }
public static int calculateIncreasedRepairCost(int oldRepairCost) { public static int calculateIncreasedRepairCost(int oldRepairCost) {
@@ -16763,7 +16759,7 @@ index 85148858db1fd5e9da8bbdde4b0d84110d80e373..c9c6e4e460ad8435f12761704bb9b028
} }
diff --git a/org/purpurmc/purpur/PurpurConfig.java b/org/purpurmc/purpur/PurpurConfig.java diff --git a/org/purpurmc/purpur/PurpurConfig.java b/org/purpurmc/purpur/PurpurConfig.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..e0db3230c3912588ed527e131751bef082665294 index 0000000000000000000000000000000000000000..bbfd05509dfc2ee453f847d299b3d261324b6fa9
--- /dev/null --- /dev/null
+++ b/org/purpurmc/purpur/PurpurConfig.java +++ b/org/purpurmc/purpur/PurpurConfig.java
@@ -0,0 +1,581 @@ @@ -0,0 +1,581 @@
@@ -16843,8 +16839,8 @@ index 0000000000000000000000000000000000000000..e0db3230c3912588ed527e131751bef0
+ commands = new HashMap<>(); + commands = new HashMap<>();
+ commands.put("purpur", new PurpurCommand("purpur")); + commands.put("purpur", new PurpurCommand("purpur"));
+ +
+ version = getInt("config-version", 40); + version = getInt("config-version", 41);
+ set("config-version", 40); + set("config-version", 41);
+ +
+ readConfig(PurpurConfig.class, null); + readConfig(PurpurConfig.class, null);
+ +
@@ -17350,14 +17346,16 @@ index 0000000000000000000000000000000000000000..e0db3230c3912588ed527e131751bef0
+} +}
diff --git a/org/purpurmc/purpur/PurpurWorldConfig.java b/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/org/purpurmc/purpur/PurpurWorldConfig.java b/org/purpurmc/purpur/PurpurWorldConfig.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..40ee86981c24b79b209b5a0fb0705ff62fb65863 index 0000000000000000000000000000000000000000..b3fca75c66b16e35f6841c3b7df9103d68f1308e
--- /dev/null --- /dev/null
+++ b/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -0,0 +1,3445 @@ @@ -0,0 +1,3468 @@
+package org.purpurmc.purpur; +package org.purpurmc.purpur;
+ +
+import java.util.ArrayList; +import java.util.ArrayList;
+import java.util.HashMap; +import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Set;
+import java.util.function.Predicate; +import java.util.function.Predicate;
+import java.util.logging.Level; +import java.util.logging.Level;
+import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.core.registries.BuiltInRegistries;
@@ -19862,18 +19860,39 @@ index 0000000000000000000000000000000000000000..40ee86981c24b79b209b5a0fb0705ff6
+ ravagerScale = Mth.clamp(getDouble("mobs.ravager.attributes.scale", ravagerScale), 0.0625D, 16.0D); + ravagerScale = Mth.clamp(getDouble("mobs.ravager.attributes.scale", ravagerScale), 0.0625D, 16.0D);
+ ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing); + ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing);
+ ravagerTakeDamageFromWater = getBoolean("mobs.ravager.takes-damage-from-water", ravagerTakeDamageFromWater); + ravagerTakeDamageFromWater = getBoolean("mobs.ravager.takes-damage-from-water", ravagerTakeDamageFromWater);
+ getList("mobs.ravager.griefable-blocks", new ArrayList<String>(){{ + List<String> defaultRavagerGriefableBlocks = List.of(
+ add("minecraft:oak_leaves"); + "minecraft:oak_leaves",
+ add("minecraft:spruce_leaves"); + "minecraft:spruce_leaves",
+ add("minecraft:birch_leaves"); + "minecraft:birch_leaves",
+ add("minecraft:jungle_leaves"); + "minecraft:jungle_leaves",
+ add("minecraft:acacia_leaves"); + "minecraft:acacia_leaves",
+ add("minecraft:dark_oak_leaves"); + "minecraft:cherry_leaves",
+ add("minecraft:beetroots"); + "minecraft:dark_oak_leaves",
+ add("minecraft:carrots"); + "minecraft:pale_oak_leaves",
+ add("minecraft:potatoes"); + "minecraft:mangrove_leaves",
+ add("minecraft:wheat"); + "minecraft:azalea_leaves",
+ }}).forEach(key -> { + "minecraft:flowering_azalea_leaves",
+ "minecraft:wheat",
+ "minecraft:carrots",
+ "minecraft:potatoes",
+ "minecraft:torchflower_crop",
+ "minecraft:pitcher_crop",
+ "minecraft:beetroots"
+ );
+ if (PurpurConfig.version < 41) {
+ Set<String> set = new HashSet<>();
+ getList("mobs.ravager.griefable-blocks", defaultRavagerGriefableBlocks)
+ .forEach(key -> set.add(key.toString()));
+ set.add("minecraft:cherry_leaves");
+ set.add("minecraft:pale_oak_leaves");
+ set.add("minecraft:mangrove_leaves");
+ set.add("minecraft:azalea_leaves");
+ set.add("minecraft:flowering_azalea_leaves");
+ set.add("minecraft:torchflower_crop");
+ set.add("minecraft:pitcher_crop");
+ set("mobs.ravager.griefable-blocks", new ArrayList<>(set));
+ }
+ getList("mobs.ravager.griefable-blocks", defaultRavagerGriefableBlocks).forEach(key -> {
+ Block block = BuiltInRegistries.BLOCK.getValue(ResourceLocation.parse(key.toString())); + Block block = BuiltInRegistries.BLOCK.getValue(ResourceLocation.parse(key.toString()));
+ if (!block.defaultBlockState().isAir()) { + if (!block.defaultBlockState().isAir()) {
+ ravagerGriefableBlocks.add(block); + ravagerGriefableBlocks.add(block);

View File

@@ -83,10 +83,10 @@ index fddbbffafea275dad187b7908386cf4c05c86743..89a67db9bbdb31661fa4f71f1270198b
} }
diff --git a/org/purpurmc/purpur/PurpurWorldConfig.java b/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/org/purpurmc/purpur/PurpurWorldConfig.java b/org/purpurmc/purpur/PurpurWorldConfig.java
index 40ee86981c24b79b209b5a0fb0705ff62fb65863..53f7d89a68e3e05c2303d4ef5185b2ad41135380 100644 index b3fca75c66b16e35f6841c3b7df9103d68f1308e..ae06918ebfa3bbd914ebdebb8107ec447643ef22 100644
--- a/org/purpurmc/purpur/PurpurWorldConfig.java --- a/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1568,6 +1568,7 @@ public class PurpurWorldConfig { @@ -1570,6 +1570,7 @@ public class PurpurWorldConfig {
public boolean drownedTakeDamageFromWater = false; public boolean drownedTakeDamageFromWater = false;
public boolean drownedBreakDoors = false; public boolean drownedBreakDoors = false;
public boolean drownedAlwaysDropExp = false; public boolean drownedAlwaysDropExp = false;
@@ -94,7 +94,7 @@ index 40ee86981c24b79b209b5a0fb0705ff62fb65863..53f7d89a68e3e05c2303d4ef5185b2ad
private void drownedSettings() { private void drownedSettings() {
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
@@ -1586,6 +1587,7 @@ public class PurpurWorldConfig { @@ -1588,6 +1589,7 @@ public class PurpurWorldConfig {
drownedTakeDamageFromWater = getBoolean("mobs.drowned.takes-damage-from-water", drownedTakeDamageFromWater); drownedTakeDamageFromWater = getBoolean("mobs.drowned.takes-damage-from-water", drownedTakeDamageFromWater);
drownedBreakDoors = getBoolean("mobs.drowned.can-break-doors", drownedBreakDoors); drownedBreakDoors = getBoolean("mobs.drowned.can-break-doors", drownedBreakDoors);
drownedAlwaysDropExp = getBoolean("mobs.drowned.always-drop-exp", drownedAlwaysDropExp); drownedAlwaysDropExp = getBoolean("mobs.drowned.always-drop-exp", drownedAlwaysDropExp);
@@ -102,7 +102,7 @@ index 40ee86981c24b79b209b5a0fb0705ff62fb65863..53f7d89a68e3e05c2303d4ef5185b2ad
} }
public boolean elderGuardianRidable = false; public boolean elderGuardianRidable = false;
@@ -1960,6 +1962,7 @@ public class PurpurWorldConfig { @@ -1962,6 +1964,7 @@ public class PurpurWorldConfig {
public boolean huskJockeyTryExistingChickens = true; public boolean huskJockeyTryExistingChickens = true;
public boolean huskTakeDamageFromWater = false; public boolean huskTakeDamageFromWater = false;
public boolean huskAlwaysDropExp = false; public boolean huskAlwaysDropExp = false;
@@ -110,7 +110,7 @@ index 40ee86981c24b79b209b5a0fb0705ff62fb65863..53f7d89a68e3e05c2303d4ef5185b2ad
private void huskSettings() { private void huskSettings() {
huskRidable = getBoolean("mobs.husk.ridable", huskRidable); huskRidable = getBoolean("mobs.husk.ridable", huskRidable);
huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater); huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater);
@@ -1977,6 +1980,7 @@ public class PurpurWorldConfig { @@ -1979,6 +1982,7 @@ public class PurpurWorldConfig {
huskJockeyTryExistingChickens = getBoolean("mobs.husk.jockey.try-existing-chickens", huskJockeyTryExistingChickens); huskJockeyTryExistingChickens = getBoolean("mobs.husk.jockey.try-existing-chickens", huskJockeyTryExistingChickens);
huskTakeDamageFromWater = getBoolean("mobs.husk.takes-damage-from-water", huskTakeDamageFromWater); huskTakeDamageFromWater = getBoolean("mobs.husk.takes-damage-from-water", huskTakeDamageFromWater);
huskAlwaysDropExp = getBoolean("mobs.husk.always-drop-exp", huskAlwaysDropExp); huskAlwaysDropExp = getBoolean("mobs.husk.always-drop-exp", huskAlwaysDropExp);
@@ -118,7 +118,7 @@ index 40ee86981c24b79b209b5a0fb0705ff62fb65863..53f7d89a68e3e05c2303d4ef5185b2ad
} }
public boolean illusionerRidable = false; public boolean illusionerRidable = false;
@@ -3274,6 +3278,7 @@ public class PurpurWorldConfig { @@ -3297,6 +3301,7 @@ public class PurpurWorldConfig {
public boolean zombieTakeDamageFromWater = false; public boolean zombieTakeDamageFromWater = false;
public boolean zombieAlwaysDropExp = false; public boolean zombieAlwaysDropExp = false;
public double zombieHeadVisibilityPercent = 0.5D; public double zombieHeadVisibilityPercent = 0.5D;
@@ -126,7 +126,7 @@ index 40ee86981c24b79b209b5a0fb0705ff62fb65863..53f7d89a68e3e05c2303d4ef5185b2ad
private void zombieSettings() { private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -3294,6 +3299,7 @@ public class PurpurWorldConfig { @@ -3317,6 +3322,7 @@ public class PurpurWorldConfig {
zombieTakeDamageFromWater = getBoolean("mobs.zombie.takes-damage-from-water", zombieTakeDamageFromWater); zombieTakeDamageFromWater = getBoolean("mobs.zombie.takes-damage-from-water", zombieTakeDamageFromWater);
zombieAlwaysDropExp = getBoolean("mobs.zombie.always-drop-exp", zombieAlwaysDropExp); zombieAlwaysDropExp = getBoolean("mobs.zombie.always-drop-exp", zombieAlwaysDropExp);
zombieHeadVisibilityPercent = getDouble("mobs.zombie.head-visibility-percent", zombieHeadVisibilityPercent); zombieHeadVisibilityPercent = getDouble("mobs.zombie.head-visibility-percent", zombieHeadVisibilityPercent);
@@ -134,7 +134,7 @@ index 40ee86981c24b79b209b5a0fb0705ff62fb65863..53f7d89a68e3e05c2303d4ef5185b2ad
} }
public boolean zombieHorseRidable = false; public boolean zombieHorseRidable = false;
@@ -3343,6 +3349,7 @@ public class PurpurWorldConfig { @@ -3366,6 +3372,7 @@ public class PurpurWorldConfig {
public int zombieVillagerCuringTimeMax = 6000; public int zombieVillagerCuringTimeMax = 6000;
public boolean zombieVillagerCureEnabled = true; public boolean zombieVillagerCureEnabled = true;
public boolean zombieVillagerAlwaysDropExp = false; public boolean zombieVillagerAlwaysDropExp = false;
@@ -142,7 +142,7 @@ index 40ee86981c24b79b209b5a0fb0705ff62fb65863..53f7d89a68e3e05c2303d4ef5185b2ad
private void zombieVillagerSettings() { private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -3363,6 +3370,7 @@ public class PurpurWorldConfig { @@ -3386,6 +3393,7 @@ public class PurpurWorldConfig {
zombieVillagerCuringTimeMax = getInt("mobs.zombie_villager.curing_time.max", zombieVillagerCuringTimeMax); zombieVillagerCuringTimeMax = getInt("mobs.zombie_villager.curing_time.max", zombieVillagerCuringTimeMax);
zombieVillagerCureEnabled = getBoolean("mobs.zombie_villager.cure.enabled", zombieVillagerCureEnabled); zombieVillagerCureEnabled = getBoolean("mobs.zombie_villager.cure.enabled", zombieVillagerCureEnabled);
zombieVillagerAlwaysDropExp = getBoolean("mobs.zombie_villager.always-drop-exp", zombieVillagerAlwaysDropExp); zombieVillagerAlwaysDropExp = getBoolean("mobs.zombie_villager.always-drop-exp", zombieVillagerAlwaysDropExp);
@@ -150,7 +150,7 @@ index 40ee86981c24b79b209b5a0fb0705ff62fb65863..53f7d89a68e3e05c2303d4ef5185b2ad
} }
public boolean zombifiedPiglinRidable = false; public boolean zombifiedPiglinRidable = false;
@@ -3377,6 +3385,7 @@ public class PurpurWorldConfig { @@ -3400,6 +3408,7 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true; public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true;
public boolean zombifiedPiglinTakeDamageFromWater = false; public boolean zombifiedPiglinTakeDamageFromWater = false;
public boolean zombifiedPiglinAlwaysDropExp = false; public boolean zombifiedPiglinAlwaysDropExp = false;
@@ -158,7 +158,7 @@ index 40ee86981c24b79b209b5a0fb0705ff62fb65863..53f7d89a68e3e05c2303d4ef5185b2ad
private void zombifiedPiglinSettings() { private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -3395,6 +3404,7 @@ public class PurpurWorldConfig { @@ -3418,6 +3427,7 @@ public class PurpurWorldConfig {
zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry); zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry);
zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater); zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater);
zombifiedPiglinAlwaysDropExp = getBoolean("mobs.zombified_piglin.always-drop-exp", zombifiedPiglinAlwaysDropExp); zombifiedPiglinAlwaysDropExp = getBoolean("mobs.zombified_piglin.always-drop-exp", zombifiedPiglinAlwaysDropExp);

View File

@@ -244,7 +244,7 @@ index b230955ae880d84fde40b4feffa5caf3c4449eb7..c8bdfaaf41e2309e4865806b42677064
@Override @Override
diff --git a/org/purpurmc/purpur/PurpurConfig.java b/org/purpurmc/purpur/PurpurConfig.java diff --git a/org/purpurmc/purpur/PurpurConfig.java b/org/purpurmc/purpur/PurpurConfig.java
index e0db3230c3912588ed527e131751bef082665294..e58c5c338000218a0ed200987870c8c79193d5b1 100644 index bbfd05509dfc2ee453f847d299b3d261324b6fa9..b8c8806789bd0060cd3faee5815bbf25c8715a9b 100644
--- a/org/purpurmc/purpur/PurpurConfig.java --- a/org/purpurmc/purpur/PurpurConfig.java
+++ b/org/purpurmc/purpur/PurpurConfig.java +++ b/org/purpurmc/purpur/PurpurConfig.java
@@ -322,6 +322,7 @@ public class PurpurConfig { @@ -322,6 +322,7 @@ public class PurpurConfig {
@@ -264,10 +264,10 @@ index e0db3230c3912588ed527e131751bef082665294..e58c5c338000218a0ed200987870c8c7
org.bukkit.event.inventory.InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27); org.bukkit.event.inventory.InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27);
enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows); enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows);
diff --git a/org/purpurmc/purpur/PurpurWorldConfig.java b/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/org/purpurmc/purpur/PurpurWorldConfig.java b/org/purpurmc/purpur/PurpurWorldConfig.java
index 53f7d89a68e3e05c2303d4ef5185b2ad41135380..06fb46236023d7d73de40583c20e96656f3ace19 100644 index ae06918ebfa3bbd914ebdebb8107ec447643ef22..793d2fd30edcf4c21445eabdab8d6813e460e469 100644
--- a/org/purpurmc/purpur/PurpurWorldConfig.java --- a/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1137,12 +1137,20 @@ public class PurpurWorldConfig { @@ -1139,12 +1139,20 @@ public class PurpurWorldConfig {
public boolean allayControllable = true; public boolean allayControllable = true;
public double allayMaxHealth = 20.0D; public double allayMaxHealth = 20.0D;
public double allayScale = 1.0D; public double allayScale = 1.0D;
@@ -288,7 +288,7 @@ index 53f7d89a68e3e05c2303d4ef5185b2ad41135380..06fb46236023d7d73de40583c20e9665
} }
public boolean armadilloRidable = false; public boolean armadilloRidable = false;
@@ -1297,6 +1305,10 @@ public class PurpurWorldConfig { @@ -1299,6 +1307,10 @@ public class PurpurWorldConfig {
public double camelMovementSpeedMin = 0.09D; public double camelMovementSpeedMin = 0.09D;
public double camelMovementSpeedMax = 0.09D; public double camelMovementSpeedMax = 0.09D;
public int camelBreedingTicks = 6000; public int camelBreedingTicks = 6000;
@@ -299,7 +299,7 @@ index 53f7d89a68e3e05c2303d4ef5185b2ad41135380..06fb46236023d7d73de40583c20e9665
private void camelSettings() { private void camelSettings() {
camelRidableInWater = getBoolean("mobs.camel.ridable-in-water", camelRidableInWater); camelRidableInWater = getBoolean("mobs.camel.ridable-in-water", camelRidableInWater);
camelMaxHealthMin = getDouble("mobs.camel.attributes.max_health.min", camelMaxHealthMin); camelMaxHealthMin = getDouble("mobs.camel.attributes.max_health.min", camelMaxHealthMin);
@@ -1306,6 +1318,10 @@ public class PurpurWorldConfig { @@ -1308,6 +1320,10 @@ public class PurpurWorldConfig {
camelMovementSpeedMin = getDouble("mobs.camel.attributes.movement_speed.min", camelMovementSpeedMin); camelMovementSpeedMin = getDouble("mobs.camel.attributes.movement_speed.min", camelMovementSpeedMin);
camelMovementSpeedMax = getDouble("mobs.camel.attributes.movement_speed.max", camelMovementSpeedMax); camelMovementSpeedMax = getDouble("mobs.camel.attributes.movement_speed.max", camelMovementSpeedMax);
camelBreedingTicks = getInt("mobs.camel.breeding-delay-ticks", camelBreedingTicks); camelBreedingTicks = getInt("mobs.camel.breeding-delay-ticks", camelBreedingTicks);
@@ -310,7 +310,7 @@ index 53f7d89a68e3e05c2303d4ef5185b2ad41135380..06fb46236023d7d73de40583c20e9665
} }
public boolean catRidable = false; public boolean catRidable = false;
@@ -1452,12 +1468,20 @@ public class PurpurWorldConfig { @@ -1454,12 +1470,20 @@ public class PurpurWorldConfig {
public boolean creakingControllable = true; public boolean creakingControllable = true;
public double creakingMaxHealth = 1.0D; public double creakingMaxHealth = 1.0D;
public double creakingScale = 1.0D; public double creakingScale = 1.0D;
@@ -331,7 +331,7 @@ index 53f7d89a68e3e05c2303d4ef5185b2ad41135380..06fb46236023d7d73de40583c20e9665
} }
public boolean creeperRidable = false; public boolean creeperRidable = false;
@@ -1764,12 +1788,22 @@ public class PurpurWorldConfig { @@ -1766,12 +1790,22 @@ public class PurpurWorldConfig {
public boolean frogControllable = true; public boolean frogControllable = true;
public float frogRidableJumpHeight = 0.65F; public float frogRidableJumpHeight = 0.65F;
public int frogBreedingTicks = 6000; public int frogBreedingTicks = 6000;
@@ -354,7 +354,7 @@ index 53f7d89a68e3e05c2303d4ef5185b2ad41135380..06fb46236023d7d73de40583c20e9665
} }
public boolean ghastRidable = false; public boolean ghastRidable = false;
@@ -2778,6 +2812,10 @@ public class PurpurWorldConfig { @@ -2801,6 +2835,10 @@ public class PurpurWorldConfig {
public double snifferMaxHealth = 14.0D; public double snifferMaxHealth = 14.0D;
public double snifferScale = 1.0D; public double snifferScale = 1.0D;
public int snifferBreedingTicks = 6000; public int snifferBreedingTicks = 6000;
@@ -365,7 +365,7 @@ index 53f7d89a68e3e05c2303d4ef5185b2ad41135380..06fb46236023d7d73de40583c20e9665
private void snifferSettings() { private void snifferSettings() {
snifferRidable = getBoolean("mobs.sniffer.ridable", snifferRidable); snifferRidable = getBoolean("mobs.sniffer.ridable", snifferRidable);
snifferRidableInWater = getBoolean("mobs.sniffer.ridable-in-water", snifferRidableInWater); snifferRidableInWater = getBoolean("mobs.sniffer.ridable-in-water", snifferRidableInWater);
@@ -2785,6 +2823,10 @@ public class PurpurWorldConfig { @@ -2808,6 +2846,10 @@ public class PurpurWorldConfig {
snifferMaxHealth = getDouble("mobs.sniffer.attributes.max_health", snifferMaxHealth); snifferMaxHealth = getDouble("mobs.sniffer.attributes.max_health", snifferMaxHealth);
snifferScale = Mth.clamp(getDouble("mobs.sniffer.attributes.scale", snifferScale), 0.0625D, 16.0D); snifferScale = Mth.clamp(getDouble("mobs.sniffer.attributes.scale", snifferScale), 0.0625D, 16.0D);
snifferBreedingTicks = getInt("mobs.sniffer.breeding-delay-ticks", snifferBreedingTicks); snifferBreedingTicks = getInt("mobs.sniffer.breeding-delay-ticks", snifferBreedingTicks);
@@ -376,7 +376,7 @@ index 53f7d89a68e3e05c2303d4ef5185b2ad41135380..06fb46236023d7d73de40583c20e9665
} }
public boolean squidRidable = false; public boolean squidRidable = false;
@@ -2886,10 +2928,20 @@ public class PurpurWorldConfig { @@ -2909,10 +2951,20 @@ public class PurpurWorldConfig {
public boolean tadpoleRidable = false; public boolean tadpoleRidable = false;
public boolean tadpoleRidableInWater = true; public boolean tadpoleRidableInWater = true;
public boolean tadpoleControllable = true; public boolean tadpoleControllable = true;
@@ -397,7 +397,7 @@ index 53f7d89a68e3e05c2303d4ef5185b2ad41135380..06fb46236023d7d73de40583c20e9665
} }
public boolean traderLlamaRidable = false; public boolean traderLlamaRidable = false;
@@ -3118,10 +3170,20 @@ public class PurpurWorldConfig { @@ -3141,10 +3193,20 @@ public class PurpurWorldConfig {
public boolean wardenRidable = false; public boolean wardenRidable = false;
public boolean wardenRidableInWater = true; public boolean wardenRidableInWater = true;
public boolean wardenControllable = true; public boolean wardenControllable = true;

View File

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