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);