Config to disable Llama caravans

Disables the mechanic where llamas follow leashed llamas.
This commit is contained in:
Encode42
2025-01-10 22:56:39 -08:00
committed by granny
parent 1f2ee74cab
commit 78a8ea1817
4 changed files with 4 additions and 55 deletions

View File

@@ -4,7 +4,7 @@
@Override
public boolean canUse() {
+ if (!this.llama.shouldJoinCaravan) return false; // Purpur - Llama API
+ if (!this.llama.level().purpurConfig.llamaJoinCaravans || !this.llama.shouldJoinCaravan) return false; // Purpur - Llama API // Purpur - Config to disable Llama caravans
if (!this.llama.isLeashed() && !this.llama.inCaravan()) {
List<Entity> entities = this.llama.level().getEntities(this.llama, this.llama.getBoundingBox().inflate(9.0, 4.0, 9.0), entity1 -> {
EntityType<?> type = entity1.getType();

View File

@@ -36,7 +36,7 @@
}
public void joinCaravan(Llama caravanHead) {
+ if (!shouldJoinCaravan || !new org.purpurmc.purpur.event.entity.LlamaJoinCaravanEvent((org.bukkit.entity.Llama) getBukkitEntity(), (org.bukkit.entity.Llama) caravanHead.getBukkitEntity()).callEvent()) return; // Purpur - Llama API
+ if (!this.level().purpurConfig.llamaJoinCaravans || !shouldJoinCaravan || !new org.purpurmc.purpur.event.entity.LlamaJoinCaravanEvent((org.bukkit.entity.Llama) getBukkitEntity(), (org.bukkit.entity.Llama) caravanHead.getBukkitEntity()).callEvent()) return; // Purpur - Llama API // Purpur - Config to disable Llama caravans
this.caravanHead = caravanHead;
this.caravanHead.caravanTail = this;
}

View File

@@ -1380,6 +1380,7 @@ public class PurpurWorldConfig {
public double llamaMovementSpeedMax = 0.175D;
public int llamaBreedingTicks = 6000;
public boolean llamaTakeDamageFromWater = false;
public boolean llamaJoinCaravans = true;
private void llamaSettings() {
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
@@ -1399,6 +1400,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);
llamaJoinCaravans = getBoolean("mobs.llama.join-caravans", llamaJoinCaravans);
}
public boolean magmaCubeRidable = false;