Config to disable Llama caravans (#203)

This commit is contained in:
Encode42
2021-03-17 12:56:57 -04:00
committed by GitHub
parent a99a83bdf3
commit 45b9a18cd9

View File

@@ -0,0 +1,53 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Encode42 <me@encode42.dev>
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<Entity> 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);