mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Add option to disable Warden Sonic Boom (#1713)
This commit is contained in:
@@ -0,0 +1,21 @@
|
|||||||
|
--- a/net/minecraft/world/entity/monster/warden/WardenAi.java
|
||||||
|
+++ b/net/minecraft/world/entity/monster/warden/WardenAi.java
|
||||||
|
@@ -175,15 +_,16 @@
|
||||||
|
brain.addActivityAndRemoveMemoryWhenStopped(
|
||||||
|
Activity.FIGHT,
|
||||||
|
10,
|
||||||
|
- ImmutableList.of(
|
||||||
|
+ ImmutableList.copyOf(java.util.stream.Stream.<BehaviorControl<? super Warden>>of( // Purpur - configurable warden sonic boom
|
||||||
|
DIG_COOLDOWN_SETTER,
|
||||||
|
StopAttackingIfTargetInvalid.<Warden>create(
|
||||||
|
(level, entity) -> !warden.getAngerLevel().isAngry() || !warden.canTargetEntity(entity), WardenAi::onTargetInvalid, false
|
||||||
|
),
|
||||||
|
SetEntityLookTarget.create(entity -> isTarget(warden, entity), (float)warden.getAttributeValue(Attributes.FOLLOW_RANGE)),
|
||||||
|
SetWalkTargetFromAttackTargetIfTargetOutOfReach.create(1.2F),
|
||||||
|
- new SonicBoom(),
|
||||||
|
+ warden.level().purpurConfig.wardenCanUseSonicBoom ? new SonicBoom() : null, // Purpur - configurable warden sonic boom
|
||||||
|
MeleeAttack.create(18)
|
||||||
|
+ ).filter(java.util.Objects::nonNull).toList() // Purpur - configurable warden sonic boom
|
||||||
|
),
|
||||||
|
MemoryModuleType.ATTACK_TARGET
|
||||||
|
);
|
||||||
@@ -3385,10 +3385,12 @@ public class PurpurWorldConfig {
|
|||||||
public boolean wardenRidable = false;
|
public boolean wardenRidable = false;
|
||||||
public boolean wardenRidableInWater = true;
|
public boolean wardenRidableInWater = true;
|
||||||
public boolean wardenControllable = true;
|
public boolean wardenControllable = true;
|
||||||
|
public boolean wardenCanUseSonicBoom = true;
|
||||||
private void wardenSettings() {
|
private void wardenSettings() {
|
||||||
wardenRidable = getBoolean("mobs.warden.ridable", wardenRidable);
|
wardenRidable = getBoolean("mobs.warden.ridable", wardenRidable);
|
||||||
wardenRidableInWater = getBoolean("mobs.warden.ridable-in-water", wardenRidableInWater);
|
wardenRidableInWater = getBoolean("mobs.warden.ridable-in-water", wardenRidableInWater);
|
||||||
wardenControllable = getBoolean("mobs.warden.controllable", wardenControllable);
|
wardenControllable = getBoolean("mobs.warden.controllable", wardenControllable);
|
||||||
|
wardenCanUseSonicBoom = getBoolean("mobs.warden.can-use-sonic-boom", wardenCanUseSonicBoom);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean witchRidable = false;
|
public boolean witchRidable = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user