From 45b9a18cd92c386d4793a360ac7abef74c983fb6 Mon Sep 17 00:00:00 2001 From: Encode42 Date: Wed, 17 Mar 2021 12:56:57 -0400 Subject: [PATCH] Config to disable Llama caravans (#203) --- ...183-Config-to-disable-Llama-caravans.patch | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 patches/server/0183-Config-to-disable-Llama-caravans.patch diff --git a/patches/server/0183-Config-to-disable-Llama-caravans.patch b/patches/server/0183-Config-to-disable-Llama-caravans.patch new file mode 100644 index 000000000..548386e37 --- /dev/null +++ b/patches/server/0183-Config-to-disable-Llama-caravans.patch @@ -0,0 +1,53 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Encode42 +Date: Wed, 17 Mar 2021 10:12:53 -0400 +Subject: [PATCH] Config to disable Llama caravans + +Disables the mechanic where llamas follow leashed llamas. + +diff --git a/src/main/java/net/minecraft/server/EntityLlama.java b/src/main/java/net/minecraft/server/EntityLlama.java +index f46a7cfe832c8cca83738b71882ff0a9819a7f41..b2e3f057206eab3a3c1a829b99ab66d3f8e212ad 100644 +--- a/src/main/java/net/minecraft/server/EntityLlama.java ++++ b/src/main/java/net/minecraft/server/EntityLlama.java +@@ -467,7 +467,7 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn + + public void joinCaravan(EntityLlama entitiyllama) { a(entitiyllama); } // Purpur - OBFHELPER + public void a(EntityLlama entityllama) { +- if (!shouldJoinCaravan || !new net.pl3x.purpur.event.entity.LlamaJoinCaravanEvent((org.bukkit.entity.Llama) getBukkitEntity(), (org.bukkit.entity.Llama) entityllama.getBukkitEntity()).callEvent()) return; // Purpur ++ if (!this.world.purpurConfig.llamaCaravans || !shouldJoinCaravan || !new net.pl3x.purpur.event.entity.LlamaJoinCaravanEvent((org.bukkit.entity.Llama) getBukkitEntity(), (org.bukkit.entity.Llama) entityllama.getBukkitEntity()).callEvent()) return; // Purpur + this.bB = entityllama; + this.bB.bC = this; + } +diff --git a/src/main/java/net/minecraft/server/PathfinderGoalLlamaFollow.java b/src/main/java/net/minecraft/server/PathfinderGoalLlamaFollow.java +index 47ffa669681da7512ee594ecb643f28576dee444..eb5e87b85f9daa392a69830dc4cee59a9b232837 100644 +--- a/src/main/java/net/minecraft/server/PathfinderGoalLlamaFollow.java ++++ b/src/main/java/net/minecraft/server/PathfinderGoalLlamaFollow.java +@@ -18,7 +18,7 @@ public class PathfinderGoalLlamaFollow extends PathfinderGoal { + + @Override + public boolean a() { +- if (!getLlama().shouldJoinCaravan) return false; // Purpur ++ if (!getLlama().world.purpurConfig.llamaCaravans || !getLlama().shouldJoinCaravan) return false; // Purpur + if (!this.a.isLeashed() && !this.a.fC()) { + List list = this.a.world.getEntities(this.a, this.a.getBoundingBox().grow(9.0D, 4.0D, 9.0D), (entity) -> { + EntityTypes entitytypes = entity.getEntityType(); +diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +index e3dccf08a9b931f83e0c0a218f5db60e643f7674..fc584ec761f04dbcc45e7e058d19a0efb110c2c6 100644 +--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java ++++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +@@ -1063,6 +1063,7 @@ public class PurpurWorldConfig { + + public boolean llamaRidable = false; + public boolean llamaRidableInWater = false; ++ public boolean llamaCaravans = true; + public int llamaBreedingTicks = 6000; + public double llamaMaxHealthMin = 15.0D; + public double llamaMaxHealthMax = 30.0D; +@@ -1073,6 +1074,7 @@ public class PurpurWorldConfig { + private void llamaSettings() { + llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); + llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); ++ llamaCaravans = getBoolean("mobs.llama.join-caravans", llamaCaravans); + llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks); + if (PurpurConfig.version < 10) { + double oldMin = getDouble("mobs.llama.attributes.max-health.min", llamaMaxHealthMin);