mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-04-19 17:58:15 +02:00
1373 lines
66 KiB
Diff
1373 lines
66 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: YouHaveTrouble <garrenpolska@gmail.com>
|
|
Date: Fri, 5 Feb 2021 01:11:22 +0100
|
|
Subject: [PATCH] Toggle for water sensitive mob damage
|
|
|
|
|
|
diff --git a/net/minecraft/world/entity/ambient/Bat.java b/net/minecraft/world/entity/ambient/Bat.java
|
|
index f40892bbe424408e3d11c887d5bd0fef179aaced..15bb425ed1569cbf445e81aa296039df8abc4746 100644
|
|
--- a/net/minecraft/world/entity/ambient/Bat.java
|
|
+++ b/net/minecraft/world/entity/ambient/Bat.java
|
|
@@ -109,6 +109,13 @@ public class Bat extends AmbientCreature {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.batTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
public boolean isFlapping() {
|
|
return !this.isResting() && this.tickCount % 10.0F == 0.0F;
|
|
diff --git a/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
|
index d4178d85b74a41a0d2808681008f1686578db98d..a3a98df8ffeb33d86330b5561252eda596642da8 100644
|
|
--- a/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
|
+++ b/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
|
@@ -150,6 +150,13 @@ public class Axolotl extends Animal implements Bucketable {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.axolotlTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
public float getWalkTargetValue(final BlockPos pos, final LevelReader level) {
|
|
return 0.0F;
|
|
diff --git a/net/minecraft/world/entity/animal/bee/Bee.java b/net/minecraft/world/entity/animal/bee/Bee.java
|
|
index 44f11b07a2b8a37db399976c4c79b44c4416f2e9..e85c33e4d0d19d4e7f8ef837ec0a611e19bc19e4 100644
|
|
--- a/net/minecraft/world/entity/animal/bee/Bee.java
|
|
+++ b/net/minecraft/world/entity/animal/bee/Bee.java
|
|
@@ -186,7 +186,7 @@ public class Bee extends Animal implements FlyingAnimal, NeutralMob {
|
|
// Paper end - Fix MC-167279
|
|
this.lookControl = new Bee.BeeLookControl(this);
|
|
this.setPathfindingMalus(PathType.FIRE_IN_NEIGHBOR, -1.0F);
|
|
- if (this.level().purpurConfig.beeCanInstantlyStartDrowning) this.setPathfindingMalus(PathType.WATER, -1.0F); // Purpur - bee can instantly start drowning in water option
|
|
+ if (this.level().purpurConfig.beeCanInstantlyStartDrowning || isSensitiveToWater()) this.setPathfindingMalus(PathType.WATER, -1.0F); // Purpur - bee can instantly start drowning in water option // Purpur - Toggle for water sensitive mob damage
|
|
this.setPathfindingMalus(PathType.WATER_BORDER, 16.0F);
|
|
this.setPathfindingMalus(PathType.COCOA, -1.0F);
|
|
this.setPathfindingMalus(PathType.FENCE, -1.0F);
|
|
@@ -495,6 +495,13 @@ public class Bee extends Animal implements FlyingAnimal, NeutralMob {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.beeTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
public long getPersistentAngerEndTime() {
|
|
return this.entityData.get(DATA_ANGER_END_TIME);
|
|
diff --git a/net/minecraft/world/entity/animal/chicken/Chicken.java b/net/minecraft/world/entity/animal/chicken/Chicken.java
|
|
index ccf7c4630e08d9be54a4634c642a4cd1cd542a82..4a59e133fc6c68f3b3d495c62bb965718643f6b8 100644
|
|
--- a/net/minecraft/world/entity/animal/chicken/Chicken.java
|
|
+++ b/net/minecraft/world/entity/animal/chicken/Chicken.java
|
|
@@ -113,6 +113,13 @@ public class Chicken extends Animal {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.chickenTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(0, new FloatGoal(this));
|
|
diff --git a/net/minecraft/world/entity/animal/cow/Cow.java b/net/minecraft/world/entity/animal/cow/Cow.java
|
|
index 7981f60f10c44ab2459933cb15ee961103922364..7d3853d693a87e5225a16285631e0e2057685c1b 100644
|
|
--- a/net/minecraft/world/entity/animal/cow/Cow.java
|
|
+++ b/net/minecraft/world/entity/animal/cow/Cow.java
|
|
@@ -66,6 +66,13 @@ public class Cow extends AbstractCow {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.cowTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void defineSynchedData(final SynchedEntityData.Builder entityData) {
|
|
super.defineSynchedData(entityData);
|
|
diff --git a/net/minecraft/world/entity/animal/cow/MushroomCow.java b/net/minecraft/world/entity/animal/cow/MushroomCow.java
|
|
index 68a4edef68c9db6b2b0716fc6283e2c7345d4cda..d3e5e12c4e3c168a3a15d611f8ae5845ee365080 100644
|
|
--- a/net/minecraft/world/entity/animal/cow/MushroomCow.java
|
|
+++ b/net/minecraft/world/entity/animal/cow/MushroomCow.java
|
|
@@ -92,6 +92,13 @@ public class MushroomCow extends AbstractCow implements Shearable {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.mooshroomTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
public float getWalkTargetValue(final BlockPos pos, final LevelReader level) {
|
|
return level.getBlockState(pos.below()).is(Blocks.MYCELIUM) ? 10.0F : level.getPathfindingCostFromLightLevels(pos);
|
|
diff --git a/net/minecraft/world/entity/animal/dolphin/Dolphin.java b/net/minecraft/world/entity/animal/dolphin/Dolphin.java
|
|
index b2e6307ead267fa8a1acd6956c409f2bcbf28c41..0cab39846b6ad5d0e0ce627d6a84f73340fcd328 100644
|
|
--- a/net/minecraft/world/entity/animal/dolphin/Dolphin.java
|
|
+++ b/net/minecraft/world/entity/animal/dolphin/Dolphin.java
|
|
@@ -162,6 +162,13 @@ public class Dolphin extends AgeableWaterCreature {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.dolphinTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
public @Nullable SpawnGroupData finalizeSpawn(
|
|
final ServerLevelAccessor level, final DifficultyInstance difficulty, final EntitySpawnReason spawnReason, final @Nullable SpawnGroupData groupData
|
|
diff --git a/net/minecraft/world/entity/animal/equine/Donkey.java b/net/minecraft/world/entity/animal/equine/Donkey.java
|
|
index 8c3d3f0f24e6f5a9b8aa9bf58f3c8b679896017d..5e0846fcaccfab5edbeb90bc61c2360cecf7a0c4 100644
|
|
--- a/net/minecraft/world/entity/animal/equine/Donkey.java
|
|
+++ b/net/minecraft/world/entity/animal/equine/Donkey.java
|
|
@@ -47,6 +47,13 @@ public class Donkey extends AbstractChestedHorse {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.donkeyTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
public SoundEvent getAmbientSound() {
|
|
return SoundEvents.DONKEY_AMBIENT;
|
|
diff --git a/net/minecraft/world/entity/animal/equine/Horse.java b/net/minecraft/world/entity/animal/equine/Horse.java
|
|
index dbb586058f38b6c4f81e2f6567b7ae8ebbaff5a2..64603ad973bdb697ca75642e8e42e7052efd4191 100644
|
|
--- a/net/minecraft/world/entity/animal/equine/Horse.java
|
|
+++ b/net/minecraft/world/entity/animal/equine/Horse.java
|
|
@@ -79,6 +79,13 @@ public class Horse extends AbstractHorse {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.horseTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void randomizeAttributes(final RandomSource random) {
|
|
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(generateMaxHealth(random::nextInt));
|
|
diff --git a/net/minecraft/world/entity/animal/equine/Llama.java b/net/minecraft/world/entity/animal/equine/Llama.java
|
|
index 138e10184c2b115e04a8a4c73ccc9a87a90e7409..c56d6f3a8a0c5a95da49ab34c72659872259a723 100644
|
|
--- a/net/minecraft/world/entity/animal/equine/Llama.java
|
|
+++ b/net/minecraft/world/entity/animal/equine/Llama.java
|
|
@@ -158,6 +158,13 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.llamaTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
public boolean isTraderLlama() {
|
|
return false;
|
|
}
|
|
diff --git a/net/minecraft/world/entity/animal/equine/Mule.java b/net/minecraft/world/entity/animal/equine/Mule.java
|
|
index cf0f3c9d5f8ff348e6fb76db823da4cadce4fc5b..291176b409097d15c2afff7fe8deb17ba07dbc12 100644
|
|
--- a/net/minecraft/world/entity/animal/equine/Mule.java
|
|
+++ b/net/minecraft/world/entity/animal/equine/Mule.java
|
|
@@ -46,6 +46,13 @@ public class Mule extends AbstractChestedHorse {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.muleTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
public SoundEvent getAmbientSound() {
|
|
return SoundEvents.MULE_AMBIENT;
|
|
diff --git a/net/minecraft/world/entity/animal/equine/SkeletonHorse.java b/net/minecraft/world/entity/animal/equine/SkeletonHorse.java
|
|
index a4a878791be034140a50b901d5daf2533d299756..9365609fad67377ffe18e11c7959e0d92367852a 100644
|
|
--- a/net/minecraft/world/entity/animal/equine/SkeletonHorse.java
|
|
+++ b/net/minecraft/world/entity/animal/equine/SkeletonHorse.java
|
|
@@ -74,6 +74,13 @@ public class SkeletonHorse extends AbstractHorse {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.skeletonHorseTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
public static AttributeSupplier.Builder createAttributes() {
|
|
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0).add(Attributes.MOVEMENT_SPEED, 0.2F);
|
|
}
|
|
diff --git a/net/minecraft/world/entity/animal/equine/TraderLlama.java b/net/minecraft/world/entity/animal/equine/TraderLlama.java
|
|
index 7c41aecd2699725211babbac0350cb241f31ca41..a9fcf7827e6a6b061c2a861d1e59bca80117699b 100644
|
|
--- a/net/minecraft/world/entity/animal/equine/TraderLlama.java
|
|
+++ b/net/minecraft/world/entity/animal/equine/TraderLlama.java
|
|
@@ -77,6 +77,13 @@ public class TraderLlama extends Llama {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.traderLlamaTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
public boolean isTraderLlama() {
|
|
return true;
|
|
diff --git a/net/minecraft/world/entity/animal/equine/ZombieHorse.java b/net/minecraft/world/entity/animal/equine/ZombieHorse.java
|
|
index 4be11663154a870a21832ddba05764a897ce90bd..586151b916a5e21c36578aa04cab9d71994dcf43 100644
|
|
--- a/net/minecraft/world/entity/animal/equine/ZombieHorse.java
|
|
+++ b/net/minecraft/world/entity/animal/equine/ZombieHorse.java
|
|
@@ -85,6 +85,13 @@ public class ZombieHorse extends AbstractHorse {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.zombieHorseTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
public static AttributeSupplier.Builder createAttributes() {
|
|
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 25.0);
|
|
}
|
|
diff --git a/net/minecraft/world/entity/animal/feline/Cat.java b/net/minecraft/world/entity/animal/feline/Cat.java
|
|
index 334879e3f1a28825749e7e4a3863454ee0a5ac9a..966b2cbc5b4f71d2cfa8759c2263407ee73c3d8e 100644
|
|
--- a/net/minecraft/world/entity/animal/feline/Cat.java
|
|
+++ b/net/minecraft/world/entity/animal/feline/Cat.java
|
|
@@ -135,6 +135,13 @@ public class Cat extends TamableAnimal {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.catTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.temptGoal = new Cat.CatTemptGoal(this, 0.6, i -> i.is(ItemTags.CAT_FOOD), true);
|
|
diff --git a/net/minecraft/world/entity/animal/feline/Ocelot.java b/net/minecraft/world/entity/animal/feline/Ocelot.java
|
|
index 2accf49e8dd907c8a482e5317d07b28fc5492a1e..9a582b789d3b3037c510c063a07f99f92ac58a1c 100644
|
|
--- a/net/minecraft/world/entity/animal/feline/Ocelot.java
|
|
+++ b/net/minecraft/world/entity/animal/feline/Ocelot.java
|
|
@@ -98,6 +98,13 @@ public class Ocelot extends Animal {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.ocelotTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
public boolean isTrusting() {
|
|
return this.entityData.get(DATA_TRUSTING);
|
|
}
|
|
diff --git a/net/minecraft/world/entity/animal/fish/Cod.java b/net/minecraft/world/entity/animal/fish/Cod.java
|
|
index 948d6a8e3465fd5985e91ca7eaa5f02258ad9625..f44214eaa47c2021f7ca9c84a7b89be15fecb5bc 100644
|
|
--- a/net/minecraft/world/entity/animal/fish/Cod.java
|
|
+++ b/net/minecraft/world/entity/animal/fish/Cod.java
|
|
@@ -32,6 +32,13 @@ public class Cod extends AbstractSchoolingFish {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.codTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
public ItemStack getBucketItemStack() {
|
|
return new ItemStack(Items.COD_BUCKET);
|
|
diff --git a/net/minecraft/world/entity/animal/fish/Pufferfish.java b/net/minecraft/world/entity/animal/fish/Pufferfish.java
|
|
index 26acbeff80d3a4216b69b9842381f3fa48c9862b..a0f1ea76011dc3aa6e8a702528062f5fafe07e01 100644
|
|
--- a/net/minecraft/world/entity/animal/fish/Pufferfish.java
|
|
+++ b/net/minecraft/world/entity/animal/fish/Pufferfish.java
|
|
@@ -66,6 +66,13 @@ public class Pufferfish extends AbstractFish {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.pufferfishTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void defineSynchedData(final SynchedEntityData.Builder entityData) {
|
|
super.defineSynchedData(entityData);
|
|
diff --git a/net/minecraft/world/entity/animal/fish/Salmon.java b/net/minecraft/world/entity/animal/fish/Salmon.java
|
|
index d9276ab9af526f1714d3241bbf6f9c7906adec70..ba75ba1130c4fe5f4d7b29c624a17becd2a71c99 100644
|
|
--- a/net/minecraft/world/entity/animal/fish/Salmon.java
|
|
+++ b/net/minecraft/world/entity/animal/fish/Salmon.java
|
|
@@ -60,6 +60,13 @@ public class Salmon extends AbstractSchoolingFish {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.salmonTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
public int getMaxSchoolSize() {
|
|
return 5;
|
|
diff --git a/net/minecraft/world/entity/animal/fish/TropicalFish.java b/net/minecraft/world/entity/animal/fish/TropicalFish.java
|
|
index fbe7b76aac06bb0dce7ae53dea85e947a53d1b64..17bc569bf97026e2c072633f1ad6e9e0102c137a 100644
|
|
--- a/net/minecraft/world/entity/animal/fish/TropicalFish.java
|
|
+++ b/net/minecraft/world/entity/animal/fish/TropicalFish.java
|
|
@@ -96,6 +96,13 @@ public class TropicalFish extends AbstractSchoolingFish {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.tropicalFishTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
public static String getPredefinedName(final int index) {
|
|
return "entity.minecraft.tropical_fish.predefined." + index;
|
|
}
|
|
diff --git a/net/minecraft/world/entity/animal/fox/Fox.java b/net/minecraft/world/entity/animal/fox/Fox.java
|
|
index 29c09797530fa25e31177cf402ecac6a8f43bb23..c70e04d20e37b7063618805016d24a459ee65c91 100644
|
|
--- a/net/minecraft/world/entity/animal/fox/Fox.java
|
|
+++ b/net/minecraft/world/entity/animal/fox/Fox.java
|
|
@@ -208,6 +208,13 @@ public class Fox extends Animal {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.foxTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void defineSynchedData(final SynchedEntityData.Builder entityData) {
|
|
super.defineSynchedData(entityData);
|
|
diff --git a/net/minecraft/world/entity/animal/goat/Goat.java b/net/minecraft/world/entity/animal/goat/Goat.java
|
|
index c8b2ef70ca3f730d87c30af9f29adb2ad083d26f..24cccc6afadfc91feb6157882c1b76da0d3657d1 100644
|
|
--- a/net/minecraft/world/entity/animal/goat/Goat.java
|
|
+++ b/net/minecraft/world/entity/animal/goat/Goat.java
|
|
@@ -124,6 +124,13 @@ public class Goat extends Animal {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.goatTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected Brain<Goat> makeBrain(final Brain.Packed packedBrain) {
|
|
return BRAIN_PROVIDER.makeBrain(this, packedBrain);
|
|
diff --git a/net/minecraft/world/entity/animal/golem/CopperGolem.java b/net/minecraft/world/entity/animal/golem/CopperGolem.java
|
|
index bc66450f8d1be97f11f8380755a9973e8ef4befa..078cb2f09e9aaf05bb965a27b90f34c7c3a4147d 100644
|
|
--- a/net/minecraft/world/entity/animal/golem/CopperGolem.java
|
|
+++ b/net/minecraft/world/entity/animal/golem/CopperGolem.java
|
|
@@ -144,6 +144,13 @@ public class CopperGolem extends AbstractGolem implements ContainerUser, Shearab
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.copperGolemTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
public static AttributeSupplier.Builder createAttributes() {
|
|
return Mob.createMobAttributes().add(Attributes.MOVEMENT_SPEED, 0.2F).add(Attributes.STEP_HEIGHT, 1.0).add(Attributes.MAX_HEALTH, 12.0);
|
|
}
|
|
diff --git a/net/minecraft/world/entity/animal/golem/IronGolem.java b/net/minecraft/world/entity/animal/golem/IronGolem.java
|
|
index ec08c9c2ac32863807061d93ec8894bd094f7ab4..77996312597da9a2bbcf89f798c10a0be0abcd39 100644
|
|
--- a/net/minecraft/world/entity/animal/golem/IronGolem.java
|
|
+++ b/net/minecraft/world/entity/animal/golem/IronGolem.java
|
|
@@ -99,6 +99,13 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.ironGolemTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
if (this.level().purpurConfig.ironGolemPoppyCalm) this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.ReceiveFlower(this)); // Purpur - Iron golem calm anger options
|
|
diff --git a/net/minecraft/world/entity/animal/golem/SnowGolem.java b/net/minecraft/world/entity/animal/golem/SnowGolem.java
|
|
index 7091f5bc2ecb9d4b86162fe364447df65d8e9348..2d3127f6846ff9eda1a0b89764dc837da6e7e0c7 100644
|
|
--- a/net/minecraft/world/entity/animal/golem/SnowGolem.java
|
|
+++ b/net/minecraft/world/entity/animal/golem/SnowGolem.java
|
|
@@ -124,7 +124,7 @@ public class SnowGolem extends AbstractGolem implements RangedAttackMob, Shearab
|
|
|
|
@Override
|
|
public boolean isSensitiveToWater() {
|
|
- return true;
|
|
+ return this.level().purpurConfig.snowGolemTakeDamageFromWater; // Purpur - Toggle for water sensitive mob damage
|
|
}
|
|
|
|
@Override
|
|
diff --git a/net/minecraft/world/entity/animal/happyghast/HappyGhast.java b/net/minecraft/world/entity/animal/happyghast/HappyGhast.java
|
|
index b049adf5604555041102497d7fe0c865c56d751f..a73d8d3eb04602eac78f142c336e464de22ecc83 100644
|
|
--- a/net/minecraft/world/entity/animal/happyghast/HappyGhast.java
|
|
+++ b/net/minecraft/world/entity/animal/happyghast/HappyGhast.java
|
|
@@ -161,6 +161,13 @@ public class HappyGhast extends Animal {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.happyGhastTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void ageBoundaryReached() {
|
|
if (this.isBaby()) {
|
|
diff --git a/net/minecraft/world/entity/animal/panda/Panda.java b/net/minecraft/world/entity/animal/panda/Panda.java
|
|
index f413e018856d485f706d2b8742b92b3253fe6532..2f9f588c384d133f82bb4b2d08c8f7c7a72c0915 100644
|
|
--- a/net/minecraft/world/entity/animal/panda/Panda.java
|
|
+++ b/net/minecraft/world/entity/animal/panda/Panda.java
|
|
@@ -153,6 +153,13 @@ public class Panda extends Animal {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.pandaTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected boolean canDispenserEquipIntoSlot(final EquipmentSlot slot) {
|
|
return slot == EquipmentSlot.MAINHAND && this.canPickUpLoot();
|
|
diff --git a/net/minecraft/world/entity/animal/parrot/Parrot.java b/net/minecraft/world/entity/animal/parrot/Parrot.java
|
|
index af3d3b90f2e4d433b3b842dbc37d8c507a73dc1f..d756d6931dbf560fef5cb9641ace6f091fbcfff9 100644
|
|
--- a/net/minecraft/world/entity/animal/parrot/Parrot.java
|
|
+++ b/net/minecraft/world/entity/animal/parrot/Parrot.java
|
|
@@ -214,6 +214,13 @@ public class Parrot extends ShoulderRidingEntity implements FlyingAnimal {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.parrotTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
public @Nullable SpawnGroupData finalizeSpawn(
|
|
final ServerLevelAccessor level, final DifficultyInstance difficulty, final EntitySpawnReason spawnReason, @Nullable SpawnGroupData groupData
|
|
diff --git a/net/minecraft/world/entity/animal/pig/Pig.java b/net/minecraft/world/entity/animal/pig/Pig.java
|
|
index 514f13a6965b5f53890ddd2e47ea89e0c1a515c1..05141bc41dc5181a8f0526528147e7a6c015a707 100644
|
|
--- a/net/minecraft/world/entity/animal/pig/Pig.java
|
|
+++ b/net/minecraft/world/entity/animal/pig/Pig.java
|
|
@@ -100,6 +100,13 @@ public class Pig extends Animal implements ItemSteerable {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.pigTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(0, new FloatGoal(this));
|
|
diff --git a/net/minecraft/world/entity/animal/polarbear/PolarBear.java b/net/minecraft/world/entity/animal/polarbear/PolarBear.java
|
|
index 6d4713663c94e91da7d809e65fa205aff2782f38..2a28c9ef361909aa0c3946ed6857f7d340c8cfc0 100644
|
|
--- a/net/minecraft/world/entity/animal/polarbear/PolarBear.java
|
|
+++ b/net/minecraft/world/entity/animal/polarbear/PolarBear.java
|
|
@@ -134,6 +134,13 @@ public class PolarBear extends Animal implements NeutralMob {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.polarBearTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
public @Nullable AgeableMob getBreedOffspring(final ServerLevel level, final AgeableMob partner) {
|
|
return EntityType.POLAR_BEAR.create(level, EntitySpawnReason.BREEDING);
|
|
diff --git a/net/minecraft/world/entity/animal/rabbit/Rabbit.java b/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
|
index 4d79ce89c21ba0b973bbda01bf53665e3b7a1902..7dade80db9430e4db587ed23df992d70c6b7ee04 100644
|
|
--- a/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
|
+++ b/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
|
@@ -177,6 +177,13 @@ public class Rabbit extends Animal {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.rabbitTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
public void registerGoals() {
|
|
this.goalSelector.addGoal(1, new FloatGoal(this));
|
|
diff --git a/net/minecraft/world/entity/animal/sheep/Sheep.java b/net/minecraft/world/entity/animal/sheep/Sheep.java
|
|
index e83fe71b4f63f8f7fa1976f7d2165c36bbb184bf..49389028a34971bbd1c480ba91e2b53d3c26513c 100644
|
|
--- a/net/minecraft/world/entity/animal/sheep/Sheep.java
|
|
+++ b/net/minecraft/world/entity/animal/sheep/Sheep.java
|
|
@@ -95,6 +95,13 @@ public class Sheep extends Animal implements Shearable {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.sheepTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.eatBlockGoal = new EatBlockGoal(this);
|
|
diff --git a/net/minecraft/world/entity/animal/squid/GlowSquid.java b/net/minecraft/world/entity/animal/squid/GlowSquid.java
|
|
index cb3d0bd838473af87af74c7d1bab38593a6c8f6d..1fa3d614dd1c45ec42caffbe92e3f8db02b399b1 100644
|
|
--- a/net/minecraft/world/entity/animal/squid/GlowSquid.java
|
|
+++ b/net/minecraft/world/entity/animal/squid/GlowSquid.java
|
|
@@ -57,6 +57,13 @@ public class GlowSquid extends Squid {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.glowSquidTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected ParticleOptions getInkParticle() {
|
|
return ParticleTypes.GLOW_SQUID_INK;
|
|
diff --git a/net/minecraft/world/entity/animal/squid/Squid.java b/net/minecraft/world/entity/animal/squid/Squid.java
|
|
index 49ef7f4004a2f82df2d8cbf0d0473a5d84588fac..8b26b08956e63d3ccb9a7006cfa57ac3771339ad 100644
|
|
--- a/net/minecraft/world/entity/animal/squid/Squid.java
|
|
+++ b/net/minecraft/world/entity/animal/squid/Squid.java
|
|
@@ -104,6 +104,13 @@ public class Squid extends AgeableWaterCreature {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.squidTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(0, new Squid.SquidRandomMovementGoal(this));
|
|
diff --git a/net/minecraft/world/entity/animal/turtle/Turtle.java b/net/minecraft/world/entity/animal/turtle/Turtle.java
|
|
index 62d9fce83cc44165c5356049a12bf6081c925857..6d09c0de38f2c91d2a0ab6dd0b694ab42b48a981 100644
|
|
--- a/net/minecraft/world/entity/animal/turtle/Turtle.java
|
|
+++ b/net/minecraft/world/entity/animal/turtle/Turtle.java
|
|
@@ -119,6 +119,13 @@ public class Turtle extends Animal {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.turtleTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
public void setHomePos(final BlockPos pos) {
|
|
this.homePos = pos;
|
|
}
|
|
diff --git a/net/minecraft/world/entity/animal/wolf/Wolf.java b/net/minecraft/world/entity/animal/wolf/Wolf.java
|
|
index 0ac4e30fd4f3158b5f53e9ba8bc70964907c63a2..cd7981c9c040e1b745e08680bf3685903cbda8ff 100644
|
|
--- a/net/minecraft/world/entity/animal/wolf/Wolf.java
|
|
+++ b/net/minecraft/world/entity/animal/wolf/Wolf.java
|
|
@@ -220,6 +220,13 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.wolfTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(1, new FloatGoal(this));
|
|
diff --git a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
|
index 89acbf42f9ce83c41bb2167e332e1b20e6e8fa56..26a525dc6458e9ebcc37dafa0d73518e65d54f42 100644
|
|
--- a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
|
+++ b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
|
@@ -170,6 +170,13 @@ public class EnderDragon extends Mob implements Enemy {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.enderDragonTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
public static AttributeSupplier.Builder createAttributes() {
|
|
return Mob.createMobAttributes().add(Attributes.MAX_HEALTH, 200.0).add(Attributes.CAMERA_DISTANCE, 16.0);
|
|
}
|
|
diff --git a/net/minecraft/world/entity/boss/wither/WitherBoss.java b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
|
index 30d9d12d67e2adb7d37c2a38ea1a5b528ba4ab06..5e206030d9ccabbefe9c64332125526030d65750 100644
|
|
--- a/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
|
+++ b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
|
@@ -222,6 +222,13 @@ public class WitherBoss extends Monster implements RangedAttackMob {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.witherTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected PathNavigation createNavigation(final Level level) {
|
|
FlyingPathNavigation flyingPathNavigation = new FlyingPathNavigation(this, level);
|
|
diff --git a/net/minecraft/world/entity/monster/Blaze.java b/net/minecraft/world/entity/monster/Blaze.java
|
|
index b553c6dd60bd23fba7ee3df9886561fc7640f104..7f0e76437798f1bab7956722382e1517f8f71121 100644
|
|
--- a/net/minecraft/world/entity/monster/Blaze.java
|
|
+++ b/net/minecraft/world/entity/monster/Blaze.java
|
|
@@ -35,7 +35,7 @@ public class Blaze extends Monster {
|
|
public Blaze(final EntityType<? extends Blaze> blaze, final Level level) {
|
|
super(blaze, level);
|
|
this.moveControl = new org.purpurmc.purpur.controller.FlyingWithSpacebarMoveControllerWASD(this, 0.3F); // Purpur - Ridables
|
|
- this.setPathfindingMalus(PathType.WATER, -1.0F);
|
|
+ if (isSensitiveToWater()) this.setPathfindingMalus(PathType.WATER, -1.0F); // Purpur - Toggle for water sensitive mob damage
|
|
this.setPathfindingMalus(PathType.LAVA, 8.0F);
|
|
this.setPathfindingMalus(PathType.FIRE_IN_NEIGHBOR, 0.0F);
|
|
this.setPathfindingMalus(PathType.FIRE, 0.0F);
|
|
@@ -158,7 +158,7 @@ public class Blaze extends Monster {
|
|
|
|
@Override
|
|
public boolean isSensitiveToWater() {
|
|
- return true;
|
|
+ return this.level().purpurConfig.blazeTakeDamageFromWater; // Purpur - Toggle for water sensitive mob damage
|
|
}
|
|
|
|
@Override
|
|
diff --git a/net/minecraft/world/entity/monster/Creeper.java b/net/minecraft/world/entity/monster/Creeper.java
|
|
index 73b0efd692205f56862c7287d7222efebe3faf73..80327a6ba1da0145f087a7946c7a4dfb6d947ce7 100644
|
|
--- a/net/minecraft/world/entity/monster/Creeper.java
|
|
+++ b/net/minecraft/world/entity/monster/Creeper.java
|
|
@@ -266,6 +266,13 @@ public class Creeper extends Monster {
|
|
}
|
|
// Purpur end - Config to make Creepers explode on death
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.creeperTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
public SoundEvent getHurtSound(final DamageSource source) {
|
|
return SoundEvents.CREEPER_HURT;
|
|
diff --git a/net/minecraft/world/entity/monster/ElderGuardian.java b/net/minecraft/world/entity/monster/ElderGuardian.java
|
|
index ffcfe02c51f6df1bd238c821a8d6535f4ccf019c..a98967c7a76d8e25da9e31eaa8f2ae0bf0704c9d 100644
|
|
--- a/net/minecraft/world/entity/monster/ElderGuardian.java
|
|
+++ b/net/minecraft/world/entity/monster/ElderGuardian.java
|
|
@@ -51,6 +51,13 @@ public class ElderGuardian extends Guardian {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.elderGuardianTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
public static AttributeSupplier.Builder createAttributes() {
|
|
return Guardian.createAttributes().add(Attributes.MOVEMENT_SPEED, 0.3F).add(Attributes.ATTACK_DAMAGE, 8.0).add(Attributes.MAX_HEALTH, 80.0);
|
|
}
|
|
diff --git a/net/minecraft/world/entity/monster/EnderMan.java b/net/minecraft/world/entity/monster/EnderMan.java
|
|
index 46a60e17837411e46a543d6f0254d7280d30a94c..8862ad857a4c99defe7621c59d8f3ef77ab7aff4 100644
|
|
--- a/net/minecraft/world/entity/monster/EnderMan.java
|
|
+++ b/net/minecraft/world/entity/monster/EnderMan.java
|
|
@@ -86,7 +86,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
|
|
|
public EnderMan(final EntityType<? extends EnderMan> type, final Level level) {
|
|
super(type, level);
|
|
- this.setPathfindingMalus(PathType.WATER, -1.0F);
|
|
+ if (isSensitiveToWater()) this.setPathfindingMalus(PathType.WATER, -1.0F); // Purpur - Toggle for water sensitive mob damage
|
|
}
|
|
|
|
// Purpur start - Ridables
|
|
@@ -285,7 +285,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
|
|
|
@Override
|
|
public boolean isSensitiveToWater() {
|
|
- return true;
|
|
+ return this.level().purpurConfig.endermanTakeDamageFromWater; // Purpur - Toggle for water sensitive mob damage
|
|
}
|
|
|
|
@Override
|
|
diff --git a/net/minecraft/world/entity/monster/Endermite.java b/net/minecraft/world/entity/monster/Endermite.java
|
|
index 040f0b59d93b1b94495253f3286bdba123c22ef4..859d490dd3be2843dde3a811bcc0d51e3eae76f0 100644
|
|
--- a/net/minecraft/world/entity/monster/Endermite.java
|
|
+++ b/net/minecraft/world/entity/monster/Endermite.java
|
|
@@ -72,6 +72,13 @@ public class Endermite extends Monster {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.endermiteTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(1, new FloatGoal(this));
|
|
diff --git a/net/minecraft/world/entity/monster/Ghast.java b/net/minecraft/world/entity/monster/Ghast.java
|
|
index 4a786f17a7a8e6175775c4705445e9dff1b2aa7c..64800fe5cfb3488b63126ed09f1f678d6ebd1d3b 100644
|
|
--- a/net/minecraft/world/entity/monster/Ghast.java
|
|
+++ b/net/minecraft/world/entity/monster/Ghast.java
|
|
@@ -83,6 +83,13 @@ public class Ghast extends Mob implements Enemy {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.ghastTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
|
|
diff --git a/net/minecraft/world/entity/monster/Giant.java b/net/minecraft/world/entity/monster/Giant.java
|
|
index c39031e8fdfb0dff7867d9525dbddde110242647..43ebfe06ce2a8c15787d72a8ef54cd6c7cac2bfc 100644
|
|
--- a/net/minecraft/world/entity/monster/Giant.java
|
|
+++ b/net/minecraft/world/entity/monster/Giant.java
|
|
@@ -62,6 +62,13 @@ public class Giant extends Monster {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.giantTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
public static AttributeSupplier.Builder createAttributes() {
|
|
return Monster.createMonsterAttributes()
|
|
.add(Attributes.MAX_HEALTH, 100.0)
|
|
diff --git a/net/minecraft/world/entity/monster/Guardian.java b/net/minecraft/world/entity/monster/Guardian.java
|
|
index d5880eebf3c64dab03234ac55110645541413c4a..ea7e6a1b4dad1b702ddc5b6004c5ebdfd541334d 100644
|
|
--- a/net/minecraft/world/entity/monster/Guardian.java
|
|
+++ b/net/minecraft/world/entity/monster/Guardian.java
|
|
@@ -97,6 +97,13 @@ public class Guardian extends Monster {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.guardianTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
MoveTowardsRestrictionGoal goal = new MoveTowardsRestrictionGoal(this, 1.0);
|
|
diff --git a/net/minecraft/world/entity/monster/MagmaCube.java b/net/minecraft/world/entity/monster/MagmaCube.java
|
|
index d40a4daeec1500f2d9865022ee6e3c386ad7533e..fba41f261e57a050d4e24d2611cc27edcbb84ddf 100644
|
|
--- a/net/minecraft/world/entity/monster/MagmaCube.java
|
|
+++ b/net/minecraft/world/entity/monster/MagmaCube.java
|
|
@@ -68,6 +68,13 @@ public class MagmaCube extends Slime {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.magmaCubeTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
public static AttributeSupplier.Builder createAttributes() {
|
|
return Monster.createMonsterAttributes().add(Attributes.MOVEMENT_SPEED, 0.2F);
|
|
}
|
|
diff --git a/net/minecraft/world/entity/monster/Phantom.java b/net/minecraft/world/entity/monster/Phantom.java
|
|
index b3a79a6387fbf00c97da4452cb48e4808e5391be..646ec1cfc192e16939c9e3dac04b77d1429f82e3 100644
|
|
--- a/net/minecraft/world/entity/monster/Phantom.java
|
|
+++ b/net/minecraft/world/entity/monster/Phantom.java
|
|
@@ -129,6 +129,13 @@ public class Phantom extends Mob implements Enemy {
|
|
}
|
|
// Purpur end - Phantoms attracted to crystals and crystals shoot phantoms
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.phantomTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
public boolean isFlapping() {
|
|
return (this.getUniqueFlapTickOffset() + this.tickCount) % TICKS_PER_FLAP == 0;
|
|
diff --git a/net/minecraft/world/entity/monster/Ravager.java b/net/minecraft/world/entity/monster/Ravager.java
|
|
index 01e09b39ac5385e7cbfa8a38df94884c17f8f8c0..3e0403635cb9ce3d0894705db6727d9a7cc4d628 100644
|
|
--- a/net/minecraft/world/entity/monster/Ravager.java
|
|
+++ b/net/minecraft/world/entity/monster/Ravager.java
|
|
@@ -101,6 +101,13 @@ public class Ravager extends Raider {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.ravagerTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
super.registerGoals();
|
|
diff --git a/net/minecraft/world/entity/monster/Shulker.java b/net/minecraft/world/entity/monster/Shulker.java
|
|
index 2ba213e85002f7c76e3dbd8b386ebbb0b11fa86b..67aa12ee4a58e7cd31efb47cd1d71eaa2cc6af7d 100644
|
|
--- a/net/minecraft/world/entity/monster/Shulker.java
|
|
+++ b/net/minecraft/world/entity/monster/Shulker.java
|
|
@@ -135,6 +135,13 @@ public class Shulker extends AbstractGolem implements Enemy {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.shulkerTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
|
|
diff --git a/net/minecraft/world/entity/monster/Silverfish.java b/net/minecraft/world/entity/monster/Silverfish.java
|
|
index e5a0a199685366f082904eb5e7550f0160f9c706..205c05f46d70d37e11a0e35c97128e0c20b94e23 100644
|
|
--- a/net/minecraft/world/entity/monster/Silverfish.java
|
|
+++ b/net/minecraft/world/entity/monster/Silverfish.java
|
|
@@ -65,6 +65,13 @@ public class Silverfish extends Monster {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.silverfishTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.friendsGoal = new Silverfish.SilverfishWakeUpFriendsGoal(this);
|
|
diff --git a/net/minecraft/world/entity/monster/Slime.java b/net/minecraft/world/entity/monster/Slime.java
|
|
index f541ccef625ab0d560f4781c28ad7ae3b67196d6..834125d0ded28a1d7a39a3e5fcf6a5bb967c7f91 100644
|
|
--- a/net/minecraft/world/entity/monster/Slime.java
|
|
+++ b/net/minecraft/world/entity/monster/Slime.java
|
|
@@ -135,6 +135,13 @@ public class Slime extends Mob implements Enemy {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.slimeTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
|
|
diff --git a/net/minecraft/world/entity/monster/Strider.java b/net/minecraft/world/entity/monster/Strider.java
|
|
index 38a17c219bce1a8a8a67b136e0eaf5cf15ec94fd..1b6137674d807ed29d56e3f3120abe60254274e1 100644
|
|
--- a/net/minecraft/world/entity/monster/Strider.java
|
|
+++ b/net/minecraft/world/entity/monster/Strider.java
|
|
@@ -87,7 +87,7 @@ public class Strider extends Animal implements ItemSteerable {
|
|
public Strider(final EntityType<? extends Strider> strider, final Level level) {
|
|
super(strider, level);
|
|
this.blocksBuilding = true;
|
|
- this.setPathfindingMalus(PathType.WATER, -1.0F);
|
|
+ if (isSensitiveToWater()) this.setPathfindingMalus(PathType.WATER, -1.0F); // Purpur - Toggle for water sensitive mob damage
|
|
this.setPathfindingMalus(PathType.LAVA, 0.0F);
|
|
this.setPathfindingMalus(PathType.FIRE_IN_NEIGHBOR, 0.0F);
|
|
this.setPathfindingMalus(PathType.FIRE, 0.0F);
|
|
@@ -398,7 +398,7 @@ public class Strider extends Animal implements ItemSteerable {
|
|
|
|
@Override
|
|
public boolean isSensitiveToWater() {
|
|
- return true;
|
|
+ return this.level().purpurConfig.striderTakeDamageFromWater; // Purpur - Toggle for water sensitive mob damage
|
|
}
|
|
|
|
@Override
|
|
diff --git a/net/minecraft/world/entity/monster/Vex.java b/net/minecraft/world/entity/monster/Vex.java
|
|
index 29e9a0deb5aa99800dc6554ad6bba36bbe6dd80e..917f256f072ba29ae77e4976dd4d49ffcb2a0e35 100644
|
|
--- a/net/minecraft/world/entity/monster/Vex.java
|
|
+++ b/net/minecraft/world/entity/monster/Vex.java
|
|
@@ -111,6 +111,13 @@ public class Vex extends Monster implements TraceableEntity {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.vexTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
public boolean isFlapping() {
|
|
return this.tickCount % TICKS_PER_FLAP == 0;
|
|
diff --git a/net/minecraft/world/entity/monster/Witch.java b/net/minecraft/world/entity/monster/Witch.java
|
|
index 6b17c2135397f349670a7180e88db4794d3902a8..bfa222c9b61bc2d20927fdf08e8baa5fda4fdbdc 100644
|
|
--- a/net/minecraft/world/entity/monster/Witch.java
|
|
+++ b/net/minecraft/world/entity/monster/Witch.java
|
|
@@ -82,6 +82,13 @@ public class Witch extends Raider implements RangedAttackMob {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.witchTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
super.registerGoals();
|
|
diff --git a/net/minecraft/world/entity/monster/Zoglin.java b/net/minecraft/world/entity/monster/Zoglin.java
|
|
index 4d4593f89e20e8e72a979cc2dee54566ef380462..15e5e3c63ec9bddaf19636e27dd21d12df9318ce 100644
|
|
--- a/net/minecraft/world/entity/monster/Zoglin.java
|
|
+++ b/net/minecraft/world/entity/monster/Zoglin.java
|
|
@@ -101,6 +101,13 @@ public class Zoglin extends Monster implements HoglinBase {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.zoglinTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected Brain<Zoglin> makeBrain(final Brain.Packed packedBrain) {
|
|
return BRAIN_PROVIDER.makeBrain(this, packedBrain);
|
|
diff --git a/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
|
index d158807f22a0a08614b2d7054663ef2782a519e3..d001cf955dba66435079eb2cc30e05aec963d2c6 100644
|
|
--- a/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
|
+++ b/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
|
@@ -105,6 +105,13 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.hoglinTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@VisibleForTesting
|
|
public void setTimeInOverworld(final int timeInOverworld) {
|
|
this.timeInOverworld = timeInOverworld;
|
|
diff --git a/net/minecraft/world/entity/monster/illager/Evoker.java b/net/minecraft/world/entity/monster/illager/Evoker.java
|
|
index b6a84372a9d1486998a92fdfa1f44f2158c03a51..a766f1139459488accd0d720be3ff522e88c3d09 100644
|
|
--- a/net/minecraft/world/entity/monster/illager/Evoker.java
|
|
+++ b/net/minecraft/world/entity/monster/illager/Evoker.java
|
|
@@ -75,6 +75,13 @@ public class Evoker extends SpellcasterIllager {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.evokerTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
super.registerGoals();
|
|
diff --git a/net/minecraft/world/entity/monster/illager/Illusioner.java b/net/minecraft/world/entity/monster/illager/Illusioner.java
|
|
index bc19b4c293a4101abd559c61c59021e076420b32..32b8f638ea26494cae648f4bb48a664ce2a5021e 100644
|
|
--- a/net/minecraft/world/entity/monster/illager/Illusioner.java
|
|
+++ b/net/minecraft/world/entity/monster/illager/Illusioner.java
|
|
@@ -87,6 +87,13 @@ public class Illusioner extends SpellcasterIllager implements RangedAttackMob {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.illusionerTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
super.registerGoals();
|
|
diff --git a/net/minecraft/world/entity/monster/illager/Pillager.java b/net/minecraft/world/entity/monster/illager/Pillager.java
|
|
index 134650a5866459881c1dca4b77b47110fd67420a..bd9092a0fecef475bde06d94bc2f6726f21404fd 100644
|
|
--- a/net/minecraft/world/entity/monster/illager/Pillager.java
|
|
+++ b/net/minecraft/world/entity/monster/illager/Pillager.java
|
|
@@ -90,6 +90,13 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.pillagerTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
super.registerGoals();
|
|
diff --git a/net/minecraft/world/entity/monster/illager/Vindicator.java b/net/minecraft/world/entity/monster/illager/Vindicator.java
|
|
index 865395b9ceddfaac4fc88701878a1cf349556fe1..aab0bd86da31ca73efc4988fa34c906886139ec3 100644
|
|
--- a/net/minecraft/world/entity/monster/illager/Vindicator.java
|
|
+++ b/net/minecraft/world/entity/monster/illager/Vindicator.java
|
|
@@ -82,6 +82,13 @@ public class Vindicator extends AbstractIllager {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.vindicatorTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
super.registerGoals();
|
|
diff --git a/net/minecraft/world/entity/monster/piglin/Piglin.java b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
|
index 356fc7507b58cc38cdf5ee11618ad3551fb3c6a2..de86e23b377ca0727d5f5234f2bc63180ddbbad2 100644
|
|
--- a/net/minecraft/world/entity/monster/piglin/Piglin.java
|
|
+++ b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
|
@@ -133,6 +133,13 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.piglinTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void addAdditionalSaveData(final ValueOutput output) {
|
|
super.addAdditionalSaveData(output);
|
|
diff --git a/net/minecraft/world/entity/monster/piglin/PiglinBrute.java b/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
|
|
index 4d82bf4283cb3ff26d5a9c367a28b4debed6cb0d..79e084304cec441966a22f0028e021d19e49bfd3 100644
|
|
--- a/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
|
|
+++ b/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
|
|
@@ -75,6 +75,13 @@ public class PiglinBrute extends AbstractPiglin {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.piglinBruteTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
public static AttributeSupplier.Builder createAttributes() {
|
|
return Monster.createMonsterAttributes()
|
|
.add(Attributes.MAX_HEALTH, 50.0)
|
|
diff --git a/net/minecraft/world/entity/monster/skeleton/Skeleton.java b/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
|
index 76b16400085d237194ed646b04210c8eca8398d3..a2fc1cf5fa77c1cc78610ce0b4bbd35a371878a0 100644
|
|
--- a/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
|
+++ b/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
|
@@ -50,6 +50,13 @@ public class Skeleton extends AbstractSkeleton {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.skeletonTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void defineSynchedData(final SynchedEntityData.Builder entityData) {
|
|
super.defineSynchedData(entityData);
|
|
diff --git a/net/minecraft/world/entity/monster/skeleton/Stray.java b/net/minecraft/world/entity/monster/skeleton/Stray.java
|
|
index ce9364040d6e856fd1fa42baa75b403098e6813f..64dc2a04bb2ae4dc63083a24c48f671bfc8ff8ea 100644
|
|
--- a/net/minecraft/world/entity/monster/skeleton/Stray.java
|
|
+++ b/net/minecraft/world/entity/monster/skeleton/Stray.java
|
|
@@ -47,6 +47,13 @@ public class Stray extends AbstractSkeleton {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.strayTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
public static boolean checkStraySpawnRules(
|
|
final EntityType<Stray> type, final ServerLevelAccessor level, final EntitySpawnReason spawnReason, final BlockPos pos, final RandomSource random
|
|
) {
|
|
diff --git a/net/minecraft/world/entity/monster/skeleton/WitherSkeleton.java b/net/minecraft/world/entity/monster/skeleton/WitherSkeleton.java
|
|
index 024b6d01eaf36ec6c9a85da669cc6bd0a4a6fc90..f1cf1d01a497fc46d201ad403b459f9886059d0f 100644
|
|
--- a/net/minecraft/world/entity/monster/skeleton/WitherSkeleton.java
|
|
+++ b/net/minecraft/world/entity/monster/skeleton/WitherSkeleton.java
|
|
@@ -59,6 +59,13 @@ public class WitherSkeleton extends AbstractSkeleton {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.witherSkeletonTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, AbstractPiglin.class, true));
|
|
diff --git a/net/minecraft/world/entity/monster/spider/CaveSpider.java b/net/minecraft/world/entity/monster/spider/CaveSpider.java
|
|
index beba154f2a76d3d8f7d9b44c1b45b83c9dc3b86c..cbbfdd2dde1437955f1007618244eeb72768b8fd 100644
|
|
--- a/net/minecraft/world/entity/monster/spider/CaveSpider.java
|
|
+++ b/net/minecraft/world/entity/monster/spider/CaveSpider.java
|
|
@@ -51,6 +51,13 @@ public class CaveSpider extends Spider {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.caveSpiderTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
public boolean doHurtTarget(final ServerLevel level, final Entity target) {
|
|
if (super.doHurtTarget(level, target)) {
|
|
diff --git a/net/minecraft/world/entity/monster/spider/Spider.java b/net/minecraft/world/entity/monster/spider/Spider.java
|
|
index 8834ecb96e3a6ec28f8700b23971d00136f26a4d..467ea1fd09b94747a03aaadd28a107d983afeb01 100644
|
|
--- a/net/minecraft/world/entity/monster/spider/Spider.java
|
|
+++ b/net/minecraft/world/entity/monster/spider/Spider.java
|
|
@@ -77,6 +77,13 @@ public class Spider extends Monster {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.spiderTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(1, new FloatGoal(this));
|
|
diff --git a/net/minecraft/world/entity/monster/zombie/Drowned.java b/net/minecraft/world/entity/monster/zombie/Drowned.java
|
|
index 0f64fe7e15655c63f996106d504ab4d18dac4a1c..e4769eeacc3ac97f90acb5ed0127990466c8d886 100644
|
|
--- a/net/minecraft/world/entity/monster/zombie/Drowned.java
|
|
+++ b/net/minecraft/world/entity/monster/zombie/Drowned.java
|
|
@@ -133,6 +133,13 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
|
}
|
|
// Purpur end - Configurable jockey options
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.drownedTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void addBehaviourGoals() {
|
|
this.goalSelector.addGoal(1, new Drowned.DrownedGoToWaterGoal(this, 1.0));
|
|
diff --git a/net/minecraft/world/entity/monster/zombie/Husk.java b/net/minecraft/world/entity/monster/zombie/Husk.java
|
|
index c3f2d9ab49eb501f26939387624f326227908b81..8d6262e99fb3ad98d3142ee069f07d2370ca0778 100644
|
|
--- a/net/minecraft/world/entity/monster/zombie/Husk.java
|
|
+++ b/net/minecraft/world/entity/monster/zombie/Husk.java
|
|
@@ -83,6 +83,13 @@ public class Husk extends Zombie {
|
|
}
|
|
// Purpur end - Configurable jockey options
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.huskTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
public boolean isSunSensitive() {
|
|
return false;
|
|
diff --git a/net/minecraft/world/entity/monster/zombie/Zombie.java b/net/minecraft/world/entity/monster/zombie/Zombie.java
|
|
index bf94d8e9512eeb294914c748be091f6565cca676..6693ae88aa5780189faba8649346579f5b95b77e 100644
|
|
--- a/net/minecraft/world/entity/monster/zombie/Zombie.java
|
|
+++ b/net/minecraft/world/entity/monster/zombie/Zombie.java
|
|
@@ -152,6 +152,13 @@ public class Zombie extends Monster {
|
|
}
|
|
// Purpur end - Configurable jockey options
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.zombieTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
|
|
diff --git a/net/minecraft/world/entity/monster/zombie/ZombieVillager.java b/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
|
index 8a5634d2204b9abae560d34a7b0616b3ebdc68ab..ecbac0d55dbe921ac2e185e0acab5691579be512 100644
|
|
--- a/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
|
+++ b/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
|
@@ -131,6 +131,13 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
|
}
|
|
// Purpur end - Configurable jockey options
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.zombieVillagerTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void defineSynchedData(final SynchedEntityData.Builder entityData) {
|
|
super.defineSynchedData(entityData);
|
|
diff --git a/net/minecraft/world/entity/monster/zombie/ZombifiedPiglin.java b/net/minecraft/world/entity/monster/zombie/ZombifiedPiglin.java
|
|
index d1edf1f44de1fc6d23bcd8044f8bf4165821790e..6cc4d4729520c60b98d45d5e7dd674e599616505 100644
|
|
--- a/net/minecraft/world/entity/monster/zombie/ZombifiedPiglin.java
|
|
+++ b/net/minecraft/world/entity/monster/zombie/ZombifiedPiglin.java
|
|
@@ -110,6 +110,13 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
|
|
}
|
|
// Purpur end - Configurable jockey options
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.zombifiedPiglinTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void addBehaviourGoals() {
|
|
this.goalSelector.addGoal(1, new SpearUseGoal<>(this, 1.0, 1.0, 10.0F, 2.0F));
|
|
diff --git a/net/minecraft/world/entity/npc/villager/Villager.java b/net/minecraft/world/entity/npc/villager/Villager.java
|
|
index 27b2675059795b54b7d217442065bd50618ac7ae..033c9322234378c46e9a6e549d04f32135243ed9 100644
|
|
--- a/net/minecraft/world/entity/npc/villager/Villager.java
|
|
+++ b/net/minecraft/world/entity/npc/villager/Villager.java
|
|
@@ -284,6 +284,13 @@ public class Villager extends AbstractVillager implements VillagerDataHolder, Re
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.villagerTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
public Brain<Villager> getBrain() {
|
|
return (Brain<Villager>) super.getBrain();
|
|
diff --git a/net/minecraft/world/entity/npc/wanderingtrader/WanderingTrader.java b/net/minecraft/world/entity/npc/wanderingtrader/WanderingTrader.java
|
|
index ea74d8ac0b5de890124361e65aeb9a08ad09fa1b..cbbfa09d53ada7c39e9504d28770867989eaa5c1 100644
|
|
--- a/net/minecraft/world/entity/npc/wanderingtrader/WanderingTrader.java
|
|
+++ b/net/minecraft/world/entity/npc/wanderingtrader/WanderingTrader.java
|
|
@@ -99,6 +99,13 @@ public class WanderingTrader extends AbstractVillager implements Consumable.Over
|
|
}
|
|
// Purpur end - Villagers follow emerald blocks
|
|
|
|
+ // Purpur start - Toggle for water sensitive mob damage
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level().purpurConfig.wanderingTraderTakeDamageFromWater;
|
|
+ }
|
|
+ // Purpur end - Toggle for water sensitive mob damage
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(0, new FloatGoal(this));
|