add "use-dismounts-underwater-tag" to fix ridables in water

This commit is contained in:
granny
2023-03-22 02:41:50 -07:00
parent 7c449672c9
commit f7801bd51a
83 changed files with 1172 additions and 1168 deletions

View File

@@ -1,6 +1,6 @@
- [x] make Sniffer ridable
- [x] give Sniffer entity attributes config
- [ ] fix ridables around water
- [x] fix ridables around water
- [ ] test player ridable underwater
- [ ] OPTIONAL: custom damage type instead of magic for scissors & stone cutter patch
- [x] flip the boolean in the "display names from item forms of entities to entities" patch to keep feature parity with vanilla
@@ -16,4 +16,6 @@
- [ ] re-implement options for zombie horse
### once above is complete:
- [ ] make announcement about flipped defaults ("persistent-droppable-entity-display-names", "set-name-visible-when-placing-with-custom-name")
- [ ] make announcement about changes
- flipped defaults ("persistent-droppable-entity-display-names", "set-name-visible-when-placing-with-custom-name")
- must disable `ridable-settings.use-dismounts-underwater-tag` for `<Mob>RidableInWater` options to work, updated default values to reflect `DismountsUnderwaterTag`.

File diff suppressed because it is too large Load Diff

View File

@@ -55,7 +55,7 @@ index e8798de526e2836308eca8e5f4a4388aa7e9d3c0..1152cdb64ff72358292400d33a4a4f3c
return this.brain;
}
diff --git a/src/main/java/net/minecraft/world/entity/ambient/Bat.java b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
index 24733d2b967cc9d332ad8c3b8beb0c141e18ee77..f0ba6e7971090e086fd7a70a510ae91c104f0ae9 100644
index a48d40e4242f35c6830286739172459635be3e43..da2b0dfd8a3c033488a1e5d928c40fd66ada5091 100644
--- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java
+++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
@@ -93,6 +93,18 @@ public class Bat extends AmbientCreature {
@@ -78,7 +78,7 @@ index 24733d2b967cc9d332ad8c3b8beb0c141e18ee77..f0ba6e7971090e086fd7a70a510ae91c
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
index 605707839ca61c24d4a30e7a219875be09512ade..1ff79871121944864da0b5179bba17f97c551608 100644
index 9881c77aca7a0b25d1dda9c5a89c367df516743f..c0b85da9cce5ec75d83945ba7b4d2fc823105103 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
@@ -214,6 +214,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -94,7 +94,7 @@ index 605707839ca61c24d4a30e7a219875be09512ade..1ff79871121944864da0b5179bba17f9
@Override
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 516186c322114d835141ce6440df7c0232272b72..61f83ec67c68dfafbdb11ed88f02d2be526ab7f9 100644
index a708cacf755ce82042452558bef3140361b945c2..944da53f7f48e5218c12b7fd4bb443621cafc331 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
@@ -120,6 +120,11 @@ public class Cat extends TamableAnimal implements VariantHolder<CatVariant> {
@@ -110,7 +110,7 @@ index 516186c322114d835141ce6440df7c0232272b72..61f83ec67c68dfafbdb11ed88f02d2be
public ResourceLocation getResourceLocation() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
index 526a7104ef44a7ccb24b9afada7cb602f8a8b7a9..f28e6daa41e99f1279c79e2392a76ca6f51c1b4b 100644
index a2c72f9c90aa95d50ee9fb0e278171a6a0cee2a5..5207a2a8c06cd413e1d62c5eec7a232dce952b8b 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
@@ -69,6 +69,11 @@ public class Chicken extends Animal {
@@ -142,7 +142,7 @@ index 718b064fa3fb3d1a00f786ff839c91ce88ae4f70..47b537deac66f93a66a1df007b2bb8af
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
index f71ba5d1a52f7e23d23939e91049e8aa9fbd15b0..29720c0681b5c08e3a7ac5b07c6d83a1760297f1 100644
index 2424ff760fc7dd91962e070f373ebf8e21f41b7d..e24173dcd6f083a3ae61edcf71bb7236d644a422 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
@@ -56,6 +56,11 @@ public class Cow extends Animal {
@@ -174,7 +174,7 @@ index 106caca10bdd8dd546b6de24594afe236c8f7ce8..0accc5595461ce92259e3f819a9837aa
@Nullable
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index 2557e8dbc13cdb3ea64781b029a0bdf1341b4e04..7a6239897d03a0502addc42853414e6d0caa42c3 100644
index eb7f96f7b1583dfeb8e57a1984ed8cabeac0a2fe..5de86c59bf857e6697bb768e3dd71a05739fb3d2 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -177,6 +177,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
@@ -190,7 +190,7 @@ index 2557e8dbc13cdb3ea64781b029a0bdf1341b4e04..7a6239897d03a0502addc42853414e6d
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
index b78ef3626fe62d79e9edbf3279cb2cc773a6be32..5a3da8390d1b8b4e818da42578174f2016f73407 100644
index 44db31b9f93970a65735eab4850dc799e6bdf002..ca4ef2397582245b52c73b12f80e876e03bb7e55 100644
--- a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
@@ -84,6 +84,11 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
@@ -206,7 +206,7 @@ index b78ef3626fe62d79e9edbf3279cb2cc773a6be32..5a3da8390d1b8b4e818da42578174f20
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
index 1e9c75d9fd41c164d8853488fdbe4ed145e0f004..a63f8764ae8f0fce4e0de5799de7da3a82ceb80d 100644
index b27e7381db833f4583a32b4276caddf277f5d25c..b1c2663a7f42714a620d59096f26f0a965875846 100644
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
@@ -78,6 +78,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
@@ -222,7 +222,7 @@ index 1e9c75d9fd41c164d8853488fdbe4ed145e0f004..a63f8764ae8f0fce4e0de5799de7da3a
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
index 939b1e9c9eb6d364658ad5a6ade44f17443969f7..5b2996a782e8f2ad01c587aac113074c5c382da0 100644
index 04bb867096f6d8203ec5058f9958704f8efada71..c4d36725c614d4fb2a7d097ea5c5cd381b758e92 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
@@ -83,6 +83,11 @@ public class Ocelot extends Animal {
@@ -238,7 +238,7 @@ index 939b1e9c9eb6d364658ad5a6ade44f17443969f7..5b2996a782e8f2ad01c587aac113074c
public boolean isTrusting() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
index a4a244ecc85d478faea0b1bd17809c77a8d88830..e5156dba9cf467e73c2376ffabafc437bc9e3536 100644
index 5212e531d500fa7272561fea4fc62d15a077c7d6..a5654221f7488c66582b6d97565b96ea7abb6f14 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
@@ -132,6 +132,12 @@ public class Panda extends Animal {
@@ -267,7 +267,7 @@ index a4a244ecc85d478faea0b1bd17809c77a8d88830..e5156dba9cf467e73c2376ffabafc437
if (this.isLazy()) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
index 23209f27c02bdd7e7a986cca03e90f03057024f3..e031a0a60253d896788cf14aaf65d4001d74d9a8 100644
index 644324e05f5bc82beb911a65085a1b8dbf7259ab..d3e9288928ac3a0132050b4aa3b6098b4dc293c0 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
@@ -189,6 +189,11 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
@@ -283,7 +283,7 @@ index 23209f27c02bdd7e7a986cca03e90f03057024f3..e031a0a60253d896788cf14aaf65d400
@Nullable
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java
index d08e6947504f19edb0b9631c5ed78836cdc777dc..03844563434133a8fab4db4c597d35d4a745a12f 100644
index 5d7a865a59c523c9575a00391543f375a05c5829..17cd8463fa5b601946782174f0a0a77a93aacf4d 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
@@ -79,6 +79,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
@@ -299,7 +299,7 @@ index d08e6947504f19edb0b9631c5ed78836cdc777dc..03844563434133a8fab4db4c597d35d4
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
index 697562ad6259a0857fb29da71046bcb696ca2a48..e7b6e42aabe30b7804bf2d98d2b4d393621e1d7b 100644
index 16ee121aa80656d33ffdf82dc81679ab94adeb98..90e5114a5c1a341d0ac64d72d6306ddeb09cb728 100644
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
@@ -92,6 +92,11 @@ public class PolarBear extends Animal implements NeutralMob {
@@ -331,7 +331,7 @@ index 1190a22f03aaf7f2c3b53bdfd9afac00200f77f4..acfff1e2a54471013c3524e482d35d32
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
index 2fe90301d15895863bd7651e7f6ce52635e4e4b1..76dcd7430dbadc6b925f58b670a9eb59078b2882 100644
index a465925fdef618110bbf997b8ab43ed4e601cb6d..ebb85ac5b77450a1ae91c986512125814fa0907f 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
@@ -135,6 +135,11 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
@@ -363,7 +363,7 @@ index cc1e6f9d0ee241f32878ed96820f17ccb72396ba..2d525af3955a1f6dfbd21f07d813a832
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Sheep.java b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
index 6da1ab2aa26a1e09d20176504c2134b4cdad17b3..0b9c36f130a0ccd62bbf2418896627553bc61225 100644
index 99c55d6bae08d75ae19c5dc004ca577e44b589a4..ce2bac7cc95dca0f3d8c97ba6d7cf922d328c579 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Sheep.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
@@ -131,6 +131,11 @@ public class Sheep extends Animal implements Shearable {
@@ -379,7 +379,7 @@ index 6da1ab2aa26a1e09d20176504c2134b4cdad17b3..0b9c36f130a0ccd62bbf241889662755
@Override
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 e50847a88228d1b71d59339a633911911218f912..6f6542f57ed942de91957edf49ef8d92b5233aa8 100644
index 383302ab11d2e62cc4ca135fda9c1ebe566491e5..7da9fcf10e6480a71d7a3e9934bb91320cac227e 100644
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
@@ -69,6 +69,11 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
@@ -427,7 +427,7 @@ index 7c90f91685845329845a8c81f87ad9f6fdf4d973..948d86a125648300a258e08200bb90e9
public static String getPredefinedName(int variant) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
index fbfae6297769d79b87b0db63a88ce4f904d801d0..31c98011ee4521acebf8d452f135e534ffafd64c 100644
index ea66c2976401752688fdf9ee44802c79ea8545a1..67c8f06d1befaf810e3954dbda156ee29bfbc0d4 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
@@ -98,6 +98,11 @@ public class Turtle extends Animal {
@@ -443,7 +443,7 @@ index fbfae6297769d79b87b0db63a88ce4f904d801d0..31c98011ee4521acebf8d452f135e534
public void setHomePos(BlockPos pos) {
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 c35cd3d995bac317396aedff007e9bf7e132f1a0..4713da69b3f45bfcf423726feff2800560494306 100644
index c8a18ecd36393747a95ad9026c5a7b1d62ff727a..05792466a89bdcffe1a4241761b7c23afcc6bc88 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
@@ -122,6 +122,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
@@ -475,7 +475,7 @@ index f30aad7e722f895b8f6966f042021fc80f470994..eaf2e6b9865a36b7c648bd1205db922a
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
index 47a9e7a036e647c05d8abebdda4cab0d69aac997..bc74bae29b8426ced84e203edb0c41065062f422 100644
index 473b801645a62c89ed680f993761dcb64f73bc01..30ff9967aa19a9e77bdf7d32e494276b1b72ab72 100644
--- a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
+++ b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
@@ -96,6 +96,11 @@ public class Sniffer extends Animal {
@@ -491,7 +491,7 @@ index 47a9e7a036e647c05d8abebdda4cab0d69aac997..bc74bae29b8426ced84e203edb0c4106
// CraftBukkit start - SPIGOT-7295: moved from constructor to appropriate location
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index d4561ddfd79e80414ce006d54b90a45345017378..09ed5144c448f7620b5c856a9fa12da07ec0cce6 100644
index 165f3a058caf6ce5fd346b7f46969b67ea75f003..a23458734a192425ddbec9b114d8485d8e7a2bd3 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -161,6 +161,11 @@ public class EnderDragon extends Mob implements Enemy {
@@ -507,7 +507,7 @@ index d4561ddfd79e80414ce006d54b90a45345017378..09ed5144c448f7620b5c856a9fa12da0
public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index da20eee9d210cd13dc47dea7294043d61a78f41d..33ce9424b8b60d5673ebabe9e62ca03ac84190b8 100644
index 1001ef99f28a4f4f29e48d6ae9e3cb1bcfa27686..a6a9628f0e467f2b38dd346d90862f19712b3016 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -224,6 +224,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -532,7 +532,7 @@ index da20eee9d210cd13dc47dea7294043d61a78f41d..33ce9424b8b60d5673ebabe9e62ca03a
} else {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Blaze.java b/src/main/java/net/minecraft/world/entity/monster/Blaze.java
index 9fc8bc954be035ec75fce21f4317330b64ae66a0..ae291e741f283d2e56f55512608f5852ef266ccd 100644
index 4fe550dc61b64b6c16731a5bf21d4144f3e257c0..60d51823442d86b3aef502bda3f6d5b18ae1aa4c 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Blaze.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Blaze.java
@@ -72,6 +72,11 @@ public class Blaze extends Monster {
@@ -548,7 +548,7 @@ index 9fc8bc954be035ec75fce21f4317330b64ae66a0..ae291e741f283d2e56f55512608f5852
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/CaveSpider.java b/src/main/java/net/minecraft/world/entity/monster/CaveSpider.java
index 342da1b83b5c00fb99bd7dedaccf986de0a8cad2..90dc6df729e72c7925ed2c3d36debb92989b2646 100644
index 2795153f9f27ab0017dd29dc6d90737e890d6a6e..20f1a73a13e0c43ef7423ae1e50f63ed4910b0e4 100644
--- a/src/main/java/net/minecraft/world/entity/monster/CaveSpider.java
+++ b/src/main/java/net/minecraft/world/entity/monster/CaveSpider.java
@@ -43,6 +43,11 @@ public class CaveSpider extends Spider {
@@ -564,7 +564,7 @@ index 342da1b83b5c00fb99bd7dedaccf986de0a8cad2..90dc6df729e72c7925ed2c3d36debb92
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
index 45ba62391e2732377c3b92202773ec5d32cc59c4..b128c8bf3c655464d0c279f32eb9a1968fcccc71 100644
index a3b52b0aa442a2c69f8bec7004db5ea913919d30..50fa28f8348625be15e93800e2c071e243afd39a 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -137,6 +137,11 @@ public class Creeper extends Monster implements PowerableMob {
@@ -580,7 +580,7 @@ index 45ba62391e2732377c3b92202773ec5d32cc59c4..b128c8bf3c655464d0c279f32eb9a196
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
index d59a28657f3d776ae54528287dff80e88ec17db3..edfc149ef228954fe0900439c8bf25f4249b28e2 100644
index 4d1d5a7608e20d684c1942c9c241c84cd7097d96..0139d890c22db09c4b67a1e1bcf179a6571c7cd6 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
@@ -83,6 +83,16 @@ public class Drowned extends Zombie implements RangedAttackMob {
@@ -617,7 +617,7 @@ index 4fbae6e88daaabfce22bb9d6e60e02a109e5178a..84bac517860c565d26dfa31ee06fac5c
public static AttributeSupplier.Builder createAttributes() {
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 9c5b2a694ba3d29669fb6855e72090e7912e842d..6e93faa6debeba159664401a49ddd5ca159abf80 100644
index db5427939d62434ad2d3271e44ffad58b96f121b..b7b2762ff6b01da9a3df0ab0add6d50efd76db8d 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -107,6 +107,11 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -633,7 +633,7 @@ index 9c5b2a694ba3d29669fb6855e72090e7912e842d..6e93faa6debeba159664401a49ddd5ca
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Endermite.java b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
index a83131974a1ce9d24003534767c330eefbac5c96..294eb415d57cf28489d8cfd3d3a9102b9bbe9e9a 100644
index 4b24821b3161e448da76b6484df7bcb66cfc0acc..93f91c171a0c4dbb875bbfdd239f38bcd6b5b5a3 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Endermite.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
@@ -52,6 +52,11 @@ public class Endermite extends Monster {
@@ -649,7 +649,7 @@ index a83131974a1ce9d24003534767c330eefbac5c96..294eb415d57cf28489d8cfd3d3a9102b
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Evoker.java b/src/main/java/net/minecraft/world/entity/monster/Evoker.java
index cc1f8cd24a360937ce26d39868053f26bbae198f..d0342c28f028a26536ef8e42302ea310a6064a18 100644
index 1482bddc996df22e9542e7934d99bfe29a325af0..bbcbccaeb479cc61adab96da2670ca31a1fda740 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Evoker.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Evoker.java
@@ -63,6 +63,11 @@ public class Evoker extends SpellcasterIllager {
@@ -665,7 +665,7 @@ index cc1f8cd24a360937ce26d39868053f26bbae198f..d0342c28f028a26536ef8e42302ea310
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Ghast.java b/src/main/java/net/minecraft/world/entity/monster/Ghast.java
index 5f6abfe412f205b13ec6ac249d97a6e7bbc87809..b21d8d069caffe9c7a6f5a856fb91d5c5b60567e 100644
index 3a3dbf3721cae13b5e5cbc98aaf74b7ecd9e2263..6fa4c22fd5ec9d981ac36dc3bd2871aacaff3be1 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Ghast.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Ghast.java
@@ -76,6 +76,11 @@ public class Ghast extends FlyingMob implements Enemy {
@@ -681,7 +681,7 @@ index 5f6abfe412f205b13ec6ac249d97a6e7bbc87809..b21d8d069caffe9c7a6f5a856fb91d5c
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Giant.java b/src/main/java/net/minecraft/world/entity/monster/Giant.java
index 4e21b0eb57cde5d5cea59b1971367de25a4118e0..a57299a152eb05d49fed58eda6aaa29c0b5f1362 100644
index 6971cb46087aabcda66cd04c494a822886104b04..2019896dee313bcc982686fc665d1cb3e2d40503 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Giant.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Giant.java
@@ -35,6 +35,13 @@ public class Giant extends Monster {
@@ -715,7 +715,7 @@ index ba03f3e524b9ba8e8767b9e3133e96782b5d4267..4292174f1f6c77374aecf74f1ed81929
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Husk.java b/src/main/java/net/minecraft/world/entity/monster/Husk.java
index 22b5748f86f8f51204ce59bf9cd6282aaadae767..80bb77199791a312216e8366275e5b0e1c8b14fa 100644
index 1e2bc8b2c90599134d513e9062a2fb81c7c046b1..4dc604f2d36494bbe139b7ef4649089207dd092f 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Husk.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Husk.java
@@ -37,6 +37,16 @@ public class Husk extends Zombie {
@@ -736,7 +736,7 @@ index 22b5748f86f8f51204ce59bf9cd6282aaadae767..80bb77199791a312216e8366275e5b0e
public static boolean checkHuskSpawnRules(EntityType<Husk> type, ServerLevelAccessor world, MobSpawnType spawnReason, BlockPos pos, RandomSource random) {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Illusioner.java b/src/main/java/net/minecraft/world/entity/monster/Illusioner.java
index 590313ec852cac17ab6cc27337d42ed9b30662fe..a9c0989d23a11ea9273712aa0e98bf275376abef 100644
index 91e048a14366aec2142ca36c3a8081eea6af0052..a22756ed865dfa583029a742f3e9f9c80e1533ad 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Illusioner.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Illusioner.java
@@ -74,6 +74,13 @@ public class Illusioner extends SpellcasterIllager implements RangedAttackMob {
@@ -754,7 +754,7 @@ index 590313ec852cac17ab6cc27337d42ed9b30662fe..a9c0989d23a11ea9273712aa0e98bf27
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java b/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java
index 106e01b931f5b04269b280bbb82a732caaba9259..9e73c3c79fcbbb17015f00cf300de3e5447c3c29 100644
index b51f11fe8366ba15e02083a50ee401e1f335fbb6..c78bc3ca4324905d03e789c516d6a9a7226e072d 100644
--- a/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java
+++ b/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java
@@ -45,6 +45,26 @@ public class MagmaCube extends Slime {
@@ -785,7 +785,7 @@ index 106e01b931f5b04269b280bbb82a732caaba9259..9e73c3c79fcbbb17015f00cf300de3e5
public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
index fd9c107bbaea0daea1882f3715956c28448580b8..8a592993aedc72d8ffe1b1ad5e526cc292d69737 100644
index 736610f5d1e180b4df68a9355adce9b8135268ff..e271555ac03fcbb565a7fe08efdc9a6036164e74 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -116,6 +116,21 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -823,7 +823,7 @@ index fd9c107bbaea0daea1882f3715956c28448580b8..8a592993aedc72d8ffe1b1ad5e526cc2
public int getPhantomSize() {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Pillager.java b/src/main/java/net/minecraft/world/entity/monster/Pillager.java
index 6fc3af5989a41f3e0f18ae14453fcd8388ea940a..f1eb424f1c4c15f777350603543bdf6613c97019 100644
index f2a8dffecc27ec45e3f7341cb67a2bd783400f4a..ea1da86fef146a50a6908cbc51fab9d195693aeb 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Pillager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Pillager.java
@@ -77,6 +77,11 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
@@ -839,7 +839,7 @@ index 6fc3af5989a41f3e0f18ae14453fcd8388ea940a..f1eb424f1c4c15f777350603543bdf66
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
index a345d9a16831257d06f0b6ae43d2aa50a1adfc91..2a176517488bbe0804deaf3948dcfe7eee9e9089 100644
index 78bd5a76f105ff1ebf005ccb2590b4a04934ebb2..2d592307f42ede8a490c072da9ec796b2e356f0a 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
@@ -86,6 +86,11 @@ public class Ravager extends Raider {
@@ -855,7 +855,7 @@ index a345d9a16831257d06f0b6ae43d2aa50a1adfc91..2a176517488bbe0804deaf3948dcfe7e
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
index 46edc9ea9b5cd352d87996937aeb076f93114907..8276c8cb76f36e99ec09c0cede5aeac90dfd11fb 100644
index e46bd4944801c75a197e67ef66b5e87517a68a03..a17cb25071132d601ff42f884f2e668328c7df41 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
@@ -110,6 +110,11 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
@@ -871,7 +871,7 @@ index 46edc9ea9b5cd352d87996937aeb076f93114907..8276c8cb76f36e99ec09c0cede5aeac9
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
index 589c19f5d512c2256b1ddfe306f6b0cbeb6e850b..8efc8d6e05da041efb61776ac0b5363f31f8bb4f 100644
index cebde559bfb922e279cfcee9c34b971441d5681d..77204ec0e18807dd46cadb515b07a919b1bee16b 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
@@ -57,6 +57,11 @@ public class Silverfish extends Monster {
@@ -887,7 +887,7 @@ index 589c19f5d512c2256b1ddfe306f6b0cbeb6e850b..8efc8d6e05da041efb61776ac0b5363f
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
index c871416d5ec80a41034c14dce4e8c839b3091e3e..46caa30dec30b62add4cdb41932f3268c07dac67 100644
index 7a2e0b0e30ef1155061ecad4a517a19078b71984..9a37727b61174caad397fb6e634e50bbc79db13c 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
@@ -41,6 +41,11 @@ public class Skeleton extends AbstractSkeleton {
@@ -903,7 +903,7 @@ index c871416d5ec80a41034c14dce4e8c839b3091e3e..46caa30dec30b62add4cdb41932f3268
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java
index 19e1c0bd1516732826672642e54dc0813d413f10..a773fc3a5f7a16c382188e2419d58d009a2af5a7 100644
index 0e0f82403add7912f512a675fc1c9328d61b4ff3..fef4d7beee5bb856e80fe2f6a8358ffb291bbc9e 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Slime.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java
@@ -104,6 +104,37 @@ public class Slime extends Mob implements Enemy {
@@ -957,7 +957,7 @@ index 19e1c0bd1516732826672642e54dc0813d413f10..a773fc3a5f7a16c382188e2419d58d00
this.setHealth(this.getMaxHealth());
}
diff --git a/src/main/java/net/minecraft/world/entity/monster/Spider.java b/src/main/java/net/minecraft/world/entity/monster/Spider.java
index 0e8d114813da3c47021ad32c45cac23217dfbc4c..e3d3690bb8cec0c610da7ddf781ebff165de418f 100644
index ca13dbeea191b7508abbf7a89c3cf182ce0cfa09..f40f9c319cc1b353f03172230e35dbecc722bfd5 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Spider.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Spider.java
@@ -66,6 +66,11 @@ public class Spider extends Monster {
@@ -973,7 +973,7 @@ index 0e8d114813da3c47021ad32c45cac23217dfbc4c..e3d3690bb8cec0c610da7ddf781ebff1
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Stray.java b/src/main/java/net/minecraft/world/entity/monster/Stray.java
index 4c81ea7cea571d8e4afb07c2bc84d1d1a8b33f3f..a0247b8e29aad13c2c6f90f686664cfae99c6acd 100644
index 03a0dc6594b423191ec5c54252c37081a12a19a9..09a37553503c4cfa3dcd1d68cba5470f90a5388f 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Stray.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Stray.java
@@ -36,6 +36,11 @@ public class Stray extends AbstractSkeleton {
@@ -989,7 +989,7 @@ index 4c81ea7cea571d8e4afb07c2bc84d1d1a8b33f3f..a0247b8e29aad13c2c6f90f686664cfa
public static boolean checkStraySpawnRules(EntityType<Stray> type, ServerLevelAccessor world, MobSpawnType spawnReason, BlockPos pos, RandomSource random) {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java
index 486111443d2557dde8c75aef6855bc749c2487de..b512ac4b75e53c272a3c41fb5b66c84b6b0e9847 100644
index da652fdb3afbdae1a26d76a2669b57affbfecd84..0a480333373c3f3a9504d0b4a3e00fba2e8b2e15 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Strider.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java
@@ -115,6 +115,11 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
@@ -1005,7 +1005,7 @@ index 486111443d2557dde8c75aef6855bc749c2487de..b512ac4b75e53c272a3c41fb5b66c84b
public static boolean checkStriderSpawnRules(EntityType<Strider> type, LevelAccessor world, MobSpawnType spawnReason, BlockPos pos, RandomSource random) {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vex.java b/src/main/java/net/minecraft/world/entity/monster/Vex.java
index ee3143d24914a14ec5f15785d303aec0846727e3..cd2670bcffbf8c790d128ed312855a835cb70749 100644
index 38f7e1e41816721f332f548887d69c5eb98bad6a..87956e99e8a309c90b522652d29458d6f437f866 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Vex.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Vex.java
@@ -105,6 +105,11 @@ public class Vex extends Monster implements TraceableEntity {
@@ -1021,7 +1021,7 @@ index ee3143d24914a14ec5f15785d303aec0846727e3..cd2670bcffbf8c790d128ed312855a83
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
index 0f547bffc269416b5e0b74b7c448cde44a662edc..32c7836fcceaeee018dd965f77ac1d2c2ab45ea0 100644
index 78fe2cc6c866252c1d537c1e23854a0d2608fe36..0a4f7125c38d3138ec8eedec4ca72000f25ba6ac 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
@@ -73,6 +73,11 @@ public class Vindicator extends AbstractIllager {
@@ -1037,7 +1037,7 @@ index 0f547bffc269416b5e0b74b7c448cde44a662edc..32c7836fcceaeee018dd965f77ac1d2c
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Witch.java b/src/main/java/net/minecraft/world/entity/monster/Witch.java
index 8c289269dbfe346089e4264f5fbcdf06860414cc..cf64f00c7a1528006d4946ad5d871cf487336745 100644
index c15a35e7ac5dac31872b5e27671ce26fe1702eef..cbbdbf3bf316140b2591f29f0309ed17f341473e 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Witch.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Witch.java
@@ -72,6 +72,11 @@ public class Witch extends Raider implements RangedAttackMob {
@@ -1053,7 +1053,7 @@ index 8c289269dbfe346089e4264f5fbcdf06860414cc..cf64f00c7a1528006d4946ad5d871cf4
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java
index 7776a9cfdcb19a3baf82bc8d75e39a4fbea6a00b..259896608f947b1dd574192e5e4babce4bd7d7ff 100644
index 8da19fac75c283f026cb051668557c2034c40af9..ff43c5a1f8398b2c56920ec4e0a8fa5fbd135df8 100644
--- a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java
+++ b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java
@@ -50,6 +50,11 @@ public class WitherSkeleton extends AbstractSkeleton {
@@ -1069,7 +1069,7 @@ index 7776a9cfdcb19a3baf82bc8d75e39a4fbea6a00b..259896608f947b1dd574192e5e4babce
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zoglin.java b/src/main/java/net/minecraft/world/entity/monster/Zoglin.java
index ce6567f6fd28777f4e10fb2e6ba16f78ac454fd9..a0c39477f7a565307c95df7bf7616d58e6960d30 100644
index ee1bbff9e9dfd110e33a36c652d50a7f83093cab..13010725d9e6026ac77eb69e9f302684dc50cfec 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zoglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zoglin.java
@@ -82,6 +82,11 @@ public class Zoglin extends Monster implements Enemy, HoglinBase {
@@ -1085,7 +1085,7 @@ index ce6567f6fd28777f4e10fb2e6ba16f78ac454fd9..a0c39477f7a565307c95df7bf7616d58
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
index 2dc41320ad62d3b88d64baea3358957ce990cb23..afe866e4a41a824bcfb9aa70779c52381386c472 100644
index aa264a5975b1373fa979104355dae899c785aaf1..77712e0bb78bef24f05d9949c3ae4ee7ec2efb96 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
@@ -121,6 +121,11 @@ public class Zombie extends Monster {
@@ -1110,7 +1110,7 @@ index 2dc41320ad62d3b88d64baea3358957ce990cb23..afe866e4a41a824bcfb9aa70779c5238
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
index 5e17e5bedf41e246a4e8c4d04b71d1bec4184fb9..d24e41ac992972d1679c279b10290c01db73a5b5 100644
index 02a97f526fb10056dcad78614ae8f6973449e9ab..073a45cd24c92e63b349a93da91cedfa10103101 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
@@ -94,6 +94,16 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
@@ -1131,7 +1131,7 @@ index 5e17e5bedf41e246a4e8c4d04b71d1bec4184fb9..d24e41ac992972d1679c279b10290c01
@Override
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 d1d36feab3ebfc0311b29997c2b81b7d53f638f4..cdeb39d02b618b648681ca51a592b7b3508e46f5 100644
index ad82c064c9e31ffc1dd96e44517187635100fc22..2df1aa1af12b403e9cd87d61b2ff1516f754f589 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
@@ -78,6 +78,11 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
@@ -1156,7 +1156,7 @@ index d1d36feab3ebfc0311b29997c2b81b7d53f638f4..cdeb39d02b618b648681ca51a592b7b3
@Nullable
diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
index cded207699b4500b1d9ea90cbde9b27c14cf8192..9cc42b4a1ea0d2315350e038034dfe7171668658 100644
index b4deb7fa656aadd9c62db68bb46d3fb39f8429e5..930d74e5fd20b69baeec60dfc54da37a1290fccc 100644
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
@@ -82,6 +82,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
@@ -1172,7 +1172,7 @@ index cded207699b4500b1d9ea90cbde9b27c14cf8192..9cc42b4a1ea0d2315350e038034dfe71
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
index 580482c976e81452720dc3fa0f86babccd8e6e2f..5bc02e73ffde3d0d164532b6b8ce42213dc6eadc 100644
index dad688184896720099357bf91fe092da3eac8931..9b7e38e7a73206663a06dd180b7ef746d2237f16 100644
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
@@ -112,6 +112,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
@@ -1188,7 +1188,7 @@ index 580482c976e81452720dc3fa0f86babccd8e6e2f..5bc02e73ffde3d0d164532b6b8ce4221
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinBrute.java b/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
index 442d0ce3f3376d8a544b60d7832ea72630fcbca4..b931880d8cda19bc042bacc98a6a5fead9d54303 100644
index ac066b2f3e369321752470722941ae26af511309..ba460cb0f65eb98d2c0934084c51c81ef10a0b44 100644
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
@@ -56,6 +56,11 @@ public class PiglinBrute extends AbstractPiglin {
@@ -1204,7 +1204,7 @@ index 442d0ce3f3376d8a544b60d7832ea72630fcbca4..b931880d8cda19bc042bacc98a6a5fea
public static AttributeSupplier.Builder createAttributes() {
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 05ec03fb3b3c84ca2d2f58ca0b70459f90760601..9c3541a3506f270dd79e52103c4f83ad0df0ae94 100644
index dcebf1f79f11b032c12199db8ca0a40396663871..f9828580075d70d804c92d6db9a944d2e436e268 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -173,6 +173,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -1220,7 +1220,7 @@ index 05ec03fb3b3c84ca2d2f58ca0b70459f90760601..9c3541a3506f270dd79e52103c4f83ad
@Override
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
index 774da46962f70e73d31ea523eb5bfc286f38856d..d2324e2dbd72fcd5a8ab562bc3b6e53088647137 100644
index 89ec1e52f91c2e4cd17eeaa23cab366c9cbb8dc0..71212ecb84bdbf838b4a5fbefbe9cfa6343542c4 100644
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
@@ -84,6 +84,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
@@ -1236,10 +1236,10 @@ index 774da46962f70e73d31ea523eb5bfc286f38856d..d2324e2dbd72fcd5a8ab562bc3b6e530
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1c4ef7e78 100644
index ec168b917d60cc6d8c48620eb4dcd89b0b121aea..46b6994812086405f20a4dd410c1d79621958cd5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -112,94 +112,181 @@ public class PurpurWorldConfig {
@@ -114,94 +114,181 @@ public class PurpurWorldConfig {
public boolean axolotlRidable = false;
public boolean axolotlControllable = true;
@@ -1251,7 +1251,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean batRidable = false;
public boolean batRidableInWater = false;
public boolean batRidableInWater = true;
public boolean batControllable = true;
public double batMaxY = 320D;
+ public double batMaxHealth = 6.0D;
@@ -1276,7 +1276,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean beeRidable = false;
public boolean beeRidableInWater = false;
public boolean beeRidableInWater = true;
public boolean beeControllable = true;
public double beeMaxY = 320D;
+ public double beeMaxHealth = 10.0D;
@@ -1294,7 +1294,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean blazeRidable = false;
public boolean blazeRidableInWater = false;
public boolean blazeRidableInWater = true;
public boolean blazeControllable = true;
public double blazeMaxY = 320D;
+ public double blazeMaxHealth = 20.0D;
@@ -1327,7 +1327,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean catRidable = false;
public boolean catRidableInWater = false;
public boolean catRidableInWater = true;
public boolean catControllable = true;
+ public double catMaxHealth = 10.0D;
private void catSettings() {
@@ -1343,7 +1343,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean caveSpiderRidable = false;
public boolean caveSpiderRidableInWater = false;
public boolean caveSpiderRidableInWater = true;
public boolean caveSpiderControllable = true;
+ public double caveSpiderMaxHealth = 12.0D;
private void caveSpiderSettings() {
@@ -1389,7 +1389,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean cowRidable = false;
public boolean cowRidableInWater = false;
public boolean cowRidableInWater = true;
public boolean cowControllable = true;
+ public double cowMaxHealth = 10.0D;
private void cowSettings() {
@@ -1405,7 +1405,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean creeperRidable = false;
public boolean creeperRidableInWater = false;
public boolean creeperRidableInWater = true;
public boolean creeperControllable = true;
+ public double creeperMaxHealth = 20.0D;
private void creeperSettings() {
@@ -1421,7 +1421,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean dolphinRidable = false;
@@ -207,80 +294,161 @@ public class PurpurWorldConfig {
@@ -209,80 +296,161 @@ public class PurpurWorldConfig {
public int dolphinSpitCooldown = 20;
public float dolphinSpitSpeed = 1.0F;
public float dolphinSpitDamage = 2.0F;
@@ -1465,7 +1465,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean drownedRidable = false;
public boolean drownedRidableInWater = false;
public boolean drownedRidableInWater = true;
public boolean drownedControllable = true;
+ public double drownedMaxHealth = 20.0D;
+ public double drownedSpawnReinforcements = 0.1D;
@@ -1497,7 +1497,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean enderDragonRidable = false;
public boolean enderDragonRidableInWater = false;
public boolean enderDragonRidableInWater = true;
public boolean enderDragonControllable = true;
public double enderDragonMaxY = 320D;
+ public double enderDragonMaxHealth = 200.0D;
@@ -1519,7 +1519,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean endermanRidable = false;
public boolean endermanRidableInWater = false;
public boolean endermanRidableInWater = true;
public boolean endermanControllable = true;
+ public double endermanMaxHealth = 40.0D;
private void endermanSettings() {
@@ -1535,7 +1535,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean endermiteRidable = false;
public boolean endermiteRidableInWater = false;
public boolean endermiteRidableInWater = true;
public boolean endermiteControllable = true;
+ public double endermiteMaxHealth = 8.0D;
private void endermiteSettings() {
@@ -1551,7 +1551,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean evokerRidable = false;
public boolean evokerRidableInWater = false;
public boolean evokerRidableInWater = true;
public boolean evokerControllable = true;
+ public double evokerMaxHealth = 24.0D;
private void evokerSettings() {
@@ -1567,7 +1567,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean foxRidable = false;
public boolean foxRidableInWater = false;
public boolean foxRidableInWater = true;
public boolean foxControllable = true;
+ public double foxMaxHealth = 10.0D;
private void foxSettings() {
@@ -1583,8 +1583,8 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean frogRidable = false;
@@ -298,147 +466,316 @@ public class PurpurWorldConfig {
public boolean ghastRidableInWater = false;
@@ -300,147 +468,316 @@ public class PurpurWorldConfig {
public boolean ghastRidableInWater = true;
public boolean ghastControllable = true;
public double ghastMaxY = 320D;
+ public double ghastMaxHealth = 10.0D;
@@ -1602,7 +1602,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean giantRidable = false;
public boolean giantRidableInWater = false;
public boolean giantRidableInWater = true;
public boolean giantControllable = true;
+ public double giantMovementSpeed = 0.5D;
+ public double giantAttackDamage = 50.0D;
@@ -1635,7 +1635,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean goatRidable = false;
public boolean goatRidableInWater = false;
public boolean goatRidableInWater = true;
public boolean goatControllable = true;
+ public double goatMaxHealth = 10.0D;
private void goatSettings() {
@@ -1660,7 +1660,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean hoglinRidable = false;
public boolean hoglinRidableInWater = false;
public boolean hoglinRidableInWater = true;
public boolean hoglinControllable = true;
+ public double hoglinMaxHealth = 40.0D;
private void hoglinSettings() {
@@ -1700,7 +1700,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean huskRidable = false;
public boolean huskRidableInWater = false;
public boolean huskRidableInWater = true;
public boolean huskControllable = true;
+ public double huskMaxHealth = 20.0D;
+ public double huskSpawnReinforcements = 0.1D;
@@ -1718,7 +1718,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean illusionerRidable = false;
public boolean illusionerRidableInWater = false;
public boolean illusionerRidableInWater = true;
public boolean illusionerControllable = true;
+ public double illusionerMovementSpeed = 0.5D;
+ public double illusionerFollowRange = 18.0D;
@@ -1742,7 +1742,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean ironGolemRidable = false;
public boolean ironGolemRidableInWater = false;
public boolean ironGolemRidableInWater = true;
public boolean ironGolemControllable = true;
public boolean ironGolemCanSwim = false;
+ public double ironGolemMaxHealth = 100.0D;
@@ -1788,7 +1788,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean magmaCubeRidable = false;
public boolean magmaCubeRidableInWater = false;
public boolean magmaCubeRidableInWater = true;
public boolean magmaCubeControllable = true;
+ public String magmaCubeMaxHealth = "size * size";
+ public String magmaCubeAttackDamage = "size";
@@ -1810,7 +1810,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean mooshroomRidable = false;
public boolean mooshroomRidableInWater = false;
public boolean mooshroomRidableInWater = true;
public boolean mooshroomControllable = true;
+ public double mooshroomMaxHealth = 10.0D;
private void mooshroomSettings() {
@@ -1850,7 +1850,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean ocelotRidable = false;
public boolean ocelotRidableInWater = false;
public boolean ocelotRidableInWater = true;
public boolean ocelotControllable = true;
+ public double ocelotMaxHealth = 10.0D;
private void ocelotSettings() {
@@ -1866,7 +1866,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean pandaRidable = false;
public boolean pandaRidableInWater = false;
public boolean pandaRidableInWater = true;
public boolean pandaControllable = true;
+ public double pandaMaxHealth = 20.0D;
private void pandaSettings() {
@@ -1882,7 +1882,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean parrotRidable = false;
public boolean parrotRidableInWater = false;
public boolean parrotRidableInWater = true;
public boolean parrotControllable = true;
public double parrotMaxY = 320D;
+ public double parrotMaxHealth = 6.0D;
@@ -1900,7 +1900,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean phantomRidable = false;
@@ -448,6 +785,10 @@ public class PurpurWorldConfig {
@@ -450,6 +787,10 @@ public class PurpurWorldConfig {
public float phantomFlameDamage = 1.0F;
public int phantomFlameFireTime = 8;
public boolean phantomAllowGriefing = false;
@@ -1911,7 +1911,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -456,189 +797,361 @@ public class PurpurWorldConfig {
@@ -458,189 +799,361 @@ public class PurpurWorldConfig {
phantomFlameDamage = (float) getDouble("mobs.phantom.flames.damage", phantomFlameDamage);
phantomFlameFireTime = getInt("mobs.phantom.flames.fire-time", phantomFlameFireTime);
phantomAllowGriefing = getBoolean("mobs.phantom.allow-griefing", phantomAllowGriefing);
@@ -1947,7 +1947,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean piglinRidable = false;
public boolean piglinRidableInWater = false;
public boolean piglinRidableInWater = true;
public boolean piglinControllable = true;
+ public double piglinMaxHealth = 16.0D;
private void piglinSettings() {
@@ -1963,7 +1963,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean piglinBruteRidable = false;
public boolean piglinBruteRidableInWater = false;
public boolean piglinBruteRidableInWater = true;
public boolean piglinBruteControllable = true;
+ public double piglinBruteMaxHealth = 50.0D;
private void piglinBruteSettings() {
@@ -1979,7 +1979,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean pillagerRidable = false;
public boolean pillagerRidableInWater = false;
public boolean pillagerRidableInWater = true;
public boolean pillagerControllable = true;
+ public double pillagerMaxHealth = 24.0D;
private void pillagerSettings() {
@@ -1995,7 +1995,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean polarBearRidable = false;
public boolean polarBearRidableInWater = false;
public boolean polarBearRidableInWater = true;
public boolean polarBearControllable = true;
+ public double polarBearMaxHealth = 30.0D;
private void polarBearSettings() {
@@ -2025,7 +2025,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean rabbitRidable = false;
public boolean rabbitRidableInWater = false;
public boolean rabbitRidableInWater = true;
public boolean rabbitControllable = true;
+ public double rabbitMaxHealth = 3.0D;
private void rabbitSettings() {
@@ -2071,7 +2071,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean sheepRidable = false;
public boolean sheepRidableInWater = false;
public boolean sheepRidableInWater = true;
public boolean sheepControllable = true;
+ public double sheepMaxHealth = 8.0D;
private void sheepSettings() {
@@ -2087,7 +2087,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean shulkerRidable = false;
public boolean shulkerRidableInWater = false;
public boolean shulkerRidableInWater = true;
public boolean shulkerControllable = true;
+ public double shulkerMaxHealth = 30.0D;
private void shulkerSettings() {
@@ -2103,7 +2103,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean silverfishRidable = false;
public boolean silverfishRidableInWater = false;
public boolean silverfishRidableInWater = true;
public boolean silverfishControllable = true;
+ public double silverfishMaxHealth = 8.0D;
private void silverfishSettings() {
@@ -2119,7 +2119,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean skeletonRidable = false;
public boolean skeletonRidableInWater = false;
public boolean skeletonRidableInWater = true;
public boolean skeletonControllable = true;
+ public double skeletonMaxHealth = 20.0D;
private void skeletonSettings() {
@@ -2160,7 +2160,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean slimeRidable = false;
public boolean slimeRidableInWater = false;
public boolean slimeRidableInWater = true;
public boolean slimeControllable = true;
+ public String slimeMaxHealth = "size * size";
+ public String slimeAttackDamage = "size";
@@ -2182,7 +2182,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean snowGolemRidable = false;
public boolean snowGolemRidableInWater = false;
public boolean snowGolemRidableInWater = true;
public boolean snowGolemControllable = true;
public boolean snowGolemLeaveTrailWhenRidden = false;
+ public double snowGolemMaxHealth = 4.0D;
@@ -2200,7 +2200,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean snifferRidable = false;
public boolean snifferRidableInWater = false;
public boolean snifferRidableInWater = true;
public boolean snifferControllable = true;
+ public double snifferMaxHealth = 14.0D;
private void snifferSettings() {
@@ -2241,7 +2241,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean strayRidable = false;
public boolean strayRidableInWater = false;
public boolean strayRidableInWater = true;
public boolean strayControllable = true;
+ public double strayMaxHealth = 20.0D;
private void straySettings() {
@@ -2273,7 +2273,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean tadpoleRidable = false;
@@ -653,64 +1166,125 @@ public class PurpurWorldConfig {
@@ -655,64 +1168,125 @@ public class PurpurWorldConfig {
public boolean traderLlamaRidable = false;
public boolean traderLlamaRidableInWater = false;
public boolean traderLlamaControllable = true;
@@ -2317,7 +2317,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean turtleRidable = false;
public boolean turtleRidableInWater = false;
public boolean turtleRidableInWater = true;
public boolean turtleControllable = true;
+ public double turtleMaxHealth = 30.0D;
private void turtleSettings() {
@@ -2333,7 +2333,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean vexRidable = false;
public boolean vexRidableInWater = false;
public boolean vexRidableInWater = true;
public boolean vexControllable = true;
public double vexMaxY = 320D;
+ public double vexMaxHealth = 14.0D;
@@ -2351,7 +2351,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean villagerRidable = false;
public boolean villagerRidableInWater = false;
public boolean villagerRidableInWater = true;
public boolean villagerControllable = true;
+ public double villagerMaxHealth = 20.0D;
private void villagerSettings() {
@@ -2367,7 +2367,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean vindicatorRidable = false;
public boolean vindicatorRidableInWater = false;
public boolean vindicatorRidableInWater = true;
public boolean vindicatorControllable = true;
+ public double vindicatorMaxHealth = 24.0D;
private void vindicatorSettings() {
@@ -2383,7 +2383,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean wanderingTraderRidable = false;
public boolean wanderingTraderRidableInWater = false;
public boolean wanderingTraderRidableInWater = true;
public boolean wanderingTraderControllable = true;
+ public double wanderingTraderMaxHealth = 20.0D;
private void wanderingTraderSettings() {
@@ -2399,9 +2399,9 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean wardenRidable = false;
@@ -725,81 +1299,165 @@ public class PurpurWorldConfig {
@@ -727,81 +1301,165 @@ public class PurpurWorldConfig {
public boolean witchRidable = false;
public boolean witchRidableInWater = false;
public boolean witchRidableInWater = true;
public boolean witchControllable = true;
+ public double witchMaxHealth = 26.0D;
private void witchSettings() {
@@ -2417,7 +2417,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean witherRidable = false;
public boolean witherRidableInWater = false;
public boolean witherRidableInWater = true;
public boolean witherControllable = true;
public double witherMaxY = 320D;
+ public double witherMaxHealth = 300.0D;
@@ -2439,7 +2439,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean witherSkeletonRidable = false;
public boolean witherSkeletonRidableInWater = false;
public boolean witherSkeletonRidableInWater = true;
public boolean witherSkeletonControllable = true;
+ public double witherSkeletonMaxHealth = 20.0D;
private void witherSkeletonSettings() {
@@ -2455,7 +2455,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean wolfRidable = false;
public boolean wolfRidableInWater = false;
public boolean wolfRidableInWater = true;
public boolean wolfControllable = true;
+ public double wolfMaxHealth = 8.0D;
private void wolfSettings() {
@@ -2471,7 +2471,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean zoglinRidable = false;
public boolean zoglinRidableInWater = false;
public boolean zoglinRidableInWater = true;
public boolean zoglinControllable = true;
+ public double zoglinMaxHealth = 40.0D;
private void zoglinSettings() {
@@ -2487,7 +2487,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean zombieRidable = false;
public boolean zombieRidableInWater = false;
public boolean zombieRidableInWater = true;
public boolean zombieControllable = true;
+ public double zombieMaxHealth = 20.0D;
+ public double zombieSpawnReinforcements = 0.1D;
@@ -2530,7 +2530,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean zombieVillagerRidable = false;
public boolean zombieVillagerRidableInWater = false;
public boolean zombieVillagerRidableInWater = true;
public boolean zombieVillagerControllable = true;
+ public double zombieVillagerMaxHealth = 20.0D;
+ public double zombieVillagerSpawnReinforcements = 0.1D;
@@ -2548,7 +2548,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1
}
public boolean zombifiedPiglinRidable = false;
public boolean zombifiedPiglinRidableInWater = false;
public boolean zombifiedPiglinRidableInWater = true;
public boolean zombifiedPiglinControllable = true;
+ public double zombifiedPiglinMaxHealth = 20.0D;
+ public double zombifiedPiglinSpawnReinforcements = 0.0D;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Giants AI settings
diff --git a/src/main/java/net/minecraft/world/entity/monster/Giant.java b/src/main/java/net/minecraft/world/entity/monster/Giant.java
index c1e5447a11b5bcdbd34e3d6538f977efd5b4692b..fcdf1b04e3dde0562b993794165c2fb649a634bf 100644
index 2050230df7949e21f2158d2be5be885461afb66d..14b393c8b70a1aa950df9dcaef648a90469bde65 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Giant.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Giant.java
@@ -1,13 +1,36 @@
@@ -120,10 +120,10 @@ index c1e5447a11b5bcdbd34e3d6538f977efd5b4692b..fcdf1b04e3dde0562b993794165c2fb6
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d019d11be86bacf04a13c2db31b632ac6b6b923a..39e8c47af17dadce6e253a803954b50341dcba9c 100644
index 1046f6de8a04c4368870596f90236fe01671173d..db811ee761ffd92a7eba4d0209894be54834387f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -549,6 +549,10 @@ public class PurpurWorldConfig {
@@ -551,6 +551,10 @@ public class PurpurWorldConfig {
public double giantMovementSpeed = 0.5D;
public double giantAttackDamage = 50.0D;
public double giantMaxHealth = 100.0D;
@@ -134,7 +134,7 @@ index d019d11be86bacf04a13c2db31b632ac6b6b923a..39e8c47af17dadce6e253a803954b503
private void giantSettings() {
giantRidable = getBoolean("mobs.giant.ridable", giantRidable);
giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater);
@@ -565,6 +569,10 @@ public class PurpurWorldConfig {
@@ -567,6 +571,10 @@ public class PurpurWorldConfig {
set("mobs.giant.attributes.max_health", oldValue);
}
giantMaxHealth = getDouble("mobs.giant.attributes.max_health", giantMaxHealth);

View File

@@ -30,10 +30,10 @@ index ffde1d129c5434e7748cbdaac9109cbd3d0d29bc..057f4b71ff295cf6fed9cc5b86aa4034
entityhorseskeleton.setPos((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ());
this.addFreshEntity(entityhorseskeleton, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // CraftBukkit
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6dd4777739ee284f251c844c7c54cb1114488e6f..47f8839902463214d9e171f676fafd7ce4e55632 100644
index db811ee761ffd92a7eba4d0209894be54834387f..c9a38cf24041df4cdcbea59d9b1e09aa45d29e55 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1479,6 +1479,7 @@ public class PurpurWorldConfig {
@@ -1481,6 +1481,7 @@ public class PurpurWorldConfig {
public double zombieHorseJumpStrengthMax = 1.0D;
public double zombieHorseMovementSpeedMin = 0.2D;
public double zombieHorseMovementSpeedMax = 0.2D;
@@ -41,7 +41,7 @@ index 6dd4777739ee284f251c844c7c54cb1114488e6f..47f8839902463214d9e171f676fafd7c
private void zombieHorseSettings() {
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim);
@@ -1494,6 +1495,7 @@ public class PurpurWorldConfig {
@@ -1496,6 +1497,7 @@ public class PurpurWorldConfig {
zombieHorseJumpStrengthMax = getDouble("mobs.zombie_horse.attributes.jump_strength.max", zombieHorseJumpStrengthMax);
zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin);
zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Charged creeper naturally spawn
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
index b128c8bf3c655464d0c279f32eb9a1968fcccc71..c368ac6f35ff4b309079b4895dcd3792f3b6b69e 100644
index 50fa28f8348625be15e93800e2c071e243afd39a..76d796600411144b73d1e7e67f70bb032055d02a 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -142,6 +142,14 @@ public class Creeper extends Monster implements PowerableMob {
@@ -24,18 +24,18 @@ index b128c8bf3c655464d0c279f32eb9a1968fcccc71..c368ac6f35ff4b309079b4895dcd3792
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index fd9f7d6c52454e520411ab76142c7b93c04b6205..c466f442711ac2b8956e67f0cddca349e635a6f9 100644
index c9a38cf24041df4cdcbea59d9b1e09aa45d29e55..f4a8e143ba35e36e6d5fb417e249feb3d4e5a7da 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -340,6 +340,7 @@ public class PurpurWorldConfig {
public boolean creeperRidableInWater = false;
@@ -342,6 +342,7 @@ public class PurpurWorldConfig {
public boolean creeperRidableInWater = true;
public boolean creeperControllable = true;
public double creeperMaxHealth = 20.0D;
+ public double creeperChargedChance = 0.0D;
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -350,6 +351,7 @@ public class PurpurWorldConfig {
@@ -352,6 +353,7 @@ public class PurpurWorldConfig {
set("mobs.creeper.attributes.max_health", oldValue);
}
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Rabbit naturally spawn toast and killer
diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
index 76dcd7430dbadc6b925f58b670a9eb59078b2882..92da91319f59745f43529b9ddae032a8f60f693d 100644
index ebb85ac5b77450a1ae91c986512125814fa0907f..620cf2c9927648804155495a908df1d36d9832af 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
@@ -465,10 +465,23 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
@@ -33,11 +33,11 @@ index 76dcd7430dbadc6b925f58b670a9eb59078b2882..92da91319f59745f43529b9ddae032a8
int i = world.getRandom().nextInt(100);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c466f442711ac2b8956e67f0cddca349e635a6f9..15ec6db30230a6b3ce20c9d4dd2128c056a9f475 100644
index f4a8e143ba35e36e6d5fb417e249feb3d4e5a7da..238f1a5bb2f2c826f71c11b7718cd4b64930565d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -983,6 +983,8 @@ public class PurpurWorldConfig {
public boolean rabbitRidableInWater = false;
@@ -985,6 +985,8 @@ public class PurpurWorldConfig {
public boolean rabbitRidableInWater = true;
public boolean rabbitControllable = true;
public double rabbitMaxHealth = 3.0D;
+ public double rabbitNaturalToast = 0.0D;
@@ -45,7 +45,7 @@ index c466f442711ac2b8956e67f0cddca349e635a6f9..15ec6db30230a6b3ce20c9d4dd2128c0
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -993,6 +995,8 @@ public class PurpurWorldConfig {
@@ -995,6 +997,8 @@ public class PurpurWorldConfig {
set("mobs.rabbit.attributes.max_health", oldValue);
}
rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Tulips change fox type
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index 7a6239897d03a0502addc42853414e6d0caa42c3..2119cdd90228f9034781b9496640b159343afbd8 100644
index 5de86c59bf857e6697bb768e3dd71a05739fb3d2..d5f536eb87163c946815ace610ba99ad2a0b16c5 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -35,6 +35,7 @@ import net.minecraft.util.RandomSource;
@@ -75,18 +75,18 @@ index 7a6239897d03a0502addc42853414e6d0caa42c3..2119cdd90228f9034781b9496640b159
// Paper start - Cancellable death event
protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(DamageSource source) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 15ec6db30230a6b3ce20c9d4dd2128c056a9f475..0ddb21b3f4735082206341bb7e8a7e1bbe318021 100644
index 238f1a5bb2f2c826f71c11b7718cd4b64930565d..93bdefe8ec286f24df65f72c246673a8833d3050 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -504,6 +504,7 @@ public class PurpurWorldConfig {
public boolean foxRidableInWater = false;
@@ -506,6 +506,7 @@ public class PurpurWorldConfig {
public boolean foxRidableInWater = true;
public boolean foxControllable = true;
public double foxMaxHealth = 10.0D;
+ public boolean foxTypeChangesWithTulips = false;
private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -514,6 +515,7 @@ public class PurpurWorldConfig {
@@ -516,6 +517,7 @@ public class PurpurWorldConfig {
set("mobs.fox.attributes.max_health", oldValue);
}
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Breedable Polar Bears
diff --git a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
index e7b6e42aabe30b7804bf2d98d2b4d393621e1d7b..e439ce2c0752ee772df888ccccf9d97e45a83b1c 100644
index 90e5114a5c1a341d0ac64d72d6306ddeb09cb728..69a0e50a4f136a3e799f8fc079bd931a83235bd0 100644
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
@@ -97,6 +97,27 @@ public class PolarBear extends Animal implements NeutralMob {
@@ -59,11 +59,11 @@ index e7b6e42aabe30b7804bf2d98d2b4d393621e1d7b..e439ce2c0752ee772df888ccccf9d97e
this.goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0D));
this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0ddb21b3f4735082206341bb7e8a7e1bbe318021..8e60360c55b156bfeea4a0f87621e34ce07a2149 100644
index 93bdefe8ec286f24df65f72c246673a8833d3050..63d0bd7b55d57b1dbdc8a319709e5d8ba2c1c8d5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -955,6 +955,8 @@ public class PurpurWorldConfig {
public boolean polarBearRidableInWater = false;
@@ -957,6 +957,8 @@ public class PurpurWorldConfig {
public boolean polarBearRidableInWater = true;
public boolean polarBearControllable = true;
public double polarBearMaxHealth = 30.0D;
+ public String polarBearBreedableItemString = "";
@@ -71,7 +71,7 @@ index 0ddb21b3f4735082206341bb7e8a7e1bbe318021..8e60360c55b156bfeea4a0f87621e34c
private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
@@ -965,6 +967,9 @@ public class PurpurWorldConfig {
@@ -967,6 +969,9 @@ public class PurpurWorldConfig {
set("mobs.polar_bear.attributes.max_health", oldValue);
}
polarBearMaxHealth = getDouble("mobs.polar_bear.attributes.max_health", polarBearMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Chickens can retaliate
diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
index f28e6daa41e99f1279c79e2392a76ca6f51c1b4b..4b66412d04a28e3ee0a6e6c5fa0f3f4bf633d2d8 100644
index 5207a2a8c06cd413e1d62c5eec7a232dce952b8b..da281eb1355fd753dfdb69cee13661818b5d0fc8 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
@@ -73,6 +73,9 @@ public class Chicken extends Animal {
@@ -51,10 +51,10 @@ index f28e6daa41e99f1279c79e2392a76ca6f51c1b4b..4b66412d04a28e3ee0a6e6c5fa0f3f4b
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8e60360c55b156bfeea4a0f87621e34ce07a2149..b2f115a84c02f33e0bf3bd4270868cff613e3f1e 100644
index 63d0bd7b55d57b1dbdc8a319709e5d8ba2c1c8d5..47bd9c45b4a560b1fcc01eee9606afef7416f70d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -294,6 +294,7 @@ public class PurpurWorldConfig {
@@ -296,6 +296,7 @@ public class PurpurWorldConfig {
public boolean chickenRidableInWater = false;
public boolean chickenControllable = true;
public double chickenMaxHealth = 4.0D;
@@ -62,7 +62,7 @@ index 8e60360c55b156bfeea4a0f87621e34ce07a2149..b2f115a84c02f33e0bf3bd4270868cff
private void chickenSettings() {
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
@@ -304,6 +305,7 @@ public class PurpurWorldConfig {
@@ -306,6 +307,7 @@ public class PurpurWorldConfig {
set("mobs.chicken.attributes.max_health", oldValue);
}
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);

View File

@@ -51,11 +51,11 @@ index 5f407535298a31a34cfe114dd863fd6a9b977707..29c7e33fe961020e5a0007287fe9b663
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 659306ff7e8dac205de885ebb2b3feee641c6e26..5e4e8c515d8b2c6c4530b047f4f654bb55d9808f 100644
index 7fe6efbed2bd5f9a9d5b9a8ff5118a799cda4d11..47106d83ed3c1d4fef75cb3e77b8dc87f936bde5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -267,6 +267,9 @@ public class PurpurWorldConfig {
public boolean catRidableInWater = false;
@@ -269,6 +269,9 @@ public class PurpurWorldConfig {
public boolean catRidableInWater = true;
public boolean catControllable = true;
public double catMaxHealth = 10.0D;
+ public int catSpawnDelay = 1200;
@@ -64,7 +64,7 @@ index 659306ff7e8dac205de885ebb2b3feee641c6e26..5e4e8c515d8b2c6c4530b047f4f654bb
private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -277,6 +280,9 @@ public class PurpurWorldConfig {
@@ -279,6 +282,9 @@ public class PurpurWorldConfig {
set("mobs.cat.attributes.max_health", oldValue);
}
catMaxHealth = getDouble("mobs.cat.attributes.max_health", catMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Cows eat mushrooms
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
index 29720c0681b5c08e3a7ac5b07c6d83a1760297f1..757b846bb1591c36e6b4413e3a8534986a84233f 100644
index e24173dcd6f083a3ae61edcf71bb7236d644a422..b7a0ee0e055d12e36b411859211367c9df3b9549 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
@@ -2,6 +2,7 @@ package net.minecraft.world.entity.animal;
@@ -114,18 +114,18 @@ index 29720c0681b5c08e3a7ac5b07c6d83a1760297f1..757b846bb1591c36e6b4413e3a853498
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5e4e8c515d8b2c6c4530b047f4f654bb55d9808f..b3b1f1f657be2b01d497ad6feff5ed58de3af3e8 100644
index 47106d83ed3c1d4fef75cb3e77b8dc87f936bde5..5d3e7a0a1fa5b84badd43fb9d474e3c10de35868 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -337,6 +337,7 @@ public class PurpurWorldConfig {
public boolean cowRidableInWater = false;
@@ -339,6 +339,7 @@ public class PurpurWorldConfig {
public boolean cowRidableInWater = true;
public boolean cowControllable = true;
public double cowMaxHealth = 10.0D;
+ public int cowFeedMushrooms = 0;
private void cowSettings() {
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
@@ -347,6 +348,7 @@ public class PurpurWorldConfig {
@@ -349,6 +350,7 @@ public class PurpurWorldConfig {
set("mobs.cow.attributes.max_health", oldValue);
}
cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Pigs give saddle back
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java
index 03844563434133a8fab4db4c597d35d4a745a12f..97e2b3a4445d195021a67567c4b0c3346095e7e8 100644
index 17cd8463fa5b601946782174f0a0a77a93aacf4d..8734738ce69e2e776b80a4695fce3bcf33213959 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
@@ -174,6 +174,17 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
@@ -27,10 +27,10 @@ index 03844563434133a8fab4db4c597d35d4a745a12f..97e2b3a4445d195021a67567c4b0c334
if (!this.level.isClientSide) {
player.startRiding(this);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b3b1f1f657be2b01d497ad6feff5ed58de3af3e8..9fcf8bdd944cf0c7a91cd3032e40d53c44fde9ce 100644
index 5d3e7a0a1fa5b84badd43fb9d474e3c10de35868..b2851cd99429671d41264b306321552ed2caebef 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -906,6 +906,7 @@ public class PurpurWorldConfig {
@@ -908,6 +908,7 @@ public class PurpurWorldConfig {
public boolean pigRidableInWater = false;
public boolean pigControllable = true;
public double pigMaxHealth = 10.0D;
@@ -38,7 +38,7 @@ index b3b1f1f657be2b01d497ad6feff5ed58de3af3e8..9fcf8bdd944cf0c7a91cd3032e40d53c
private void pigSettings() {
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
@@ -916,6 +917,7 @@ public class PurpurWorldConfig {
@@ -918,6 +919,7 @@ public class PurpurWorldConfig {
set("mobs.pig.attributes.max_health", oldValue);
}
pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Snowman drop and put back pumpkin
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 6f6542f57ed942de91957edf49ef8d92b5233aa8..b6431dbb41163f9ef0d43e96fcf89750c5a6eef7 100644
index 7da9fcf10e6480a71d7a3e9934bb91320cac227e..6c6e020522261ca5bbc47a59c25d3e98bf0b4007 100644
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
@@ -191,6 +191,14 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
@@ -32,10 +32,10 @@ index 6f6542f57ed942de91957edf49ef8d92b5233aa8..b6431dbb41163f9ef0d43e96fcf89750
this.forceDrops = false; // CraftBukkit
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e82fdd52ae6fff3223d87c8a4695158dfd9740e6..5fefc46500a6bb824350c7b7aea3db20e5acfcb7 100644
index b2851cd99429671d41264b306321552ed2caebef..4a7f80f623d30a3781c04e05aa1bcf57f47caab2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1169,6 +1169,8 @@ public class PurpurWorldConfig {
@@ -1171,6 +1171,8 @@ public class PurpurWorldConfig {
public boolean snowGolemControllable = true;
public boolean snowGolemLeaveTrailWhenRidden = false;
public double snowGolemMaxHealth = 4.0D;
@@ -44,7 +44,7 @@ index e82fdd52ae6fff3223d87c8a4695158dfd9740e6..5fefc46500a6bb824350c7b7aea3db20
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1180,6 +1182,8 @@ public class PurpurWorldConfig {
@@ -1182,6 +1184,8 @@ public class PurpurWorldConfig {
set("mobs.snow_golem.attributes.max_health", oldValue);
}
snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Ender dragon always drop full exp
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index 09ed5144c448f7620b5c856a9fa12da07ec0cce6..1612705ba8cf58286a00b4d542541d17b901d286 100644
index a23458734a192425ddbec9b114d8485d8e7a2bd3..178c01444b7894833265c21a50ff6805d1aa356a 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -714,7 +714,7 @@ public class EnderDragon extends Mob implements Enemy {
@@ -18,10 +18,10 @@ index 09ed5144c448f7620b5c856a9fa12da07ec0cce6..1612705ba8cf58286a00b4d542541d17
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 06f0fa854cef604fd36073734f4bbf42f3ea497e..4e33ff9bed768bbcb11a6fbdabfc2b72952b593f 100644
index 4a7f80f623d30a3781c04e05aa1bcf57f47caab2..d0ce35d161498220eb1b0ce7ff8d0abd8a06fc35 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -450,6 +450,7 @@ public class PurpurWorldConfig {
@@ -452,6 +452,7 @@ public class PurpurWorldConfig {
public boolean enderDragonControllable = true;
public double enderDragonMaxY = 320D;
public double enderDragonMaxHealth = 200.0D;
@@ -29,7 +29,7 @@ index 06f0fa854cef604fd36073734f4bbf42f3ea497e..4e33ff9bed768bbcb11a6fbdabfc2b72
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -465,6 +466,7 @@ public class PurpurWorldConfig {
@@ -467,6 +468,7 @@ public class PurpurWorldConfig {
set("mobs.ender_dragon.attributes.max_health", oldValue);
}
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add enderman and creeper griefing controls
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
index c368ac6f35ff4b309079b4895dcd3792f3b6b69e..ccdf278afc5eab5e05649d54ef30d1c27b8b9daa 100644
index 76d796600411144b73d1e7e67f70bb032055d02a..b25d3e25a6be150739aeed99b81e99e3c995dbae 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -361,7 +361,7 @@ public class Creeper extends Monster implements PowerableMob {
@@ -18,7 +18,7 @@ index c368ac6f35ff4b309079b4895dcd3792f3b6b69e..ccdf278afc5eab5e05649d54ef30d1c2
this.spawnLingeringCloud();
} else {
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 6e93faa6debeba159664401a49ddd5ca159abf80..7e67e034cf8b4459f274975567b9c25d7349abf1 100644
index b7b2762ff6b01da9a3df0ab0add6d50efd76db8d..3e210f4113765e5e265d9b0cfbd911db6f586327 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -530,6 +530,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -38,10 +38,10 @@ index 6e93faa6debeba159664401a49ddd5ca159abf80..7e67e034cf8b4459f274975567b9c25d
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e17d6ef06c6125e88986aa01243a6b96360c8114..5bd1546082466cac963cce61c72d2698267f3554 100644
index 65ab2e13ac14ced0272748ff79cc249fdeef3c95..85945024793eebecaac97f76766b08c95bdd0f92 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -437,6 +437,7 @@ public class PurpurWorldConfig {
@@ -439,6 +439,7 @@ public class PurpurWorldConfig {
public boolean creeperControllable = true;
public double creeperMaxHealth = 20.0D;
public double creeperChargedChance = 0.0D;
@@ -49,7 +49,7 @@ index e17d6ef06c6125e88986aa01243a6b96360c8114..5bd1546082466cac963cce61c72d2698
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -448,6 +449,7 @@ public class PurpurWorldConfig {
@@ -450,6 +451,7 @@ public class PurpurWorldConfig {
}
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
@@ -57,15 +57,15 @@ index e17d6ef06c6125e88986aa01243a6b96360c8114..5bd1546082466cac963cce61c72d2698
}
public boolean dolphinRidable = false;
@@ -554,6 +556,7 @@ public class PurpurWorldConfig {
public boolean endermanRidableInWater = false;
@@ -556,6 +558,7 @@ public class PurpurWorldConfig {
public boolean endermanRidableInWater = true;
public boolean endermanControllable = true;
public double endermanMaxHealth = 40.0D;
+ public boolean endermanAllowGriefing = true;
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -564,6 +567,7 @@ public class PurpurWorldConfig {
@@ -566,6 +569,7 @@ public class PurpurWorldConfig {
set("mobs.enderman.attributes.max_health", oldValue);
}
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);

View File

@@ -30,7 +30,7 @@ index ca96b893e22de3ae7c11d5cded51edf70bdcb6f2..d4ab27de59e9c533789f062e74ceb453
// CraftBukkit start
private CraftMerchant craftMerchant;
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 9c3541a3506f270dd79e52103c4f83ad0df0ae94..3240df0e30b882b8d112e6d92187c1bda0f6973b 100644
index f9828580075d70d804c92d6db9a944d2e436e268..e815600937d177694f7883ee963c7a34d08ea34d 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -172,6 +172,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -42,7 +42,7 @@ index 9c3541a3506f270dd79e52103c4f83ad0df0ae94..3240df0e30b882b8d112e6d92187c1bd
@Override
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
index d2324e2dbd72fcd5a8ab562bc3b6e53088647137..c61e4ee036c60c6eaeabccd9785fb690520fdcf2 100644
index 71212ecb84bdbf838b4a5fbefbe9cfa6343542c4..8bbf7dc66fb225d20fc68d858ce5ed339482b1ef 100644
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
@@ -111,6 +111,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
@@ -54,18 +54,18 @@ index d2324e2dbd72fcd5a8ab562bc3b6e53088647137..c61e4ee036c60c6eaeabccd9785fb690
this.goalSelector.addGoal(8, new WaterAvoidingRandomStrollGoal(this, 0.35D));
this.goalSelector.addGoal(9, new InteractGoal(this, Player.class, 3.0F, 1.0F));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index afccb980aa518659c733859e8175dcb998a45f58..a41aa38eb0f219309603ad5c8605dd47a3b24951 100644
index 85945024793eebecaac97f76766b08c95bdd0f92..c95c10551e45993eb8b8402db1ce1b4a5afe9872 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1435,6 +1435,7 @@ public class PurpurWorldConfig {
public boolean villagerRidableInWater = false;
@@ -1437,6 +1437,7 @@ public class PurpurWorldConfig {
public boolean villagerRidableInWater = true;
public boolean villagerControllable = true;
public double villagerMaxHealth = 20.0D;
+ public boolean villagerFollowEmeraldBlock = false;
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1445,6 +1446,7 @@ public class PurpurWorldConfig {
@@ -1447,6 +1448,7 @@ public class PurpurWorldConfig {
set("mobs.villager.attributes.max_health", oldValue);
}
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
@@ -73,15 +73,15 @@ index afccb980aa518659c733859e8175dcb998a45f58..a41aa38eb0f219309603ad5c8605dd47
}
public boolean vindicatorRidable = false;
@@ -1467,6 +1469,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderRidableInWater = false;
@@ -1469,6 +1471,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderRidableInWater = true;
public boolean wanderingTraderControllable = true;
public double wanderingTraderMaxHealth = 20.0D;
+ public boolean wanderingTraderFollowEmeraldBlock = false;
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1477,6 +1480,7 @@ public class PurpurWorldConfig {
@@ -1479,6 +1482,7 @@ public class PurpurWorldConfig {
set("mobs.wandering_trader.attributes.max_health", oldValue);
}
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);

View File

@@ -17,7 +17,7 @@ index 76d8bab7cc1bdbd1946af60a1a2ffef1c7ef4415..636b073f839393c0095f178131e54d18
// Paper start - drop leash variable
org.bukkit.event.player.PlayerUnleashEntityEvent event = CraftEventFactory.callPlayerUnleashEntityEvent(this, player, hand, !player.getAbilities().instabuild);
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 3240df0e30b882b8d112e6d92187c1bda0f6973b..cb8ea90c03bcd5ad81d9478abcd556838143850e 100644
index e815600937d177694f7883ee963c7a34d08ea34d..10e9786b03618232f67cdd88e68161f96ea97ca4 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -179,6 +179,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -33,7 +33,7 @@ index 3240df0e30b882b8d112e6d92187c1bda0f6973b..cb8ea90c03bcd5ad81d9478abcd55683
@Override
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
index c61e4ee036c60c6eaeabccd9785fb690520fdcf2..fbbeacb94aeda40e9fc5c0553ab68948de9019c4 100644
index 8bbf7dc66fb225d20fc68d858ce5ed339482b1ef..559bad9524a00a5357973f30d54b0f1a3ed6dadb 100644
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
@@ -89,6 +89,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
@@ -49,10 +49,10 @@ index c61e4ee036c60c6eaeabccd9785fb690520fdcf2..fbbeacb94aeda40e9fc5c0553ab68948
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a41aa38eb0f219309603ad5c8605dd47a3b24951..5f76361dcd69083d6a78be07fc722f73d9d29022 100644
index c95c10551e45993eb8b8402db1ce1b4a5afe9872..46fa35c5defbf98e34c611a87b3733836907bb54 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1436,6 +1436,7 @@ public class PurpurWorldConfig {
@@ -1438,6 +1438,7 @@ public class PurpurWorldConfig {
public boolean villagerControllable = true;
public double villagerMaxHealth = 20.0D;
public boolean villagerFollowEmeraldBlock = false;
@@ -60,7 +60,7 @@ index a41aa38eb0f219309603ad5c8605dd47a3b24951..5f76361dcd69083d6a78be07fc722f73
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1447,6 +1448,7 @@ public class PurpurWorldConfig {
@@ -1449,6 +1450,7 @@ public class PurpurWorldConfig {
}
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
@@ -68,7 +68,7 @@ index a41aa38eb0f219309603ad5c8605dd47a3b24951..5f76361dcd69083d6a78be07fc722f73
}
public boolean vindicatorRidable = false;
@@ -1470,6 +1472,7 @@ public class PurpurWorldConfig {
@@ -1472,6 +1474,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderControllable = true;
public double wanderingTraderMaxHealth = 20.0D;
public boolean wanderingTraderFollowEmeraldBlock = false;
@@ -76,7 +76,7 @@ index a41aa38eb0f219309603ad5c8605dd47a3b24951..5f76361dcd69083d6a78be07fc722f73
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1481,6 +1484,7 @@ public class PurpurWorldConfig {
@@ -1483,6 +1486,7 @@ public class PurpurWorldConfig {
}
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);
wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable jockey options
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
index edfc149ef228954fe0900439c8bf25f4249b28e2..9005034e99e0398cf7b2cca528fbe55d4baa2e9d 100644
index 0139d890c22db09c4b67a1e1bcf179a6571c7cd6..863fd15039e53405aac66d769598a38ac2586115 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
@@ -93,6 +93,21 @@ public class Drowned extends Zombie implements RangedAttackMob {
@@ -31,7 +31,7 @@ index edfc149ef228954fe0900439c8bf25f4249b28e2..9005034e99e0398cf7b2cca528fbe55d
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Husk.java b/src/main/java/net/minecraft/world/entity/monster/Husk.java
index 80bb77199791a312216e8366275e5b0e1c8b14fa..874e3a4adf3d4e688a240f29888ee0bbaaacc9dc 100644
index 4dc604f2d36494bbe139b7ef4649089207dd092f..58006eab96f505215053203bff6853ca784468f5 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Husk.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Husk.java
@@ -47,6 +47,21 @@ public class Husk extends Zombie {
@@ -57,7 +57,7 @@ index 80bb77199791a312216e8366275e5b0e1c8b14fa..874e3a4adf3d4e688a240f29888ee0bb
public static boolean checkHuskSpawnRules(EntityType<Husk> type, ServerLevelAccessor world, MobSpawnType spawnReason, BlockPos pos, RandomSource random) {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
index afe866e4a41a824bcfb9aa70779c52381386c472..4a38fec232e2a087f8ef3f7a0c8fff17ddd714d0 100644
index 77712e0bb78bef24f05d9949c3ae4ee7ec2efb96..fb41431f25081c8ca0cf03dc5128f78f589e4e26 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
@@ -126,6 +126,18 @@ public class Zombie extends Monster {
@@ -115,7 +115,7 @@ index afe866e4a41a824bcfb9aa70779c52381386c472..4a38fec232e2a087f8ef3f7a0c8fff17
}
}
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
index d24e41ac992972d1679c279b10290c01db73a5b5..0f12e4ac6eab349418328a80a2b02fa27ce3f39b 100644
index 073a45cd24c92e63b349a93da91cedfa10103101..9754f1d53cc5b2ea982531e0240c4fb41e4f1d35 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
@@ -104,6 +104,21 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
@@ -141,7 +141,7 @@ index d24e41ac992972d1679c279b10290c01db73a5b5..0f12e4ac6eab349418328a80a2b02fa2
@Override
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 cdeb39d02b618b648681ca51a592b7b3508e46f5..b5b4cb3fefd769f5d8ec5b60b4b41ffb023d19c5 100644
index 2df1aa1af12b403e9cd87d61b2ff1516f754f589..f2c690c92dd2bf55f986f629ed79b76fbdfa32a4 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
@@ -83,6 +83,21 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
@@ -167,10 +167,10 @@ index cdeb39d02b618b648681ca51a592b7b3508e46f5..b5b4cb3fefd769f5d8ec5b60b4b41ffb
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 71415037419ed8351477670c879cf1dee9e74ac0..0b0ba101d66004606061bdfe1304b28cc991bd9b 100644
index 2802191b8582840532e0774369082bca487a081d..c362dbe806269a04765babafa0866b774ed396a1 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -588,6 +588,9 @@ public class PurpurWorldConfig {
@@ -590,6 +590,9 @@ public class PurpurWorldConfig {
public boolean drownedControllable = true;
public double drownedMaxHealth = 20.0D;
public double drownedSpawnReinforcements = 0.1D;
@@ -180,7 +180,7 @@ index 71415037419ed8351477670c879cf1dee9e74ac0..0b0ba101d66004606061bdfe1304b28c
private void drownedSettings() {
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
@@ -599,6 +602,9 @@ public class PurpurWorldConfig {
@@ -601,6 +604,9 @@ public class PurpurWorldConfig {
}
drownedMaxHealth = getDouble("mobs.drowned.attributes.max_health", drownedMaxHealth);
drownedSpawnReinforcements = getDouble("mobs.drowned.attributes.spawn_reinforcements", drownedSpawnReinforcements);
@@ -190,7 +190,7 @@ index 71415037419ed8351477670c879cf1dee9e74ac0..0b0ba101d66004606061bdfe1304b28c
}
public boolean elderGuardianRidable = false;
@@ -847,6 +853,9 @@ public class PurpurWorldConfig {
@@ -849,6 +855,9 @@ public class PurpurWorldConfig {
public boolean huskControllable = true;
public double huskMaxHealth = 20.0D;
public double huskSpawnReinforcements = 0.1D;
@@ -200,7 +200,7 @@ index 71415037419ed8351477670c879cf1dee9e74ac0..0b0ba101d66004606061bdfe1304b28c
private void huskSettings() {
huskRidable = getBoolean("mobs.husk.ridable", huskRidable);
huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater);
@@ -858,6 +867,9 @@ public class PurpurWorldConfig {
@@ -860,6 +869,9 @@ public class PurpurWorldConfig {
}
huskMaxHealth = getDouble("mobs.husk.attributes.max_health", huskMaxHealth);
huskSpawnReinforcements = getDouble("mobs.husk.attributes.spawn_reinforcements", huskSpawnReinforcements);
@@ -210,7 +210,7 @@ index 71415037419ed8351477670c879cf1dee9e74ac0..0b0ba101d66004606061bdfe1304b28c
}
public boolean illusionerRidable = false;
@@ -1674,6 +1686,9 @@ public class PurpurWorldConfig {
@@ -1676,6 +1688,9 @@ public class PurpurWorldConfig {
public boolean zombieControllable = true;
public double zombieMaxHealth = 20.0D;
public double zombieSpawnReinforcements = 0.1D;
@@ -220,7 +220,7 @@ index 71415037419ed8351477670c879cf1dee9e74ac0..0b0ba101d66004606061bdfe1304b28c
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1685,6 +1700,9 @@ public class PurpurWorldConfig {
@@ -1687,6 +1702,9 @@ public class PurpurWorldConfig {
}
zombieMaxHealth = getDouble("mobs.zombie.attributes.max_health", zombieMaxHealth);
zombieSpawnReinforcements = getDouble("mobs.zombie.attributes.spawn_reinforcements", zombieSpawnReinforcements);
@@ -230,7 +230,7 @@ index 71415037419ed8351477670c879cf1dee9e74ac0..0b0ba101d66004606061bdfe1304b28c
}
public boolean zombieHorseRidableInWater = false;
@@ -1719,6 +1737,9 @@ public class PurpurWorldConfig {
@@ -1721,6 +1739,9 @@ public class PurpurWorldConfig {
public boolean zombieVillagerControllable = true;
public double zombieVillagerMaxHealth = 20.0D;
public double zombieVillagerSpawnReinforcements = 0.1D;
@@ -240,7 +240,7 @@ index 71415037419ed8351477670c879cf1dee9e74ac0..0b0ba101d66004606061bdfe1304b28c
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -1730,6 +1751,9 @@ public class PurpurWorldConfig {
@@ -1732,6 +1753,9 @@ public class PurpurWorldConfig {
}
zombieVillagerMaxHealth = getDouble("mobs.zombie_villager.attributes.max_health", zombieVillagerMaxHealth);
zombieVillagerSpawnReinforcements = getDouble("mobs.zombie_villager.attributes.spawn_reinforcements", zombieVillagerSpawnReinforcements);
@@ -250,7 +250,7 @@ index 71415037419ed8351477670c879cf1dee9e74ac0..0b0ba101d66004606061bdfe1304b28c
}
public boolean zombifiedPiglinRidable = false;
@@ -1737,6 +1761,9 @@ public class PurpurWorldConfig {
@@ -1739,6 +1763,9 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinControllable = true;
public double zombifiedPiglinMaxHealth = 20.0D;
public double zombifiedPiglinSpawnReinforcements = 0.0D;
@@ -260,7 +260,7 @@ index 71415037419ed8351477670c879cf1dee9e74ac0..0b0ba101d66004606061bdfe1304b28c
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -1748,5 +1775,8 @@ public class PurpurWorldConfig {
@@ -1750,5 +1777,8 @@ public class PurpurWorldConfig {
}
zombifiedPiglinMaxHealth = getDouble("mobs.zombified_piglin.attributes.max_health", zombifiedPiglinMaxHealth);
zombifiedPiglinSpawnReinforcements = getDouble("mobs.zombified_piglin.attributes.spawn_reinforcements", zombifiedPiglinSpawnReinforcements);

View File

@@ -73,7 +73,7 @@ index 64f17b4a22454b59968787089253eaba0a04c1f2..b373f9e4b5a2604bcbccd36cd3de961f
@Override
protected void addAdditionalSaveData(CompoundTag nbt) {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
index 8a592993aedc72d8ffe1b1ad5e526cc292d69737..89c24d35c03f41a1928db352e42ed07a910a8a36 100644
index e271555ac03fcbb565a7fe08efdc9a6036164e74..fd02dfb905c71fa10e0830cf0a02d4b63b81f23f 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -49,6 +49,7 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -258,10 +258,10 @@ index 8a592993aedc72d8ffe1b1ad5e526cc292d69737..89c24d35c03f41a1928db352e42ed07a
private float speed = 0.1F;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8d0c535b30bf61f56f5f62c851fdc627f25a9be6..ae0942b76923d34ac80885d6fe6e0a2ee7932a84 100644
index c362dbe806269a04765babafa0866b774ed396a1..988e7255df7f32dff84f1d2abc2ec642095e3d58 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1065,6 +1065,9 @@ public class PurpurWorldConfig {
@@ -1067,6 +1067,9 @@ public class PurpurWorldConfig {
public String phantomAttackDamage = "6 + size";
public Map<Integer, Double> phantomMaxHealthCache = new HashMap<>();
public Map<Integer, Double> phantomAttackDamageCache = new HashMap<>();
@@ -271,7 +271,7 @@ index 8d0c535b30bf61f56f5f62c851fdc627f25a9be6..ae0942b76923d34ac80885d6fe6e0a2e
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1086,6 +1089,9 @@ public class PurpurWorldConfig {
@@ -1088,6 +1091,9 @@ public class PurpurWorldConfig {
phantomAttackDamage = getString("mobs.phantom.attributes.attack_damage", phantomAttackDamage);
phantomMaxHealthCache.clear();
phantomAttackDamageCache.clear();

View File

@@ -40,10 +40,10 @@ index e8ae4449696d73c8c9b8b27d4d2e20db933a72cc..f55c50f6637a4f930b15565d6ac82bb4
for (int l = 0; l < k; ++l) {
// Paper start
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ae0942b76923d34ac80885d6fe6e0a2ee7932a84..76818776d647dea7cdad6ff532dac696b8258c06 100644
index 988e7255df7f32dff84f1d2abc2ec642095e3d58..cf0842e65e1360d6860f4b519631a71a91c40145 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1068,6 +1068,12 @@ public class PurpurWorldConfig {
@@ -1070,6 +1070,12 @@ public class PurpurWorldConfig {
public double phantomAttackedByCrystalRadius = 0.0D;
public float phantomAttackedByCrystalDamage = 1.0F;
public double phantomOrbitCrystalRadius = 0.0D;
@@ -56,7 +56,7 @@ index ae0942b76923d34ac80885d6fe6e0a2ee7932a84..76818776d647dea7cdad6ff532dac696
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1092,6 +1098,12 @@ public class PurpurWorldConfig {
@@ -1094,6 +1100,12 @@ public class PurpurWorldConfig {
phantomAttackedByCrystalRadius = getDouble("mobs.phantom.attacked-by-crystal-range", phantomAttackedByCrystalRadius);
phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage);
phantomOrbitCrystalRadius = getDouble("mobs.phantom.orbit-crystal-radius", phantomOrbitCrystalRadius);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Squid EAR immunity
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a6d807ac6c9486bddac5a15bdb345aa6d660c3d9..027d52ced384f3add57432bbdf5321ce7ea3cf22 100644
index 2cbab8dc920fff0d1573072b791f39debd61a710..6b2a2b898d8a4b75f7c9d1ec7112e4f748413e95 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1453,6 +1453,7 @@ public class PurpurWorldConfig {
@@ -1455,6 +1455,7 @@ public class PurpurWorldConfig {
public boolean squidRidable = false;
public boolean squidControllable = true;
public double squidMaxHealth = 10.0D;
@@ -16,7 +16,7 @@ index a6d807ac6c9486bddac5a15bdb345aa6d660c3d9..027d52ced384f3add57432bbdf5321ce
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1462,6 +1463,7 @@ public class PurpurWorldConfig {
@@ -1464,6 +1465,7 @@ public class PurpurWorldConfig {
set("mobs.squid.attributes.max_health", oldValue);
}
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Phantoms burn in light
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
index 89c24d35c03f41a1928db352e42ed07a910a8a36..2d211ce0221c1fd7f1aeb8381d0746860739fe5a 100644
index fd02dfb905c71fa10e0830cf0a02d4b63b81f23f..b601c542e28bc0a588e56aa37c243fe92145547e 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -50,6 +50,7 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -53,10 +53,10 @@ index 89c24d35c03f41a1928db352e42ed07a910a8a36..2d211ce0221c1fd7f1aeb8381d074686
list.sort(Comparator.comparing((Entity e) -> { return e.getY(); }).reversed()); // CraftBukkit - decompile error
Iterator iterator = list.iterator();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3ddbfdfe9422f7c1f87f9a26d35ad11507b93573..9c4a016d9567e0e6737e60d7518a23537ef87bd7 100644
index 6b2a2b898d8a4b75f7c9d1ec7112e4f748413e95..99866d1ddf31dd231c2b097716e4f1d7300e0680 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1123,6 +1123,9 @@ public class PurpurWorldConfig {
@@ -1125,6 +1125,9 @@ public class PurpurWorldConfig {
public double phantomSpawnLocalDifficultyChance = 3.0D;
public int phantomSpawnMinPerAttempt = 1;
public int phantomSpawnMaxPerAttempt = -1;
@@ -66,7 +66,7 @@ index 3ddbfdfe9422f7c1f87f9a26d35ad11507b93573..9c4a016d9567e0e6737e60d7518a2353
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1153,6 +1156,9 @@ public class PurpurWorldConfig {
@@ -1155,6 +1158,9 @@ public class PurpurWorldConfig {
phantomSpawnLocalDifficultyChance = getDouble("mobs.phantom.spawn.local-difficulty-chance", phantomSpawnLocalDifficultyChance);
phantomSpawnMinPerAttempt = getInt("mobs.phantom.spawn.per-attempt.min", phantomSpawnMinPerAttempt);
phantomSpawnMaxPerAttempt = getInt("mobs.phantom.spawn.per-attempt.max", phantomSpawnMaxPerAttempt);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable villager breeding
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 cb8ea90c03bcd5ad81d9478abcd556838143850e..ab3497bd22beffaf7a66bdd502b9e1bfc6478881 100644
index 10e9786b03618232f67cdd88e68161f96ea97ca4..a6d6faf9fed28a97de763e2bd0af38fa9656517e 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -775,7 +775,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -18,10 +18,10 @@ index cb8ea90c03bcd5ad81d9478abcd556838143850e..ab3497bd22beffaf7a66bdd502b9e1bf
private boolean hungry() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b9a70e8da46923d5efc31dfac54d2fe58acb4f82..f5c1434946d54deb6a5924146f0c0003e1cd3176 100644
index 99866d1ddf31dd231c2b097716e4f1d7300e0680..992b4fd09aeb6ef23310b1351b8dec38e4527c8d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1611,6 +1611,7 @@ public class PurpurWorldConfig {
@@ -1613,6 +1613,7 @@ public class PurpurWorldConfig {
public double villagerMaxHealth = 20.0D;
public boolean villagerFollowEmeraldBlock = false;
public boolean villagerCanBeLeashed = false;
@@ -29,7 +29,7 @@ index b9a70e8da46923d5efc31dfac54d2fe58acb4f82..f5c1434946d54deb6a5924146f0c0003
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1623,6 +1624,7 @@ public class PurpurWorldConfig {
@@ -1625,6 +1626,7 @@ public class PurpurWorldConfig {
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add vindicator johnny spawn chance
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
index 32c7836fcceaeee018dd965f77ac1d2c2ab45ea0..5e732fd80cd0ac814e56c741717e333500fcc334 100644
index 0a4f7125c38d3138ec8eedec4ca72000f25ba6ac..29039b35c60c7c6370c6593a53b8aa2a3db0a368 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
@@ -154,6 +154,12 @@ public class Vindicator extends AbstractIllager {
@@ -22,18 +22,18 @@ index 32c7836fcceaeee018dd965f77ac1d2c2ab45ea0..5e732fd80cd0ac814e56c741717e3335
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a8111222cdcb7697ce761b4ed5b9e62922e7459b..d1fa483763b3f96e2274ebb74cbeec03ee0ca3af 100644
index e683f958f1d2afca87b7e337d04151b7aba35efb..5fd70f3cb91fa4f965f829a354155f5d075f485f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1638,6 +1638,7 @@ public class PurpurWorldConfig {
public boolean vindicatorRidableInWater = false;
@@ -1640,6 +1640,7 @@ public class PurpurWorldConfig {
public boolean vindicatorRidableInWater = true;
public boolean vindicatorControllable = true;
public double vindicatorMaxHealth = 24.0D;
+ public double vindicatorJohnnySpawnChance = 0D;
private void vindicatorSettings() {
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
@@ -1648,6 +1649,7 @@ public class PurpurWorldConfig {
@@ -1650,6 +1651,7 @@ public class PurpurWorldConfig {
set("mobs.vindicator.attributes.max_health", oldValue);
}
vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth);

View File

@@ -17,10 +17,10 @@ index 0accc5595461ce92259e3f819a9837aabd442d77..3b65375703732966d0fcbbb68ba0805e
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8be6041d428f229f250ec4ed3de23d436371e8b9..4b72a70baa59c4411900a0f152d144318e8636fa 100644
index c336b4df270b324e6ef8a897c8cafcfd7d0c9c7d..d21b1d357cb9a9fd008b86d3c067cc8649ffbdec 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -610,6 +610,7 @@ public class PurpurWorldConfig {
@@ -612,6 +612,7 @@ public class PurpurWorldConfig {
public float dolphinSpitSpeed = 1.0F;
public float dolphinSpitDamage = 2.0F;
public double dolphinMaxHealth = 10.0D;
@@ -28,7 +28,7 @@ index 8be6041d428f229f250ec4ed3de23d436371e8b9..4b72a70baa59c4411900a0f152d14431
private void dolphinSettings() {
dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable);
dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable);
@@ -622,6 +623,7 @@ public class PurpurWorldConfig {
@@ -624,6 +625,7 @@ public class PurpurWorldConfig {
set("mobs.dolphin.attributes.max_health", oldValue);
}
dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth);

View File

@@ -54,10 +54,10 @@ index ffc76354ead6937daf366c3d87bcb51d3e4c47f5..5b98d42b5d6bc07265fbb017e51a6281
+ // Purpur
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b8411a9bd9ce0cab81173411a850108f7192d27d..a5897f8a95808c40235d587f9a8e063bcd08e388 100644
index d21b1d357cb9a9fd008b86d3c067cc8649ffbdec..404300394bf9e4e7ff43cae3c39e8898382e5ac0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1478,6 +1478,7 @@ public class PurpurWorldConfig {
@@ -1480,6 +1480,7 @@ public class PurpurWorldConfig {
public boolean squidControllable = true;
public double squidMaxHealth = 10.0D;
public boolean squidImmuneToEAR = true;
@@ -65,7 +65,7 @@ index b8411a9bd9ce0cab81173411a850108f7192d27d..a5897f8a95808c40235d587f9a8e063b
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1488,6 +1489,7 @@ public class PurpurWorldConfig {
@@ -1490,6 +1491,7 @@ public class PurpurWorldConfig {
}
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Customizable wither health and healing
Adds the ability to customize the health of the wither, as well as the amount that it heals, and how often.
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index 52cf58145788da4cb0ec447d1cf485f86141d1d8..631349e333fcc8285b7f23dec86275d0f0bee0ca 100644
index 864ebffb6c903acb9de5594029838b927eea4318..b22d0af2267581467af9a4d0e8104146b3da9b71 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -529,8 +529,10 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -23,10 +23,10 @@ index 52cf58145788da4cb0ec447d1cf485f86141d1d8..631349e333fcc8285b7f23dec86275d0
this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth());
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d13c4040ce81d701fe9c26f9cc00d661d631b991..6fc696e6260691c93facfebb6fc8db25ff72d102 100644
index c68801aa022a59155d37bb8a930a5cbef4b91dfa..146dfeddb9572eb017e137656c849dcd15162db8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1717,6 +1717,8 @@ public class PurpurWorldConfig {
@@ -1719,6 +1719,8 @@ public class PurpurWorldConfig {
public boolean witherControllable = true;
public double witherMaxY = 320D;
public double witherMaxHealth = 300.0D;
@@ -35,7 +35,7 @@ index d13c4040ce81d701fe9c26f9cc00d661d631b991..6fc696e6260691c93facfebb6fc8db25
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1732,6 +1734,8 @@ public class PurpurWorldConfig {
@@ -1734,6 +1736,8 @@ public class PurpurWorldConfig {
set("mobs.wither.attributes.max_health", oldValue);
}
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);

View File

@@ -21,7 +21,7 @@ index a08c00b8c0488d18be5e182f7892e5ab71d12247..338f693d098b6ab507c30f6411c9a952
ignored.add("goal_selector_1");
ignored.add("goal_selector_2");
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
index 9005034e99e0398cf7b2cca528fbe55d4baa2e9d..25b71ea8f18946a5de60eee5a075309033312a5c 100644
index 863fd15039e53405aac66d769598a38ac2586115..794c2fb3400e08c2dda24d29024dad7686a378fa 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
@@ -120,7 +120,19 @@ public class Drowned extends Zombie implements RangedAttackMob {
@@ -46,7 +46,7 @@ index 9005034e99e0398cf7b2cca528fbe55d4baa2e9d..25b71ea8f18946a5de60eee5a0753090
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, Axolotl.class, true, false));
this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR));
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
index 4a38fec232e2a087f8ef3f7a0c8fff17ddd714d0..0d4abed58cd14f7804e61c6e6a62891c71fb9f0a 100644
index fb41431f25081c8ca0cf03dc5128f78f589e4e26..ebeeb8c31d05a0ad2e291599a0b6ebe179b8cf82 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
@@ -156,7 +156,19 @@ public class Zombie extends Monster {
@@ -71,10 +71,10 @@ index 4a38fec232e2a087f8ef3f7a0c8fff17ddd714d0..0d4abed58cd14f7804e61c6e6a62891c
this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR));
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 14f4c4ff339da8db6f43f14250047f77656d1d8d..f05ca6fab4e3622f9f96fdb24d27095fc5fc8bf2 100644
index 8b7da9f1e1c073b1cf93aa403aadf0b42da9a1e6..9c0b696ed17ea75831419c9e1102215b2e60ff34 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1850,6 +1850,7 @@ public class PurpurWorldConfig {
@@ -1852,6 +1852,7 @@ public class PurpurWorldConfig {
public boolean zombieJockeyOnlyBaby = true;
public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true;
@@ -82,7 +82,7 @@ index 14f4c4ff339da8db6f43f14250047f77656d1d8d..f05ca6fab4e3622f9f96fdb24d27095f
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1864,6 +1865,7 @@ public class PurpurWorldConfig {
@@ -1866,6 +1867,7 @@ public class PurpurWorldConfig {
zombieJockeyOnlyBaby = getBoolean("mobs.zombie.jockey.only-babies", zombieJockeyOnlyBaby);
zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);

View File

@@ -58,10 +58,10 @@ index de1bf4aea2661763948aba01d93e7685f3ef73cb..c396874d24ae535b4c07649e303e60b7
float f1 = Mth.cos(f) * 0.2F;
float f2 = -0.1F + this.squid.getRandom().nextFloat() * 0.2F;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f05ca6fab4e3622f9f96fdb24d27095fc5fc8bf2..b2649b3960f48b09028327d30b374de94bf6cbf6 100644
index 9c0b696ed17ea75831419c9e1102215b2e60ff34..e279df79e3ce5a12205c45c611e252bfaa6ffbdb 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -902,10 +902,12 @@ public class PurpurWorldConfig {
@@ -904,10 +904,12 @@ public class PurpurWorldConfig {
public boolean glowSquidRidable = false;
public boolean glowSquidControllable = true;
public double glowSquidMaxHealth = 10.0D;
@@ -74,7 +74,7 @@ index f05ca6fab4e3622f9f96fdb24d27095fc5fc8bf2..b2649b3960f48b09028327d30b374de9
}
public boolean goatRidable = false;
@@ -1537,6 +1539,7 @@ public class PurpurWorldConfig {
@@ -1539,6 +1541,7 @@ public class PurpurWorldConfig {
public double squidMaxHealth = 10.0D;
public boolean squidImmuneToEAR = true;
public double squidOffsetWaterCheck = 0.0D;
@@ -82,7 +82,7 @@ index f05ca6fab4e3622f9f96fdb24d27095fc5fc8bf2..b2649b3960f48b09028327d30b374de9
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1548,6 +1551,7 @@ public class PurpurWorldConfig {
@@ -1550,6 +1553,7 @@ public class PurpurWorldConfig {
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);
squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck);

View File

@@ -47,7 +47,7 @@ index f185215b826c4b50a819c8454089cb8ccdb0ed3a..2ac88f06ebb79e515cd9934ac1e3e2c8
other.resetLove();
world.addFreshEntityWithPassengers(entityageable, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
index 1ff79871121944864da0b5179bba17f97c551608..609fc99fb2f6120af1220ca9dda9ed05686c1448 100644
index c0b85da9cce5ec75d83945ba7b4d2fc823105103..980bab802ce49384fc836187fa69e178a04a3ea2 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
@@ -219,6 +219,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -63,7 +63,7 @@ index 1ff79871121944864da0b5179bba17f97c551608..609fc99fb2f6120af1220ca9dda9ed05
@Override
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 61f83ec67c68dfafbdb11ed88f02d2be526ab7f9..7b3faddc9731ef34708f4caed51c48868159d4c6 100644
index 944da53f7f48e5218c12b7fd4bb443621cafc331..bc9c39e90f0a41f9bec6f93db921d2157183698c 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
@@ -125,6 +125,11 @@ public class Cat extends TamableAnimal implements VariantHolder<CatVariant> {
@@ -79,7 +79,7 @@ index 61f83ec67c68dfafbdb11ed88f02d2be526ab7f9..7b3faddc9731ef34708f4caed51c4886
public ResourceLocation getResourceLocation() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
index 4b66412d04a28e3ee0a6e6c5fa0f3f4bf633d2d8..68c90c92409e79011aff84f655b391ba113804a2 100644
index da281eb1355fd753dfdb69cee13661818b5d0fc8..12faecfb4ffdd2c248c4a36134ed38f96b6d4069 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
@@ -77,6 +77,11 @@ public class Chicken extends Animal {
@@ -95,7 +95,7 @@ index 4b66412d04a28e3ee0a6e6c5fa0f3f4bf633d2d8..68c90c92409e79011aff84f655b391ba
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
index 757b846bb1591c36e6b4413e3a8534986a84233f..6974e10842c66906a2ee70add8b7f046f312301c 100644
index b7a0ee0e055d12e36b411859211367c9df3b9549..7776aa8db4b8782fea1ac57b82b98687548aab93 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
@@ -63,6 +63,11 @@ public class Cow extends Animal {
@@ -111,7 +111,7 @@ index 757b846bb1591c36e6b4413e3a8534986a84233f..6974e10842c66906a2ee70add8b7f046
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index 2119cdd90228f9034781b9496640b159343afbd8..bbd14bd8f2da3457fe9520be50b43e05e57998f3 100644
index d5f536eb87163c946815ace610ba99ad2a0b16c5..920b70b5c534ee83f5acb26890f3cfdf220fd887 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -184,6 +184,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
@@ -140,7 +140,7 @@ index 2119cdd90228f9034781b9496640b159343afbd8..bbd14bd8f2da3457fe9520be50b43e05
this.partner.resetLove();
worldserver.addFreshEntityWithPassengers(entityfox, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
index 51c032e06bbf64e688778053056acef042c5b4b8..1b4d9c39bae147442d6bf9f742f9233c80c44363 100644
index 12b715086a347b82726327358ac71c72a4fca8b0..7e3f730aac201dd5302c1d3a1b98e06c214f0740 100644
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
@@ -83,6 +83,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
@@ -156,7 +156,7 @@ index 51c032e06bbf64e688778053056acef042c5b4b8..1b4d9c39bae147442d6bf9f742f9233c
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
index 5b2996a782e8f2ad01c587aac113074c5c382da0..4b20204c2d4fcbe1eb075dccac9618b89e0f9dc2 100644
index c4d36725c614d4fb2a7d097ea5c5cd381b758e92..27e596183026b916444407979cfc36895443d2d7 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
@@ -88,6 +88,11 @@ public class Ocelot extends Animal {
@@ -172,7 +172,7 @@ index 5b2996a782e8f2ad01c587aac113074c5c382da0..4b20204c2d4fcbe1eb075dccac9618b8
public boolean isTrusting() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
index e5156dba9cf467e73c2376ffabafc437bc9e3536..560af707b9e1175e8e40c999be9b4f615815e1f5 100644
index a5654221f7488c66582b6d97565b96ea7abb6f14..3cd4e5d8298c984d49f21f644658d0b92b597ce7 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
@@ -138,6 +138,11 @@ public class Panda extends Animal {
@@ -188,7 +188,7 @@ index e5156dba9cf467e73c2376ffabafc437bc9e3536..560af707b9e1175e8e40c999be9b4f61
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
index e031a0a60253d896788cf14aaf65d4001d74d9a8..ea570aeb67a493f8c538b2926c517d49c71739cf 100644
index d3e9288928ac3a0132050b4aa3b6098b4dc293c0..a0f37d267c866499d251cf3b5e6a5a31406b8148 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
@@ -194,6 +194,11 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
@@ -204,7 +204,7 @@ index e031a0a60253d896788cf14aaf65d4001d74d9a8..ea570aeb67a493f8c538b2926c517d49
@Nullable
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java
index 97e2b3a4445d195021a67567c4b0c3346095e7e8..39b75ee52e48cf4b00a635152c534e4f64646fb7 100644
index 8734738ce69e2e776b80a4695fce3bcf33213959..4260d0c40d0eb0419dcb9dc1fc935590ce60fcd1 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
@@ -84,6 +84,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
@@ -220,7 +220,7 @@ index 97e2b3a4445d195021a67567c4b0c3346095e7e8..39b75ee52e48cf4b00a635152c534e4f
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
index e439ce2c0752ee772df888ccccf9d97e45a83b1c..af499a8b6d16669dc72f85a05f8e153b31ad8599 100644
index 69a0e50a4f136a3e799f8fc079bd931a83235bd0..1c25b3621631486aff569eec98aa360eacea4c27 100644
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
@@ -118,6 +118,11 @@ public class PolarBear extends Animal implements NeutralMob {
@@ -236,7 +236,7 @@ index e439ce2c0752ee772df888ccccf9d97e45a83b1c..af499a8b6d16669dc72f85a05f8e153b
@Nullable
diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
index 92da91319f59745f43529b9ddae032a8f60f693d..f564460d4d66fc8cdb163759e6fd8a81ac619661 100644
index 620cf2c9927648804155495a908df1d36d9832af..aca51a77f02670809a6da5e7c384d9bbfcee2506 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
@@ -140,6 +140,11 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
@@ -252,7 +252,7 @@ index 92da91319f59745f43529b9ddae032a8f60f693d..f564460d4d66fc8cdb163759e6fd8a81
// CraftBukkit start - code from constructor
diff --git a/src/main/java/net/minecraft/world/entity/animal/Sheep.java b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
index 0b9c36f130a0ccd62bbf2418896627553bc61225..70e8ee40ec545b9be7f55f64f251864b03bacaac 100644
index ce2bac7cc95dca0f3d8c97ba6d7cf922d328c579..0969acaee0708a6fbb52c1cbee05ebb58b1408dd 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Sheep.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
@@ -136,6 +136,11 @@ public class Sheep extends Animal implements Shearable {
@@ -268,7 +268,7 @@ index 0b9c36f130a0ccd62bbf2418896627553bc61225..70e8ee40ec545b9be7f55f64f251864b
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
index 31c98011ee4521acebf8d452f135e534ffafd64c..7ee3c81f95907886c4036fb5ab9c16aebea38a85 100644
index 67c8f06d1befaf810e3954dbda156ee29bfbc0d4..303a2c74574d9ef456866ff30b98b9d103562658 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
@@ -103,6 +103,11 @@ public class Turtle extends Animal {
@@ -284,7 +284,7 @@ index 31c98011ee4521acebf8d452f135e534ffafd64c..7ee3c81f95907886c4036fb5ab9c16ae
public void setHomePos(BlockPos pos) {
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 4713da69b3f45bfcf423726feff2800560494306..8e5b38aaba602ef8bd2ee615569fa25fd979531b 100644
index 05792466a89bdcffe1a4241761b7c23afcc6bc88..6ddcf37ce8dbc6a57cabd43b04be6baba496a904 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
@@ -127,6 +127,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
@@ -334,7 +334,7 @@ index 05c7680569346bb863b896bcc9515f3e7cfb8114..bda7a0e29e40386c57766c224ffb8938
public void addAdditionalSaveData(CompoundTag nbt) {
super.addAdditionalSaveData(nbt);
diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
index 00bac64a6417b9e34c2b441a13e80052ad66a2c1..61c604a05eedb1928bdac8c8544b0cad074f29ee 100644
index 12962698dd354dc5da325e8bb24e5fff40af9e51..4807eb6487c3a394ee4eb88d7f68b09eb76f4a54 100644
--- a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
+++ b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
@@ -139,6 +139,10 @@ public class Frog extends Animal implements VariantHolder<FrogVariant> {
@@ -349,7 +349,7 @@ index 00bac64a6417b9e34c2b441a13e80052ad66a2c1..61c604a05eedb1928bdac8c8544b0cad
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
index a9805129f0aaba5f0c2751d463019844eb3b347d..b627fee1cb19f476f45921f1fae7624b27ff7280 100644
index 1cfc1ade52b79c6c5577935fe5c37a0e7a1673f0..b2c025184b9d8d272fab720a5930c030312d6e03 100644
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
@@ -104,6 +104,11 @@ public class Goat extends Animal {
@@ -365,12 +365,12 @@ index a9805129f0aaba5f0c2751d463019844eb3b347d..b627fee1cb19f476f45921f1fae7624b
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
index 8f7cd5c3c786ff94fc9b890ec488a461b7edced0..efe381ff8d43295bcaf0d4fb7ff75f2bf46391eb 100644
index 6ed4ef1c628b77448629388bfc4a8575dd4afefd..0a5313546858a235c071f15d91edc4f161f6a351 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
@@ -20,6 +20,11 @@ public class Donkey extends AbstractChestedHorse {
public boolean dismountsUnderwater() {
return !level.purpurConfig.donkeyRidableInWater || super.dismountsUnderwater();
return level.purpurConfig.useDismountsUnderwaterTag ? super.dismountsUnderwater() : !level.purpurConfig.donkeyRidableInWater;
}
+
+ @Override
@@ -381,12 +381,12 @@ index 8f7cd5c3c786ff94fc9b890ec488a461b7edced0..efe381ff8d43295bcaf0d4fb7ff75f2b
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
index c653a3d459fd8c1c4728cd5a0e63c6b3707792d9..2dbcebf7c370d4f5a51b5a23e67306c6c1ab83ba 100644
index 9d8879fc2f7afafdd42cd8ee471c698b31159209..dc8ebffdd6e64dd11d1e254ea1860f287f40aa50 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
@@ -45,6 +45,11 @@ public class Horse extends AbstractHorse implements VariantHolder<Variant> {
public boolean dismountsUnderwater() {
return !level.purpurConfig.horseRidableInWater || super.dismountsUnderwater();
return level.purpurConfig.useDismountsUnderwaterTag ? super.dismountsUnderwater() : !level.purpurConfig.horseRidableInWater;
}
+
+ @Override
@@ -397,7 +397,7 @@ index c653a3d459fd8c1c4728cd5a0e63c6b3707792d9..2dbcebf7c370d4f5a51b5a23e67306c6
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
index 8adca393017dcc2e44a7379b971cd2a4704bc570..4165c7d54d00e356767dc56be86f5bff6aa8e8bb 100644
index 766285d0a62cf5314c99eba8c81ac29f171a2b0a..2f585de77bb8ad5431a48710d341dff0321b124d 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
@@ -121,6 +121,11 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
@@ -413,12 +413,12 @@ index 8adca393017dcc2e44a7379b971cd2a4704bc570..4165c7d54d00e356767dc56be86f5bff
public boolean isTraderLlama() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
index cb72039e1c69e76d5d1c99f5fb63819369c2a0d6..ddb31f39182f7e2dd3c3a0b521563a0983b548cd 100644
index 84d265aaa4a2c5942e3ca04deab644570bb8ee83..183c8a1355d373a7cda91532eba3d62a58639167 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
@@ -19,6 +19,11 @@ public class Mule extends AbstractChestedHorse {
public boolean dismountsUnderwater() {
return !level.purpurConfig.muleRidableInWater || super.dismountsUnderwater();
return level.purpurConfig.useDismountsUnderwaterTag ? super.dismountsUnderwater() : !level.purpurConfig.muleRidableInWater;
}
+
+ @Override
@@ -445,7 +445,7 @@ index 7c891be8b94a6438910a53c0473393d49b19f5d9..33250d34cc6e2733330f9c4a42f498b2
public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
index 636e86c4f0c9739d1440e524c86eddce15bb3e63..e723506f1fced33e945340392545e7970ddeb6cc 100644
index 6747dbd11a883249f18cd51320daa663d6203bb7..5a000d95d013d9c3251ad9eafd92700091db2857 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
@@ -47,6 +47,11 @@ public class TraderLlama extends Llama {
@@ -461,7 +461,7 @@ index 636e86c4f0c9739d1440e524c86eddce15bb3e63..e723506f1fced33e945340392545e797
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
index e9f1d53599168c4c4b44a14b445143025c4be83a..df438bc84c5b90f2fc66965f926dc2efeb6563c1 100644
index b6e2e7398413296449e8f132a2a6296da231f4d4..488bb0af3acb5bc077b0f4026fc0f3bd8ea081ac 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
@@ -31,6 +31,11 @@ public class ZombieHorse extends AbstractHorse {
@@ -477,7 +477,7 @@ index e9f1d53599168c4c4b44a14b445143025c4be83a..df438bc84c5b90f2fc66965f926dc2ef
public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
index bc74bae29b8426ced84e203edb0c41065062f422..12aab69aca179717ea2a2ac04e28a78eff98af20 100644
index 30ff9967aa19a9e77bdf7d32e494276b1b72ab72..f5d2f12c2a95c274823ec37ac1c14a54a48a9cdc 100644
--- a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
+++ b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
@@ -101,6 +101,11 @@ public class Sniffer extends Animal {
@@ -493,7 +493,7 @@ index bc74bae29b8426ced84e203edb0c41065062f422..12aab69aca179717ea2a2ac04e28a78e
// CraftBukkit start - SPIGOT-7295: moved from constructor to appropriate location
diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java
index b512ac4b75e53c272a3c41fb5b66c84b6b0e9847..fbc2e3f0b73608a999619469cd701692cb1cb788 100644
index 0a480333373c3f3a9504d0b4a3e00fba2e8b2e15..1be6dc3608b839b0ed7d2fcd968991ce5bbeb89b 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Strider.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java
@@ -120,6 +120,11 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
@@ -509,7 +509,7 @@ index b512ac4b75e53c272a3c41fb5b66c84b6b0e9847..fbc2e3f0b73608a999619469cd701692
public static boolean checkStriderSpawnRules(EntityType<Strider> type, LevelAccessor world, MobSpawnType spawnReason, BlockPos pos, RandomSource random) {
diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
index 9cc42b4a1ea0d2315350e038034dfe7171668658..8e837ce3069ca05bcc93ea93f94c79342ea9eb3c 100644
index 930d74e5fd20b69baeec60dfc54da37a1290fccc..2161df2ebee7dc00c924bfbc56377d68906b1f18 100644
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
@@ -87,6 +87,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
@@ -525,10 +525,10 @@ index 9cc42b4a1ea0d2315350e038034dfe7171668658..8e837ce3069ca05bcc93ea93f94c7934
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb73c4c37b5 100644
index 94e2fe3e094b2519d4a12ff653e5041b4f93b94c..901fc6601b9e0cb25e9641de9e14755b12c6297d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -510,10 +510,12 @@ public class PurpurWorldConfig {
@@ -512,10 +512,12 @@ public class PurpurWorldConfig {
public boolean axolotlRidable = false;
public boolean axolotlControllable = true;
public double axolotlMaxHealth = 14.0D;
@@ -541,7 +541,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
}
public boolean batRidable = false;
@@ -546,6 +548,7 @@ public class PurpurWorldConfig {
@@ -548,6 +550,7 @@ public class PurpurWorldConfig {
public boolean beeControllable = true;
public double beeMaxY = 320D;
public double beeMaxHealth = 10.0D;
@@ -549,7 +549,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
private void beeSettings() {
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
@@ -557,6 +560,7 @@ public class PurpurWorldConfig {
@@ -559,6 +562,7 @@ public class PurpurWorldConfig {
set("mobs.bee.attributes.max_health", oldValue);
}
beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth);
@@ -557,7 +557,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
}
public boolean blazeRidable = false;
@@ -577,6 +581,7 @@ public class PurpurWorldConfig {
@@ -579,6 +583,7 @@ public class PurpurWorldConfig {
blazeMaxHealth = getDouble("mobs.blaze.attributes.max_health", blazeMaxHealth);
}
@@ -565,7 +565,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
public double camelMaxHealthMin = 32.0D;
public double camelMaxHealthMax = 32.0D;
public double camelJumpStrengthMin = 0.42D;
@@ -590,6 +595,7 @@ public class PurpurWorldConfig {
@@ -592,6 +597,7 @@ public class PurpurWorldConfig {
camelJumpStrengthMax = getDouble("mobs.camel.attributes.jump_strength.max", camelJumpStrengthMax);
camelMovementSpeedMin = getDouble("mobs.camel.attributes.movement_speed.min", camelMovementSpeedMin);
camelMovementSpeedMax = getDouble("mobs.camel.attributes.movement_speed.max", camelMovementSpeedMax);
@@ -573,7 +573,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
}
public boolean catRidable = false;
@@ -599,6 +605,7 @@ public class PurpurWorldConfig {
@@ -601,6 +607,7 @@ public class PurpurWorldConfig {
public int catSpawnDelay = 1200;
public int catSpawnSwampHutScanRange = 16;
public int catSpawnVillageScanRange = 48;
@@ -581,7 +581,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -612,6 +619,7 @@ public class PurpurWorldConfig {
@@ -614,6 +621,7 @@ public class PurpurWorldConfig {
catSpawnDelay = getInt("mobs.cat.spawn-delay", catSpawnDelay);
catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);
@@ -589,7 +589,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
}
public boolean caveSpiderRidable = false;
@@ -635,6 +643,7 @@ public class PurpurWorldConfig {
@@ -637,6 +645,7 @@ public class PurpurWorldConfig {
public boolean chickenControllable = true;
public double chickenMaxHealth = 4.0D;
public boolean chickenRetaliate = false;
@@ -597,7 +597,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
private void chickenSettings() {
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
@@ -646,6 +655,7 @@ public class PurpurWorldConfig {
@@ -648,6 +657,7 @@ public class PurpurWorldConfig {
}
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);
chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
@@ -605,7 +605,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
}
public boolean codRidable = false;
@@ -667,6 +677,7 @@ public class PurpurWorldConfig {
@@ -669,6 +679,7 @@ public class PurpurWorldConfig {
public boolean cowControllable = true;
public double cowMaxHealth = 10.0D;
public int cowFeedMushrooms = 0;
@@ -613,7 +613,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
private void cowSettings() {
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
@@ -678,6 +689,7 @@ public class PurpurWorldConfig {
@@ -680,6 +691,7 @@ public class PurpurWorldConfig {
}
cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth);
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
@@ -621,7 +621,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
}
public boolean creeperRidable = false;
@@ -729,6 +741,7 @@ public class PurpurWorldConfig {
@@ -731,6 +743,7 @@ public class PurpurWorldConfig {
public double donkeyJumpStrengthMax = 0.5D;
public double donkeyMovementSpeedMin = 0.175D;
public double donkeyMovementSpeedMax = 0.175D;
@@ -629,7 +629,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
private void donkeySettings() {
donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater);
if (PurpurConfig.version < 10) {
@@ -744,6 +757,7 @@ public class PurpurWorldConfig {
@@ -746,6 +759,7 @@ public class PurpurWorldConfig {
donkeyJumpStrengthMax = getDouble("mobs.donkey.attributes.jump_strength.max", donkeyJumpStrengthMax);
donkeyMovementSpeedMin = getDouble("mobs.donkey.attributes.movement_speed.min", donkeyMovementSpeedMin);
donkeyMovementSpeedMax = getDouble("mobs.donkey.attributes.movement_speed.max", donkeyMovementSpeedMax);
@@ -637,7 +637,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
}
public boolean drownedRidable = false;
@@ -863,6 +877,7 @@ public class PurpurWorldConfig {
@@ -865,6 +879,7 @@ public class PurpurWorldConfig {
public boolean foxControllable = true;
public double foxMaxHealth = 10.0D;
public boolean foxTypeChangesWithTulips = false;
@@ -645,7 +645,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -874,17 +889,20 @@ public class PurpurWorldConfig {
@@ -876,17 +891,20 @@ public class PurpurWorldConfig {
}
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
@@ -653,7 +653,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
}
public boolean frogRidable = false;
public boolean frogRidableInWater = false;
public boolean frogRidableInWater = true;
public boolean frogControllable = true;
public float frogRidableJumpHeight = 0.65F;
+ public int frogBreedingTicks = 6000;
@@ -666,8 +666,8 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
}
public boolean ghastRidable = false;
@@ -952,11 +970,13 @@ public class PurpurWorldConfig {
public boolean goatRidableInWater = false;
@@ -954,11 +972,13 @@ public class PurpurWorldConfig {
public boolean goatRidableInWater = true;
public boolean goatControllable = true;
public double goatMaxHealth = 10.0D;
+ public int goatBreedingTicks = 6000;
@@ -680,15 +680,15 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
}
public boolean guardianRidable = false;
@@ -977,6 +997,7 @@ public class PurpurWorldConfig {
public boolean hoglinRidableInWater = false;
@@ -979,6 +999,7 @@ public class PurpurWorldConfig {
public boolean hoglinRidableInWater = true;
public boolean hoglinControllable = true;
public double hoglinMaxHealth = 40.0D;
+ public int hoglinBreedingTicks = 6000;
private void hoglinSettings() {
hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable);
hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater);
@@ -987,6 +1008,7 @@ public class PurpurWorldConfig {
@@ -989,6 +1010,7 @@ public class PurpurWorldConfig {
set("mobs.hoglin.attributes.max_health", oldValue);
}
hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth);
@@ -696,7 +696,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
}
public boolean horseRidableInWater = false;
@@ -996,6 +1018,7 @@ public class PurpurWorldConfig {
@@ -998,6 +1020,7 @@ public class PurpurWorldConfig {
public double horseJumpStrengthMax = 1.0D;
public double horseMovementSpeedMin = 0.1125D;
public double horseMovementSpeedMax = 0.3375D;
@@ -704,7 +704,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
private void horseSettings() {
horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater);
if (PurpurConfig.version < 10) {
@@ -1011,6 +1034,7 @@ public class PurpurWorldConfig {
@@ -1013,6 +1036,7 @@ public class PurpurWorldConfig {
horseJumpStrengthMax = getDouble("mobs.horse.attributes.jump_strength.max", horseJumpStrengthMax);
horseMovementSpeedMin = getDouble("mobs.horse.attributes.movement_speed.min", horseMovementSpeedMin);
horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax);
@@ -712,7 +712,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
}
public boolean huskRidable = false;
@@ -1088,6 +1112,7 @@ public class PurpurWorldConfig {
@@ -1090,6 +1114,7 @@ public class PurpurWorldConfig {
public double llamaJumpStrengthMax = 0.5D;
public double llamaMovementSpeedMin = 0.175D;
public double llamaMovementSpeedMax = 0.175D;
@@ -720,7 +720,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
private void llamaSettings() {
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
@@ -1105,6 +1130,7 @@ public class PurpurWorldConfig {
@@ -1107,6 +1132,7 @@ public class PurpurWorldConfig {
llamaJumpStrengthMax = getDouble("mobs.llama.attributes.jump_strength.max", llamaJumpStrengthMax);
llamaMovementSpeedMin = getDouble("mobs.llama.attributes.movement_speed.min", llamaMovementSpeedMin);
llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax);
@@ -728,15 +728,15 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
}
public boolean magmaCubeRidable = false;
@@ -1133,6 +1159,7 @@ public class PurpurWorldConfig {
public boolean mooshroomRidableInWater = false;
@@ -1135,6 +1161,7 @@ public class PurpurWorldConfig {
public boolean mooshroomRidableInWater = true;
public boolean mooshroomControllable = true;
public double mooshroomMaxHealth = 10.0D;
+ public int mooshroomBreedingTicks = 6000;
private void mooshroomSettings() {
mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable);
mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater);
@@ -1143,6 +1170,7 @@ public class PurpurWorldConfig {
@@ -1145,6 +1172,7 @@ public class PurpurWorldConfig {
set("mobs.mooshroom.attributes.max_health", oldValue);
}
mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth);
@@ -744,7 +744,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
}
public boolean muleRidableInWater = false;
@@ -1152,6 +1180,7 @@ public class PurpurWorldConfig {
@@ -1154,6 +1182,7 @@ public class PurpurWorldConfig {
public double muleJumpStrengthMax = 0.5D;
public double muleMovementSpeedMin = 0.175D;
public double muleMovementSpeedMax = 0.175D;
@@ -752,7 +752,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
private void muleSettings() {
muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater);
if (PurpurConfig.version < 10) {
@@ -1167,12 +1196,14 @@ public class PurpurWorldConfig {
@@ -1169,12 +1198,14 @@ public class PurpurWorldConfig {
muleJumpStrengthMax = getDouble("mobs.mule.attributes.jump_strength.max", muleJumpStrengthMax);
muleMovementSpeedMin = getDouble("mobs.mule.attributes.movement_speed.min", muleMovementSpeedMin);
muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax);
@@ -760,14 +760,14 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
}
public boolean ocelotRidable = false;
public boolean ocelotRidableInWater = false;
public boolean ocelotRidableInWater = true;
public boolean ocelotControllable = true;
public double ocelotMaxHealth = 10.0D;
+ public int ocelotBreedingTicks = 6000;
private void ocelotSettings() {
ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable);
ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater);
@@ -1183,12 +1214,14 @@ public class PurpurWorldConfig {
@@ -1185,12 +1216,14 @@ public class PurpurWorldConfig {
set("mobs.ocelot.attributes.max_health", oldValue);
}
ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth);
@@ -775,14 +775,14 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
}
public boolean pandaRidable = false;
public boolean pandaRidableInWater = false;
public boolean pandaRidableInWater = true;
public boolean pandaControllable = true;
public double pandaMaxHealth = 20.0D;
+ public int pandaBreedingTicks = 6000;
private void pandaSettings() {
pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable);
pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater);
@@ -1199,6 +1232,7 @@ public class PurpurWorldConfig {
@@ -1201,6 +1234,7 @@ public class PurpurWorldConfig {
set("mobs.panda.attributes.max_health", oldValue);
}
pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth);
@@ -790,7 +790,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
}
public boolean parrotRidable = false;
@@ -1282,6 +1316,7 @@ public class PurpurWorldConfig {
@@ -1284,6 +1318,7 @@ public class PurpurWorldConfig {
public boolean pigControllable = true;
public double pigMaxHealth = 10.0D;
public boolean pigGiveSaddleBack = false;
@@ -798,7 +798,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
private void pigSettings() {
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
@@ -1293,6 +1328,7 @@ public class PurpurWorldConfig {
@@ -1295,6 +1330,7 @@ public class PurpurWorldConfig {
}
pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth);
pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack);
@@ -806,7 +806,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
}
public boolean piglinRidable = false;
@@ -1349,6 +1385,7 @@ public class PurpurWorldConfig {
@@ -1351,6 +1387,7 @@ public class PurpurWorldConfig {
public double polarBearMaxHealth = 30.0D;
public String polarBearBreedableItemString = "";
public Item polarBearBreedableItem = null;
@@ -814,7 +814,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
@@ -1362,6 +1399,7 @@ public class PurpurWorldConfig {
@@ -1364,6 +1401,7 @@ public class PurpurWorldConfig {
polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString);
Item item = BuiltInRegistries.ITEM.get(new ResourceLocation(polarBearBreedableItemString));
if (item != Items.AIR) polarBearBreedableItem = item;
@@ -822,7 +822,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
}
public boolean pufferfishRidable = false;
@@ -1384,6 +1422,7 @@ public class PurpurWorldConfig {
@@ -1386,6 +1424,7 @@ public class PurpurWorldConfig {
public double rabbitMaxHealth = 3.0D;
public double rabbitNaturalToast = 0.0D;
public double rabbitNaturalKiller = 0.0D;
@@ -830,7 +830,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -1396,6 +1435,7 @@ public class PurpurWorldConfig {
@@ -1398,6 +1437,7 @@ public class PurpurWorldConfig {
rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth);
rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast);
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
@@ -838,15 +838,15 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
}
public boolean ravagerRidable = false;
@@ -1432,6 +1472,7 @@ public class PurpurWorldConfig {
public boolean sheepRidableInWater = false;
@@ -1434,6 +1474,7 @@ public class PurpurWorldConfig {
public boolean sheepRidableInWater = true;
public boolean sheepControllable = true;
public double sheepMaxHealth = 8.0D;
+ public int sheepBreedingTicks = 6000;
private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -1442,6 +1483,7 @@ public class PurpurWorldConfig {
@@ -1444,6 +1485,7 @@ public class PurpurWorldConfig {
set("mobs.sheep.attributes.max_health", oldValue);
}
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
@@ -854,8 +854,8 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
}
public boolean shulkerRidable = false;
@@ -1565,11 +1607,13 @@ public class PurpurWorldConfig {
public boolean snifferRidableInWater = false;
@@ -1567,11 +1609,13 @@ public class PurpurWorldConfig {
public boolean snifferRidableInWater = true;
public boolean snifferControllable = true;
public double snifferMaxHealth = 14.0D;
+ public int snifferBreedingTicks = 6000;
@@ -868,7 +868,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
}
public boolean squidRidable = false;
@@ -1628,6 +1672,7 @@ public class PurpurWorldConfig {
@@ -1630,6 +1674,7 @@ public class PurpurWorldConfig {
public boolean striderRidableInWater = false;
public boolean striderControllable = true;
public double striderMaxHealth = 20.0D;
@@ -876,7 +876,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1638,6 +1683,7 @@ public class PurpurWorldConfig {
@@ -1640,6 +1685,7 @@ public class PurpurWorldConfig {
set("mobs.strider.attributes.max_health", oldValue);
}
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
@@ -884,7 +884,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
}
public boolean tadpoleRidable = false;
@@ -1658,6 +1704,7 @@ public class PurpurWorldConfig {
@@ -1660,6 +1706,7 @@ public class PurpurWorldConfig {
public double traderLlamaJumpStrengthMax = 0.5D;
public double traderLlamaMovementSpeedMin = 0.175D;
public double traderLlamaMovementSpeedMax = 0.175D;
@@ -892,7 +892,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
private void traderLlamaSettings() {
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
@@ -1675,6 +1722,7 @@ public class PurpurWorldConfig {
@@ -1677,6 +1724,7 @@ public class PurpurWorldConfig {
traderLlamaJumpStrengthMax = getDouble("mobs.trader_llama.attributes.jump_strength.max", traderLlamaJumpStrengthMax);
traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin);
traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax);
@@ -900,15 +900,15 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
}
public boolean tropicalFishRidable = false;
@@ -1695,6 +1743,7 @@ public class PurpurWorldConfig {
public boolean turtleRidableInWater = false;
@@ -1697,6 +1745,7 @@ public class PurpurWorldConfig {
public boolean turtleRidableInWater = true;
public boolean turtleControllable = true;
public double turtleMaxHealth = 30.0D;
+ public int turtleBreedingTicks = 6000;
private void turtleSettings() {
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
@@ -1705,6 +1754,7 @@ public class PurpurWorldConfig {
@@ -1707,6 +1756,7 @@ public class PurpurWorldConfig {
set("mobs.turtle.attributes.max_health", oldValue);
}
turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth);
@@ -916,7 +916,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
}
public boolean vexRidable = false;
@@ -1732,6 +1782,7 @@ public class PurpurWorldConfig {
@@ -1734,6 +1784,7 @@ public class PurpurWorldConfig {
public boolean villagerFollowEmeraldBlock = false;
public boolean villagerCanBeLeashed = false;
public boolean villagerCanBreed = true;
@@ -924,7 +924,7 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1745,6 +1796,7 @@ public class PurpurWorldConfig {
@@ -1747,6 +1798,7 @@ public class PurpurWorldConfig {
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
@@ -932,15 +932,15 @@ index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb7
}
public boolean vindicatorRidable = false;
@@ -1856,6 +1908,7 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = false;
@@ -1858,6 +1910,7 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = true;
public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D;
+ public int wolfBreedingTicks = 6000;
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -1866,6 +1919,7 @@ public class PurpurWorldConfig {
@@ -1868,6 +1921,7 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -8,7 +8,7 @@ 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 9f78f0e28aff1c9b77520140d3c24b0c8d9b196d..7dd726eea053c8c5fc5e40972128f0f3f91039be 100644
index cb746b678639e09559d6913c989a6ef27a739ff7..565ac4434fdf61bfde7636af9a10ba9a072b8160 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -484,7 +484,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -21,10 +21,10 @@ index 9f78f0e28aff1c9b77520140d3c24b0c8d9b196d..7dd726eea053c8c5fc5e40972128f0f3
private static class EndermanFreezeWhenLookedAt extends Goal {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a4222bab7b624077c76e918f730f1a953eb629a1..1f45018079de15231473041166ee6f9fcd940f9a 100644
index a0f05155f761941de87710d5c7846b878eb86ec7..8410a3c5f13b94b096d1d544690abe684595df9b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -833,6 +833,7 @@ public class PurpurWorldConfig {
@@ -835,6 +835,7 @@ public class PurpurWorldConfig {
public boolean endermanControllable = true;
public double endermanMaxHealth = 40.0D;
public boolean endermanAllowGriefing = true;
@@ -32,7 +32,7 @@ index a4222bab7b624077c76e918f730f1a953eb629a1..1f45018079de15231473041166ee6f9f
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -844,6 +845,7 @@ public class PurpurWorldConfig {
@@ -846,6 +847,7 @@ public class PurpurWorldConfig {
}
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);

View File

@@ -10,7 +10,7 @@ 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 b6431dbb41163f9ef0d43e96fcf89750c5a6eef7..5ae7f8dcb39cdf9bfc760f47a6745b819b6596b2 100644
index 6c6e020522261ca5bbc47a59c25d3e98bf0b4007..30abf3ee1b9d3aef9291076a1f0bf865c54beadd 100644
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
@@ -79,7 +79,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
@@ -23,10 +23,10 @@ index b6431dbb41163f9ef0d43e96fcf89750c5a6eef7..5ae7f8dcb39cdf9bfc760f47a6745b81
this.goalSelector.addGoal(3, new LookAtPlayerGoal(this, Player.class, 6.0F));
this.goalSelector.addGoal(4, new RandomLookAroundGoal(this));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0b22b19a53758affe761fe81a10bdc252261c8a9..092e7417d5a3edb13ca673fc0d44f86327fd443f 100644
index a79b5fcfdee45cca589a13c470b9fc83a750980c..96385e4294a990c75d059416f66a6243db103d52 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1605,6 +1605,10 @@ public class PurpurWorldConfig {
@@ -1607,6 +1607,10 @@ public class PurpurWorldConfig {
public double snowGolemMaxHealth = 4.0D;
public boolean snowGolemDropsPumpkin = true;
public boolean snowGolemPutPumpkinBack = false;
@@ -37,7 +37,7 @@ index 0b22b19a53758affe761fe81a10bdc252261c8a9..092e7417d5a3edb13ca673fc0d44f863
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1618,6 +1622,10 @@ public class PurpurWorldConfig {
@@ -1620,6 +1624,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);

View File

@@ -143,7 +143,7 @@ index cb1d91f9fe98f21c2afbe3894dfd9bca3bdd3ba6..d2703432af207c74ea8d298a784329c3
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 ab3497bd22beffaf7a66bdd502b9e1bfc6478881..c5651a1c4ece3bf911401533e41be7c92455d5dc 100644
index a6d6faf9fed28a97de763e2bd0af38fa9656517e..4f7b37030454aa2fba5d04c4a629576a78cb5592 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -220,7 +220,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -181,10 +181,10 @@ index ac70c2c03241e73943bd517a8c69dd05e0873634..0318663a824d2a9515f867a075d148c3
public static final VillagerProfession FISHERMAN = register("fisherman", PoiTypes.FISHERMAN, SoundEvents.VILLAGER_WORK_FISHERMAN);
public static final VillagerProfession FLETCHER = register("fletcher", PoiTypes.FLETCHER, SoundEvents.VILLAGER_WORK_FLETCHER);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8f1fff3af6bc648823e27d795d254e33b6dd977f..5fa70176984d1bb7c84572bf40b6f338261c7745 100644
index 96385e4294a990c75d059416f66a6243db103d52..bb40cbe7be6fa07f8e4e44eed3f3b485b7eea5f1 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1808,6 +1808,8 @@ public class PurpurWorldConfig {
@@ -1810,6 +1810,8 @@ public class PurpurWorldConfig {
public boolean villagerCanBeLeashed = false;
public boolean villagerCanBreed = true;
public int villagerBreedingTicks = 6000;
@@ -193,7 +193,7 @@ index 8f1fff3af6bc648823e27d795d254e33b6dd977f..5fa70176984d1bb7c84572bf40b6f338
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1822,6 +1824,8 @@ public class PurpurWorldConfig {
@@ -1824,6 +1826,8 @@ public class PurpurWorldConfig {
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);

View File

@@ -13,7 +13,7 @@ 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 b5b4cb3fefd769f5d8ec5b60b4b41ffb023d19c5..65d035647f7caf23647ec00beb20a4a27d1a9a55 100644
index f2c690c92dd2bf55f986f629ed79b76fbdfa32a4..6e8f0c9df06e2930084a6d58213f6edfb36ec444 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
@@ -152,7 +152,7 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
@@ -35,10 +35,10 @@ index b5b4cb3fefd769f5d8ec5b60b4b41ffb023d19c5..65d035647f7caf23647ec00beb20a4a2
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5fa70176984d1bb7c84572bf40b6f338261c7745..267b35d0f2ae6bca527787c276bf50600f28a589 100644
index bb40cbe7be6fa07f8e4e44eed3f3b485b7eea5f1..8e6a803eaba8a3fb2ed2c37266cb5ea12a212a7f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2052,6 +2052,7 @@ public class PurpurWorldConfig {
@@ -2054,6 +2054,7 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinJockeyOnlyBaby = true;
public double zombifiedPiglinJockeyChance = 0.05D;
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
@@ -46,7 +46,7 @@ index 5fa70176984d1bb7c84572bf40b6f338261c7745..267b35d0f2ae6bca527787c276bf5060
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -2066,5 +2067,6 @@ public class PurpurWorldConfig {
@@ -2068,5 +2069,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);

View File

@@ -7,7 +7,7 @@ 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 8e5b38aaba602ef8bd2ee615569fa25fd979531b..a38cea2dead98ffb1a555df7a494d2e12ab504f5 100644
index 6ddcf37ce8dbc6a57cabd43b04be6baba496a904..079d41636f1420a8755442843f1843e397cdbbf9 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
@@ -10,6 +10,7 @@ import net.minecraft.network.syncher.EntityDataAccessor;
@@ -222,11 +222,11 @@ index e43fd3e59fd8c74828ae65965fade27f56beef65..b2f133c8baabba1cffa6e92ea0f85453
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 267b35d0f2ae6bca527787c276bf50600f28a589..db8cae3ff986b41984341d7407741edcdfecb558 100644
index 8e6a803eaba8a3fb2ed2c37266cb5ea12a212a7f..8ce6573ab423c955d38ad0ab764d307e5144e8c7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1937,6 +1937,8 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = false;
@@ -1939,6 +1939,8 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = true;
public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D;
+ public boolean wolfMilkCuresRabies = true;
@@ -234,7 +234,7 @@ index 267b35d0f2ae6bca527787c276bf50600f28a589..db8cae3ff986b41984341d7407741edc
public int wolfBreedingTicks = 6000;
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
@@ -1948,6 +1950,8 @@ public class PurpurWorldConfig {
@@ -1950,6 +1952,8 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -7,7 +7,7 @@ This allows for the server to set a default collar color when a wolf or cat is t
Resets to RED when the value is invalid.
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 7b3faddc9731ef34708f4caed51c48868159d4c6..dc79deffd450d676a0950c726c505501b0204817 100644
index bc9c39e90f0a41f9bec6f93db921d2157183698c..8e6abeab0a7d7007d0deef3b1dea77aee66681fa 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
@@ -345,6 +345,14 @@ public class Cat extends TamableAnimal implements VariantHolder<CatVariant> {
@@ -26,7 +26,7 @@ index 7b3faddc9731ef34708f4caed51c48868159d4c6..dc79deffd450d676a0950c726c505501
@Override
public Cat getBreedOffspring(ServerLevel world, AgeableMob entity) {
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 a38cea2dead98ffb1a555df7a494d2e12ab504f5..06f2225743e27c7f1f0eb15ee6beedc57c8a3b4f 100644
index 079d41636f1420a8755442843f1843e397cdbbf9..214d5d27f8c4f352839c1a45a083c329f41164bd 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
@@ -201,6 +201,12 @@ public class Wolf extends TamableAnimal implements NeutralMob {
@@ -43,10 +43,10 @@ index a38cea2dead98ffb1a555df7a494d2e12ab504f5..06f2225743e27c7f1f0eb15ee6beedc5
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index db8cae3ff986b41984341d7407741edcdfecb558..e364d1b0ea6be04ec2ff624c36e13f14e7e1ac45 100644
index 8ce6573ab423c955d38ad0ab764d307e5144e8c7..ec1662fcc6a22f670644a82d16ea5200a2f07205 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -621,6 +621,7 @@ public class PurpurWorldConfig {
@@ -623,6 +623,7 @@ public class PurpurWorldConfig {
public int catSpawnSwampHutScanRange = 16;
public int catSpawnVillageScanRange = 48;
public int catBreedingTicks = 6000;
@@ -54,7 +54,7 @@ index db8cae3ff986b41984341d7407741edcdfecb558..e364d1b0ea6be04ec2ff624c36e13f14
private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -635,6 +636,11 @@ public class PurpurWorldConfig {
@@ -637,6 +638,11 @@ public class PurpurWorldConfig {
catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);
catBreedingTicks = getInt("mobs.cat.breeding-delay-ticks", catBreedingTicks);
@@ -66,15 +66,15 @@ index db8cae3ff986b41984341d7407741edcdfecb558..e364d1b0ea6be04ec2ff624c36e13f14
}
public boolean caveSpiderRidable = false;
@@ -1937,6 +1943,7 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = false;
@@ -1939,6 +1945,7 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = true;
public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D;
+ public DyeColor wolfDefaultCollarColor = DyeColor.RED;
public boolean wolfMilkCuresRabies = true;
public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000;
@@ -1950,6 +1957,11 @@ public class PurpurWorldConfig {
@@ -1952,6 +1959,11 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Phantom flames on swoop
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
index 2d211ce0221c1fd7f1aeb8381d0746860739fe5a..e9906ea55845b579e4941a34ac9705432895d2dc 100644
index b601c542e28bc0a588e56aa37c243fe92145547e..ed5c75d390babced3dc062428176e968da878d8f 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -244,6 +244,7 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -17,10 +17,10 @@ index 2d211ce0221c1fd7f1aeb8381d0746860739fe5a..e9906ea55845b579e4941a34ac970543
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 056d74886fc50508de302c75f32e5d541f142a3f..cf7d2109cc659004cd826e350a41bbf5c7a67682 100644
index ec1662fcc6a22f670644a82d16ea5200a2f07205..39a31ab49d6b8eeac6df8fb86faee4bde1f519f7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1299,6 +1299,7 @@ public class PurpurWorldConfig {
@@ -1301,6 +1301,7 @@ public class PurpurWorldConfig {
public int phantomBurnInLight = 0;
public boolean phantomIgnorePlayersWithTorch = false;
public boolean phantomBurnInDaylight = true;
@@ -28,7 +28,7 @@ index 056d74886fc50508de302c75f32e5d541f142a3f..cf7d2109cc659004cd826e350a41bbf5
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1332,6 +1333,7 @@ public class PurpurWorldConfig {
@@ -1334,6 +1335,7 @@ public class PurpurWorldConfig {
phantomBurnInLight = getInt("mobs.phantom.burn-in-light", phantomBurnInLight);
phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight);
phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Striders give saddle back
diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java
index fbc2e3f0b73608a999619469cd701692cb1cb788..7d10e81669177d0df5c6eba79a2aac46122daea6 100644
index 1be6dc3608b839b0ed7d2fcd968991ce5bbeb89b..270135cb5a5f50b39683f74da84045ea75045030 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Strider.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java
@@ -486,6 +486,19 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
@@ -29,10 +29,10 @@ index fbc2e3f0b73608a999619469cd701692cb1cb788..7d10e81669177d0df5c6eba79a2aac46
if (!this.level.isClientSide) {
player.startRiding(this);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9160e593d71ec5a6eea9646a50dfd465f3cf0ed8..cee38f830945231e567a9400d227f06b6aa80790 100644
index 6d5571112fb8e13291121cd0942230996be58224..4f2416691bea7b53166d7d8448f57019147e1629 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1711,6 +1711,7 @@ public class PurpurWorldConfig {
@@ -1713,6 +1713,7 @@ public class PurpurWorldConfig {
public boolean striderControllable = true;
public double striderMaxHealth = 20.0D;
public int striderBreedingTicks = 6000;
@@ -40,7 +40,7 @@ index 9160e593d71ec5a6eea9646a50dfd465f3cf0ed8..cee38f830945231e567a9400d227f06b
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1722,6 +1723,7 @@ public class PurpurWorldConfig {
@@ -1724,6 +1725,7 @@ public class PurpurWorldConfig {
}
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);

View File

@@ -92,7 +92,7 @@ index d3e91faee8805e88d850740fb5de9e5c8288c48b..fe526ebf395ff9813b94284fc3f01423
} else if (this.nextStartTick > 0) {
--this.nextStartTick;
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index bbd14bd8f2da3457fe9520be50b43e05e57998f3..d63b31653504ee69532c3304782a5d55248c2581 100644
index 920b70b5c534ee83f5acb26890f3cfdf220fd887..6642f93ae5a8843a8e560594008c8643ef693878 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -1377,7 +1377,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
@@ -105,7 +105,7 @@ index bbd14bd8f2da3457fe9520be50b43e05e57998f3..d63b31653504ee69532c3304782a5d55
if (iblockdata.is(Blocks.SWEET_BERRY_BUSH)) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
index f564460d4d66fc8cdb163759e6fd8a81ac619661..146847aeda3f886f8a3fad14cf23b0846f3f7418 100644
index aca51a77f02670809a6da5e7c384d9bbfcee2506..8aa108cdcbe3772e7dd140e0e9af77a1db163739 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
@@ -630,7 +630,7 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
@@ -118,7 +118,7 @@ index f564460d4d66fc8cdb163759e6fd8a81ac619661..146847aeda3f886f8a3fad14cf23b084
}
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 5ae7f8dcb39cdf9bfc760f47a6745b819b6596b2..7da3aa9b77dfecd06ca6d604ee285cad800f2f9b 100644
index 30abf3ee1b9d3aef9291076a1f0bf865c54beadd..806abdd159ff5c696f16d799902f02bcc3cd252f 100644
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
@@ -127,7 +127,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
@@ -131,7 +131,7 @@ index 5ae7f8dcb39cdf9bfc760f47a6745b819b6596b2..7da3aa9b77dfecd06ca6d604ee285cad
}
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index 1612705ba8cf58286a00b4d542541d17b901d286..20a59f077b2694e7b46efe9c006589d8d1e13324 100644
index 178c01444b7894833265c21a50ff6805d1aa356a..a07d1b6a45ef14cc4f121efe11869fc2da44a969 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -579,7 +579,7 @@ public class EnderDragon extends Mob implements Enemy {
@@ -144,7 +144,7 @@ index 1612705ba8cf58286a00b4d542541d17b901d286..20a59f077b2694e7b46efe9c006589d8
// flag1 = this.level.removeBlock(blockposition, false) || flag1;
flag1 = true;
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index 631349e333fcc8285b7f23dec86275d0f0bee0ca..f3d16ebbc36c2b97d14d2401f829fc7cd4664634 100644
index b22d0af2267581467af9a4d0e8104146b3da9b71..334ffb3553e1b87b538ac42155942049587639a0 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -496,7 +496,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -157,7 +157,7 @@ index 631349e333fcc8285b7f23dec86275d0f0bee0ca..f3d16ebbc36c2b97d14d2401f829fc7c
j = Mth.floor(this.getX());
int i1 = Mth.floor(this.getZ());
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 411b82fd1da4643c4405961e4af3e1aa20e7eb55..ce746c26a5cb7da7defac46ef333abb96beab8a9 100644
index 565ac4434fdf61bfde7636af9a10ba9a072b8160..e0680147eacde7f06fe7d836fa45cdd8e70fbf88 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -532,7 +532,15 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -195,7 +195,7 @@ index 411b82fd1da4643c4405961e4af3e1aa20e7eb55..ce746c26a5cb7da7defac46ef333abb9
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Evoker.java b/src/main/java/net/minecraft/world/entity/monster/Evoker.java
index d0342c28f028a26536ef8e42302ea310a6064a18..fe6065c7321c0d3e6eb047d6f9a6d382b8ab5be9 100644
index bbcbccaeb479cc61adab96da2670ca31a1fda740..b05bf61183379e1d6aadee4de0796eb43175c47c 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Evoker.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Evoker.java
@@ -341,7 +341,7 @@ public class Evoker extends SpellcasterIllager {
@@ -208,7 +208,7 @@ index d0342c28f028a26536ef8e42302ea310a6064a18..fe6065c7321c0d3e6eb047d6f9a6d382
} else {
List<Sheep> list = Evoker.this.level.getNearbyEntities(Sheep.class, this.wololoTargeting, Evoker.this, Evoker.this.getBoundingBox().inflate(16.0D, 4.0D, 16.0D));
diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
index 2a176517488bbe0804deaf3948dcfe7eee9e9089..af2eddeb3d4c4dcb1f6862b5aefd26c0964fef63 100644
index 2d592307f42ede8a490c072da9ec796b2e356f0a..9c8ebbec20438401265d8049b33132f490e3c1ea 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
@@ -190,7 +190,7 @@ public class Ravager extends Raider {
@@ -221,7 +221,7 @@ index 2a176517488bbe0804deaf3948dcfe7eee9e9089..af2eddeb3d4c4dcb1f6862b5aefd26c0
AABB axisalignedbb = this.getBoundingBox().inflate(0.2D);
Iterator iterator = BlockPos.betweenClosed(Mth.floor(axisalignedbb.minX), Mth.floor(axisalignedbb.minY), Mth.floor(axisalignedbb.minZ), Mth.floor(axisalignedbb.maxX), Mth.floor(axisalignedbb.maxY), Mth.floor(axisalignedbb.maxZ)).iterator();
diff --git a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
index 8efc8d6e05da041efb61776ac0b5363f31f8bb4f..297733b3fdd354f0e837922c8c97f56a4bbf1830 100644
index 77204ec0e18807dd46cadb515b07a919b1bee16b..a676bb029fc4575028ce6833e608e3169d2fc358 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
@@ -208,7 +208,7 @@ public class Silverfish extends Monster {
@@ -243,7 +243,7 @@ index 8efc8d6e05da041efb61776ac0b5363f31f8bb4f..297733b3fdd354f0e837922c8c97f56a
BlockPos blockposition = BlockPos.containing(this.mob.getX(), this.mob.getY() + 0.5D, this.mob.getZ()).relative(this.selectedDirection);
BlockState iblockdata = this.mob.level.getBlockState(blockposition);
diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
index 5bc02e73ffde3d0d164532b6b8ce42213dc6eadc..8d7a65f452018ca0d7f58661aea251ebf96906d6 100644
index 9b7e38e7a73206663a06dd180b7ef746d2237f16..4f2332b3255912bede00d27f3d2348cf1314be9c 100644
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
@@ -431,7 +431,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
@@ -374,7 +374,7 @@ index 1942649e868fc985a488034c411a6721595ecc67..7495e0e8beedad59fff24ebf189b58b3
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 71d4ba7f97b9898dca7efb55a81833b43a9624ee..8c21f611c515a18fae777d86e96f9010a921b75a 100644
index 2224f6ef1b011c52597a769a3c0d7ae2dfb11b35..e83b296e24d561080b679193ebe7e32d9ad08688 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -117,8 +117,11 @@ public class PurpurWorldConfig {
@@ -438,7 +438,7 @@ index 71d4ba7f97b9898dca7efb55a81833b43a9624ee..8c21f611c515a18fae777d86e96f9010
}
public int waterInfiniteRequiredSources = 2;
@@ -737,6 +752,7 @@ public class PurpurWorldConfig {
@@ -739,6 +754,7 @@ public class PurpurWorldConfig {
public double creeperMaxHealth = 20.0D;
public double creeperChargedChance = 0.0D;
public boolean creeperAllowGriefing = true;
@@ -446,7 +446,7 @@ index 71d4ba7f97b9898dca7efb55a81833b43a9624ee..8c21f611c515a18fae777d86e96f9010
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -749,6 +765,7 @@ public class PurpurWorldConfig {
@@ -751,6 +767,7 @@ public class PurpurWorldConfig {
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing);
@@ -454,7 +454,7 @@ index 71d4ba7f97b9898dca7efb55a81833b43a9624ee..8c21f611c515a18fae777d86e96f9010
}
public boolean dolphinRidable = false;
@@ -843,6 +860,7 @@ public class PurpurWorldConfig {
@@ -845,6 +862,7 @@ public class PurpurWorldConfig {
public double enderDragonMaxY = 320D;
public double enderDragonMaxHealth = 200.0D;
public boolean enderDragonAlwaysDropsFullExp = false;
@@ -462,7 +462,7 @@ index 71d4ba7f97b9898dca7efb55a81833b43a9624ee..8c21f611c515a18fae777d86e96f9010
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -859,6 +877,7 @@ public class PurpurWorldConfig {
@@ -861,6 +879,7 @@ public class PurpurWorldConfig {
}
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
@@ -470,7 +470,7 @@ index 71d4ba7f97b9898dca7efb55a81833b43a9624ee..8c21f611c515a18fae777d86e96f9010
}
public boolean endermanRidable = false;
@@ -867,6 +886,7 @@ public class PurpurWorldConfig {
@@ -869,6 +888,7 @@ public class PurpurWorldConfig {
public double endermanMaxHealth = 40.0D;
public boolean endermanAllowGriefing = true;
public boolean endermanDespawnEvenWithBlock = false;
@@ -478,7 +478,7 @@ index 71d4ba7f97b9898dca7efb55a81833b43a9624ee..8c21f611c515a18fae777d86e96f9010
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -879,6 +899,7 @@ public class PurpurWorldConfig {
@@ -881,6 +901,7 @@ public class PurpurWorldConfig {
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);
endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock);
@@ -486,15 +486,15 @@ index 71d4ba7f97b9898dca7efb55a81833b43a9624ee..8c21f611c515a18fae777d86e96f9010
}
public boolean endermiteRidable = false;
@@ -901,6 +922,7 @@ public class PurpurWorldConfig {
public boolean evokerRidableInWater = false;
@@ -903,6 +924,7 @@ public class PurpurWorldConfig {
public boolean evokerRidableInWater = true;
public boolean evokerControllable = true;
public double evokerMaxHealth = 24.0D;
+ public boolean evokerBypassMobGriefing = false;
private void evokerSettings() {
evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable);
evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater);
@@ -911,6 +933,7 @@ public class PurpurWorldConfig {
@@ -913,6 +935,7 @@ public class PurpurWorldConfig {
set("mobs.evoker.attributes.max_health", oldValue);
}
evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth);
@@ -502,7 +502,7 @@ index 71d4ba7f97b9898dca7efb55a81833b43a9624ee..8c21f611c515a18fae777d86e96f9010
}
public boolean foxRidable = false;
@@ -919,6 +942,7 @@ public class PurpurWorldConfig {
@@ -921,6 +944,7 @@ public class PurpurWorldConfig {
public double foxMaxHealth = 10.0D;
public boolean foxTypeChangesWithTulips = false;
public int foxBreedingTicks = 6000;
@@ -510,7 +510,7 @@ index 71d4ba7f97b9898dca7efb55a81833b43a9624ee..8c21f611c515a18fae777d86e96f9010
private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -931,6 +955,7 @@ public class PurpurWorldConfig {
@@ -933,6 +957,7 @@ public class PurpurWorldConfig {
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks);
@@ -518,15 +518,15 @@ index 71d4ba7f97b9898dca7efb55a81833b43a9624ee..8c21f611c515a18fae777d86e96f9010
}
public boolean frogRidable = false;
@@ -1378,6 +1403,7 @@ public class PurpurWorldConfig {
public boolean piglinRidableInWater = false;
@@ -1380,6 +1405,7 @@ public class PurpurWorldConfig {
public boolean piglinRidableInWater = true;
public boolean piglinControllable = true;
public double piglinMaxHealth = 16.0D;
+ public boolean piglinBypassMobGriefing = false;
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -1388,6 +1414,7 @@ public class PurpurWorldConfig {
@@ -1390,6 +1416,7 @@ public class PurpurWorldConfig {
set("mobs.piglin.attributes.max_health", oldValue);
}
piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth);
@@ -534,15 +534,15 @@ index 71d4ba7f97b9898dca7efb55a81833b43a9624ee..8c21f611c515a18fae777d86e96f9010
}
public boolean piglinBruteRidable = false;
@@ -1410,6 +1437,7 @@ public class PurpurWorldConfig {
public boolean pillagerRidableInWater = false;
@@ -1412,6 +1439,7 @@ public class PurpurWorldConfig {
public boolean pillagerRidableInWater = true;
public boolean pillagerControllable = true;
public double pillagerMaxHealth = 24.0D;
+ public boolean pillagerBypassMobGriefing = false;
private void pillagerSettings() {
pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable);
pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater);
@@ -1420,6 +1448,7 @@ public class PurpurWorldConfig {
@@ -1422,6 +1450,7 @@ public class PurpurWorldConfig {
set("mobs.pillager.attributes.max_health", oldValue);
}
pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth);
@@ -550,7 +550,7 @@ index 71d4ba7f97b9898dca7efb55a81833b43a9624ee..8c21f611c515a18fae777d86e96f9010
}
public boolean polarBearRidable = false;
@@ -1466,6 +1495,7 @@ public class PurpurWorldConfig {
@@ -1468,6 +1497,7 @@ public class PurpurWorldConfig {
public double rabbitNaturalToast = 0.0D;
public double rabbitNaturalKiller = 0.0D;
public int rabbitBreedingTicks = 6000;
@@ -558,7 +558,7 @@ index 71d4ba7f97b9898dca7efb55a81833b43a9624ee..8c21f611c515a18fae777d86e96f9010
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -1479,12 +1509,14 @@ public class PurpurWorldConfig {
@@ -1481,12 +1511,14 @@ public class PurpurWorldConfig {
rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast);
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks);
@@ -573,7 +573,7 @@ index 71d4ba7f97b9898dca7efb55a81833b43a9624ee..8c21f611c515a18fae777d86e96f9010
private void ravagerSettings() {
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
@@ -1495,6 +1527,7 @@ public class PurpurWorldConfig {
@@ -1497,6 +1529,7 @@ public class PurpurWorldConfig {
set("mobs.ravager.attributes.max_health", oldValue);
}
ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth);
@@ -581,7 +581,7 @@ index 71d4ba7f97b9898dca7efb55a81833b43a9624ee..8c21f611c515a18fae777d86e96f9010
}
public boolean salmonRidable = false;
@@ -1516,6 +1549,7 @@ public class PurpurWorldConfig {
@@ -1518,6 +1551,7 @@ public class PurpurWorldConfig {
public boolean sheepControllable = true;
public double sheepMaxHealth = 8.0D;
public int sheepBreedingTicks = 6000;
@@ -589,7 +589,7 @@ index 71d4ba7f97b9898dca7efb55a81833b43a9624ee..8c21f611c515a18fae777d86e96f9010
private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -1527,6 +1561,7 @@ public class PurpurWorldConfig {
@@ -1529,6 +1563,7 @@ public class PurpurWorldConfig {
}
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks);
@@ -597,15 +597,15 @@ index 71d4ba7f97b9898dca7efb55a81833b43a9624ee..8c21f611c515a18fae777d86e96f9010
}
public boolean shulkerRidable = false;
@@ -1549,6 +1584,7 @@ public class PurpurWorldConfig {
public boolean silverfishRidableInWater = false;
@@ -1551,6 +1586,7 @@ public class PurpurWorldConfig {
public boolean silverfishRidableInWater = true;
public boolean silverfishControllable = true;
public double silverfishMaxHealth = 8.0D;
+ public boolean silverfishBypassMobGriefing = false;
private void silverfishSettings() {
silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable);
silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater);
@@ -1559,6 +1595,7 @@ public class PurpurWorldConfig {
@@ -1561,6 +1597,7 @@ public class PurpurWorldConfig {
set("mobs.silverfish.attributes.max_health", oldValue);
}
silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth);
@@ -613,7 +613,7 @@ index 71d4ba7f97b9898dca7efb55a81833b43a9624ee..8c21f611c515a18fae777d86e96f9010
}
public boolean skeletonRidable = false;
@@ -1635,6 +1672,7 @@ public class PurpurWorldConfig {
@@ -1637,6 +1674,7 @@ public class PurpurWorldConfig {
public int snowGolemSnowBallMax = 20;
public float snowGolemSnowBallModifier = 10.0F;
public double snowGolemAttackDistance = 1.25D;
@@ -621,7 +621,7 @@ index 71d4ba7f97b9898dca7efb55a81833b43a9624ee..8c21f611c515a18fae777d86e96f9010
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1652,6 +1690,7 @@ public class PurpurWorldConfig {
@@ -1654,6 +1692,7 @@ public class PurpurWorldConfig {
snowGolemSnowBallMax = getInt("mobs.snow_golem.max-shoot-interval-ticks", snowGolemSnowBallMax);
snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier);
snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance);
@@ -629,7 +629,7 @@ index 71d4ba7f97b9898dca7efb55a81833b43a9624ee..8c21f611c515a18fae777d86e96f9010
}
public boolean snifferRidable = false;
@@ -1838,6 +1877,7 @@ public class PurpurWorldConfig {
@@ -1840,6 +1879,7 @@ public class PurpurWorldConfig {
public int villagerBreedingTicks = 6000;
public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true;
@@ -637,7 +637,7 @@ index 71d4ba7f97b9898dca7efb55a81833b43a9624ee..8c21f611c515a18fae777d86e96f9010
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1854,6 +1894,7 @@ public class PurpurWorldConfig {
@@ -1856,6 +1896,7 @@ public class PurpurWorldConfig {
villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);
villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts);
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
@@ -645,7 +645,7 @@ index 71d4ba7f97b9898dca7efb55a81833b43a9624ee..8c21f611c515a18fae777d86e96f9010
}
public boolean vindicatorRidable = false;
@@ -1926,6 +1967,7 @@ public class PurpurWorldConfig {
@@ -1928,6 +1969,7 @@ public class PurpurWorldConfig {
public double witherMaxHealth = 300.0D;
public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20;
@@ -653,7 +653,7 @@ index 71d4ba7f97b9898dca7efb55a81833b43a9624ee..8c21f611c515a18fae777d86e96f9010
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1943,6 +1985,7 @@ public class PurpurWorldConfig {
@@ -1945,6 +1987,7 @@ public class PurpurWorldConfig {
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);
witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount);
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
@@ -661,7 +661,7 @@ index 71d4ba7f97b9898dca7efb55a81833b43a9624ee..8c21f611c515a18fae777d86e96f9010
}
public boolean witherSkeletonRidable = false;
@@ -2014,6 +2057,7 @@ public class PurpurWorldConfig {
@@ -2016,6 +2059,7 @@ public class PurpurWorldConfig {
public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
@@ -669,7 +669,7 @@ index 71d4ba7f97b9898dca7efb55a81833b43a9624ee..8c21f611c515a18fae777d86e96f9010
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -2029,6 +2073,7 @@ public class PurpurWorldConfig {
@@ -2031,6 +2075,7 @@ public class PurpurWorldConfig {
zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);
zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configs for if Wither/Ender Dragon can ride vehicles
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index 7ec5da61a57e38146840c6b387104ed6716c24d4..c5346f06175846aecbf30f9bea28be3b0fdb6397 100644
index 2484498eb7d3ebcf1c9f9c9db54ea12baac0e642..790160cfcb113e046379c2fe5af32667faf3be8c 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -1154,6 +1154,7 @@ public class EnderDragon extends Mob implements Enemy {
@@ -17,7 +17,7 @@ index 7ec5da61a57e38146840c6b387104ed6716c24d4..c5346f06175846aecbf30f9bea28be3b
}
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index 0c329f66d0a26b881ddddf4c555850f6ce0481bc..2a4dce1a5ffa3902a50044b14e6c02b3781138bd 100644
index cad1246e6a8dbf92f367d0714306a428697bf1c1..c38c92a9967a50515f6d185d116578b6fc065f5e 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -742,6 +742,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -29,10 +29,10 @@ index 0c329f66d0a26b881ddddf4c555850f6ce0481bc..2a4dce1a5ffa3902a50044b14e6c02b3
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 131b344fac984d9653e76e9a66826d8c2c3a670f..98eab7de6ce8dc52012a2b909ac613e520414d7e 100644
index d319ef7fefc979f265a8ad6c277e81649d489e4d..e3d6108c58e4a6447eca536764cdf20507603ebf 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -947,6 +947,7 @@ public class PurpurWorldConfig {
@@ -949,6 +949,7 @@ public class PurpurWorldConfig {
public boolean enderDragonAlwaysDropsFullExp = false;
public boolean enderDragonBypassMobGriefing = false;
public boolean enderDragonTakeDamageFromWater = false;
@@ -40,7 +40,7 @@ index 131b344fac984d9653e76e9a66826d8c2c3a670f..98eab7de6ce8dc52012a2b909ac613e5
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -965,6 +966,7 @@ public class PurpurWorldConfig {
@@ -967,6 +968,7 @@ public class PurpurWorldConfig {
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
enderDragonBypassMobGriefing = getBoolean("mobs.ender_dragon.bypass-mob-griefing", enderDragonBypassMobGriefing);
enderDragonTakeDamageFromWater = getBoolean("mobs.ender_dragon.takes-damage-from-water", enderDragonTakeDamageFromWater);
@@ -48,7 +48,7 @@ index 131b344fac984d9653e76e9a66826d8c2c3a670f..98eab7de6ce8dc52012a2b909ac613e5
}
public boolean endermanRidable = false;
@@ -2156,6 +2158,7 @@ public class PurpurWorldConfig {
@@ -2158,6 +2160,7 @@ public class PurpurWorldConfig {
public int witherHealthRegenDelay = 20;
public boolean witherBypassMobGriefing = false;
public boolean witherTakeDamageFromWater = false;
@@ -56,7 +56,7 @@ index 131b344fac984d9653e76e9a66826d8c2c3a670f..98eab7de6ce8dc52012a2b909ac613e5
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2175,6 +2178,7 @@ public class PurpurWorldConfig {
@@ -2177,6 +2180,7 @@ public class PurpurWorldConfig {
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Config Enderman aggressiveness towards Endermites
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 e7308cf659fba62669753ea53e52f40fb96976b1..c702f4b6534d0bf2e9d763bedbf58bf2a3190b5d 100644
index ffa8c28e34d3919feefd779b5d5b99286be96ba7..bc7d48744d3a8fbda8e2e4eb45972e0fcd64c82b 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -128,7 +128,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -18,10 +18,10 @@ index e7308cf659fba62669753ea53e52f40fb96976b1..c702f4b6534d0bf2e9d763bedbf58bf2
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c4c5b70736f0a38e5d1b4a14640e64512a26a3ce..4f098761f1f7b753ab8d9f96458a5f344e93aa42 100644
index b7cf07d2abde017915d5204ab2f90ff6145e88c8..240e3a2a1f3ee697a20c2ed7586a5e4ffa205a50 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -997,6 +997,8 @@ public class PurpurWorldConfig {
@@ -999,6 +999,8 @@ public class PurpurWorldConfig {
public boolean endermanDespawnEvenWithBlock = false;
public boolean endermanBypassMobGriefing = false;
public boolean endermanTakeDamageFromWater = true;
@@ -30,7 +30,7 @@ index c4c5b70736f0a38e5d1b4a14640e64512a26a3ce..4f098761f1f7b753ab8d9f96458a5f34
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -1006,11 +1008,17 @@ public class PurpurWorldConfig {
@@ -1008,11 +1010,17 @@ public class PurpurWorldConfig {
set("mobs.enderman.attributes.max-health", null);
set("mobs.enderman.attributes.max_health", oldValue);
}

View File

@@ -7,7 +7,7 @@ Prevents Enderman from becoming aggresive towards players that are wearing a Dra
Adds functionality to a useless item!
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 c702f4b6534d0bf2e9d763bedbf58bf2a3190b5d..60720f0bad840d35c9d0f1fc327f6069b348a41a 100644
index bc7d48744d3a8fbda8e2e4eb45972e0fcd64c82b..c2be4a81551b2271364c984c91e7f4b146e63b2d 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -265,7 +265,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -20,10 +20,10 @@ index c702f4b6534d0bf2e9d763bedbf58bf2a3190b5d..60720f0bad840d35c9d0f1fc327f6069
} else {
Vec3 vec3d = player.getViewVector(1.0F).normalize();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4f098761f1f7b753ab8d9f96458a5f344e93aa42..5668ee41a5f904169b6bcf24bf73ec0227876510 100644
index 240e3a2a1f3ee697a20c2ed7586a5e4ffa205a50..b1cd3e79a47097f9c66bbab2af144278fe60f1e7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -999,6 +999,8 @@ public class PurpurWorldConfig {
@@ -1001,6 +1001,8 @@ public class PurpurWorldConfig {
public boolean endermanTakeDamageFromWater = true;
public boolean endermanAggroEndermites = true;
public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false;
@@ -32,7 +32,7 @@ index 4f098761f1f7b753ab8d9f96458a5f344e93aa42..5668ee41a5f904169b6bcf24bf73ec02
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -1019,6 +1021,8 @@ public class PurpurWorldConfig {
@@ -1021,6 +1023,8 @@ public class PurpurWorldConfig {
endermanTakeDamageFromWater = getBoolean("mobs.enderman.takes-damage-from-water", endermanTakeDamageFromWater);
endermanAggroEndermites = getBoolean("mobs.enderman.aggressive-towards-endermites", endermanAggroEndermites);
endermanAggroEndermitesOnlyIfPlayerSpawned = getBoolean("mobs.enderman.aggressive-towards-endermites-only-spawned-by-player-thrown-ender-pearls", endermanAggroEndermitesOnlyIfPlayerSpawned);

View File

@@ -19,7 +19,7 @@ index 7b141c495095afcd9c8b04c059d692e829259e7a..ad30f2d678cfc4b0d693e84e6e152c63
List<Entity> list = this.llama.level.getEntities(this.llama, this.llama.getBoundingBox().inflate(9.0D, 4.0D, 9.0D), (entity) -> {
EntityType<?> entityType = entity.getType();
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
index 185749df0c7c08f625145a29810ffed6042550bb..3f3e6633a3de2ceb5a082777a24ff0451bd27976 100644
index 68796219152f05352f99ffb35a00640d391563af..b0984897033f5c1b4b202bc2299484a643f7bc19 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
@@ -525,7 +525,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
@@ -32,10 +32,10 @@ index 185749df0c7c08f625145a29810ffed6042550bb..3f3e6633a3de2ceb5a082777a24ff045
this.caravanHead.caravanTail = this;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8223228a721ce26eb2a7a955cb6eff40040d464f..92b0823f51e81bd9fb6b402d840be3d45483d99a 100644
index a1c909b96bb7197506e2967d6d8fb7c0fff418bd..b20e2951666c3e87153e82aa85946b463d007a0c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1331,6 +1331,7 @@ public class PurpurWorldConfig {
@@ -1333,6 +1333,7 @@ public class PurpurWorldConfig {
public double llamaMovementSpeedMax = 0.175D;
public int llamaBreedingTicks = 6000;
public boolean llamaTakeDamageFromWater = false;
@@ -43,7 +43,7 @@ index 8223228a721ce26eb2a7a955cb6eff40040d464f..92b0823f51e81bd9fb6b402d840be3d4
private void llamaSettings() {
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
@@ -1350,6 +1351,7 @@ public class PurpurWorldConfig {
@@ -1352,6 +1353,7 @@ public class PurpurWorldConfig {
llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax);
llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks);
llamaTakeDamageFromWater = getBoolean("mobs.llama.takes-damage-from-water", llamaTakeDamageFromWater);

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Config to make Creepers explode on death
Creepers exploded after being killed in the alpha days. This brings that back.
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
index 8db007569fc8a5085071813e1476a27d0f1cff7c..8568be97dcd5bb269e0204faf8b42dc8cb152282 100644
index 514a71bfc0fb95631ce3931528aa5a0d82c1cdbf..82d1bd8b8ba0e4b72e2030f085ddc0db0432d083 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -63,6 +63,7 @@ public class Creeper extends Monster implements PowerableMob {
@@ -50,10 +50,10 @@ index 8db007569fc8a5085071813e1476a27d0f1cff7c..8568be97dcd5bb269e0204faf8b42dc8
private void spawnLingeringCloud() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 92b0823f51e81bd9fb6b402d840be3d45483d99a..01622381405083485521fea827c67fd7c2bf66a4 100644
index b20e2951666c3e87153e82aa85946b463d007a0c..58bf5088f80d40ab4ed9f7a46a6629bf1033e055 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -851,6 +851,7 @@ public class PurpurWorldConfig {
@@ -853,6 +853,7 @@ public class PurpurWorldConfig {
public boolean creeperAllowGriefing = true;
public boolean creeperBypassMobGriefing = false;
public boolean creeperTakeDamageFromWater = false;
@@ -61,7 +61,7 @@ index 92b0823f51e81bd9fb6b402d840be3d45483d99a..01622381405083485521fea827c67fd7
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -865,6 +866,7 @@ public class PurpurWorldConfig {
@@ -867,6 +868,7 @@ public class PurpurWorldConfig {
creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing);
creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing);
creeperTakeDamageFromWater = getBoolean("mobs.creeper.takes-damage-from-water", creeperTakeDamageFromWater);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable ravager griefable blocks list
diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
index 1c28e0f5b96114b2886fcf670ce5ce23526868f3..ee24dd327182387f6547532963972846acfb4da3 100644
index d67171c3b7d53a91ac9761385646cf9b7b474362..6798e9b616a3357ce68728395cb43344b9e16889 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
@@ -205,7 +205,7 @@ public class Ravager extends Raider {
@@ -31,10 +31,10 @@ index f0fbd16c9b9c3772492c32b3924e99e147e412f0..c0c3bba1555e356c0af7e79e1ecb2aa0
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 01622381405083485521fea827c67fd7c2bf66a4..657200645df0547912abe0dd5700c1677e203b60 100644
index 58bf5088f80d40ab4ed9f7a46a6629bf1033e055..cc620403d92cd6978d9383591f9f196a99bdc35c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1703,6 +1703,7 @@ public class PurpurWorldConfig {
@@ -1705,6 +1705,7 @@ public class PurpurWorldConfig {
public double ravagerMaxHealth = 100.0D;
public boolean ravagerBypassMobGriefing = false;
public boolean ravagerTakeDamageFromWater = false;
@@ -42,7 +42,7 @@ index 01622381405083485521fea827c67fd7c2bf66a4..657200645df0547912abe0dd5700c167
private void ravagerSettings() {
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
@@ -1715,6 +1716,23 @@ public class PurpurWorldConfig {
@@ -1717,6 +1718,23 @@ public class PurpurWorldConfig {
ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth);
ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing);
ravagerTakeDamageFromWater = getBoolean("mobs.ravager.takes-damage-from-water", ravagerTakeDamageFromWater);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add config for villager trading
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 937105ae414c0ef809b79300a1a932053d1c1a14..1649070edaf0812dd480429cd6d07af84def8311 100644
index ac4e80bd4239da220db8ed5d2ce6cf2935403ce9..2533c9665560de9df601594333b06ceb93a2a00b 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -361,7 +361,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -18,7 +18,7 @@ index 937105ae414c0ef809b79300a1a932053d1c1a14..1649070edaf0812dd480429cd6d07af8
}
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
index 64c8890a54a10abd454a62671fbabfcf9720b7c0..e06f3ee85dde587f1146d4a3d70e8a2e5b9a128b 100644
index 4e321a9f08c8798cee04789a7356893dd2a660c3..6af1d1b3b40d91fd3e0ac269d0e4a60a104be7b8 100644
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
@@ -152,7 +152,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
@@ -31,10 +31,10 @@ index 64c8890a54a10abd454a62671fbabfcf9720b7c0..e06f3ee85dde587f1146d4a3d70e8a2e
this.openTradingScreen(player, this.getDisplayName(), 1);
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 040201827a0c272141050094aa1929f539a3fa73..a3af9a02fa8c589603b3a6b10bbebb101ff665ba 100644
index a8223abddfc583a7cadea35e647da693fc81a6f0..f5ef0d6683218f85704825a04c3cac21b76632ad 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2123,6 +2123,7 @@ public class PurpurWorldConfig {
@@ -2125,6 +2125,7 @@ public class PurpurWorldConfig {
public boolean villagerClericFarmersThrowWarts = true;
public boolean villagerBypassMobGriefing = false;
public boolean villagerTakeDamageFromWater = false;
@@ -42,7 +42,7 @@ index 040201827a0c272141050094aa1929f539a3fa73..a3af9a02fa8c589603b3a6b10bbebb10
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2141,6 +2142,7 @@ public class PurpurWorldConfig {
@@ -2143,6 +2144,7 @@ public class PurpurWorldConfig {
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing);
villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater);
@@ -50,7 +50,7 @@ index 040201827a0c272141050094aa1929f539a3fa73..a3af9a02fa8c589603b3a6b10bbebb10
}
public boolean vindicatorRidable = false;
@@ -2170,6 +2172,7 @@ public class PurpurWorldConfig {
@@ -2172,6 +2174,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderFollowEmeraldBlock = false;
public boolean wanderingTraderCanBeLeashed = false;
public boolean wanderingTraderTakeDamageFromWater = false;
@@ -58,7 +58,7 @@ index 040201827a0c272141050094aa1929f539a3fa73..a3af9a02fa8c589603b3a6b10bbebb10
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -2183,6 +2186,7 @@ public class PurpurWorldConfig {
@@ -2185,6 +2188,7 @@ public class PurpurWorldConfig {
wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock);
wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed);
wanderingTraderTakeDamageFromWater = getBoolean("mobs.wandering_trader.takes-damage-from-water", wanderingTraderTakeDamageFromWater);

View File

@@ -31,10 +31,10 @@ index 2c085c4a154cb0f8a1d38453f43474a764398784..589b437e7c97c846410f293e2f014bdc
pos = pos.below();
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9d2b7b8dbcb109f28722ba511d074f93c45f855f..0c37f3a761d602b9a2a1041b1f2d4e56df372d18 100644
index b14873a724b49251d676521af756e07dce620951..b53d78e4569770a80ffb9a30e0c57aa8603fe746 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1647,6 +1647,7 @@ public class PurpurWorldConfig {
@@ -1649,6 +1649,7 @@ public class PurpurWorldConfig {
public double piglinMaxHealth = 16.0D;
public boolean piglinBypassMobGriefing = false;
public boolean piglinTakeDamageFromWater = false;
@@ -42,7 +42,7 @@ index 9d2b7b8dbcb109f28722ba511d074f93c45f855f..0c37f3a761d602b9a2a1041b1f2d4e56
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -1659,6 +1660,7 @@ public class PurpurWorldConfig {
@@ -1661,6 +1662,7 @@ public class PurpurWorldConfig {
piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth);
piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing);
piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater);

View File

@@ -18,10 +18,10 @@ index 093a00e52062868b4fbf358b307513d0f599f69d..ba753735f3cbb2cb3d0a491d1bd94a04
if (!event.isCancelled()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 93ae5787def42553d1b7864b7d6e648ac2e40827..6856d986732c5a3e17d148448eb4fa8b7452f137 100644
index b53d78e4569770a80ffb9a30e0c57aa8603fe746..3b7c80907b15a858b4b9fe4790822213b668f338 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2290,6 +2290,7 @@ public class PurpurWorldConfig {
@@ -2292,6 +2292,7 @@ public class PurpurWorldConfig {
public boolean witherBypassMobGriefing = false;
public boolean witherTakeDamageFromWater = false;
public boolean witherCanRideVehicles = false;
@@ -29,7 +29,7 @@ index 93ae5787def42553d1b7864b7d6e648ac2e40827..6856d986732c5a3e17d148448eb4fa8b
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2310,6 +2311,7 @@ public class PurpurWorldConfig {
@@ -2312,6 +2313,7 @@ public class PurpurWorldConfig {
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater);
witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Config for health to impact Creeper explosion radius
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
index 8568be97dcd5bb269e0204faf8b42dc8cb152282..30df0e74950c6629fce06923a4a7d57341606fd6 100644
index 82d1bd8b8ba0e4b72e2030f085ddc0db0432d083..095b46134c8f8f686edd9c343d9ce1a445fd5438 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -370,9 +370,10 @@ public class Creeper extends Monster implements PowerableMob {
@@ -21,10 +21,10 @@ index 8568be97dcd5bb269e0204faf8b42dc8cb152282..30df0e74950c6629fce06923a4a7d573
if (!event.isCancelled()) {
this.dead = true;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c4189d8f5a0fb7a53a6f0119d37aa297ffea2f7b..2dcb16f02e7d7edac0cc01d4da791af8e6e8960a 100644
index e0e82ae7d9b00fa8d322416c58fec7a5814fb133..aad381a8c1f392ff725edf80bac3ce217ff3d296 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -943,6 +943,7 @@ public class PurpurWorldConfig {
@@ -945,6 +945,7 @@ public class PurpurWorldConfig {
public boolean creeperBypassMobGriefing = false;
public boolean creeperTakeDamageFromWater = false;
public boolean creeperExplodeWhenKilled = false;
@@ -32,7 +32,7 @@ index c4189d8f5a0fb7a53a6f0119d37aa297ffea2f7b..2dcb16f02e7d7edac0cc01d4da791af8
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -958,6 +959,7 @@ public class PurpurWorldConfig {
@@ -960,6 +961,7 @@ public class PurpurWorldConfig {
creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing);
creeperTakeDamageFromWater = getBoolean("mobs.creeper.takes-damage-from-water", creeperTakeDamageFromWater);
creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Iron golem calm anger options
diff --git a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
index f25f7db029c0c21f31693349ef567dddeace3db1..6b651c0c4a4d13f9b9cac5aab1ab843077c4cac0 100644
index a123c02dfa554f58897b44f8d01f5f56b5a2d5b7..41b4002ad5c81db05a62e9bc977d5ad5e8c5c190 100644
--- a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
@@ -100,6 +100,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
@@ -26,10 +26,10 @@ index f25f7db029c0c21f31693349ef567dddeace3db1..6b651c0c4a4d13f9b9cac5aab1ab8430
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2dcb16f02e7d7edac0cc01d4da791af8e6e8960a..18fc3911cedf5f093fc9c79f4d054f9e09b35be1 100644
index aad381a8c1f392ff725edf80bac3ce217ff3d296..e485beaffee4378041b30ecff90a91df495ae9f6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1401,6 +1401,8 @@ public class PurpurWorldConfig {
@@ -1403,6 +1403,8 @@ public class PurpurWorldConfig {
public boolean ironGolemCanSwim = false;
public double ironGolemMaxHealth = 100.0D;
public boolean ironGolemTakeDamageFromWater = false;
@@ -38,7 +38,7 @@ index 2dcb16f02e7d7edac0cc01d4da791af8e6e8960a..18fc3911cedf5f093fc9c79f4d054f9e
private void ironGolemSettings() {
ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable);
ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater);
@@ -1413,6 +1415,8 @@ public class PurpurWorldConfig {
@@ -1415,6 +1417,8 @@ public class PurpurWorldConfig {
}
ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth);
ironGolemTakeDamageFromWater = getBoolean("mobs.iron_golem.takes-damage-from-water", ironGolemTakeDamageFromWater);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Breedable parrots
diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
index f7efb2088c554782fd169b901b4ef3fca3b2c0f9..629ced06cc17ebd6a359b74858d073e12c6a3b88 100644
index c4114ec129b1acacfae920d67423b8ef6836a8d6..09beb422127c563be0609a675d27caa852e809b9 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
@@ -228,6 +228,7 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
@@ -50,10 +50,10 @@ index f7efb2088c554782fd169b901b4ef3fca3b2c0f9..629ced06cc17ebd6a359b74858d073e1
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 18fc3911cedf5f093fc9c79f4d054f9e09b35be1..bd399e23d226448159315e4996f931b11302217f 100644
index e485beaffee4378041b30ecff90a91df495ae9f6..ea745515ffed6f727e268216b445a9f497bee6f6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1571,6 +1571,7 @@ public class PurpurWorldConfig {
@@ -1573,6 +1573,7 @@ public class PurpurWorldConfig {
public double parrotMaxY = 320D;
public double parrotMaxHealth = 6.0D;
public boolean parrotTakeDamageFromWater = false;
@@ -61,7 +61,7 @@ index 18fc3911cedf5f093fc9c79f4d054f9e09b35be1..bd399e23d226448159315e4996f931b1
private void parrotSettings() {
parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable);
parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater);
@@ -1583,6 +1584,7 @@ public class PurpurWorldConfig {
@@ -1585,6 +1586,7 @@ public class PurpurWorldConfig {
}
parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth);
parrotTakeDamageFromWater = getBoolean("mobs.parrot.takes-damage-from-water", parrotTakeDamageFromWater);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Bee can work when raining or at night
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
index f379f4c45c5aaf8aa8d166148cdc07517c84649a..9d087295d63115d9b916e052b419789c0aa9fc63 100644
index 89a70432ae1713c2c5c6fff2957f2fd4917fdc70..0c34cb85124c41decaba5fa54bb3abde9ba0adfe 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
@@ -410,7 +410,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -31,10 +31,10 @@ index a16a1df28258d605cf5908dbe19bda5d71ad4f45..7b82842b97ce795745cf6ee6399f618c
return false;
} else {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index db08680cbf624a7115c26294812cfebf6b0d84bb..cbcbd108222b560ac3a483e5ebcfbc7a4ae3c23f 100644
index 13a1373355d613bb6a1aa29a7b4cd3e1fe124dd2..a334273dde8c301f88bf2ba35a895d96b470d55a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -786,6 +786,8 @@ public class PurpurWorldConfig {
@@ -788,6 +788,8 @@ public class PurpurWorldConfig {
public double beeMaxHealth = 10.0D;
public int beeBreedingTicks = 6000;
public boolean beeTakeDamageFromWater = false;
@@ -43,7 +43,7 @@ index db08680cbf624a7115c26294812cfebf6b0d84bb..cbcbd108222b560ac3a483e5ebcfbc7a
private void beeSettings() {
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
@@ -799,6 +801,8 @@ public class PurpurWorldConfig {
@@ -801,6 +803,8 @@ public class PurpurWorldConfig {
beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth);
beeBreedingTicks = getInt("mobs.bee.breeding-delay-ticks", beeBreedingTicks);
beeTakeDamageFromWater = getBoolean("mobs.bee.takes-damage-from-water", beeTakeDamageFromWater);

View File

@@ -13,7 +13,7 @@ Subject: [PATCH] Shulker spawn from bullet options
(7 - 1) / 5.0 = 1.2 1.0 - 1.2 = -0.2 0% (6 other shulkers)
diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
index cd0e0d15868bcefef28d801dbd2aa41ac982baac..6ce1b5223bec2ee093de2374f20b8629a5d68069 100644
index 7fb3fe195d4f267735fadb740debc4ec72cb3c31..144a872afd4585767d1e96c3e51d4b9fd87dbf89 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
@@ -510,11 +510,20 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
@@ -67,10 +67,10 @@ index 2170715ed0e81a3055e4ab546c8b294c5ef7f142..beae4e2b9f61df83215de860d64c4ce2
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c24cadbdb14e7b16f342b4d22fa0730d42e9c7d1..9060abce4148ea3b9a4878463d94135f3aa000a6 100644
index 08befb60564bb8e06f576b2762dac11ecf09d720..cf0bc79ffdf63b16c495896c5d5204d752c8e19e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1937,6 +1937,11 @@ public class PurpurWorldConfig {
@@ -1939,6 +1939,11 @@ public class PurpurWorldConfig {
public boolean shulkerControllable = true;
public double shulkerMaxHealth = 30.0D;
public boolean shulkerTakeDamageFromWater = false;
@@ -82,7 +82,7 @@ index c24cadbdb14e7b16f342b4d22fa0730d42e9c7d1..9060abce4148ea3b9a4878463d94135f
private void shulkerSettings() {
shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable);
shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater);
@@ -1948,6 +1953,11 @@ public class PurpurWorldConfig {
@@ -1950,6 +1955,11 @@ public class PurpurWorldConfig {
}
shulkerMaxHealth = getDouble("mobs.shulker.attributes.max_health", shulkerMaxHealth);
shulkerTakeDamageFromWater = getBoolean("mobs.shulker.takes-damage-from-water", shulkerTakeDamageFromWater);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Option to make drowned break doors
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
index 5ed737a9656546775540c15f81f308d94e7a3444..feef31edb1833da45c42b73894f610ac3add7c8e 100644
index 81646291540b07d6e1fa4ca06eda35f048a7a4fe..7a348d243f2a39c4e3faa1995eaf3f0cb0743070 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
@@ -29,6 +29,7 @@ import net.minecraft.world.entity.ai.goal.MoveToBlockGoal;
@@ -34,10 +34,10 @@ index 5ed737a9656546775540c15f81f308d94e7a3444..feef31edb1833da45c42b73894f610ac
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5aa344d013bc4d5b7c83a3c6c32cbcbe140985bd..79ee0e450e2f740c5818c4b1b092b2cb93307dee 100644
index 96fe670ad1759e10e07e2ebe12af349259396f2e..013374a96617c162059261d69826dc0f220912fe 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1083,6 +1083,7 @@ public class PurpurWorldConfig {
@@ -1085,6 +1085,7 @@ public class PurpurWorldConfig {
public double drownedJockeyChance = 0.05D;
public boolean drownedJockeyTryExistingChickens = true;
public boolean drownedTakeDamageFromWater = false;
@@ -45,7 +45,7 @@ index 5aa344d013bc4d5b7c83a3c6c32cbcbe140985bd..79ee0e450e2f740c5818c4b1b092b2cb
private void drownedSettings() {
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
@@ -1098,6 +1099,7 @@ public class PurpurWorldConfig {
@@ -1100,6 +1101,7 @@ public class PurpurWorldConfig {
drownedJockeyChance = getDouble("mobs.drowned.jockey.chance", drownedJockeyChance);
drownedJockeyTryExistingChickens = getBoolean("mobs.drowned.jockey.try-existing-chickens", drownedJockeyTryExistingChickens);
drownedTakeDamageFromWater = getBoolean("mobs.drowned.takes-damage-from-water", drownedTakeDamageFromWater);

View File

@@ -18,10 +18,10 @@ index 87f9e03fb5e095396e054a84be60ec455d3fbd35..3d2e3c7dd3bf5c8f483a933e9f686858
this.tickTimer = 0;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3c62b930de04cb993b2df071d3f8e908d4951c27..03a92969423d2e709594fc1de3c787237664bec3 100644
index 013374a96617c162059261d69826dc0f220912fe..336a1ce77cb4725f3c739409901d675a2b7f5c8d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2594,4 +2594,9 @@ public class PurpurWorldConfig {
@@ -2596,4 +2596,9 @@ public class PurpurWorldConfig {
zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry);
zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater);
}

View File

@@ -24,7 +24,7 @@ index bedccb8717d08d5a60058445b04ddff149e7d36c..5293ffca3da94c9c485a87d1232b6a90
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e66eb3fef49a10d660f42b060af604081ce60723..c73401d9a23fc86d1964c3a104e652636d17b899 100644
index 87cb82b4aefa58dec55c719bcd51df5295b4733f..a3a009fdeb0d0dfd0b03187c5f34490e90e25cfd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -718,6 +718,11 @@ public class PurpurWorldConfig {
@@ -39,7 +39,7 @@ index e66eb3fef49a10d660f42b060af604081ce60723..c73401d9a23fc86d1964c3a104e65263
public boolean chestOpenWithBlockOnTop = false;
private void chestSettings() {
chestOpenWithBlockOnTop = getBoolean("blocks.chest.open-with-solid-block-on-top", chestOpenWithBlockOnTop);
@@ -2755,3 +2760,4 @@ public class PurpurWorldConfig {
@@ -2757,3 +2762,4 @@ public class PurpurWorldConfig {
hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage);
}
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Config to disable Enderman teleport on projectile hit
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 60720f0bad840d35c9d0f1fc327f6069b348a41a..9e5f6666cbc4303d095a4f95db9acd0bbc38f825 100644
index c2be4a81551b2271364c984c91e7f4b146e63b2d..bf6c3cd2948519db9d4dfefaca028e6c92f02801 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -438,6 +438,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -17,10 +17,10 @@ index 60720f0bad840d35c9d0f1fc327f6069b348a41a..9e5f6666cbc4303d095a4f95db9acd0b
for (int i = 0; i < 64; ++i) {
if (this.teleport()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e1f96fc7deec93fb7eea12a600630d603924469b..a816046f8da838365a71ed63904ed04ca9b46906 100644
index cbf4c40bf7c7e6547554f8d9086be0d7d99b522f..6b69f61d635c3803e21ffb3ffd5c0f3af0476502 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1338,6 +1338,7 @@ public class PurpurWorldConfig {
@@ -1340,6 +1340,7 @@ public class PurpurWorldConfig {
public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false;
public boolean endermanIgnorePlayerDragonHead = false;
public boolean endermanDisableStareAggro = false;
@@ -28,7 +28,7 @@ index e1f96fc7deec93fb7eea12a600630d603924469b..a816046f8da838365a71ed63904ed04c
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -1360,6 +1361,7 @@ public class PurpurWorldConfig {
@@ -1362,6 +1363,7 @@ public class PurpurWorldConfig {
endermanAggroEndermitesOnlyIfPlayerSpawned = getBoolean("mobs.enderman.aggressive-towards-endermites-only-spawned-by-player-thrown-ender-pearls", endermanAggroEndermitesOnlyIfPlayerSpawned);
endermanIgnorePlayerDragonHead = getBoolean("mobs.enderman.ignore-players-wearing-dragon-head", endermanIgnorePlayerDragonHead);
endermanDisableStareAggro = getBoolean("mobs.enderman.disable-player-stare-aggression", endermanDisableStareAggro);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Customizeable Zombie Villager curing times
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
index 1084adce8dc55b19ed9d90c0c5ad6675fff0afc5..9d981e392143baa43b6006ca9ef319fd538c304a 100644
index 6e1caf05b5577fec82354b4c59e3f86b3c1c1dbc..a6d9354d8ddac808cc89c5fe70842fc2472ff6fa 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
@@ -218,7 +218,7 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
@@ -18,10 +18,10 @@ index 1084adce8dc55b19ed9d90c0c5ad6675fff0afc5..9d981e392143baa43b6006ca9ef319fd
return InteractionResult.SUCCESS;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4b8ff2fbd341c3cf7f957591cfe80093e88c16d9..c6c827b261d4223678a9363de96b0067d5fc514a 100644
index 2f69f6080951acfd41e31b70fdd269d8cead2bf0..3e6c97169688d462b00a1437449473b5aef59623 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2739,6 +2739,8 @@ public class PurpurWorldConfig {
@@ -2741,6 +2741,8 @@ public class PurpurWorldConfig {
public double zombieVillagerJockeyChance = 0.05D;
public boolean zombieVillagerJockeyTryExistingChickens = true;
public boolean zombieVillagerTakeDamageFromWater = false;
@@ -30,7 +30,7 @@ index 4b8ff2fbd341c3cf7f957591cfe80093e88c16d9..c6c827b261d4223678a9363de96b0067
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2754,6 +2756,8 @@ public class PurpurWorldConfig {
@@ -2756,6 +2758,8 @@ public class PurpurWorldConfig {
zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance);
zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens);
zombieVillagerTakeDamageFromWater = getBoolean("mobs.zombie_villager.takes-damage-from-water", zombieVillagerTakeDamageFromWater);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Toggle for Wither's spawn sound
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index cb869ddaeed10f8edd0a327553bfe5dcbb405e3d..588ff25c19f7c0acc627f2d8425dbae56193bf85 100644
index eeab4bb9727be75a4167aeb8ed1c80a2a2145be9..b746f793228560275e2a50bd2342f20dabc78941 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -429,7 +429,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -18,10 +18,10 @@ index cb869ddaeed10f8edd0a327553bfe5dcbb405e3d..588ff25c19f7c0acc627f2d8425dbae5
// this.world.globalLevelEvent(1023, new BlockPosition(this), 0);
int viewDistance = ((ServerLevel) this.level).getCraftServer().getViewDistance() * 16;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d984ddd6b9afc4c978583cbbc0f7a43f83c8863c..e8ebff7e15d2e2262b395db4c516125d6bc665e3 100644
index d413cb0e6a5806a70ca697f8e842b8b0285e479b..e719863a96e888dc67cbb6ffeb40c53e9db2fec8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2584,6 +2584,7 @@ public class PurpurWorldConfig {
@@ -2586,6 +2586,7 @@ public class PurpurWorldConfig {
public boolean witherTakeDamageFromWater = false;
public boolean witherCanRideVehicles = false;
public float witherExplosionRadius = 1.0F;
@@ -29,7 +29,7 @@ index d984ddd6b9afc4c978583cbbc0f7a43f83c8863c..e8ebff7e15d2e2262b395db4c516125d
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2605,6 +2606,7 @@ public class PurpurWorldConfig {
@@ -2607,6 +2608,7 @@ public class PurpurWorldConfig {
witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater);
witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles);
witherExplosionRadius = (float) getDouble("mobs.wither.explosion-radius", witherExplosionRadius);

View File

@@ -77,10 +77,10 @@ index 963a596154091b79ca139af6274aa323518ad1ad..4dcac3899a500d8586580bcfd5b4516e
});
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 758df2d0a41b94ba81b0574d1e95dd9485bb4127..b20b22b6551a4a9763836d7d866cb95602e97d8b 100644
index 22eb44e4b9f5ee5485de35ab28766bcc5546c264..c0f1abdbffe839b211c402bda6996a265aee2e06 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2803,5 +2803,28 @@ public class PurpurWorldConfig {
@@ -2805,5 +2805,28 @@ public class PurpurWorldConfig {
private void hungerSettings() {
hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage);
}

View File

@@ -47,10 +47,10 @@ index 6b909d41ccdf6c1ac3ac0c4e673ff52f0d14a238..b8f69063cec4d31c9d9525a04c46ed89
if (dripChance < f1) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b20b22b6551a4a9763836d7d866cb95602e97d8b..b5be88177c3840f81dd2e8719e7ee3d5974fba60 100644
index c0f1abdbffe839b211c402bda6996a265aee2e06..f7851eb0d2e328b8c31f7fe71e974812a53d163f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2826,5 +2826,16 @@ public class PurpurWorldConfig {
@@ -2828,5 +2828,16 @@ public class PurpurWorldConfig {
});
conduitBlocks = conduitBlockList.toArray(Block[]::new);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Shulker change color with dye
diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
index 6ce1b5223bec2ee093de2374f20b8629a5d68069..9ac0caba4dcddc59850ac0ef5260347858f0cd4b 100644
index 144a872afd4585767d1e96c3e51d4b9fd87dbf89..ec90f23f64ce4fefa0960ae9ddf72b771a76ca9d 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
@@ -22,6 +22,8 @@ import net.minecraft.tags.DamageTypeTags;
@@ -47,10 +47,10 @@ index 6ce1b5223bec2ee093de2374f20b8629a5d68069..9ac0caba4dcddc59850ac0ef52603478
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 703f96434c10b0558503a709042f7a6f4ce8fe22..6e62217ae4f548350aa289c36d41285ef808bdef 100644
index a8fe10ba0f275b57d587fb99bf6a5120e52bd7d4..dd79e857ec11812a58dbf79cf746d88f39f51a64 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2146,6 +2146,7 @@ public class PurpurWorldConfig {
@@ -2148,6 +2148,7 @@ public class PurpurWorldConfig {
public double shulkerSpawnFromBulletNearbyRange = 8.0D;
public String shulkerSpawnFromBulletNearbyEquation = "(nearby - 1) / 5.0";
public boolean shulkerSpawnFromBulletRandomColor = false;
@@ -58,7 +58,7 @@ index 703f96434c10b0558503a709042f7a6f4ce8fe22..6e62217ae4f548350aa289c36d41285e
private void shulkerSettings() {
shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable);
shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater);
@@ -2162,6 +2163,7 @@ public class PurpurWorldConfig {
@@ -2164,6 +2165,7 @@ public class PurpurWorldConfig {
shulkerSpawnFromBulletNearbyRange = getDouble("mobs.shulker.spawn-from-bullet.nearby-range", shulkerSpawnFromBulletNearbyRange);
shulkerSpawnFromBulletNearbyEquation = getString("mobs.shulker.spawn-from-bullet.nearby-equation", shulkerSpawnFromBulletNearbyEquation);
shulkerSpawnFromBulletRandomColor = getBoolean("mobs.shulker.spawn-from-bullet.random-color", shulkerSpawnFromBulletRandomColor);

View File

@@ -47,10 +47,10 @@ index f8d3a5d2dc254501c7e4405444ed4439f9af915e..c038a23c4e19c5bf160792cf599acc8f
public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a61b258279e5c44eac353c4e991a7eb5fe238e53..d4511d3c5dde9ae8b4608259d045bedb2323d98f 100644
index 4e136afc1d1eb052a0c87cde7bb81a50824b3e63..654a51648172fc8186d4795d751fc4f777a74758 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1244,6 +1244,7 @@ public class PurpurWorldConfig {
@@ -1246,6 +1246,7 @@ public class PurpurWorldConfig {
public double dolphinMaxHealth = 10.0D;
public boolean dolphinDisableTreasureSearching = false;
public boolean dolphinTakeDamageFromWater = false;
@@ -58,7 +58,7 @@ index a61b258279e5c44eac353c4e991a7eb5fe238e53..d4511d3c5dde9ae8b4608259d045bedb
private void dolphinSettings() {
dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable);
dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable);
@@ -1258,6 +1259,7 @@ public class PurpurWorldConfig {
@@ -1260,6 +1261,7 @@ public class PurpurWorldConfig {
dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth);
dolphinDisableTreasureSearching = getBoolean("mobs.dolphin.disable-treasure-searching", dolphinDisableTreasureSearching);
dolphinTakeDamageFromWater = getBoolean("mobs.dolphin.takes-damage-from-water", dolphinTakeDamageFromWater);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Cows naturally aggressive to players chance
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
index ece8f5c4277d6b42fd19df64bfa624f96f1390ca..17c94ffb73b6bc2fbf7b700934a0eb01e117756a 100644
index d1966126950d086649c1e3c7cd140669c36d7e76..f6dc68ddea67e9573d2420c8f852b0920a64b1a3 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
@@ -38,6 +38,7 @@ import org.bukkit.craftbukkit.inventory.CraftItemStack;
@@ -59,10 +59,10 @@ index ece8f5c4277d6b42fd19df64bfa624f96f1390ca..17c94ffb73b6bc2fbf7b700934a0eb01
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d4511d3c5dde9ae8b4608259d045bedb2323d98f..068d204154cf18397fad3a3240a88e76e9a703cc 100644
index 654a51648172fc8186d4795d751fc4f777a74758..2a333fa507ef6d1076ce85b47e0eded7b06c4c12 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1193,7 +1193,14 @@ public class PurpurWorldConfig {
@@ -1195,7 +1195,14 @@ public class PurpurWorldConfig {
public int cowFeedMushrooms = 0;
public int cowBreedingTicks = 6000;
public boolean cowTakeDamageFromWater = false;
@@ -77,7 +77,7 @@ index d4511d3c5dde9ae8b4608259d045bedb2323d98f..068d204154cf18397fad3a3240a88e76
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
cowControllable = getBoolean("mobs.cow.controllable", cowControllable);
@@ -1206,6 +1213,8 @@ public class PurpurWorldConfig {
@@ -1208,6 +1215,8 @@ public class PurpurWorldConfig {
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
cowBreedingTicks = getInt("mobs.cow.breeding-delay-ticks", cowBreedingTicks);
cowTakeDamageFromWater = getBoolean("mobs.cow.takes-damage-from-water", cowTakeDamageFromWater);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Halloween options and optimizations
diff --git a/src/main/java/net/minecraft/world/entity/ambient/Bat.java b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
index fa9ed6d5ae13ddd14ef8677ca9ad30398a2333f4..3541479dac8404b9c2ec3788cd521aec3fae7c24 100644
index 991e0eadbce4b949698c1ddde61080715f888805..987ac3cb9ea726ed084d02ad738d3f1a60b2561b 100644
--- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java
+++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
@@ -314,7 +314,7 @@ public class Bat extends AmbientCreature {
@@ -43,7 +43,7 @@ index ea897da752c96c58d137af56544e9bf50135c6ec..32a303f9ac9768daf621e3aa561cd6b3
this.armorDropChances[EquipmentSlot.HEAD.getIndex()] = 0.0F;
}
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
index f4b9d73f5ce95c7725dbffbafc29c837fe1f87e6..074cbcf451f0f524510b4ab0273fceedfba143e3 100644
index 114093185454a428e0ef9f0877ea4efd9532c2f8..d2ab6c240bc45f1c19ade78a7c0509306a31b1bd 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
@@ -593,11 +593,7 @@ public class Zombie extends Monster {
@@ -60,10 +60,10 @@ index f4b9d73f5ce95c7725dbffbafc29c837fe1f87e6..074cbcf451f0f524510b4ab0273fceed
this.armorDropChances[EquipmentSlot.HEAD.getIndex()] = 0.0F;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c36db31a08bf32bf299a98556ef1b603904c0e5d..a67a2d78529be584c6c64a23d03a2f40b39066b4 100644
index c8e15efc4acc34d77a338467f91032cd3a843cd5..a7da799ed5295928ec75d1646bbad6980aa27555 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1586,6 +1586,13 @@ public class PurpurWorldConfig {
@@ -1588,6 +1588,13 @@ public class PurpurWorldConfig {
guardianTakeDamageFromWater = getBoolean("mobs.guardian.takes-damage-from-water", guardianTakeDamageFromWater);
}
@@ -75,5 +75,5 @@ index c36db31a08bf32bf299a98556ef1b603904c0e5d..a67a2d78529be584c6c64a23d03a2f40
+ }
+
public boolean hoglinRidable = false;
public boolean hoglinRidableInWater = false;
public boolean hoglinRidableInWater = true;
public boolean hoglinControllable = true;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add option to disable zombie villagers cure
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
index 9d981e392143baa43b6006ca9ef319fd538c304a..ce644b92598f70872e365584844eaefaccfd52dc 100644
index a6d9354d8ddac808cc89c5fe70842fc2472ff6fa..87556ffdfb93eba9c84931b1f922b9369442ea32 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
@@ -212,7 +212,7 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
@@ -18,10 +18,10 @@ index 9d981e392143baa43b6006ca9ef319fd538c304a..ce644b92598f70872e365584844eaefa
itemstack.shrink(1);
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c7eb338292be3715d1817159e47fc44909ab4e95..e706d6246ab83656486abc5474b3b70d2a126558 100644
index 36add7828b0d1da3d475e5d9d8901e29e28ecfbe..3c871085bc7f901104a63b0eb63c587b7a5f49fb 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2803,6 +2803,7 @@ public class PurpurWorldConfig {
@@ -2805,6 +2805,7 @@ public class PurpurWorldConfig {
public boolean zombieVillagerTakeDamageFromWater = false;
public int zombieVillagerCuringTimeMin = 3600;
public int zombieVillagerCuringTimeMax = 6000;
@@ -29,7 +29,7 @@ index c7eb338292be3715d1817159e47fc44909ab4e95..e706d6246ab83656486abc5474b3b70d
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2820,6 +2821,7 @@ public class PurpurWorldConfig {
@@ -2822,6 +2823,7 @@ public class PurpurWorldConfig {
zombieVillagerTakeDamageFromWater = getBoolean("mobs.zombie_villager.takes-damage-from-water", zombieVillagerTakeDamageFromWater);
zombieVillagerCuringTimeMin = getInt("mobs.zombie_villager.curing_time.min", zombieVillagerCuringTimeMin);
zombieVillagerCuringTimeMax = getInt("mobs.zombie_villager.curing_time.max", zombieVillagerCuringTimeMax);

File diff suppressed because it is too large Load Diff

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Shearing jeb produces random color wool
diff --git a/src/main/java/net/minecraft/world/entity/animal/Sheep.java b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
index 507526b0961f0f22f6ac67d60bb1de039d1ccf10..f168b84507a821f279a3341460dbd8dce0a5569c 100644
index ecde7e3f3bbc511d152153082671ca67e0d960ba..86ac81efb31b59c37bca9b0c53755cb6a409fb86 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Sheep.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
@@ -314,7 +314,7 @@ public class Sheep extends Animal implements Shearable {
@@ -18,10 +18,10 @@ index 507526b0961f0f22f6ac67d60bb1de039d1ccf10..f168b84507a821f279a3341460dbd8dc
if (entityitem != null) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ee8ff3e63f7b91804a75a49ac242013c12503b62..133d2c70ee57ff59726be47982d8744a6c728970 100644
index abaa9056864f96a92fa1d3fee6a26b71fc97b9f9..5debe4eafd4f42116669fe344310e100b5d59fcc 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2267,6 +2267,7 @@ public class PurpurWorldConfig {
@@ -2269,6 +2269,7 @@ public class PurpurWorldConfig {
public boolean sheepBypassMobGriefing = false;
public boolean sheepTakeDamageFromWater = false;
public boolean sheepAlwaysDropExp = false;
@@ -29,7 +29,7 @@ index ee8ff3e63f7b91804a75a49ac242013c12503b62..133d2c70ee57ff59726be47982d8744a
private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -2281,6 +2282,7 @@ public class PurpurWorldConfig {
@@ -2283,6 +2284,7 @@ public class PurpurWorldConfig {
sheepBypassMobGriefing = getBoolean("mobs.sheep.bypass-mob-griefing", sheepBypassMobGriefing);
sheepTakeDamageFromWater = getBoolean("mobs.sheep.takes-damage-from-water", sheepTakeDamageFromWater);
sheepAlwaysDropExp = getBoolean("mobs.sheep.always-drop-exp", sheepAlwaysDropExp);

View File

@@ -32,10 +32,10 @@ index 74ab12e61eb81c64d1ab805a737318c84b17c84a..2574641ef0c3614a856e358e712d2b2e
// Purpur start
if (entity instanceof LivingEntity entityliving) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index fd5c5126e69a4ae55c15c2b28aaad7b73d8cf7c8..aab384cd322b7ba57b92b703db32849e46277fa7 100644
index b071599f0ac964fee1dd93e31ecaaee720b979ab..6ff8cd77eaadbaa59294029e6d04523f4aa13e53 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1269,6 +1269,7 @@ public class PurpurWorldConfig {
@@ -1271,6 +1271,7 @@ public class PurpurWorldConfig {
public boolean creeperExplodeWhenKilled = false;
public boolean creeperHealthRadius = false;
public boolean creeperAlwaysDropExp = false;
@@ -43,7 +43,7 @@ index fd5c5126e69a4ae55c15c2b28aaad7b73d8cf7c8..aab384cd322b7ba57b92b703db32849e
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -1286,6 +1287,7 @@ public class PurpurWorldConfig {
@@ -1288,6 +1289,7 @@ public class PurpurWorldConfig {
creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled);
creeperHealthRadius = getBoolean("mobs.creeper.health-impacts-explosion", creeperHealthRadius);
creeperAlwaysDropExp = getBoolean("mobs.creeper.always-drop-exp", creeperAlwaysDropExp);
@@ -51,7 +51,7 @@ index fd5c5126e69a4ae55c15c2b28aaad7b73d8cf7c8..aab384cd322b7ba57b92b703db32849e
}
public boolean dolphinRidable = false;
@@ -2072,6 +2074,7 @@ public class PurpurWorldConfig {
@@ -2074,6 +2076,7 @@ public class PurpurWorldConfig {
public boolean piglinTakeDamageFromWater = false;
public int piglinPortalSpawnModifier = 2000;
public boolean piglinAlwaysDropExp = false;
@@ -59,7 +59,7 @@ index fd5c5126e69a4ae55c15c2b28aaad7b73d8cf7c8..aab384cd322b7ba57b92b703db32849e
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -2086,6 +2089,7 @@ public class PurpurWorldConfig {
@@ -2088,6 +2091,7 @@ public class PurpurWorldConfig {
piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater);
piglinPortalSpawnModifier = getInt("mobs.piglin.portal-spawn-modifier", piglinPortalSpawnModifier);
piglinAlwaysDropExp = getBoolean("mobs.piglin.always-drop-exp", piglinAlwaysDropExp);
@@ -67,7 +67,7 @@ index fd5c5126e69a4ae55c15c2b28aaad7b73d8cf7c8..aab384cd322b7ba57b92b703db32849e
}
public boolean piglinBruteRidable = false;
@@ -2347,6 +2351,7 @@ public class PurpurWorldConfig {
@@ -2349,6 +2353,7 @@ public class PurpurWorldConfig {
public double skeletonMaxHealth = 20.0D;
public boolean skeletonTakeDamageFromWater = false;
public boolean skeletonAlwaysDropExp = false;
@@ -75,7 +75,7 @@ index fd5c5126e69a4ae55c15c2b28aaad7b73d8cf7c8..aab384cd322b7ba57b92b703db32849e
private void skeletonSettings() {
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
@@ -2359,6 +2364,7 @@ public class PurpurWorldConfig {
@@ -2361,6 +2366,7 @@ public class PurpurWorldConfig {
skeletonMaxHealth = getDouble("mobs.skeleton.attributes.max_health", skeletonMaxHealth);
skeletonTakeDamageFromWater = getBoolean("mobs.skeleton.takes-damage-from-water", skeletonTakeDamageFromWater);
skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp);
@@ -83,7 +83,7 @@ index fd5c5126e69a4ae55c15c2b28aaad7b73d8cf7c8..aab384cd322b7ba57b92b703db32849e
}
public boolean skeletonHorseRidableInWater = true;
@@ -2893,6 +2899,7 @@ public class PurpurWorldConfig {
@@ -2895,6 +2901,7 @@ public class PurpurWorldConfig {
public boolean zombieBypassMobGriefing = false;
public boolean zombieTakeDamageFromWater = false;
public boolean zombieAlwaysDropExp = false;
@@ -91,7 +91,7 @@ index fd5c5126e69a4ae55c15c2b28aaad7b73d8cf7c8..aab384cd322b7ba57b92b703db32849e
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -2911,6 +2918,7 @@ public class PurpurWorldConfig {
@@ -2913,6 +2920,7 @@ public class PurpurWorldConfig {
zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing);
zombieTakeDamageFromWater = getBoolean("mobs.zombie.takes-damage-from-water", zombieTakeDamageFromWater);
zombieAlwaysDropExp = getBoolean("mobs.zombie.always-drop-exp", zombieAlwaysDropExp);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Stop bees from dying after stinging
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
index d87b3bca72d4e4866d41053b47adb96555851b3a..0660eb12f47f02cfff9ded1cdb965acbacb0d077 100644
index 86d49924f4fb5b38dfe7ec23a15e9bb5b2816543..e97731c58b86562827fb6b0a32a7a00e7b714cd3 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
@@ -455,6 +455,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -17,10 +17,10 @@ index d87b3bca72d4e4866d41053b47adb96555851b3a..0660eb12f47f02cfff9ded1cdb965acb
++this.timeSinceSting;
if (this.timeSinceSting % 5 == 0 && this.random.nextInt(Mth.clamp(1200 - this.timeSinceSting, 1, 1200)) == 0) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3635da728b6444a05a5eaf378f04ad3a6f3cb0a5..3da3083ed4603590751602c4d9baf79db8c52181 100644
index 6ff8cd77eaadbaa59294029e6d04523f4aa13e53..61b94d9e891a53e0492e3e2743de63064050b67d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1072,6 +1072,7 @@ public class PurpurWorldConfig {
@@ -1074,6 +1074,7 @@ public class PurpurWorldConfig {
public boolean beeCanWorkAtNight = false;
public boolean beeCanWorkInRain = false;
public boolean beeAlwaysDropExp = false;
@@ -28,7 +28,7 @@ index 3635da728b6444a05a5eaf378f04ad3a6f3cb0a5..3da3083ed4603590751602c4d9baf79d
private void beeSettings() {
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
@@ -1088,6 +1089,7 @@ public class PurpurWorldConfig {
@@ -1090,6 +1091,7 @@ public class PurpurWorldConfig {
beeCanWorkAtNight = getBoolean("mobs.bee.can-work-at-night", beeCanWorkAtNight);
beeCanWorkInRain = getBoolean("mobs.bee.can-work-in-rain", beeCanWorkInRain);
beeAlwaysDropExp = getBoolean("mobs.bee.always-drop-exp", beeAlwaysDropExp);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable phantom size
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
index 87ebdf7f5126365d112b1ea91b8202a036637f09..6c157dfc2f730d1a8afbc0a37f247305877d48ae 100644
index b4e13b4e02c37f5ff93164f01604e7e56580be72..2c00a9fdd3a6ea16ee765339857cf58521c85797 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -272,7 +272,11 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -22,10 +22,10 @@ index 87ebdf7f5126365d112b1ea91b8202a036637f09..6c157dfc2f730d1a8afbc0a37f247305
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 14167b1123cc085bd91dc9ad2a6ad8e96676ccba..9c26165d36bf392767f4e6dfb4d1e813a75d8d30 100644
index 0015c6ba0e4d400e309b386246418635a969a751..dc033470eec0fb84d085dbc95278ce48cd16fa30 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2012,6 +2012,8 @@ public class PurpurWorldConfig {
@@ -2014,6 +2014,8 @@ public class PurpurWorldConfig {
public boolean phantomFlamesOnSwoop = false;
public boolean phantomTakeDamageFromWater = false;
public boolean phantomAlwaysDropExp = false;
@@ -34,7 +34,7 @@ index 14167b1123cc085bd91dc9ad2a6ad8e96676ccba..9c26165d36bf392767f4e6dfb4d1e813
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -2048,6 +2050,13 @@ public class PurpurWorldConfig {
@@ -2050,6 +2052,13 @@ public class PurpurWorldConfig {
phantomFlamesOnSwoop = getBoolean("mobs.phantom.flames-on-swoop", phantomFlamesOnSwoop);
phantomTakeDamageFromWater = getBoolean("mobs.phantom.takes-damage-from-water", phantomTakeDamageFromWater);
phantomAlwaysDropExp = getBoolean("mobs.phantom.always-drop-exp", phantomAlwaysDropExp);

View File

@@ -9,7 +9,7 @@ This patch adds a config option to allow the minimum demand to instead
be configurable.
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 92adb537f342f3da41c91cf2c3141425e68e3cb7..598f03c777c729b13a97d328ffb4a450415b66d6 100644
index 11c89537abf00958645afb26070aea1fea5a66f2..3e600058279f9a08511984dc92d88a78dc2cc083 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -535,7 +535,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -40,10 +40,10 @@ index fd50d1c2435b82215bc5b3fdbe5044d426bc342e..68ffea572045634f1ad67a6954d480e6
public ItemStack assemble() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 551576e80373a16c98df67631bcd68f103dd9f7b..baa8ca905e3151addaa64418a337ae66d4e1d622 100644
index dc033470eec0fb84d085dbc95278ce48cd16fa30..21ed4ac1f16bfc80e8e900f864c67d36b8c1fe7a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2695,6 +2695,7 @@ public class PurpurWorldConfig {
@@ -2697,6 +2697,7 @@ public class PurpurWorldConfig {
public boolean villagerTakeDamageFromWater = false;
public boolean villagerAllowTrading = true;
public boolean villagerAlwaysDropExp = false;
@@ -51,7 +51,7 @@ index 551576e80373a16c98df67631bcd68f103dd9f7b..baa8ca905e3151addaa64418a337ae66
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2715,6 +2716,7 @@ public class PurpurWorldConfig {
@@ -2717,6 +2718,7 @@ public class PurpurWorldConfig {
villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater);
villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading);
villagerAlwaysDropExp = getBoolean("mobs.villager.always-drop-exp", villagerAlwaysDropExp);

View File

@@ -5,7 +5,7 @@ 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 598f03c777c729b13a97d328ffb4a450415b66d6..45579a592f519b54df5761a22f4abb0deff7feb6 100644
index 3e600058279f9a08511984dc92d88a78dc2cc083..bb49c74d3e625968fd99977a61b7e1255e81077e 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -139,6 +139,8 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -108,10 +108,10 @@ index a1a8ac55e572156671e47317ba061855be79e5ac..ec3fb8865211bd7625103c37af7b96df
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index baa8ca905e3151addaa64418a337ae66d4e1d622..6ba943d04afef431decbdf22fc9c140da758ecb0 100644
index 21ed4ac1f16bfc80e8e900f864c67d36b8c1fe7a..2603ac33aaba91d6717f3abeaac735efdafda6fe 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2696,6 +2696,8 @@ public class PurpurWorldConfig {
@@ -2698,6 +2698,8 @@ public class PurpurWorldConfig {
public boolean villagerAllowTrading = true;
public boolean villagerAlwaysDropExp = false;
public int villagerMinimumDemand = 0;
@@ -120,7 +120,7 @@ index baa8ca905e3151addaa64418a337ae66d4e1d622..6ba943d04afef431decbdf22fc9c140d
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2717,6 +2719,17 @@ public class PurpurWorldConfig {
@@ -2719,6 +2721,17 @@ public class PurpurWorldConfig {
villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading);
villagerAlwaysDropExp = getBoolean("mobs.villager.always-drop-exp", villagerAlwaysDropExp);
villagerMinimumDemand = getInt("mobs.villager.minimum-demand", villagerMinimumDemand);

View File

@@ -17,10 +17,10 @@ index 98373e013748817209b811d4adbb40a8787242a6..567b501f4de7556e55e2418d2f5700b4
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6ba943d04afef431decbdf22fc9c140da758ecb0..50be8afc743492d9cbb9d815ff70f1d89dfd84ef 100644
index 2603ac33aaba91d6717f3abeaac735efdafda6fe..7ad03e4bd91efb2d9476a00bc71dda5161ff63f2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2698,6 +2698,7 @@ public class PurpurWorldConfig {
@@ -2700,6 +2700,7 @@ public class PurpurWorldConfig {
public int villagerMinimumDemand = 0;
public boolean villagerLobotomizeEnabled = false;
public int villagerLobotomizeCheckInterval = 100;
@@ -28,7 +28,7 @@ index 6ba943d04afef431decbdf22fc9c140da758ecb0..50be8afc743492d9cbb9d815ff70f1d8
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2730,6 +2731,7 @@ public class PurpurWorldConfig {
@@ -2732,6 +2733,7 @@ public class PurpurWorldConfig {
}
villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled);
villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval);

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Implement configurable search radius for villagers to spawn
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 45579a592f519b54df5761a22f4abb0deff7feb6..d5fce1215d99de3393d06fdc65939920386b9318 100644
index bb49c74d3e625968fd99977a61b7e1255e81077e..e6349547695394786a46757170aae2230cb26bd1 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -1088,6 +1088,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -18,10 +18,10 @@ index 45579a592f519b54df5761a22f4abb0deff7feb6..d5fce1215d99de3393d06fdc65939920
AABB axisalignedbb = this.getBoundingBox().inflate(10.0D, 10.0D, 10.0D);
List<Villager> list = world.getEntitiesOfClass(Villager.class, axisalignedbb);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e270917327520602d7dded100963d5a4d59d1f2f..7f2e969c56b1a0d6f7ab999810aa242a0db68a48 100644
index ab17cf6c92083bf0ca0b1566b2c20288f85135a6..607106eed6cd801885fb8073f2f74b21dfc2e593 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2709,6 +2709,8 @@ public class PurpurWorldConfig {
@@ -2711,6 +2711,8 @@ public class PurpurWorldConfig {
public boolean villagerLobotomizeEnabled = false;
public int villagerLobotomizeCheckInterval = 100;
public boolean villagerDisplayTradeItem = true;
@@ -30,7 +30,7 @@ index e270917327520602d7dded100963d5a4d59d1f2f..7f2e969c56b1a0d6f7ab999810aa242a
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2742,6 +2744,8 @@ public class PurpurWorldConfig {
@@ -2744,6 +2746,8 @@ public class PurpurWorldConfig {
villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled);
villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval);
villagerDisplayTradeItem = getBoolean("mobs.villager.display-trade-item", villagerDisplayTradeItem);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Skeletons eat wither roses
diff --git a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
index 875f1ae6a16301b48ddcf7005c601a161dee124d..35146853e991420f1c97921699d0d220a7f51dc0 100644
index 78fc17c45e566e0844ffbebb85044b9bfe64c6db..64a5e000adbfa5de2abc32ea9182847dbf83293d 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
@@ -14,6 +14,16 @@ import net.minecraft.world.item.Items;
@@ -94,10 +94,10 @@ index 875f1ae6a16301b48ddcf7005c601a161dee124d..35146853e991420f1c97921699d0d220
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9b10778c3ea1bd0228faef3ce3b90fc18fadbca8..f74d10092590eaaccce753c9ba227f909b78adb2 100644
index 00156cc02bb7cf0e66eb1bc48c014971e284304b..e0a5254fbcb454c5cad43770d5c32d1553de9e21 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2393,6 +2393,7 @@ public class PurpurWorldConfig {
@@ -2395,6 +2395,7 @@ public class PurpurWorldConfig {
public boolean skeletonTakeDamageFromWater = false;
public boolean skeletonAlwaysDropExp = false;
public double skeletonHeadVisibilityPercent = 0.5D;
@@ -105,7 +105,7 @@ index 9b10778c3ea1bd0228faef3ce3b90fc18fadbca8..f74d10092590eaaccce753c9ba227f90
private void skeletonSettings() {
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
@@ -2406,6 +2407,7 @@ public class PurpurWorldConfig {
@@ -2408,6 +2409,7 @@ public class PurpurWorldConfig {
skeletonTakeDamageFromWater = getBoolean("mobs.skeleton.takes-damage-from-water", skeletonTakeDamageFromWater);
skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp);
skeletonHeadVisibilityPercent = getDouble("mobs.skeleton.head-visibility-percent", skeletonHeadVisibilityPercent);

View File

@@ -146,10 +146,10 @@ index 65e1381bb2d10bd212463feb602c60f8fdb9ade1..b7370e64fd0d50e8725d7d5afc30af2e
+ // Purpur
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f74d10092590eaaccce753c9ba227f909b78adb2..9d040d4dc7b0f1ff7884356d9ca1c0fab62c98cf 100644
index e0a5254fbcb454c5cad43770d5c32d1553de9e21..555e550f82c493f44711cacf5a193e6367c0ac04 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1428,6 +1428,11 @@ public class PurpurWorldConfig {
@@ -1430,6 +1430,11 @@ public class PurpurWorldConfig {
elderGuardianAlwaysDropExp = getBoolean("mobs.elder_guardian.always-drop-exp", elderGuardianAlwaysDropExp);
}
@@ -159,5 +159,5 @@ index f74d10092590eaaccce753c9ba227f909b78adb2..9d040d4dc7b0f1ff7884356d9ca1c0fa
+ }
+
public boolean enderDragonRidable = false;
public boolean enderDragonRidableInWater = false;
public boolean enderDragonRidableInWater = true;
public boolean enderDragonControllable = true;

View File

@@ -18,10 +18,10 @@ index 32a303f9ac9768daf621e3aa561cd6b31e5f5dff..9c8713ef3aeb2ff203bd0328d15d80c2
org.bukkit.event.entity.EntityShootBowEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityShootBowEvent(this, this.getMainHandItem(), entityarrow.getPickupItem(), entityarrow, net.minecraft.world.InteractionHand.MAIN_HAND, 0.8F, true); // Paper
if (event.isCancelled()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0fd388db152724327853ec5d27a306b427689b03..6fa7fd8d188685cbdde6ce737f533b0b5a97b6c2 100644
index b5bfa490c437eae6b6b03043cd8be80aca110094..05094403e47d4050aa151c2cdd6cbb84a61f532d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2413,6 +2413,8 @@ public class PurpurWorldConfig {
@@ -2415,6 +2415,8 @@ public class PurpurWorldConfig {
public boolean skeletonAlwaysDropExp = false;
public double skeletonHeadVisibilityPercent = 0.5D;
public int skeletonFeedWitherRoses = 0;
@@ -30,7 +30,7 @@ index 0fd388db152724327853ec5d27a306b427689b03..6fa7fd8d188685cbdde6ce737f533b0b
private void skeletonSettings() {
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
@@ -2427,6 +2429,18 @@ public class PurpurWorldConfig {
@@ -2429,6 +2431,18 @@ public class PurpurWorldConfig {
skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp);
skeletonHeadVisibilityPercent = getDouble("mobs.skeleton.head-visibility-percent", skeletonHeadVisibilityPercent);
skeletonFeedWitherRoses = getInt("mobs.skeleton.feed-wither-roses", skeletonFeedWitherRoses);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Allay respect item NBT
diff --git a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
index afbce4fdece213e456ef4e993f07bfb448bb2dd1..6051737b8e16d0790aec73757d13d7862ad74ef4 100644
index 10f386e7da49061a24beb7e934f3e75aefd3a5e9..0646a515b8ebcf004b372e8556451d05a02a4fc1 100644
--- a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
+++ b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
@@ -407,9 +407,31 @@ public class Allay extends PathfinderMob implements InventoryCarrier {
@@ -44,12 +44,12 @@ index afbce4fdece213e456ef4e993f07bfb448bb2dd1..6051737b8e16d0790aec73757d13d786
private boolean allayConsidersItemEqual(ItemStack stack, ItemStack stack2) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6fa7fd8d188685cbdde6ce737f533b0b5a97b6c2..9fcea4b1543fcd97e67b12064b91e69e846a551d 100644
index 05094403e47d4050aa151c2cdd6cbb84a61f532d..0284a513bd3b9e8d615b7ffada5e7650343f605c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1056,10 +1056,13 @@ public class PurpurWorldConfig {
@@ -1058,10 +1058,13 @@ public class PurpurWorldConfig {
public boolean allayRidable = false;
public boolean allayRidableInWater = false;
public boolean allayRidableInWater = true;
public boolean allayControllable = true;
+ public List<String> allayRespectNBT = new ArrayList<>();
private void allaySettings() {

View File

@@ -40,10 +40,10 @@ index c2309434b4d48a44587590623ac98dbf997b9578..6f723171fa71d74b351b5cf0cd167bb6
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9fcea4b1543fcd97e67b12064b91e69e846a551d..c23c279209892ddd78e815828b0b0a8892959d3c 100644
index 0284a513bd3b9e8d615b7ffada5e7650343f605c..ba76cd6207ee0e66338718d2bceb8f7bc58076ba 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1665,6 +1665,7 @@ public class PurpurWorldConfig {
@@ -1667,6 +1667,7 @@ public class PurpurWorldConfig {
public boolean glowSquidsCanFly = false;
public boolean glowSquidTakeDamageFromWater = false;
public boolean glowSquidAlwaysDropExp = false;
@@ -51,7 +51,7 @@ index 9fcea4b1543fcd97e67b12064b91e69e846a551d..c23c279209892ddd78e815828b0b0a88
private void glowSquidSettings() {
glowSquidRidable = getBoolean("mobs.glow_squid.ridable", glowSquidRidable);
glowSquidControllable = getBoolean("mobs.glow_squid.controllable", glowSquidControllable);
@@ -1672,6 +1673,7 @@ public class PurpurWorldConfig {
@@ -1674,6 +1675,7 @@ public class PurpurWorldConfig {
glowSquidsCanFly = getBoolean("mobs.glow_squid.can-fly", glowSquidsCanFly);
glowSquidTakeDamageFromWater = getBoolean("mobs.glow_squid.takes-damage-from-water", glowSquidTakeDamageFromWater);
glowSquidAlwaysDropExp = getBoolean("mobs.glow_squid.always-drop-exp", glowSquidAlwaysDropExp);

View File

@@ -24,10 +24,10 @@ index e241ae250f4f04a17ef2c583d00b065a4ca56a4c..02b567e4e808e1a809d285ef39e1abc5
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 19495d46b71f61ac31fc2354e7b01678e642108f..1e729867df0f3f80a785dd6b3b69a045c21f2156 100644
index 49c12f24cc5446f8d996490740ede863ed232562..fd565abe6bb48f3ec112bdbbe4a698d88fd2d0dc 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1321,6 +1321,7 @@ public class PurpurWorldConfig {
@@ -1323,6 +1323,7 @@ public class PurpurWorldConfig {
public boolean creeperHealthRadius = false;
public boolean creeperAlwaysDropExp = false;
public double creeperHeadVisibilityPercent = 0.5D;
@@ -35,7 +35,7 @@ index 19495d46b71f61ac31fc2354e7b01678e642108f..1e729867df0f3f80a785dd6b3b69a045
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -1339,6 +1340,7 @@ public class PurpurWorldConfig {
@@ -1341,6 +1342,7 @@ public class PurpurWorldConfig {
creeperHealthRadius = getBoolean("mobs.creeper.health-impacts-explosion", creeperHealthRadius);
creeperAlwaysDropExp = getBoolean("mobs.creeper.always-drop-exp", creeperAlwaysDropExp);
creeperHeadVisibilityPercent = getDouble("mobs.creeper.head-visibility-percent", creeperHeadVisibilityPercent);