From c718c87a1b265652a5fa6c8f26315381a4418b81 Mon Sep 17 00:00:00 2001 From: Ben Kerllenevich Date: Thu, 25 Nov 2021 08:06:40 -0500 Subject: [PATCH] just over halfway --- ...when-using-a-Name-Tag-on-an-Armor-S.patch} | 2 +- ...ting-and-weeping-vines-growth-rates.patch} | 12 +++--- ...twisting-vines-configurable-max-gro.patch} | 18 ++++---- ...lowing-Endermen-to-despawn-even-whi.patch} | 10 ++--- ...19-Add-configurable-snowball-damage.patch} | 2 +- ...0-Changeable-Mob-Left-Handed-Chance.patch} | 6 +-- .../0121-Add-boat-fall-damage-config.patch} | 8 ++-- ...0122-Snow-Golem-rate-of-fire-config.patch} | 10 ++--- ...-Configurable-disable-give-dropping.patch} | 0 .../0124-Lobotomize-stuck-villagers.patch} | 16 +++---- ...illager-Clerics-to-farm-Nether-Wart.patch} | 20 ++++----- ...ied-Piglin-death-always-counting-as.patch} | 12 +++--- ...timise-player-list-ticksSpread-out-.patch} | 8 ++-- ...le-chance-for-wolves-to-spawn-rabid.patch} | 42 +++++++++---------- ...9-Configurable-default-collar-color.patch} | 20 ++++----- 15 files changed, 92 insertions(+), 94 deletions(-) rename patches/{unapplied/server/0118-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch => server/0115-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch} (95%) rename patches/{unapplied/server/0119-Add-twisting-and-weeping-vines-growth-rates.patch => server/0116-Add-twisting-and-weeping-vines-growth-rates.patch} (92%) rename patches/{unapplied/server/0120-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch => server/0117-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch} (91%) rename patches/{unapplied/server/0121-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch => server/0118-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch} (85%) rename patches/{unapplied/server/0122-Add-configurable-snowball-damage.patch => server/0119-Add-configurable-snowball-damage.patch} (95%) rename patches/{unapplied/server/0123-Changeable-Mob-Left-Handed-Chance.patch => server/0120-Changeable-Mob-Left-Handed-Chance.patch} (87%) rename patches/{unapplied/server/0124-Add-boat-fall-damage-config.patch => server/0121-Add-boat-fall-damage-config.patch} (90%) rename patches/{unapplied/server/0125-Snow-Golem-rate-of-fire-config.patch => server/0122-Snow-Golem-rate-of-fire-config.patch} (89%) rename patches/{unapplied/server/0126-EMC-Configurable-disable-give-dropping.patch => server/0123-EMC-Configurable-disable-give-dropping.patch} (100%) rename patches/{unapplied/server/0127-Lobotomize-stuck-villagers.patch => server/0124-Lobotomize-stuck-villagers.patch} (87%) rename patches/{unapplied/server/0128-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch => server/0125-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch} (94%) rename patches/{unapplied/server/0129-Toggle-for-Zombified-Piglin-death-always-counting-as.patch => server/0126-Toggle-for-Zombified-Piglin-death-always-counting-as.patch} (87%) rename patches/{unapplied/server/0130-Spread-out-and-optimise-player-list-ticksSpread-out-.patch => server/0127-Spread-out-and-optimise-player-list-ticksSpread-out-.patch} (89%) rename patches/{unapplied/server/0131-Configurable-chance-for-wolves-to-spawn-rabid.patch => server/0128-Configurable-chance-for-wolves-to-spawn-rabid.patch} (89%) rename patches/{unapplied/server/0132-Configurable-default-collar-color.patch => server/0129-Configurable-default-collar-color.patch} (84%) diff --git a/patches/unapplied/server/0118-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch b/patches/server/0115-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch similarity index 95% rename from patches/unapplied/server/0118-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch rename to patches/server/0115-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch index bf7682ecc..f1a0768b0 100644 --- a/patches/unapplied/server/0118-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch +++ b/patches/server/0115-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch @@ -17,7 +17,7 @@ index 623f78c078fb3aa2665d7e8a37672438227bce6b..500c69e555c7247e20ef8cc59d834155 ((Mob) newEntityLiving).setPersistenceRequired(); // Paper end diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 4a567fcc95561bbd40cbbb9533cfe81149fb1874..467c17a4b35d53da80d9eaa6d7fc5f0944413f5c 100644 +index a4ec9fd7070fbc71a08a99e2d191464aff2fff20..9c3f2a19e7d4b01c21a82c69c202350d730ff7e7 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -102,9 +102,11 @@ public class PurpurWorldConfig { diff --git a/patches/unapplied/server/0119-Add-twisting-and-weeping-vines-growth-rates.patch b/patches/server/0116-Add-twisting-and-weeping-vines-growth-rates.patch similarity index 92% rename from patches/unapplied/server/0119-Add-twisting-and-weeping-vines-growth-rates.patch rename to patches/server/0116-Add-twisting-and-weeping-vines-growth-rates.patch index 44bd2c48a..8d9118211 100644 --- a/patches/unapplied/server/0119-Add-twisting-and-weeping-vines-growth-rates.patch +++ b/patches/server/0116-Add-twisting-and-weeping-vines-growth-rates.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add twisting and weeping vines growth rates diff --git a/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java b/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java -index 4c4d059ca5c93ed37bc4473911d265fcec56c396..f63e79ff0df4b4f152f74e55134dc72932e6ae55 100644 +index 87dabe3c80b48bff52f2e3dbbaceb37a1a21e431..966fd0ecff8a0fa8a08edaeaad899ff13f8106f3 100644 --- a/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java +++ b/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java @@ -80,4 +80,10 @@ public class CaveVinesBlock extends GrowingPlantHeadBlock implements Bonemealabl @@ -20,10 +20,10 @@ index 4c4d059ca5c93ed37bc4473911d265fcec56c396..f63e79ff0df4b4f152f74e55134dc729 + // Purpur end } diff --git a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java -index 3129c8db32fd79ab5917ffc93ee6dd5db58b1aad..9f1d43ad720750f9d50cc3cfbe1fc9b335cffd0d 100644 +index def3b62feada5cebae4049883fa967b12f6f32b4..c4ba28ea8f73092c85b08bbec0d9197f2983ce23 100644 --- a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java +++ b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java -@@ -39,9 +39,11 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements +@@ -38,9 +38,11 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements return (Integer) state.getValue(GrowingPlantHeadBlock.AGE) < 25; } @@ -82,10 +82,10 @@ index 35b2bad76c45b5a94ba7f2e9c7a8cfeb8c3f498b..d2cb1a7e7ea364cb8e2af4c4e756d8e4 + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 467c17a4b35d53da80d9eaa6d7fc5f0944413f5c..4a4d8cc7f36c6733bb56680dcf599ffba3898eab 100644 +index 9c3f2a19e7d4b01c21a82c69c202350d730ff7e7..d157860e20f7faa2a4e7f50e6fcad598e7794394 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -426,6 +426,11 @@ public class PurpurWorldConfig { +@@ -402,6 +402,11 @@ public class PurpurWorldConfig { } } @@ -97,7 +97,7 @@ index 467c17a4b35d53da80d9eaa6d7fc5f0944413f5c..4a4d8cc7f36c6733bb56680dcf599ffb public boolean dispenserApplyCursedArmor = true; public boolean dispenserPlaceAnvils = false; private void dispenserSettings() { -@@ -502,6 +507,16 @@ public class PurpurWorldConfig { +@@ -478,6 +483,16 @@ public class PurpurWorldConfig { stonecutterDamage = (float) getDouble("blocks.stonecutter.damage", stonecutterDamage); } diff --git a/patches/unapplied/server/0120-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch b/patches/server/0117-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch similarity index 91% rename from patches/unapplied/server/0120-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch rename to patches/server/0117-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch index 07fe7b7ac..4f03d088a 100644 --- a/patches/unapplied/server/0120-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch +++ b/patches/server/0117-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Kelp weeping and twisting vines configurable max growth age diff --git a/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java b/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java -index f63e79ff0df4b4f152f74e55134dc72932e6ae55..905ef84a959833c38898670126e0ac08da8d4ca2 100644 +index 966fd0ecff8a0fa8a08edaeaad899ff13f8106f3..54f4683b7ad69f6bfb2e2b19842f0a418b20359a 100644 --- a/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java +++ b/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java @@ -85,5 +85,9 @@ public class CaveVinesBlock extends GrowingPlantHeadBlock implements Bonemealabl @@ -19,10 +19,10 @@ index f63e79ff0df4b4f152f74e55134dc72932e6ae55..905ef84a959833c38898670126e0ac08 // Purpur end } diff --git a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java -index 9f1d43ad720750f9d50cc3cfbe1fc9b335cffd0d..1c3284f8bf7923361797a73077af0699fa58db29 100644 +index c4ba28ea8f73092c85b08bbec0d9197f2983ce23..1914a145005dd2c44ac66efb313ac7837238f29b 100644 --- a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java +++ b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java -@@ -31,7 +31,7 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements +@@ -30,7 +30,7 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements @Override public BlockState getStateForPlacement(LevelAccessor world) { @@ -31,7 +31,7 @@ index 9f1d43ad720750f9d50cc3cfbe1fc9b335cffd0d..1c3284f8bf7923361797a73077af0699 } @Override -@@ -41,9 +41,11 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements +@@ -40,9 +40,11 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements public abstract double getGrowthModifier(ServerLevel world); // Purpur @@ -44,7 +44,7 @@ index 9f1d43ad720750f9d50cc3cfbe1fc9b335cffd0d..1c3284f8bf7923361797a73077af0699 BlockPos blockposition1 = pos.relative(this.growthDirection); if (this.canGrowInto(world.getBlockState(blockposition1))) { -@@ -96,13 +98,13 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements +@@ -103,13 +105,13 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements @Override public void performBonemeal(ServerLevel world, Random random, BlockPos pos, BlockState state) { BlockPos blockposition1 = pos.relative(this.growthDirection); @@ -103,10 +103,10 @@ index d2cb1a7e7ea364cb8e2af4c4e756d8e45bc0ca10..bb99dda3c5167f23b2500a1f37cbc1ca // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 4a4d8cc7f36c6733bb56680dcf599ffba3898eab..821a925ff0499e84616b9fb9a6a541359d9ddd2c 100644 +index d157860e20f7faa2a4e7f50e6fcad598e7794394..4037db3395073e5f27091e638555f41d6739d45e 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -427,8 +427,10 @@ public class PurpurWorldConfig { +@@ -403,8 +403,10 @@ public class PurpurWorldConfig { } public double caveVinesGrowthModifier = 0.10D; @@ -117,7 +117,7 @@ index 4a4d8cc7f36c6733bb56680dcf599ffba3898eab..821a925ff0499e84616b9fb9a6a54135 } public boolean dispenserApplyCursedArmor = true; -@@ -474,6 +476,11 @@ public class PurpurWorldConfig { +@@ -450,6 +452,11 @@ public class PurpurWorldConfig { waterInfiniteRequiredSources = getInt("blocks.water.infinite-required-sources", waterInfiniteRequiredSources); } @@ -129,7 +129,7 @@ index 4a4d8cc7f36c6733bb56680dcf599ffba3898eab..821a925ff0499e84616b9fb9a6a54135 public boolean respawnAnchorExplode = true; public double respawnAnchorExplosionPower = 5.0D; public boolean respawnAnchorExplosionFire = true; -@@ -508,13 +515,17 @@ public class PurpurWorldConfig { +@@ -484,13 +491,17 @@ public class PurpurWorldConfig { } public double twistingVinesGrowthModifier = 0.10D; diff --git a/patches/unapplied/server/0121-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch b/patches/server/0118-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch similarity index 85% rename from patches/unapplied/server/0121-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch rename to patches/server/0118-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch index afe1e892b..e20bfc38a 100644 --- a/patches/unapplied/server/0121-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch +++ b/patches/server/0118-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch @@ -8,10 +8,10 @@ This should help to reduce the amount of dirt, gravel, grass, and etc. that Endermen like to randomly place all over the world. diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java -index b9f8969cbe24661a5fa5fb4b46fdd159b76005cc..9003af124953bf6fb12e8bff8e10d5aa0a7f9fc1 100644 +index 490b8d674a0f1ae75de89fcadb2894da55c32d4e..28d2ccc6b29b17a99a2828d044259adafa10922c 100644 --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java -@@ -429,7 +429,7 @@ public class EnderMan extends Monster implements NeutralMob { +@@ -453,7 +453,7 @@ public class EnderMan extends Monster implements NeutralMob { @Override public boolean requiresCustomPersistence() { @@ -21,10 +21,10 @@ index b9f8969cbe24661a5fa5fb4b46fdd159b76005cc..9003af124953bf6fb12e8bff8e10d5aa private static class EndermanFreezeWhenLookedAt extends Goal { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 821a925ff0499e84616b9fb9a6a541359d9ddd2c..d5d2a742a0ae58bb43a946386bba7e38ae8a4b61 100644 +index 4037db3395073e5f27091e638555f41d6739d45e..a7ffef3041c104bb4d0de9fc9db348679f28dcd4 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -811,6 +811,7 @@ public class PurpurWorldConfig { +@@ -787,6 +787,7 @@ public class PurpurWorldConfig { public boolean endermanRidableInWater = false; public double endermanMaxHealth = 40.0D; public boolean endermanAllowGriefing = true; @@ -32,7 +32,7 @@ index 821a925ff0499e84616b9fb9a6a541359d9ddd2c..d5d2a742a0ae58bb43a946386bba7e38 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -821,6 +822,7 @@ public class PurpurWorldConfig { +@@ -797,6 +798,7 @@ public class PurpurWorldConfig { } endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth); endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing); diff --git a/patches/unapplied/server/0122-Add-configurable-snowball-damage.patch b/patches/server/0119-Add-configurable-snowball-damage.patch similarity index 95% rename from patches/unapplied/server/0122-Add-configurable-snowball-damage.patch rename to patches/server/0119-Add-configurable-snowball-damage.patch index f106b6be9..dd90740f4 100644 --- a/patches/unapplied/server/0122-Add-configurable-snowball-damage.patch +++ b/patches/server/0119-Add-configurable-snowball-damage.patch @@ -18,7 +18,7 @@ index ed2f039c4042861bcfa2e41d8281eefd37daa9fa..d5d84893c77b4e60a19032d765d76bfd } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index d5d2a742a0ae58bb43a946386bba7e38ae8a4b61..e94f79558ea0c380957f7984b03cb9f90190dee2 100644 +index a7ffef3041c104bb4d0de9fc9db348679f28dcd4..c8987ff98ad2ffd808cf647266f36bfade93edd4 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -295,6 +295,11 @@ public class PurpurWorldConfig { diff --git a/patches/unapplied/server/0123-Changeable-Mob-Left-Handed-Chance.patch b/patches/server/0120-Changeable-Mob-Left-Handed-Chance.patch similarity index 87% rename from patches/unapplied/server/0123-Changeable-Mob-Left-Handed-Chance.patch rename to patches/server/0120-Changeable-Mob-Left-Handed-Chance.patch index f6eb4ba92..9e013f648 100644 --- a/patches/unapplied/server/0123-Changeable-Mob-Left-Handed-Chance.patch +++ b/patches/server/0120-Changeable-Mob-Left-Handed-Chance.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Changeable Mob Left Handed Chance diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index a268895fa22b81c164837a731d4bde51a68190c4..48fae807359382fd178bad91fc9cab9bba858dec 100644 +index 198fe041d20e7ed21b47d5c22dcc121a8d388623..6a8347ceefd663066de5887fef8ebc82b30a1b93 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -1208,7 +1208,7 @@ public abstract class Mob extends LivingEntity { +@@ -1223,7 +1223,7 @@ public abstract class Mob extends LivingEntity { @Nullable public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) { this.getAttribute(Attributes.FOLLOW_RANGE).addPermanentModifier(new AttributeModifier("Random spawn bonus", this.random.nextGaussian() * 0.05D, AttributeModifier.Operation.MULTIPLY_BASE)); @@ -18,7 +18,7 @@ index a268895fa22b81c164837a731d4bde51a68190c4..48fae807359382fd178bad91fc9cab9b } else { this.setLeftHanded(false); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index e94f79558ea0c380957f7984b03cb9f90190dee2..2b246ec320e6e1874329786887e72fd1b9884119 100644 +index c8987ff98ad2ffd808cf647266f36bfade93edd4..acf77639758714e39e9da69946c3fd44b32e8c1c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -130,8 +130,10 @@ public class PurpurWorldConfig { diff --git a/patches/unapplied/server/0124-Add-boat-fall-damage-config.patch b/patches/server/0121-Add-boat-fall-damage-config.patch similarity index 90% rename from patches/unapplied/server/0124-Add-boat-fall-damage-config.patch rename to patches/server/0121-Add-boat-fall-damage-config.patch index ab7a9d723..8325b2aa8 100644 --- a/patches/unapplied/server/0124-Add-boat-fall-damage-config.patch +++ b/patches/server/0121-Add-boat-fall-damage-config.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add boat fall damage config diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index dd3b3e4821dbd3a1fb73ddcc31c022175c18708d..d6bea7c9e925bd211b2de4b596dab77fe10d12ac 100644 +index 48f19d3cfbf310344bf062b269a5f5eecc2887a5..1025696b877d8cffae2d34b6036a362612e9d706 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -989,7 +989,16 @@ public class ServerPlayer extends Player { +@@ -1018,7 +1018,16 @@ public class ServerPlayer extends Player { if (this.isInvulnerableTo(source)) { return false; } else { @@ -27,7 +27,7 @@ index dd3b3e4821dbd3a1fb73ddcc31c022175c18708d..d6bea7c9e925bd211b2de4b596dab77f if (!flag && isSpawnInvulnerable() && source != DamageSource.OUT_OF_WORLD) { // Purpur diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 2b246ec320e6e1874329786887e72fd1b9884119..e351e19ab26a3143c7b05c66a2e69fd2f3b443ab 100644 +index acf77639758714e39e9da69946c3fd44b32e8c1c..a47a309fbf877dee063bdf03047c4c627224898b 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -365,6 +365,7 @@ public class PurpurWorldConfig { @@ -38,7 +38,7 @@ index 2b246ec320e6e1874329786887e72fd1b9884119..e351e19ab26a3143c7b05c66a2e69fd2 public boolean disableDropsOnCrammingDeath = false; public boolean entitiesCanUsePortals = true; public boolean milkCuresBadOmen = true; -@@ -378,6 +379,7 @@ public class PurpurWorldConfig { +@@ -377,6 +378,7 @@ public class PurpurWorldConfig { private void miscGameplayMechanicsSettings() { useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand); diff --git a/patches/unapplied/server/0125-Snow-Golem-rate-of-fire-config.patch b/patches/server/0122-Snow-Golem-rate-of-fire-config.patch similarity index 89% rename from patches/unapplied/server/0125-Snow-Golem-rate-of-fire-config.patch rename to patches/server/0122-Snow-Golem-rate-of-fire-config.patch index 004e45513..a4bc88aa3 100644 --- a/patches/unapplied/server/0125-Snow-Golem-rate-of-fire-config.patch +++ b/patches/server/0122-Snow-Golem-rate-of-fire-config.patch @@ -10,10 +10,10 @@ If min-shoot-interval-ticks and max-shoot-interval-ticks are both set to 0, snow golems won't shoot any snowballs. diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java -index 9ea7682c7cb4c4be1c44d3dd12dc6954d44d659e..3ea3085d9b4256c1a37c99e79550f9773e8c0f71 100644 +index dbd005660d70918fe5a9d0f5c74f6b7d7fb03c3f..093211be0d86cc114cbb109d7ba01f491d7954b1 100644 --- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java +++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java -@@ -73,7 +73,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM +@@ -74,7 +74,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM @Override protected void registerGoals() { this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur @@ -23,10 +23,10 @@ index 9ea7682c7cb4c4be1c44d3dd12dc6954d44d659e..3ea3085d9b4256c1a37c99e79550f977 this.goalSelector.addGoal(3, new LookAtPlayerGoal(this, Player.class, 6.0F)); this.goalSelector.addGoal(4, new RandomLookAroundGoal(this)); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index e351e19ab26a3143c7b05c66a2e69fd2f3b443ab..bab3327d5d04c9533e1992478d4f7798685a8e33 100644 +index a47a309fbf877dee063bdf03047c4c627224898b..051024771f51409805ad76fe9a8d5fdc79a9999d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1494,6 +1494,10 @@ public class PurpurWorldConfig { +@@ -1470,6 +1470,10 @@ public class PurpurWorldConfig { public double snowGolemMaxHealth = 4.0D; public boolean snowGolemDropsPumpkin = true; public boolean snowGolemPutPumpkinBack = false; @@ -37,7 +37,7 @@ index e351e19ab26a3143c7b05c66a2e69fd2f3b443ab..bab3327d5d04c9533e1992478d4f7798 private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1506,6 +1510,10 @@ public class PurpurWorldConfig { +@@ -1482,6 +1486,10 @@ public class PurpurWorldConfig { snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth); snowGolemDropsPumpkin = getBoolean("mobs.snow_golem.drop-pumpkin-when-sheared", snowGolemDropsPumpkin); snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack); diff --git a/patches/unapplied/server/0126-EMC-Configurable-disable-give-dropping.patch b/patches/server/0123-EMC-Configurable-disable-give-dropping.patch similarity index 100% rename from patches/unapplied/server/0126-EMC-Configurable-disable-give-dropping.patch rename to patches/server/0123-EMC-Configurable-disable-give-dropping.patch diff --git a/patches/unapplied/server/0127-Lobotomize-stuck-villagers.patch b/patches/server/0124-Lobotomize-stuck-villagers.patch similarity index 87% rename from patches/unapplied/server/0127-Lobotomize-stuck-villagers.patch rename to patches/server/0124-Lobotomize-stuck-villagers.patch index 1cef0aa98..36f82526c 100644 --- a/patches/unapplied/server/0127-Lobotomize-stuck-villagers.patch +++ b/patches/server/0124-Lobotomize-stuck-villagers.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Lobotomize stuck villagers diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index c942bcedcfb260141589465105091c67d6e762c9..08fd7d33b00b46440529dd841ab386952cb35b29 100644 +index 145607300ed953e88b0f9fc1fc61bc34a6c92f84..eddaebb31f2c8372ea5bc38a77fda50a0e8844e2 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java -@@ -142,6 +142,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler +@@ -138,6 +138,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler return villageplacetype == PoiType.MEETING; }); private final int brainTickOffset; // Purpur @@ -16,7 +16,7 @@ index c942bcedcfb260141589465105091c67d6e762c9..08fd7d33b00b46440529dd841ab38695 public Villager(EntityType entityType, Level world) { this(entityType, world, VillagerType.PLAINS); -@@ -183,6 +184,22 @@ public class Villager extends AbstractVillager implements ReputationEventHandler +@@ -179,6 +180,22 @@ public class Villager extends AbstractVillager implements ReputationEventHandler public boolean canBeLeashed(Player player) { return level.purpurConfig.villagerCanBeLeashed && !this.isLeashed(); } @@ -39,7 +39,7 @@ index c942bcedcfb260141589465105091c67d6e762c9..08fd7d33b00b46440529dd841ab38695 // Purpur end @Override -@@ -280,10 +297,12 @@ public class Villager extends AbstractVillager implements ReputationEventHandler +@@ -276,10 +293,12 @@ public class Villager extends AbstractVillager implements ReputationEventHandler protected void mobTick(boolean inactive) { this.level.getProfiler().push("villagerBrain"); // Purpur start @@ -47,16 +47,16 @@ index c942bcedcfb260141589465105091c67d6e762c9..08fd7d33b00b46440529dd841ab38695 boolean tick = (level.getGameTime() + brainTickOffset) % level.purpurConfig.villagerBrainTicks == 0; if (((ServerLevel) level).getServer().lagging ? tick : level.purpurConfig.villagerUseBrainTicksOnlyWhenLagging || tick) // Purpur end - if (!inactive) this.getBrain().tick((ServerLevel) this.level, this); // CraftBukkit - decompile error // Paper + if (!inactive) this.getBrain().tick((ServerLevel) this.level, this); // Paper + else if (shouldRestock()) restock(); // Purpur this.level.getProfiler().pop(); if (this.assignProfessionWhenSpawned) { this.assignProfessionWhenSpawned = false; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index bab3327d5d04c9533e1992478d4f7798685a8e33..b523f87b5ffdf4df5d806b1b512b241e60921c10 100644 +index 051024771f51409805ad76fe9a8d5fdc79a9999d..82baa5223e5df968fb8b0ba989c1e1b7e9d60dec 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1667,6 +1667,8 @@ public class PurpurWorldConfig { +@@ -1643,6 +1643,8 @@ public class PurpurWorldConfig { public int villagerSpawnIronGolemLimit = 0; public boolean villagerCanBreed = true; public int villagerBreedingTicks = 6000; @@ -65,7 +65,7 @@ index bab3327d5d04c9533e1992478d4f7798685a8e33..b523f87b5ffdf4df5d806b1b512b241e private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1684,6 +1686,13 @@ public class PurpurWorldConfig { +@@ -1660,6 +1662,13 @@ public class PurpurWorldConfig { villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit); villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed); villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks); diff --git a/patches/unapplied/server/0128-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch b/patches/server/0125-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch similarity index 94% rename from patches/unapplied/server/0128-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch rename to patches/server/0125-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch index 974283fed..c6ecb0e2e 100644 --- a/patches/unapplied/server/0128-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch +++ b/patches/server/0125-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch @@ -8,7 +8,7 @@ farm Nether Wart. Reimplemented based on a feature of the carpet-extra mod. diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java b/src/main/java/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java -index 41b5652578e4a703cb6f03e82654b27ea6302b99..8d6d47456ce6f9870f1a682665780a301b92fec5 100644 +index 1a96d3302c4d57cb0c2418c00598083d271316da..7d4457da2fe82ebe91b99cf91ae5e70b491d34e7 100644 --- a/src/main/java/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java +++ b/src/main/java/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java @@ -34,6 +34,7 @@ public class HarvestFarmland extends Behavior { @@ -99,7 +99,7 @@ index 1150a541a270a3ce5c69895f5385800aa44c22f4..808da0b75fcf492a76c692e312aa33ef throwHalfStack(villager, this.trades, villager2); } diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java b/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java -index 9d6bcbdb79a968f93319e7792c83245383ed0cea..480ca2615ae8bc17b6889a2df2282f81a54c242e 100644 +index 70a3db78c4913c14f39ddee39e5fcdd0e741c971..1763764662e061d1f8de74b65de7fb5cc1caac5c 100644 --- a/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java +++ b/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java @@ -23,8 +23,13 @@ public class VillagerGoalPackages { @@ -145,10 +145,10 @@ index b615dc2a2127f0874775d1707e96edfb4d95b987..72ae6b3282aac806ae11b87024ee940e brain.setMemory(MemoryModuleType.SECONDARY_JOB_SITE, list); } else { diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index 08fd7d33b00b46440529dd841ab386952cb35b29..678d11c2941026fa0bf9ca50ba0ff4d6b0ac078e 100644 +index eddaebb31f2c8372ea5bc38a77fda50a0e8844e2..41ee7ebbe9689ee9d8d66463bb53eaf79b76117f 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java -@@ -236,7 +236,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler +@@ -232,7 +232,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler brain.addActivity(Activity.PLAY, VillagerGoalPackages.getPlayPackage(0.5F)); } else { brain.setSchedule(Schedule.VILLAGER_DEFAULT); @@ -157,20 +157,18 @@ index 08fd7d33b00b46440529dd841ab386952cb35b29..678d11c2941026fa0bf9ca50ba0ff4d6 } brain.addActivity(Activity.CORE, VillagerGoalPackages.getCorePackage(villagerprofession, 0.5F)); -@@ -985,7 +985,12 @@ public class Villager extends AbstractVillager implements ReputationEventHandler +@@ -988,6 +988,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler } public boolean hasFarmSeeds() { -- return this.getInventory().hasAnyOf((Set) ImmutableSet.of(Items.WHEAT_SEEDS, Items.POTATO, Items.CARROT, Items.BEETROOT_SEEDS)); + // Purpur start + if (this.level.purpurConfig.villagerClericsFarmWarts && this.getVillagerData().getProfession() == VillagerProfession.CLERIC) { + return this.getInventory().hasAnyOf(ImmutableSet.of(Items.NETHER_WART)); + } -+ return this.getInventory().hasAnyOf(ImmutableSet.of(Items.WHEAT_SEEDS, Items.POTATO, Items.CARROT, Items.BEETROOT_SEEDS)); + // Purpur end + return this.getInventory().hasAnyOf(ImmutableSet.of(Items.WHEAT_SEEDS, Items.POTATO, Items.CARROT, Items.BEETROOT_SEEDS)); } - @Override diff --git a/src/main/java/net/minecraft/world/entity/npc/VillagerProfession.java b/src/main/java/net/minecraft/world/entity/npc/VillagerProfession.java index 901fc6520d58a5fa5f2cf1b4fa78fec6008aa409..9050cd25663c71197c597aac0ab2e6121b76b13b 100644 --- a/src/main/java/net/minecraft/world/entity/npc/VillagerProfession.java @@ -185,10 +183,10 @@ index 901fc6520d58a5fa5f2cf1b4fa78fec6008aa409..9050cd25663c71197c597aac0ab2e612 public static final VillagerProfession FISHERMAN = register("fisherman", PoiType.FISHERMAN, SoundEvents.VILLAGER_WORK_FISHERMAN); public static final VillagerProfession FLETCHER = register("fletcher", PoiType.FLETCHER, SoundEvents.VILLAGER_WORK_FLETCHER); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index b523f87b5ffdf4df5d806b1b512b241e60921c10..4cdeae00f24a81e5b49333cd611c2152411cfaef 100644 +index 82baa5223e5df968fb8b0ba989c1e1b7e9d60dec..b370d144c6e6c95af27669ebd31292843bf65e8c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1669,6 +1669,8 @@ public class PurpurWorldConfig { +@@ -1645,6 +1645,8 @@ public class PurpurWorldConfig { public int villagerBreedingTicks = 6000; public boolean villagerLobotomizeEnabled = false; public int villagerLobotomizeCheck = 60; @@ -197,7 +195,7 @@ index b523f87b5ffdf4df5d806b1b512b241e60921c10..4cdeae00f24a81e5b49333cd611c2152 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1693,6 +1695,8 @@ public class PurpurWorldConfig { +@@ -1669,6 +1671,8 @@ public class PurpurWorldConfig { } villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled); villagerLobotomizeCheck = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheck); diff --git a/patches/unapplied/server/0129-Toggle-for-Zombified-Piglin-death-always-counting-as.patch b/patches/server/0126-Toggle-for-Zombified-Piglin-death-always-counting-as.patch similarity index 87% rename from patches/unapplied/server/0129-Toggle-for-Zombified-Piglin-death-always-counting-as.patch rename to patches/server/0126-Toggle-for-Zombified-Piglin-death-always-counting-as.patch index a77fbd746..68b8abaf6 100644 --- a/patches/unapplied/server/0129-Toggle-for-Zombified-Piglin-death-always-counting-as.patch +++ b/patches/server/0126-Toggle-for-Zombified-Piglin-death-always-counting-as.patch @@ -13,10 +13,10 @@ to the Piglin being angry, even though the player never hit them. This patch adds a toggle to disable this behavior. diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java -index 96e727cd703a1da5f60ab07e47b6bc5265b309e4..50553ab4ea1e7c8ae58988ce959188408cb03913 100644 +index 76f1bbec2b8ebe037de65ee5ec718e17a6081c13..f8b742ee8e637edd8e8b05aff2fcc7a75afe959a 100644 --- a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java +++ b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java -@@ -137,7 +137,7 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob { +@@ -138,7 +138,7 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob { this.maybeAlertOthers(); } @@ -25,7 +25,7 @@ index 96e727cd703a1da5f60ab07e47b6bc5265b309e4..50553ab4ea1e7c8ae58988ce95918840 this.lastHurtByPlayerTime = this.tickCount; } -@@ -192,7 +192,7 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob { +@@ -193,7 +193,7 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob { this.ticksUntilNextAlert = ZombifiedPiglin.ALERT_INTERVAL.sample(this.random); } @@ -35,10 +35,10 @@ index 96e727cd703a1da5f60ab07e47b6bc5265b309e4..50553ab4ea1e7c8ae58988ce95918840 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 4cdeae00f24a81e5b49333cd611c2152411cfaef..3539cdb60b893693687219b689f30d1aa6c1d837 100644 +index b370d144c6e6c95af27669ebd31292843bf65e8c..dc7076250f80fc294e14d37cc63233fe66fd9b7f 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1895,6 +1895,7 @@ public class PurpurWorldConfig { +@@ -1871,6 +1871,7 @@ public class PurpurWorldConfig { public boolean zombifiedPiglinJockeyOnlyBaby = true; public double zombifiedPiglinJockeyChance = 0.05D; public boolean zombifiedPiglinJockeyTryExistingChickens = true; @@ -46,7 +46,7 @@ index 4cdeae00f24a81e5b49333cd611c2152411cfaef..3539cdb60b893693687219b689f30d1a private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -1908,5 +1909,6 @@ public class PurpurWorldConfig { +@@ -1884,5 +1885,6 @@ public class PurpurWorldConfig { zombifiedPiglinJockeyOnlyBaby = getBoolean("mobs.zombified_piglin.jockey.only-babies", zombifiedPiglinJockeyOnlyBaby); zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance); zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens); diff --git a/patches/unapplied/server/0130-Spread-out-and-optimise-player-list-ticksSpread-out-.patch b/patches/server/0127-Spread-out-and-optimise-player-list-ticksSpread-out-.patch similarity index 89% rename from patches/unapplied/server/0130-Spread-out-and-optimise-player-list-ticksSpread-out-.patch rename to patches/server/0127-Spread-out-and-optimise-player-list-ticksSpread-out-.patch index 64f3eec12..a77c23d19 100644 --- a/patches/unapplied/server/0130-Spread-out-and-optimise-player-list-ticksSpread-out-.patch +++ b/patches/server/0127-Spread-out-and-optimise-player-list-ticksSpread-out-.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Spread out and optimise player list ticksSpread out and diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 7880893c132f95df4dcfea564b4c40c2b8256ea4..5655282578018c00a60d7ddc3fb48393da9cc2ee 100644 +index 811629721c4e3babb5437031910185daf10d5784..122b6f4fd8334483d32dbe353c273dbec14086aa 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1012,22 +1012,22 @@ public abstract class PlayerList { +@@ -1007,22 +1007,22 @@ public abstract class PlayerList { } public void tick() { @@ -46,10 +46,10 @@ index 7880893c132f95df4dcfea564b4c40c2b8256ea4..5655282578018c00a60d7ddc3fb48393 public void broadcastAll(Packet packet) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index e72e2ec797526772dc9c490739f5b45e4d135c89..303de40046ac0e5802a0061a1118ee95897b6bfc 100644 +index b927f741695c783b5c3a782ea669c7d76333c2bd..2fc276e0fc43d21ce9dd590991b564c65f6b249b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1577,7 +1577,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1526,7 +1526,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public boolean canSee(Player player) { diff --git a/patches/unapplied/server/0131-Configurable-chance-for-wolves-to-spawn-rabid.patch b/patches/server/0128-Configurable-chance-for-wolves-to-spawn-rabid.patch similarity index 89% rename from patches/unapplied/server/0131-Configurable-chance-for-wolves-to-spawn-rabid.patch rename to patches/server/0128-Configurable-chance-for-wolves-to-spawn-rabid.patch index 88bebe437..9a6976e56 100644 --- a/patches/unapplied/server/0131-Configurable-chance-for-wolves-to-spawn-rabid.patch +++ b/patches/server/0128-Configurable-chance-for-wolves-to-spawn-rabid.patch @@ -7,16 +7,18 @@ Configurable chance to spawn a wolf that is rabid. Rabid wolves attack all players, mobs, and animals. diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java -index 9ad96fec6110e26c0074c07fd8e2453e1d4271bb..055cc874ec5fb9c3268b566620bf62adda6aa85a 100644 +index 2e20a37663f48bd606157e22d466267699c8ed21..1c971eaf2fca2d1cdc89809f673e49de107a4a46 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java +++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java -@@ -10,22 +10,28 @@ import net.minecraft.network.syncher.EntityDataAccessor; +@@ -11,6 +11,7 @@ import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; import net.minecraft.server.level.ServerLevel; +import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvents; + import net.minecraft.tags.BlockTags; +@@ -18,9 +19,12 @@ import net.minecraft.tags.Tag; import net.minecraft.util.Mth; import net.minecraft.util.TimeUtil; import net.minecraft.util.valueproviders.UniformInt; @@ -29,17 +31,15 @@ index 9ad96fec6110e26c0074c07fd8e2453e1d4271bb..055cc874ec5fb9c3268b566620bf62ad import net.minecraft.world.entity.AgeableMob; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityDimensions; - import net.minecraft.world.entity.EntityType; - import net.minecraft.world.entity.LivingEntity; - import net.minecraft.world.entity.Mob; -+import net.minecraft.world.entity.MobSpawnType; +@@ -30,6 +34,7 @@ import net.minecraft.world.entity.Mob; + import net.minecraft.world.entity.MobSpawnType; import net.minecraft.world.entity.NeutralMob; import net.minecraft.world.entity.Pose; +import net.minecraft.world.entity.SpawnGroupData; import net.minecraft.world.entity.TamableAnimal; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.ai.attributes.Attributes; -@@ -34,6 +40,7 @@ import net.minecraft.world.entity.ai.goal.BegGoal; +@@ -38,6 +43,7 @@ import net.minecraft.world.entity.ai.goal.BegGoal; import net.minecraft.world.entity.ai.goal.BreedGoal; import net.minecraft.world.entity.ai.goal.FloatGoal; import net.minecraft.world.entity.ai.goal.FollowOwnerGoal; @@ -47,15 +47,15 @@ index 9ad96fec6110e26c0074c07fd8e2453e1d4271bb..055cc874ec5fb9c3268b566620bf62ad import net.minecraft.world.entity.ai.goal.LeapAtTargetGoal; import net.minecraft.world.entity.ai.goal.LookAtPlayerGoal; import net.minecraft.world.entity.ai.goal.MeleeAttackGoal; -@@ -59,6 +66,7 @@ import net.minecraft.world.item.Item; - import net.minecraft.world.item.ItemStack; +@@ -64,6 +70,7 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.level.Level; + import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.ServerLevelAccessor; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.gameevent.GameEvent; import net.minecraft.world.phys.Vec3; -@@ -77,6 +85,37 @@ public class Wolf extends TamableAnimal implements NeutralMob { +@@ -82,6 +89,37 @@ public class Wolf extends TamableAnimal implements NeutralMob { return entitytypes == EntityType.SHEEP || entitytypes == EntityType.RABBIT || entitytypes == EntityType.FOX; }; @@ -93,7 +93,7 @@ index 9ad96fec6110e26c0074c07fd8e2453e1d4271bb..055cc874ec5fb9c3268b566620bf62ad private static final float START_HEALTH = 8.0F; private static final float TAME_HEALTH = 20.0F; private float interestedAngle; -@@ -118,6 +157,37 @@ public class Wolf extends TamableAnimal implements NeutralMob { +@@ -124,6 +162,37 @@ public class Wolf extends TamableAnimal implements NeutralMob { public int getPurpurBreedTime() { return this.level.purpurConfig.wolfBreedingTicks; } @@ -131,7 +131,7 @@ index 9ad96fec6110e26c0074c07fd8e2453e1d4271bb..055cc874ec5fb9c3268b566620bf62ad // Purpur end @Override -@@ -126,6 +196,7 @@ public class Wolf extends TamableAnimal implements NeutralMob { +@@ -132,6 +201,7 @@ public class Wolf extends TamableAnimal implements NeutralMob { this.goalSelector.addGoal(1, new net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur this.goalSelector.addGoal(2, new SitWhenOrderedToGoal(this)); this.goalSelector.addGoal(3, new Wolf.WolfAvoidEntityGoal<>(this, Llama.class, 24.0F, 1.5D, 1.5D)); @@ -139,16 +139,16 @@ index 9ad96fec6110e26c0074c07fd8e2453e1d4271bb..055cc874ec5fb9c3268b566620bf62ad this.goalSelector.addGoal(4, new LeapAtTargetGoal(this, 0.4F)); this.goalSelector.addGoal(5, new MeleeAttackGoal(this, 1.0D, true)); this.goalSelector.addGoal(6, new FollowOwnerGoal(this, 1.0D, 10.0F, 2.0F, false)); -@@ -139,7 +210,7 @@ public class Wolf extends TamableAnimal implements NeutralMob { +@@ -145,7 +215,7 @@ public class Wolf extends TamableAnimal implements NeutralMob { this.targetSelector.addGoal(2, new OwnerHurtTargetGoal(this)); - this.targetSelector.addGoal(3, (new HurtByTargetGoal(this, new Class[0])).setAlertOthers(new Class[0])); // CraftBukkit - decompile error + this.targetSelector.addGoal(3, (new HurtByTargetGoal(this, new Class[0])).setAlertOthers()); this.targetSelector.addGoal(4, new NearestAttackableTargetGoal<>(this, Player.class, 10, true, false, this::isAngryAt)); - this.targetSelector.addGoal(5, new NonTameRandomTargetGoal<>(this, Animal.class, false, Wolf.PREY_SELECTOR)); + // this.targetSelector.addGoal(5, new NonTameRandomTargetGoal<>(this, Animal.class, false, Wolf.PREY_SELECTOR)); // Purpur - moved to updatePathfinders() this.targetSelector.addGoal(6, new NonTameRandomTargetGoal<>(this, Turtle.class, false, Turtle.BABY_ON_LAND_SELECTOR)); this.targetSelector.addGoal(7, new NearestAttackableTargetGoal<>(this, AbstractSkeleton.class, false)); this.targetSelector.addGoal(8, new ResetUniversalAngerTargetGoal<>(this, true)); -@@ -184,6 +255,7 @@ public class Wolf extends TamableAnimal implements NeutralMob { +@@ -190,6 +260,7 @@ public class Wolf extends TamableAnimal implements NeutralMob { public void addAdditionalSaveData(CompoundTag nbt) { super.addAdditionalSaveData(nbt); nbt.putByte("CollarColor", (byte) this.getCollarColor().getId()); @@ -156,7 +156,7 @@ index 9ad96fec6110e26c0074c07fd8e2453e1d4271bb..055cc874ec5fb9c3268b566620bf62ad this.addPersistentAngerSaveData(nbt); } -@@ -193,6 +265,10 @@ public class Wolf extends TamableAnimal implements NeutralMob { +@@ -199,6 +270,10 @@ public class Wolf extends TamableAnimal implements NeutralMob { if (nbt.contains("CollarColor", 99)) { this.setCollarColor(DyeColor.byId(nbt.getInt("CollarColor"))); } @@ -167,7 +167,7 @@ index 9ad96fec6110e26c0074c07fd8e2453e1d4271bb..055cc874ec5fb9c3268b566620bf62ad this.readPersistentAngerSaveData(this.level, nbt); } -@@ -237,6 +313,11 @@ public class Wolf extends TamableAnimal implements NeutralMob { +@@ -243,6 +318,11 @@ public class Wolf extends TamableAnimal implements NeutralMob { public void tick() { super.tick(); if (this.isAlive()) { @@ -179,7 +179,7 @@ index 9ad96fec6110e26c0074c07fd8e2453e1d4271bb..055cc874ec5fb9c3268b566620bf62ad this.interestedAngleO = this.interestedAngle; if (this.isInterested()) { this.interestedAngle += (1.0F - this.interestedAngle) * 0.4F; -@@ -434,6 +515,20 @@ public class Wolf extends TamableAnimal implements NeutralMob { +@@ -440,6 +520,20 @@ public class Wolf extends TamableAnimal implements NeutralMob { return InteractionResult.SUCCESS; } @@ -201,10 +201,10 @@ index 9ad96fec6110e26c0074c07fd8e2453e1d4271bb..055cc874ec5fb9c3268b566620bf62ad return super.mobInteract(player, hand); } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 3539cdb60b893693687219b689f30d1aa6c1d837..b6967a953b8e3bf96653ce6f32af2c5a4a9d0509 100644 +index dc7076250f80fc294e14d37cc63233fe66fd9b7f..01a72ba50885024b02bdb473b45855438b72520a 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1788,6 +1788,8 @@ public class PurpurWorldConfig { +@@ -1764,6 +1764,8 @@ public class PurpurWorldConfig { public boolean wolfRidable = false; public boolean wolfRidableInWater = false; public double wolfMaxHealth = 8.0D; @@ -213,7 +213,7 @@ index 3539cdb60b893693687219b689f30d1aa6c1d837..b6967a953b8e3bf96653ce6f32af2c5a public int wolfBreedingTicks = 6000; private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); -@@ -1798,6 +1800,8 @@ public class PurpurWorldConfig { +@@ -1774,6 +1776,8 @@ public class PurpurWorldConfig { set("mobs.wolf.attributes.max_health", oldValue); } wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); diff --git a/patches/unapplied/server/0132-Configurable-default-collar-color.patch b/patches/server/0129-Configurable-default-collar-color.patch similarity index 84% rename from patches/unapplied/server/0132-Configurable-default-collar-color.patch rename to patches/server/0129-Configurable-default-collar-color.patch index d8f1bd4fc..622c176e3 100644 --- a/patches/unapplied/server/0132-Configurable-default-collar-color.patch +++ b/patches/server/0129-Configurable-default-collar-color.patch @@ -9,10 +9,10 @@ Resets to RED when the value is invalid. test diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java -index bad5b47f3df186c77e578d5953cf1798179639d3..8355aa65b6f8be5027370fada8758510b774b4b2 100644 +index 8f6c3e9eaefc0a15aefde7119f2e123894d434b7..bc088e237e6f1f2a4cde766b7586a621f1cb54e2 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Cat.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java -@@ -366,6 +366,14 @@ public class Cat extends TamableAnimal { +@@ -367,6 +367,14 @@ public class Cat extends TamableAnimal { return Mth.lerp(tickDelta, this.relaxStateOneAmountO, this.relaxStateOneAmount); } @@ -26,12 +26,12 @@ index bad5b47f3df186c77e578d5953cf1798179639d3..8355aa65b6f8be5027370fada8758510 + @Override public Cat getBreedOffspring(ServerLevel world, AgeableMob entity) { - Cat entitycat = (Cat) EntityType.CAT.create((Level) world); + Cat entitycat = (Cat) EntityType.CAT.create(world); diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java -index 055cc874ec5fb9c3268b566620bf62adda6aa85a..bad3b1e32a8c8035542243a69028b3a8622019b8 100644 +index 1c971eaf2fca2d1cdc89809f673e49de107a4a46..a669a00d68807ed451a1b0def7a92e17ffb7bee1 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java +++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java -@@ -188,6 +188,12 @@ public class Wolf extends TamableAnimal implements NeutralMob { +@@ -193,6 +193,12 @@ public class Wolf extends TamableAnimal implements NeutralMob { this.updatePathfinders(false); return super.finalizeSpawn(world, difficulty, type, data, nbt); } @@ -45,10 +45,10 @@ index 055cc874ec5fb9c3268b566620bf62adda6aa85a..bad3b1e32a8c8035542243a69028b3a8 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index b6967a953b8e3bf96653ce6f32af2c5a4a9d0509..0bf9306bb31e975101dccc3df4c776f16af84391 100644 +index 01a72ba50885024b02bdb473b45855438b72520a..f690607739f7f040d633dc64632ecd514c5b601e 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -614,6 +614,7 @@ public class PurpurWorldConfig { +@@ -590,6 +590,7 @@ public class PurpurWorldConfig { public boolean catRidable = false; public boolean catRidableInWater = false; @@ -56,7 +56,7 @@ index b6967a953b8e3bf96653ce6f32af2c5a4a9d0509..0bf9306bb31e975101dccc3df4c776f1 public double catMaxHealth = 10.0D; public int catSpawnDelay = 1200; public int catSpawnSwampHutScanRange = 16; -@@ -627,6 +628,11 @@ public class PurpurWorldConfig { +@@ -603,6 +604,11 @@ public class PurpurWorldConfig { set("mobs.cat.attributes.max-health", null); set("mobs.cat.attributes.max_health", oldValue); } @@ -68,7 +68,7 @@ index b6967a953b8e3bf96653ce6f32af2c5a4a9d0509..0bf9306bb31e975101dccc3df4c776f1 catMaxHealth = getDouble("mobs.cat.attributes.max_health", catMaxHealth); catSpawnDelay = getInt("mobs.cat.spawn-delay", catSpawnDelay); catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange); -@@ -1788,6 +1794,7 @@ public class PurpurWorldConfig { +@@ -1764,6 +1770,7 @@ public class PurpurWorldConfig { public boolean wolfRidable = false; public boolean wolfRidableInWater = false; public double wolfMaxHealth = 8.0D; @@ -76,7 +76,7 @@ index b6967a953b8e3bf96653ce6f32af2c5a4a9d0509..0bf9306bb31e975101dccc3df4c776f1 public boolean wolfMilkCuresRabies = true; public double wolfNaturalRabid = 0.0D; public int wolfBreedingTicks = 6000; -@@ -1800,6 +1807,11 @@ public class PurpurWorldConfig { +@@ -1776,6 +1783,11 @@ public class PurpurWorldConfig { set("mobs.wolf.attributes.max_health", oldValue); } wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);