From a398e71e9d559597b85108ca91b929738352582e Mon Sep 17 00:00:00 2001 From: granny Date: Tue, 7 May 2024 05:01:07 -0700 Subject: [PATCH] add option to make ravagers afraid of rabbits resolves https://github.com/PurpurMC/Purpur/discussions/713 --- ...n-to-make-ravagers-afraid-of-rabbits.patch | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 patches/server/0294-option-to-make-ravagers-afraid-of-rabbits.patch diff --git a/patches/server/0294-option-to-make-ravagers-afraid-of-rabbits.patch b/patches/server/0294-option-to-make-ravagers-afraid-of-rabbits.patch new file mode 100644 index 000000000..765dd9d66 --- /dev/null +++ b/patches/server/0294-option-to-make-ravagers-afraid-of-rabbits.patch @@ -0,0 +1,39 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: granny +Date: Tue, 7 May 2024 04:59:57 -0700 +Subject: [PATCH] option to make ravagers afraid of rabbits + +https://github.com/PurpurMC/Purpur/discussions/713 + +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 9551bd7c9bed37cf17910e7f71b82ed20fb2d759..dbfcca8adb7afa7a3101f22c2bc48aff6abae4a2 100644 +--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java ++++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java +@@ -111,6 +111,7 @@ public class Ravager extends Raider { + super.registerGoals(); + this.goalSelector.addGoal(0, new FloatGoal(this)); + this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur ++ if (level().purpurConfig.ravagerAvoidRabbits) this.goalSelector.addGoal(3, new net.minecraft.world.entity.ai.goal.AvoidEntityGoal<>(this, net.minecraft.world.entity.animal.Rabbit.class, 6.0F, 1.0D, 1.2D)); // Purpur + this.goalSelector.addGoal(4, new MeleeAttackGoal(this, 1.0D, true)); + this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 0.4D)); + 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 710511db0e882d9795c2a1ff31570fbb05fbb0f1..d8de8710d9b8cf2ae5c434b2b0b27e76ffbbe4bf 100644 +--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java ++++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +@@ -2412,6 +2412,7 @@ public class PurpurWorldConfig { + public boolean ravagerTakeDamageFromWater = false; + public List ravagerGriefableBlocks = new ArrayList<>(); + public boolean ravagerAlwaysDropExp = false; ++ public boolean ravagerAvoidRabbits = false; + private void ravagerSettings() { + ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); + ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); +@@ -2442,6 +2443,7 @@ public class PurpurWorldConfig { + } + }); + ravagerAlwaysDropExp = getBoolean("mobs.ravager.always-drop-exp", ravagerAlwaysDropExp); ++ ravagerAvoidRabbits = getBoolean("mobs.ravager.avoid-rabbits", ravagerAvoidRabbits); + } + + public boolean salmonRidable = false;