mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-19 17:37:42 +01:00
2212 lines
115 KiB
Diff
2212 lines
115 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/src/main/java/net/minecraft/world/entity/GlowSquid.java b/src/main/java/net/minecraft/world/entity/GlowSquid.java
|
|
index 277a5868b3fc4bbb472086b4fb50e905b02621ba..4570f2859ed4251a2e9cf79ecbc7255523cbbc79 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/GlowSquid.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/GlowSquid.java
|
|
@@ -46,6 +46,11 @@ public class GlowSquid extends Squid {
|
|
return this.level.purpurConfig.glowSquidsCanFly;
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.glowSquidTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected ParticleOptions getInkParticle() {
|
|
return ParticleTypes.GLOW_SQUID_INK;
|
|
diff --git a/src/main/java/net/minecraft/world/entity/ambient/Bat.java b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
|
index 052304db93aa2996d292df6b5d1e8593351239e4..b4c0f7b8841c536e700c80248d12ca2f0a507e6f 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
|
@@ -290,6 +290,11 @@ public class Bat extends AmbientCreature {
|
|
this.getAttribute(Attributes.ATTACK_KNOCKBACK).setBaseValue(this.level.purpurConfig.batAttackKnockback);
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.batTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
public void readAdditionalSaveData(CompoundTag nbt) {
|
|
super.readAdditionalSaveData(nbt);
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
|
index e0ab585b708fd58db9688fc4631eaacd79a7c8a3..f68dd3af977190e310d6854ba251b0f12f914c70 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
|
@@ -175,7 +175,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
|
// Paper end
|
|
this.lookControl = new Bee.BeeLookControl(this);
|
|
this.setPathfindingMalus(BlockPathTypes.DANGER_FIRE, -1.0F);
|
|
- this.setPathfindingMalus(BlockPathTypes.WATER, -1.0F);
|
|
+ if (isSensitiveToWater()) this.setPathfindingMalus(BlockPathTypes.WATER, -1.0F); // Purpur
|
|
this.setPathfindingMalus(BlockPathTypes.WATER_BORDER, 16.0F);
|
|
this.setPathfindingMalus(BlockPathTypes.COCOA, -1.0F);
|
|
this.setPathfindingMalus(BlockPathTypes.FENCE, -1.0F);
|
|
@@ -476,6 +476,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
|
return this.level.purpurConfig.beeBreedingTicks;
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.beeTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
public int getRemainingPersistentAngerTime() {
|
|
return (Integer) this.entityData.get(Bee.DATA_REMAINING_ANGER_TIME);
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
|
index bb827b0a7273a2636d01a506fae09d32e99db178..fa437d0af82292797c1e4432c57a8384c7aacdc4 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
|
@@ -132,6 +132,11 @@ public class Cat extends TamableAnimal implements VariantHolder<CatVariant> {
|
|
return this.level.purpurConfig.catBreedingTicks;
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.catTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
public ResourceLocation getResourceLocation() {
|
|
return this.getVariant().texture();
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
|
index 5ad29dda33d3d7442992b2d47f44d419dda3021b..970e4274edf409fbf61c267e32075426d00480d1 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
|
@@ -84,6 +84,11 @@ public class Chicken extends Animal {
|
|
return this.level.purpurConfig.chickenBreedingTicks;
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.chickenTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(0, new FloatGoal(this));
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cod.java b/src/main/java/net/minecraft/world/entity/animal/Cod.java
|
|
index d6a9281208f6462628e5e9547c40590a42be89d0..dd4a116dfe471eaca9a7915db430d39ea8a81915 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Cod.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Cod.java
|
|
@@ -30,6 +30,11 @@ public class Cod extends AbstractSchoolingFish {
|
|
}
|
|
// Purpur end
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.codTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
public ItemStack getBucketItemStack() {
|
|
return new ItemStack(Items.COD_BUCKET);
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
|
index fd8ec46ccb691d7f85a7a6bb44e1d0db3703b4d6..3f67e626b66cf64034dcc9ebf35244631b081516 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
|
@@ -70,6 +70,11 @@ public class Cow extends Animal {
|
|
return this.level.purpurConfig.cowBreedingTicks;
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.cowTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(0, new FloatGoal(this));
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
|
index 584b812c86d4f7180d971b5ad263c549dec51e61..6371c835989dda0ed5048667875ac1ae34ba0cf7 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
|
@@ -159,6 +159,11 @@ public class Dolphin extends WaterAnimal {
|
|
}
|
|
// Purpur end
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.dolphinTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Nullable
|
|
@Override
|
|
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
|
index eca7c43ac555417b0746ebb20f67978fa801af59..35491e36fbab850110ae4fd255cc0acd1e9d8792 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
|
@@ -191,6 +191,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
|
return this.level.purpurConfig.foxBreedingTicks;
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.foxTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void defineSynchedData() {
|
|
super.defineSynchedData();
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
|
|
index 1a4992dbe62b908b21f6b44b39a55237e7127cde..b89f01408c9ebaeeee93f1924010be6db89f1c66 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
|
|
@@ -88,6 +88,11 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
|
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.ironGolemMaxHealth);
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.ironGolemTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
if (level.purpurConfig.ironGolemCanSwim) this.goalSelector.addGoal(0, new net.minecraft.world.entity.ai.goal.FloatGoal(this)); // Purpur
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
|
index 6bc5cca1c0896dda25af505e7ff3d68e5e83a54b..d7705035b80f92b9053b16ae413f82b85624ab76 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
|
@@ -90,6 +90,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
|
return this.level.purpurConfig.mooshroomBreedingTicks;
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.mooshroomTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
public float getWalkTargetValue(BlockPos pos, LevelReader world) {
|
|
return world.getBlockState(pos.below()).is(Blocks.MYCELIUM) ? 10.0F : world.getPathfindingCostFromLightLevels(pos);
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
|
index 237e672925b946dd7dd1e4c502d60daaad7a707b..95a5faab3b5f768b01b915795aa2f9528dd17872 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
|
@@ -95,6 +95,11 @@ public class Ocelot extends Animal {
|
|
return this.level.purpurConfig.ocelotBreedingTicks;
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.ocelotTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
public boolean isTrusting() {
|
|
return (Boolean) this.entityData.get(Ocelot.DATA_TRUSTING);
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
|
index 1eddcbfe32a9744982b62667068b88eecf68d81e..3961d7838f17a2bf6140be03502fa87f6cf14630 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
|
@@ -145,6 +145,11 @@ public class Panda extends Animal {
|
|
return this.level.purpurConfig.pandaBreedingTicks;
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.pandaTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
public boolean canTakeItem(ItemStack stack) {
|
|
EquipmentSlot enumitemslot = Mob.getEquipmentSlotForItem(stack);
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
|
index 75ac34b0e65d593b424f23ab5756e31c8b68950d..db3607ad07da5ad2c08f4fedbd5d8cfc2c3f4f04 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
|
@@ -201,6 +201,11 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
|
|
return 6000;
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.parrotTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Nullable
|
|
@Override
|
|
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
|
index cb7e46b5db2980db62bb65e2f5db7428e37140be..fbadb500e239b316f63a37c092cd9782fe13d9b2 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
|
@@ -91,6 +91,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
|
|
return this.level.purpurConfig.pigBreedingTicks;
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.pigTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(0, new FloatGoal(this));
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
|
index a2bc1c0d01770da3fa8de876e4067c71c7a25646..3a3c7ced012b6820e0ea6082899b7a619b772e39 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
|
@@ -125,6 +125,11 @@ public class PolarBear extends Animal implements NeutralMob {
|
|
return this.level.purpurConfig.polarBearBreedingTicks;
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.polarBearTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Nullable
|
|
@Override
|
|
public AgeableMob getBreedOffspring(ServerLevel world, AgeableMob entity) {
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pufferfish.java b/src/main/java/net/minecraft/world/entity/animal/Pufferfish.java
|
|
index 5ee99fcf9201187dd2083ca9ab63832e6c58b7a7..7e31cabdc8409e23add569d3e03aaec32155ec22 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Pufferfish.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Pufferfish.java
|
|
@@ -62,6 +62,11 @@ public class Pufferfish extends AbstractFish {
|
|
}
|
|
// Purpur end
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.pufferfishTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void defineSynchedData() {
|
|
super.defineSynchedData();
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
|
index 59aaa76f9c5b4639a632ef6ee67092983e7edf35..9e16379ed5735811cd9a43f922b7cdb358456322 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
|
@@ -147,6 +147,11 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
|
return this.level.purpurConfig.rabbitBreedingTicks;
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.rabbitTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
// CraftBukkit start - code from constructor
|
|
public void initializePathFinderGoals(){
|
|
this.setSpeedModifier(0.0D);
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Salmon.java b/src/main/java/net/minecraft/world/entity/animal/Salmon.java
|
|
index a1ad0c0eb4c7b6d39bc24be24b8d511697a5b628..e28290c96da8e27fa6d61cf0ad1684e6787cb19b 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Salmon.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Salmon.java
|
|
@@ -30,6 +30,11 @@ public class Salmon extends AbstractSchoolingFish {
|
|
}
|
|
// Purpur end
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.salmonTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
public int getMaxSchoolSize() {
|
|
return 5;
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Sheep.java b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
|
index fbaa05f3564aeaf31bfaac34ef0112d11869a2c8..c5f4e9d3774eefc43b5b5b4bf895efbb06ae2a9e 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
|
@@ -144,6 +144,11 @@ public class Sheep extends Animal implements Shearable {
|
|
return this.level.purpurConfig.sheepBreedingTicks;
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.sheepTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.eatBlockGoal = new EatBlockGoal(this);
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
|
index 1db7bb084674cea5dd2bbf4d5ed05048414aa85c..cfdc9b1341bafc9c92a520b1793add877336a8a3 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
|
@@ -116,7 +116,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
|
|
|
@Override
|
|
public boolean isSensitiveToWater() {
|
|
- return true;
|
|
+ return this.level.purpurConfig.snowGolemTakeDamageFromWater; // Purpur
|
|
}
|
|
|
|
@Override
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
|
index 2658be0f3535243b5a434917c9400332246ffcbe..6e52d61dae3956ae165c4e1b7a1992e57419edc8 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
|
@@ -92,6 +92,11 @@ public class Squid extends WaterAnimal {
|
|
return this.wasTouchingWater || canFly();
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.squidTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(0, new Squid.SquidRandomMovementGoal(this));
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/TropicalFish.java b/src/main/java/net/minecraft/world/entity/animal/TropicalFish.java
|
|
index 1904e78ad39d2dd8e4dfbc64d187065a860b2103..edf1092f32e24abcefc73b173bde56224121f97a 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/TropicalFish.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/TropicalFish.java
|
|
@@ -59,6 +59,11 @@ public class TropicalFish extends AbstractSchoolingFish implements VariantHolder
|
|
}
|
|
// Purpur end
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.tropicalFishTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
public static String getPredefinedName(int variant) {
|
|
return "entity.minecraft.tropical_fish.predefined." + variant;
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
|
index 726b53822d115fdd6f8911258ff9fc612a4ad54e..4505783c91992085bfc2965f4a78a0b5df21de77 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
|
@@ -110,6 +110,11 @@ public class Turtle extends Animal {
|
|
return this.level.purpurConfig.turtleBreedingTicks;
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.turtleTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
public void setHomePos(BlockPos pos) {
|
|
this.entityData.set(Turtle.HOME_POS, pos.immutable()); // Paper - called with mutablepos...
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
|
index 8eb72d7f29bf9085bda1decc43f89125c14b1a2b..1054218628fdefc1aa5356de25ebe4f2672ee3de 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
|
@@ -209,6 +209,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
|
super.tame(player);
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.wolfTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(1, new FloatGoal(this));
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
|
index be44bbd6dd3278ae533f07bbd1f4fb3727f177b7..1f3618fc9679ad3938c2939b192132125b0e2201 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
|
@@ -125,6 +125,11 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
|
|
return this.level.purpurConfig.axolotlBreedingTicks;
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.axolotlTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
public Map<String, Vector3f> getModelRotationValues() {
|
|
return this.modelRotationValues;
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
|
index 4f7256e6e130be1e84be3b2979b836021460aceb..fde16c2060bcf1af102ce8fa5cbcacc58dbd5b1e 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
|
@@ -111,6 +111,11 @@ public class Goat extends Animal {
|
|
return this.level.purpurConfig.goatBreedingTicks;
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.goatTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected Brain.Provider<Goat> brainProvider() {
|
|
return Brain.provider(Goat.MEMORY_TYPES, Goat.SENSOR_TYPES);
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
|
|
index a9e04b76c0a3831e6b136136ae15dd9884d68148..21f17176d1e10aa036fbc470d4864611855f79ce 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
|
|
@@ -42,6 +42,11 @@ public class Donkey extends AbstractChestedHorse {
|
|
return this.level.purpurConfig.donkeyBreedingTicks;
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.donkeyTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected SoundEvent getAmbientSound() {
|
|
return SoundEvents.DONKEY_AMBIENT;
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
|
|
index 65fec83d96a02bd3b7c9ba034db95a2bb0833dba..b47d9039bc4a7cfd4fa5f31aeb02f72283aaf64b 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
|
|
@@ -67,6 +67,11 @@ public class Horse extends AbstractHorse implements VariantHolder<Variant> {
|
|
return this.level.purpurConfig.horseBreedingTicks;
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.horseTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void randomizeAttributes(RandomSource random) {
|
|
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue((double)generateMaxHealth(random::nextInt));
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
|
index 80a7bc90fb4040afd2f7f0b19f5f6dbb6f9d13e8..9440c55671473e717ad1019019c5edd38898e387 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
|
@@ -143,6 +143,11 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
|
return this.level.purpurConfig.llamaBreedingTicks;
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.llamaTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
public boolean isTraderLlama() {
|
|
return false;
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
|
|
index 8b02a2a3620adf5af5ccbf93eda3c7d04f242b30..3cd21f2ff6ff397ac626f220493a4a15812c5a49 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
|
|
@@ -41,6 +41,11 @@ public class Mule extends AbstractChestedHorse {
|
|
return this.level.purpurConfig.muleBreedingTicks;
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.muleTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected SoundEvent getAmbientSound() {
|
|
return SoundEvents.MULE_AMBIENT;
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
|
index 614bec5831a51e92f8201d0ce53ceb9b81fdc078..01b2827b6567337b8eef54864e3e5ace988bca62 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
|
@@ -55,6 +55,11 @@ public class SkeletonHorse extends AbstractHorse {
|
|
return 6000;
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.skeletonHorseTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
public static AttributeSupplier.Builder createAttributes() {
|
|
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, (double)0.2F);
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
|
index 3751a1c46d615000fdb5eaff482601575e81d614..8b295975c3b2f4141a3776c6e4b75a3d69a189f8 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
|
@@ -69,6 +69,11 @@ public class TraderLlama extends Llama {
|
|
return this.level.purpurConfig.traderLlamaBreedingTicks;
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.traderLlamaTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
public boolean isTraderLlama() {
|
|
return true;
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
|
|
index 423d0ec37fe812fd994edb81c445f24543461ec4..d3b36a43c5c43df7bfc227dda31f7eca9f4e205d 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
|
|
@@ -53,6 +53,11 @@ public class ZombieHorse extends AbstractHorse {
|
|
return 6000;
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.zombieHorseTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
public static AttributeSupplier.Builder createAttributes() {
|
|
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, (double)0.2F);
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
|
index ce82644310d6f5fe4a60294004cd663c2c12f06b..13d694ad77770aa4eb93010726772935095096b2 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
|
@@ -188,6 +188,11 @@ public class EnderDragon extends Mob implements Enemy {
|
|
}
|
|
// Purpur end
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.enderDragonTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
public static AttributeSupplier.Builder createAttributes() {
|
|
return Mob.createMobAttributes().add(Attributes.MAX_HEALTH, 200.0D);
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
|
index aabc5523343e16974d7fb2af476ba84c9059f119..f6b7a0ac70f3aff5458dd0843f27f8ea367b0346 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
|
@@ -117,6 +117,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
|
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.witherMaxHealth);
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.witherTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected PathNavigation createNavigation(Level world) {
|
|
FlyingPathNavigation navigationflying = new FlyingPathNavigation(this, world);
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Blaze.java b/src/main/java/net/minecraft/world/entity/monster/Blaze.java
|
|
index f1432703511aee491744c06c1dbfaf2f21b11785..294e3bb7e62428c6041fdb8dc3535d4b86d5578f 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Blaze.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Blaze.java
|
|
@@ -33,7 +33,7 @@ public class Blaze extends Monster {
|
|
public Blaze(EntityType<? extends Blaze> type, Level world) {
|
|
super(type, world);
|
|
this.moveControl = new org.purpurmc.purpur.controller.FlyingWithSpacebarMoveControllerWASD(this, 0.3F); // Purpur
|
|
- this.setPathfindingMalus(BlockPathTypes.WATER, -1.0F);
|
|
+ if (isSensitiveToWater()) this.setPathfindingMalus(BlockPathTypes.WATER, -1.0F); // Purpur
|
|
this.setPathfindingMalus(BlockPathTypes.LAVA, 8.0F);
|
|
this.setPathfindingMalus(BlockPathTypes.DANGER_FIRE, 0.0F);
|
|
this.setPathfindingMalus(BlockPathTypes.DAMAGE_FIRE, 0.0F);
|
|
@@ -143,7 +143,7 @@ public class Blaze extends Monster {
|
|
|
|
@Override
|
|
public boolean isSensitiveToWater() {
|
|
- return true;
|
|
+ return this.level.purpurConfig.blazeTakeDamageFromWater; // Purpur
|
|
}
|
|
|
|
@Override
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/CaveSpider.java b/src/main/java/net/minecraft/world/entity/monster/CaveSpider.java
|
|
index c232cdd7cde6bcbb2302ff609206f6be8ccf99b3..c2e0087a10e8340138596e5e8a5f00c299045fcc 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/CaveSpider.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/CaveSpider.java
|
|
@@ -50,6 +50,11 @@ public class CaveSpider extends Spider {
|
|
}
|
|
// Purpur end
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.caveSpiderTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
public boolean doHurtTarget(Entity target) {
|
|
if (super.doHurtTarget(target)) {
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
|
index 69b91852f2d4ffce14e6bd6f94902da61990717a..acc548126a06f40ec3473301b36367e107050086 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
|
@@ -263,6 +263,11 @@ public class Creeper extends Monster implements PowerableMob {
|
|
return super.finalizeSpawn(world, difficulty, spawnReason, entityData, entityNbt);
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.creeperTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected SoundEvent getHurtSound(DamageSource source) {
|
|
return SoundEvents.CREEPER_HURT;
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
|
index 59bfc5df56ef7bab39630f69bc69d122fcd1653e..be427ec80a5057f75054ec3982fcc6cd6d042246 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
|
@@ -95,6 +95,11 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
|
}
|
|
// Purpur end
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.drownedTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
public boolean jockeyOnlyBaby() {
|
|
return level().purpurConfig.drownedJockeyOnlyBaby;
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java b/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java
|
|
index 63a02ce34b3cf1cd6bfb61cef7488aea67da9046..f9398b11a9a99c46187132db16b4b4761d77b879 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java
|
|
@@ -50,6 +50,11 @@ public class ElderGuardian extends Guardian {
|
|
}
|
|
// Purpur end
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.elderGuardianTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
public static AttributeSupplier.Builder createAttributes() {
|
|
return Guardian.createAttributes().add(Attributes.MOVEMENT_SPEED, 0.30000001192092896D).add(Attributes.ATTACK_DAMAGE, 8.0D).add(Attributes.MAX_HEALTH, 80.0D);
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
|
index 2189cf09f7d9299ff9a3e4b62d3e199caedfbc0d..ae2916ed826b28a3737327b3a6b2725225bcaf61 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
|
@@ -89,7 +89,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
|
public EnderMan(EntityType<? extends EnderMan> type, Level world) {
|
|
super(type, world);
|
|
this.setMaxUpStep(1.0F);
|
|
- this.setPathfindingMalus(BlockPathTypes.WATER, -1.0F);
|
|
+ if (isSensitiveToWater()) this.setPathfindingMalus(BlockPathTypes.WATER, -1.0F); // Purpur
|
|
}
|
|
|
|
@Override
|
|
@@ -303,7 +303,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
|
|
|
@Override
|
|
public boolean isSensitiveToWater() {
|
|
- return true;
|
|
+ return this.level.purpurConfig.endermanTakeDamageFromWater; // Purpur
|
|
}
|
|
|
|
@Override
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Endermite.java b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
|
|
index a3bf2e2d629b7db3c66e684460e79f73857f0f84..41c20875b3a92b1271125e087c98be927cd192fe 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Endermite.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
|
|
@@ -59,6 +59,11 @@ public class Endermite extends Monster {
|
|
}
|
|
// Purpur end
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.endermiteTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(1, new FloatGoal(this));
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Evoker.java b/src/main/java/net/minecraft/world/entity/monster/Evoker.java
|
|
index 629e29bfeb26f686d41a27218b3caca601018bed..ec74af62bc7da0d1d2b5dba27c57d7a13b77f677 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Evoker.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Evoker.java
|
|
@@ -70,6 +70,11 @@ public class Evoker extends SpellcasterIllager {
|
|
}
|
|
// Purpur end
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.evokerTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
super.registerGoals();
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Ghast.java b/src/main/java/net/minecraft/world/entity/monster/Ghast.java
|
|
index 20d6c7b352ce13812205ae021f52837647076fe0..8f567718d3a13cd1738e8a25c272fb99810b0a96 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Ghast.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Ghast.java
|
|
@@ -137,6 +137,11 @@ public class Ghast extends FlyingMob implements Enemy {
|
|
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.ghastMaxHealth);
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.ghastTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void defineSynchedData() {
|
|
super.defineSynchedData();
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Giant.java b/src/main/java/net/minecraft/world/entity/monster/Giant.java
|
|
index a73514ab24686f991c1a5bded0684393fffb2efd..57013c0ddcd8c364c2e566e7edb7310b170e7ed7 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Giant.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Giant.java
|
|
@@ -38,6 +38,11 @@ public class Giant extends Monster {
|
|
this.safeFallDistance = 10.0F; // Purpur
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.giantTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void initAttributes() {
|
|
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.giantMaxHealth);
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Guardian.java b/src/main/java/net/minecraft/world/entity/monster/Guardian.java
|
|
index 773ba2ff81a97f046e795c52bfa534b3cb44cfb9..2ce70ea1707563d5d76d335135bc05d3062f6bba 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Guardian.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Guardian.java
|
|
@@ -98,6 +98,11 @@ public class Guardian extends Monster {
|
|
}
|
|
// Purpur end
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.guardianTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
MoveTowardsRestrictionGoal pathfindergoalmovetowardsrestriction = new MoveTowardsRestrictionGoal(this, 1.0D);
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Husk.java b/src/main/java/net/minecraft/world/entity/monster/Husk.java
|
|
index 5e7c4c7a5962e638a2026a57803263830f11d35b..bf0d201f0211a3d4d61fdf0fbea7bdf4ea220458 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Husk.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Husk.java
|
|
@@ -64,6 +64,11 @@ public class Husk extends Zombie {
|
|
return level.purpurConfig.huskJockeyTryExistingChickens;
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.huskTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
public static boolean checkHuskSpawnRules(EntityType<Husk> type, ServerLevelAccessor world, MobSpawnType spawnReason, BlockPos pos, RandomSource random) {
|
|
return checkMonsterSpawnRules(type, world, spawnReason, pos, random) && (spawnReason == MobSpawnType.SPAWNER || world.canSeeSky(pos));
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Illusioner.java b/src/main/java/net/minecraft/world/entity/monster/Illusioner.java
|
|
index d85f8e126832193d6080328d474312d30a81c301..18edadaaddc68ee6aafaf35bd4b38f1c15d41493 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Illusioner.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Illusioner.java
|
|
@@ -83,6 +83,11 @@ public class Illusioner extends SpellcasterIllager implements RangedAttackMob {
|
|
}
|
|
// Purpur end
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.illusionerTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
super.registerGoals();
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java b/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java
|
|
index 291e7a1331aade8a413d132d215bc494440b9f51..9e84790e77802a23fbbf7df24cc302958d5304b1 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java
|
|
@@ -67,6 +67,11 @@ public class MagmaCube extends Slime {
|
|
}
|
|
// Purpur end
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.magmaCubeTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
public static AttributeSupplier.Builder createAttributes() {
|
|
return Monster.createMonsterAttributes().add(Attributes.MOVEMENT_SPEED, (double)0.2F);
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
|
index 518c1cdf1459a8ac97c7ab39461cca074bad5bcf..33e2f87c38fdbd79c3dcccc0c0dada5e05f78871 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
|
@@ -119,6 +119,11 @@ public class Phantom extends FlyingMob implements Enemy {
|
|
}
|
|
// Purpur end
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.phantomTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
public boolean isFlapping() {
|
|
return (this.getUniqueFlapTickOffset() + this.tickCount) % Phantom.TICKS_PER_FLAP == 0;
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Pillager.java b/src/main/java/net/minecraft/world/entity/monster/Pillager.java
|
|
index 594573c2e1f27617dc11e72b97eaf4b6de12e8ed..0e5c2437419518d95186ff2c067bead47b60ef2b 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Pillager.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Pillager.java
|
|
@@ -84,6 +84,11 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
|
|
}
|
|
// Purpur end
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.pillagerTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
super.registerGoals();
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
|
index 62ffd3ca6276df8e111198aae523ec7de47df691..fb4e452e6c7e8701a3b2ebfe28a458026040c0e2 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
|
@@ -93,6 +93,11 @@ public class Ravager extends Raider {
|
|
}
|
|
// Purpur end
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.ravagerTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
super.registerGoals();
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
|
index ba3246b099ae13f83b4aa94903192018518c2b6e..f328cac216a0f2a3e4956ab65d083caf072351d0 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
|
@@ -120,6 +120,11 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
|
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.shulkerMaxHealth);
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.shulkerTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
|
index b4b5f2d564accb4e7b0361af4f67d22185755d51..10960d295fbf141d54c7d615ab902bb661e13364 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
|
@@ -64,6 +64,11 @@ public class Silverfish extends Monster {
|
|
}
|
|
// Purpur end
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.silverfishTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.friendsGoal = new Silverfish.SilverfishWakeUpFriendsGoal(this);
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
|
|
index a0e73a09ce443d5ce0031acd2d5bf4559b48893f..226dba96999172998ab271204c91d0241cdef72f 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
|
|
@@ -48,6 +48,11 @@ public class Skeleton extends AbstractSkeleton {
|
|
}
|
|
// Purpur end
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.skeletonTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void defineSynchedData() {
|
|
super.defineSynchedData();
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
|
index 18a7257de4fffd9d4edebbad8eb0f64546284748..ff5d61e7dc7eb6f09a227bcb68745b7618a11477 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
|
@@ -109,6 +109,11 @@ public class Slime extends Mob implements Enemy {
|
|
return level.purpurConfig.slimeRidable;
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.slimeTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
public boolean dismountsUnderwater() {
|
|
return level.purpurConfig.useDismountsUnderwaterTag ? super.dismountsUnderwater() : !level.purpurConfig.slimeRidableInWater;
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Spider.java b/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
|
index 9ae41d3baf305baed2642af1d2935e36aa312516..e8d053c2827291454464389a5d4bffa69756f2ca 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
|
@@ -73,6 +73,11 @@ public class Spider extends Monster {
|
|
}
|
|
// Purpur end
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.spiderTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(1, new FloatGoal(this));
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Stray.java b/src/main/java/net/minecraft/world/entity/monster/Stray.java
|
|
index 05b52df61a8c4c939f687e3988f25ab215a29632..4ab8f8f77406847008b90fd689a8e0cad1f099f5 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Stray.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Stray.java
|
|
@@ -43,6 +43,11 @@ public class Stray extends AbstractSkeleton {
|
|
}
|
|
// Purpur end
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.strayTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
public static boolean checkStraySpawnRules(EntityType<Stray> type, ServerLevelAccessor world, MobSpawnType spawnReason, BlockPos pos, RandomSource random) {
|
|
BlockPos blockPos = pos;
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java
|
|
index 43459013151fc93c5707112161b212da88930e00..c942f7f5df032b32a51e1f60a90af54385327e1c 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Strider.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java
|
|
@@ -94,7 +94,7 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
|
|
super(type, world);
|
|
this.steering = new ItemBasedSteering(this.entityData, Strider.DATA_BOOST_TIME, Strider.DATA_SADDLE_ID);
|
|
this.blocksBuilding = true;
|
|
- this.setPathfindingMalus(BlockPathTypes.WATER, -1.0F);
|
|
+ if (isSensitiveToWater()) this.setPathfindingMalus(BlockPathTypes.WATER, -1.0F); // Purpur
|
|
this.setPathfindingMalus(BlockPathTypes.LAVA, 0.0F);
|
|
this.setPathfindingMalus(BlockPathTypes.DANGER_FIRE, 0.0F);
|
|
this.setPathfindingMalus(BlockPathTypes.DAMAGE_FIRE, 0.0F);
|
|
@@ -444,7 +444,7 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
|
|
|
|
@Override
|
|
public boolean isSensitiveToWater() {
|
|
- return true;
|
|
+ return this.level.purpurConfig.striderTakeDamageFromWater; // Purpur
|
|
}
|
|
|
|
@Override
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vex.java b/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
|
index f63b6c2a61af9b518a59aba4152a76afbf8df592..c2464a01feeb470db88c25c95011ad0175a90917 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
|
@@ -112,6 +112,11 @@ public class Vex extends Monster implements TraceableEntity {
|
|
}
|
|
// Purpur end
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.vexTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected float getStandingEyeHeight(Pose pose, EntityDimensions dimensions) {
|
|
return dimensions.height - 0.28125F;
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
|
index db832e9c8287d0f62db65ff3a2d2625541758762..1c9a54e6b67f9e688130f1cb9c1e5411c6e75e37 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
|
@@ -80,6 +80,11 @@ public class Vindicator extends AbstractIllager {
|
|
}
|
|
// Purpur end
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.vindicatorTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
super.registerGoals();
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Witch.java b/src/main/java/net/minecraft/world/entity/monster/Witch.java
|
|
index 2ca044d6ab0acf56fbbe43e936c844d370c1d97c..53a2999a84e68938b5e976ccd8a61cad1c5a397a 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Witch.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Witch.java
|
|
@@ -79,6 +79,11 @@ public class Witch extends Raider implements RangedAttackMob {
|
|
}
|
|
// Purpur end
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.witchTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
super.registerGoals();
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java
|
|
index 8baf2c7bf590620baeb6b93cae64c07df0f434e5..d24fa628d76029b04daa7971aa9f39a262f89844 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java
|
|
@@ -57,6 +57,11 @@ public class WitherSkeleton extends AbstractSkeleton {
|
|
}
|
|
// Purpur end
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.witherSkeletonTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, AbstractPiglin.class, true));
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zoglin.java b/src/main/java/net/minecraft/world/entity/monster/Zoglin.java
|
|
index a5ce5e82f12bef3bdd5a4a87409aa31787bb90ac..df8cd4f58cc75df2d9c6822e1675f9cf2f8a2936 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Zoglin.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Zoglin.java
|
|
@@ -89,6 +89,11 @@ public class Zoglin extends Monster implements Enemy, HoglinBase {
|
|
}
|
|
// Purpur end
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.zoglinTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected Brain.Provider<Zoglin> brainProvider() {
|
|
return Brain.provider(MEMORY_TYPES, SENSOR_TYPES);
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
|
index 57a1ea56cfc6b0b8fe3a3379c9a602cf46fd8fbd..54ee2eafe257fe8ac16ded66a8c49ba68d433450 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
|
@@ -140,6 +140,11 @@ public class Zombie extends Monster {
|
|
return level.purpurConfig.zombieJockeyTryExistingChickens;
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.zombieTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
|
index b0b39609a50ac0a7dade15651f5f33ff2b426e5a..0f8b9ceca20e43b5010bb54e5b94a8598995115f 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
|
@@ -106,6 +106,11 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
|
}
|
|
// Purpur end
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.zombieVillagerTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
public boolean jockeyOnlyBaby() {
|
|
return level.purpurConfig.zombieVillagerJockeyOnlyBaby;
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
|
|
index 921d4e60052f6ceb9a6ecc2956350bd70c94dca7..4e6495f6cde80d1fe8c8902012ab63738d444e26 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
|
|
@@ -85,6 +85,11 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
|
|
}
|
|
// Purpur end
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.zombifiedPiglinTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
public boolean jockeyOnlyBaby() {
|
|
return level.purpurConfig.zombifiedPiglinJockeyOnlyBaby;
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
|
index 35f7f7c75c740760f95eeaef91287a6a0ec3c3cc..17a7623466e55ff967a4c54ed0d674f16e0a23ca 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
|
@@ -94,6 +94,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
|
return this.level.purpurConfig.hoglinBreedingTicks;
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.hoglinTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
public boolean canBeLeashed(Player player) {
|
|
return !this.isLeashed();
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
|
index 98ee31528c93ae1a1d294d47c7722ac8b017edbe..f9ca274c7d273f7c56bbc2ffb8e78b6f51880bbd 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
|
@@ -118,6 +118,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
|
}
|
|
// Purpur end
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.piglinTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
public void addAdditionalSaveData(CompoundTag nbt) {
|
|
super.addAdditionalSaveData(nbt);
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinBrute.java b/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
|
|
index 349fb046ba7930af29251973efde4e1ecfef16f4..54bb2392a71dffaaa73b00ada833291dd0a86ab7 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
|
|
@@ -63,6 +63,11 @@ public class PiglinBrute extends AbstractPiglin {
|
|
}
|
|
// Purpur end
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.piglinBruteTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
public static AttributeSupplier.Builder createAttributes() {
|
|
return Monster.createMonsterAttributes().add(Attributes.MAX_HEALTH, 50.0D).add(Attributes.MOVEMENT_SPEED, (double)0.35F).add(Attributes.ATTACK_DAMAGE, 7.0D);
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
|
index 26d7b7de2dc2b59224311bc9541a5f0f0f386277..831254902b21104a8d6376446853a141197278a5 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
|
@@ -187,6 +187,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
|
return level.purpurConfig.villagerCanBeLeashed && !this.isLeashed();
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.villagerTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
public Brain<Villager> getBrain() {
|
|
return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error
|
|
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
|
index 4dc8ac6a3e26a619ff4f2d7b907f192766c8281a..36e99dc4c37d321608b0781c9c7787986d21307d 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
|
@@ -93,6 +93,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
|
return level.purpurConfig.wanderingTraderCanBeLeashed && !this.isLeashed();
|
|
}
|
|
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return this.level.purpurConfig.wanderingTraderTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(0, new FloatGoal(this));
|
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
index a53c3fdbf11c8c33407aa0082f788848ac77dc34..104a3e088e0d181e140a68ddf5271a221d51e979 100644
|
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
@@ -547,9 +547,11 @@ public class PurpurWorldConfig {
|
|
|
|
public double axolotlMaxHealth = 14.0D;
|
|
public int axolotlBreedingTicks = 6000;
|
|
+ public boolean axolotlTakeDamageFromWater = false;
|
|
private void axolotlSettings() {
|
|
axolotlMaxHealth = getDouble("mobs.axolotl.attributes.max_health", axolotlMaxHealth);
|
|
axolotlBreedingTicks = getInt("mobs.axolotl.breeding-delay-ticks", axolotlBreedingTicks);
|
|
+ axolotlTakeDamageFromWater = getBoolean("mobs.axolotl.takes-damage-from-water", axolotlTakeDamageFromWater);
|
|
}
|
|
|
|
public double batMaxHealth = 6.0D;
|
|
@@ -560,6 +562,7 @@ public class PurpurWorldConfig {
|
|
public double batArmor = 0.0D;
|
|
public double batArmorToughness = 0.0D;
|
|
public double batAttackKnockback = 0.0D;
|
|
+ public boolean batTakeDamageFromWater = false;
|
|
private void batSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.bat.attributes.max-health", batMaxHealth);
|
|
@@ -574,10 +577,12 @@ public class PurpurWorldConfig {
|
|
batArmor = getDouble("mobs.bat.attributes.armor", batArmor);
|
|
batArmorToughness = getDouble("mobs.bat.attributes.armor_toughness", batArmorToughness);
|
|
batAttackKnockback = getDouble("mobs.bat.attributes.attack_knockback", batAttackKnockback);
|
|
+ batTakeDamageFromWater = getBoolean("mobs.bat.takes-damage-from-water", batTakeDamageFromWater);
|
|
}
|
|
|
|
public double beeMaxHealth = 10.0D;
|
|
public int beeBreedingTicks = 6000;
|
|
+ public boolean beeTakeDamageFromWater = false;
|
|
private void beeSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.bee.attributes.max-health", beeMaxHealth);
|
|
@@ -586,9 +591,11 @@ public class PurpurWorldConfig {
|
|
}
|
|
beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth);
|
|
beeBreedingTicks = getInt("mobs.bee.breeding-delay-ticks", beeBreedingTicks);
|
|
+ beeTakeDamageFromWater = getBoolean("mobs.bee.takes-damage-from-water", beeTakeDamageFromWater);
|
|
}
|
|
|
|
public double blazeMaxHealth = 20.0D;
|
|
+ public boolean blazeTakeDamageFromWater = true;
|
|
private void blazeSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.blaze.attributes.max-health", blazeMaxHealth);
|
|
@@ -596,6 +603,7 @@ public class PurpurWorldConfig {
|
|
set("mobs.blaze.attributes.max_health", oldValue);
|
|
}
|
|
blazeMaxHealth = getDouble("mobs.blaze.attributes.max_health", blazeMaxHealth);
|
|
+ blazeTakeDamageFromWater = getBoolean("mobs.blaze.takes-damage-from-water", blazeTakeDamageFromWater);
|
|
}
|
|
|
|
public int camelBreedingTicks = 6000;
|
|
@@ -621,6 +629,7 @@ public class PurpurWorldConfig {
|
|
public int catSpawnVillageScanRange = 48;
|
|
public int catBreedingTicks = 6000;
|
|
public DyeColor catDefaultCollarColor = DyeColor.RED;
|
|
+ public boolean catTakeDamageFromWater = false;
|
|
private void catSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.cat.attributes.max-health", catMaxHealth);
|
|
@@ -637,9 +646,11 @@ public class PurpurWorldConfig {
|
|
} catch (IllegalArgumentException ignore) {
|
|
catDefaultCollarColor = DyeColor.RED;
|
|
}
|
|
+ catTakeDamageFromWater = getBoolean("mobs.cat.takes-damage-from-water", catTakeDamageFromWater);
|
|
}
|
|
|
|
public double caveSpiderMaxHealth = 12.0D;
|
|
+ public boolean caveSpiderTakeDamageFromWater = false;
|
|
private void caveSpiderSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.cave_spider.attributes.max-health", caveSpiderMaxHealth);
|
|
@@ -647,11 +658,13 @@ public class PurpurWorldConfig {
|
|
set("mobs.cave_spider.attributes.max_health", oldValue);
|
|
}
|
|
caveSpiderMaxHealth = getDouble("mobs.cave_spider.attributes.max_health", caveSpiderMaxHealth);
|
|
+ caveSpiderTakeDamageFromWater = getBoolean("mobs.cave_spider.takes-damage-from-water", caveSpiderTakeDamageFromWater);
|
|
}
|
|
|
|
public double chickenMaxHealth = 4.0D;
|
|
public boolean chickenRetaliate = false;
|
|
public int chickenBreedingTicks = 6000;
|
|
+ public boolean chickenTakeDamageFromWater = false;
|
|
private void chickenSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.chicken.attributes.max-health", chickenMaxHealth);
|
|
@@ -661,9 +674,11 @@ public class PurpurWorldConfig {
|
|
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);
|
|
chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
|
|
chickenBreedingTicks = getInt("mobs.chicken.breeding-delay-ticks", chickenBreedingTicks);
|
|
+ chickenTakeDamageFromWater = getBoolean("mobs.chicken.takes-damage-from-water", chickenTakeDamageFromWater);
|
|
}
|
|
|
|
public double codMaxHealth = 3.0D;
|
|
+ public boolean codTakeDamageFromWater = false;
|
|
private void codSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.cod.attributes.max-health", codMaxHealth);
|
|
@@ -671,11 +686,13 @@ public class PurpurWorldConfig {
|
|
set("mobs.cod.attributes.max_health", oldValue);
|
|
}
|
|
codMaxHealth = getDouble("mobs.cod.attributes.max_health", codMaxHealth);
|
|
+ codTakeDamageFromWater = getBoolean("mobs.cod.takes-damage-from-water", codTakeDamageFromWater);
|
|
}
|
|
|
|
public double cowMaxHealth = 10.0D;
|
|
public int cowFeedMushrooms = 0;
|
|
public int cowBreedingTicks = 6000;
|
|
+ public boolean cowTakeDamageFromWater = false;
|
|
private void cowSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.cow.attributes.max-health", cowMaxHealth);
|
|
@@ -685,12 +702,14 @@ public class PurpurWorldConfig {
|
|
cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth);
|
|
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
|
|
cowBreedingTicks = getInt("mobs.cow.breeding-delay-ticks", cowBreedingTicks);
|
|
+ cowTakeDamageFromWater = getBoolean("mobs.cow.takes-damage-from-water", cowTakeDamageFromWater);
|
|
}
|
|
|
|
public double creeperMaxHealth = 20.0D;
|
|
public double creeperChargedChance = 0.0D;
|
|
public boolean creeperAllowGriefing = true;
|
|
public boolean creeperBypassMobGriefing = false;
|
|
+ public boolean creeperTakeDamageFromWater = false;
|
|
private void creeperSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.creeper.attributes.max-health", creeperMaxHealth);
|
|
@@ -701,10 +720,12 @@ public class PurpurWorldConfig {
|
|
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
|
|
creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing);
|
|
creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing);
|
|
+ creeperTakeDamageFromWater = getBoolean("mobs.creeper.takes-damage-from-water", creeperTakeDamageFromWater);
|
|
}
|
|
|
|
public double dolphinMaxHealth = 10.0D;
|
|
public boolean dolphinDisableTreasureSearching = false;
|
|
+ public boolean dolphinTakeDamageFromWater = false;
|
|
private void dolphinSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.dolphin.attributes.max-health", dolphinMaxHealth);
|
|
@@ -713,6 +734,7 @@ public class PurpurWorldConfig {
|
|
}
|
|
dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth);
|
|
dolphinDisableTreasureSearching = getBoolean("mobs.dolphin.disable-treasure-searching", dolphinDisableTreasureSearching);
|
|
+ dolphinTakeDamageFromWater = getBoolean("mobs.dolphin.takes-damage-from-water", dolphinTakeDamageFromWater);
|
|
}
|
|
|
|
public double donkeyMaxHealthMin = 15.0D;
|
|
@@ -722,6 +744,7 @@ public class PurpurWorldConfig {
|
|
public double donkeyMovementSpeedMin = 0.175D;
|
|
public double donkeyMovementSpeedMax = 0.175D;
|
|
public int donkeyBreedingTicks = 6000;
|
|
+ public boolean donkeyTakeDamageFromWater = false;
|
|
private void donkeySettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldMin = getDouble("mobs.donkey.attributes.max-health.min", donkeyMaxHealthMin);
|
|
@@ -737,6 +760,7 @@ public class PurpurWorldConfig {
|
|
donkeyMovementSpeedMin = getDouble("mobs.donkey.attributes.movement_speed.min", donkeyMovementSpeedMin);
|
|
donkeyMovementSpeedMax = getDouble("mobs.donkey.attributes.movement_speed.max", donkeyMovementSpeedMax);
|
|
donkeyBreedingTicks = getInt("mobs.donkey.breeding-delay-ticks", donkeyBreedingTicks);
|
|
+ donkeyTakeDamageFromWater = getBoolean("mobs.donkey.takes-damage-from-water", donkeyTakeDamageFromWater);
|
|
}
|
|
|
|
public double drownedMaxHealth = 20.0D;
|
|
@@ -744,6 +768,7 @@ public class PurpurWorldConfig {
|
|
public boolean drownedJockeyOnlyBaby = true;
|
|
public double drownedJockeyChance = 0.05D;
|
|
public boolean drownedJockeyTryExistingChickens = true;
|
|
+ public boolean drownedTakeDamageFromWater = false;
|
|
private void drownedSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.drowned.attributes.max-health", drownedMaxHealth);
|
|
@@ -755,9 +780,11 @@ public class PurpurWorldConfig {
|
|
drownedJockeyOnlyBaby = getBoolean("mobs.drowned.jockey.only-babies", drownedJockeyOnlyBaby);
|
|
drownedJockeyChance = getDouble("mobs.drowned.jockey.chance", drownedJockeyChance);
|
|
drownedJockeyTryExistingChickens = getBoolean("mobs.drowned.jockey.try-existing-chickens", drownedJockeyTryExistingChickens);
|
|
+ drownedTakeDamageFromWater = getBoolean("mobs.drowned.takes-damage-from-water", drownedTakeDamageFromWater);
|
|
}
|
|
|
|
public double elderGuardianMaxHealth = 80.0D;
|
|
+ public boolean elderGuardianTakeDamageFromWater = false;
|
|
private void elderGuardianSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.elder_guardian.attributes.max-health", elderGuardianMaxHealth);
|
|
@@ -765,11 +792,13 @@ public class PurpurWorldConfig {
|
|
set("mobs.elder_guardian.attributes.max_health", oldValue);
|
|
}
|
|
elderGuardianMaxHealth = getDouble("mobs.elder_guardian.attributes.max_health", elderGuardianMaxHealth);
|
|
+ elderGuardianTakeDamageFromWater = getBoolean("mobs.elder_guardian.takes-damage-from-water", elderGuardianTakeDamageFromWater);
|
|
}
|
|
|
|
public double enderDragonMaxHealth = 200.0D;
|
|
public boolean enderDragonAlwaysDropsFullExp = false;
|
|
public boolean enderDragonBypassMobGriefing = false;
|
|
+ public boolean enderDragonTakeDamageFromWater = false;
|
|
private void enderDragonSettings() {
|
|
if (PurpurConfig.version < 8) {
|
|
double oldValue = getDouble("mobs.ender_dragon.max-health", enderDragonMaxHealth);
|
|
@@ -783,12 +812,14 @@ public class PurpurWorldConfig {
|
|
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);
|
|
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
|
|
enderDragonBypassMobGriefing = getBoolean("mobs.ender_dragon.bypass-mob-griefing", enderDragonBypassMobGriefing);
|
|
+ enderDragonTakeDamageFromWater = getBoolean("mobs.ender_dragon.takes-damage-from-water", enderDragonTakeDamageFromWater);
|
|
}
|
|
|
|
public double endermanMaxHealth = 40.0D;
|
|
public boolean endermanAllowGriefing = true;
|
|
public boolean endermanDespawnEvenWithBlock = false;
|
|
public boolean endermanBypassMobGriefing = false;
|
|
+ public boolean endermanTakeDamageFromWater = true;
|
|
private void endermanSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.enderman.attributes.max-health", endermanMaxHealth);
|
|
@@ -799,9 +830,11 @@ public class PurpurWorldConfig {
|
|
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);
|
|
endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock);
|
|
endermanBypassMobGriefing = getBoolean("mobs.enderman.bypass-mob-griefing", endermanBypassMobGriefing);
|
|
+ endermanTakeDamageFromWater = getBoolean("mobs.enderman.takes-damage-from-water", endermanTakeDamageFromWater);
|
|
}
|
|
|
|
public double endermiteMaxHealth = 8.0D;
|
|
+ public boolean endermiteTakeDamageFromWater = false;
|
|
private void endermiteSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.endermite.attributes.max-health", endermiteMaxHealth);
|
|
@@ -809,10 +842,12 @@ public class PurpurWorldConfig {
|
|
set("mobs.endermite.attributes.max_health", oldValue);
|
|
}
|
|
endermiteMaxHealth = getDouble("mobs.endermite.attributes.max_health", endermiteMaxHealth);
|
|
+ endermiteTakeDamageFromWater = getBoolean("mobs.endermite.takes-damage-from-water", endermiteTakeDamageFromWater);
|
|
}
|
|
|
|
public double evokerMaxHealth = 24.0D;
|
|
public boolean evokerBypassMobGriefing = false;
|
|
+ public boolean evokerTakeDamageFromWater = false;
|
|
private void evokerSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.evoker.attributes.max-health", evokerMaxHealth);
|
|
@@ -821,12 +856,14 @@ public class PurpurWorldConfig {
|
|
}
|
|
evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth);
|
|
evokerBypassMobGriefing = getBoolean("mobs.evoker.bypass-mob-griefing", evokerBypassMobGriefing);
|
|
+ evokerTakeDamageFromWater = getBoolean("mobs.evoker.takes-damage-from-water", evokerTakeDamageFromWater);
|
|
}
|
|
|
|
public double foxMaxHealth = 10.0D;
|
|
public boolean foxTypeChangesWithTulips = false;
|
|
public int foxBreedingTicks = 6000;
|
|
public boolean foxBypassMobGriefing = false;
|
|
+ public boolean foxTakeDamageFromWater = false;
|
|
private void foxSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.fox.attributes.max-health", foxMaxHealth);
|
|
@@ -837,6 +874,7 @@ public class PurpurWorldConfig {
|
|
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
|
|
foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks);
|
|
foxBypassMobGriefing = getBoolean("mobs.fox.bypass-mob-griefing", foxBypassMobGriefing);
|
|
+ foxTakeDamageFromWater = getBoolean("mobs.fox.takes-damage-from-water", foxTakeDamageFromWater);
|
|
}
|
|
|
|
public int frogBreedingTicks = 6000;
|
|
@@ -845,6 +883,7 @@ public class PurpurWorldConfig {
|
|
}
|
|
|
|
public double ghastMaxHealth = 10.0D;
|
|
+ public boolean ghastTakeDamageFromWater = false;
|
|
private void ghastSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.ghast.attributes.max-health", ghastMaxHealth);
|
|
@@ -852,6 +891,7 @@ public class PurpurWorldConfig {
|
|
set("mobs.ghast.attributes.max_health", oldValue);
|
|
}
|
|
ghastMaxHealth = getDouble("mobs.ghast.attributes.max_health", ghastMaxHealth);
|
|
+ ghastTakeDamageFromWater = getBoolean("mobs.ghast.takes-damage-from-water", ghastTakeDamageFromWater);
|
|
}
|
|
|
|
public double giantMovementSpeed = 0.5D;
|
|
@@ -861,6 +901,7 @@ public class PurpurWorldConfig {
|
|
public float giantJumpHeight = 1.0F;
|
|
public boolean giantHaveAI = false;
|
|
public boolean giantHaveHostileAI = false;
|
|
+ public boolean giantTakeDamageFromWater = false;
|
|
private void giantSettings() {
|
|
giantMovementSpeed = getDouble("mobs.giant.movement-speed", giantMovementSpeed);
|
|
giantAttackDamage = getDouble("mobs.giant.attack-damage", giantAttackDamage);
|
|
@@ -878,23 +919,29 @@ public class PurpurWorldConfig {
|
|
giantJumpHeight = (float) getDouble("mobs.giant.jump-height", giantJumpHeight);
|
|
giantHaveAI = getBoolean("mobs.giant.have-ai", giantHaveAI);
|
|
giantHaveHostileAI = getBoolean("mobs.giant.have-hostile-ai", giantHaveHostileAI);
|
|
+ giantTakeDamageFromWater = getBoolean("mobs.giant.takes-damage-from-water", giantTakeDamageFromWater);
|
|
}
|
|
|
|
public double glowSquidMaxHealth = 10.0D;
|
|
public boolean glowSquidsCanFly = false;
|
|
+ public boolean glowSquidTakeDamageFromWater = false;
|
|
private void glowSquidSettings() {
|
|
glowSquidMaxHealth = getDouble("mobs.glow_squid.attributes.max_health", glowSquidMaxHealth);
|
|
glowSquidsCanFly = getBoolean("mobs.glow_squid.can-fly", glowSquidsCanFly);
|
|
+ glowSquidTakeDamageFromWater = getBoolean("mobs.glow_squid.takes-damage-from-water", glowSquidTakeDamageFromWater);
|
|
}
|
|
|
|
public double goatMaxHealth = 10.0D;
|
|
public int goatBreedingTicks = 6000;
|
|
+ public boolean goatTakeDamageFromWater = false;
|
|
private void goatSettings() {
|
|
goatMaxHealth = getDouble("mobs.goat.attributes.max_health", goatMaxHealth);
|
|
goatBreedingTicks = getInt("mobs.goat.breeding-delay-ticks", goatBreedingTicks);
|
|
+ goatTakeDamageFromWater = getBoolean("mobs.goat.takes-damage-from-water", goatTakeDamageFromWater);
|
|
}
|
|
|
|
public double guardianMaxHealth = 30.0D;
|
|
+ public boolean guardianTakeDamageFromWater = false;
|
|
private void guardianSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.guardian.attributes.max-health", guardianMaxHealth);
|
|
@@ -902,10 +949,12 @@ public class PurpurWorldConfig {
|
|
set("mobs.guardian.attributes.max_health", oldValue);
|
|
}
|
|
guardianMaxHealth = getDouble("mobs.guardian.attributes.max_health", guardianMaxHealth);
|
|
+ guardianTakeDamageFromWater = getBoolean("mobs.guardian.takes-damage-from-water", guardianTakeDamageFromWater);
|
|
}
|
|
|
|
public double hoglinMaxHealth = 40.0D;
|
|
public int hoglinBreedingTicks = 6000;
|
|
+ public boolean hoglinTakeDamageFromWater = false;
|
|
private void hoglinSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.hoglin.attributes.max-health", hoglinMaxHealth);
|
|
@@ -914,6 +963,7 @@ public class PurpurWorldConfig {
|
|
}
|
|
hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth);
|
|
hoglinBreedingTicks = getInt("mobs.hoglin.breeding-delay-ticks", hoglinBreedingTicks);
|
|
+ hoglinTakeDamageFromWater = getBoolean("mobs.hoglin.takes-damage-from-water", hoglinTakeDamageFromWater);
|
|
}
|
|
|
|
public double horseMaxHealthMin = 15.0D;
|
|
@@ -923,6 +973,7 @@ public class PurpurWorldConfig {
|
|
public double horseMovementSpeedMin = 0.1125D;
|
|
public double horseMovementSpeedMax = 0.3375D;
|
|
public int horseBreedingTicks = 6000;
|
|
+ public boolean horseTakeDamageFromWater = false;
|
|
private void horseSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldMin = getDouble("mobs.horse.attributes.max-health.min", horseMaxHealthMin);
|
|
@@ -938,6 +989,7 @@ public class PurpurWorldConfig {
|
|
horseMovementSpeedMin = getDouble("mobs.horse.attributes.movement_speed.min", horseMovementSpeedMin);
|
|
horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax);
|
|
horseBreedingTicks = getInt("mobs.horse.breeding-delay-ticks", horseBreedingTicks);
|
|
+ horseTakeDamageFromWater = getBoolean("mobs.horse.takes-damage-from-water", horseTakeDamageFromWater);
|
|
}
|
|
|
|
public double huskMaxHealth = 20.0D;
|
|
@@ -945,6 +997,7 @@ public class PurpurWorldConfig {
|
|
public boolean huskJockeyOnlyBaby = true;
|
|
public double huskJockeyChance = 0.05D;
|
|
public boolean huskJockeyTryExistingChickens = true;
|
|
+ public boolean huskTakeDamageFromWater = false;
|
|
private void huskSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.husk.attributes.max-health", huskMaxHealth);
|
|
@@ -956,11 +1009,13 @@ public class PurpurWorldConfig {
|
|
huskJockeyOnlyBaby = getBoolean("mobs.husk.jockey.only-babies", huskJockeyOnlyBaby);
|
|
huskJockeyChance = getDouble("mobs.husk.jockey.chance", huskJockeyChance);
|
|
huskJockeyTryExistingChickens = getBoolean("mobs.husk.jockey.try-existing-chickens", huskJockeyTryExistingChickens);
|
|
+ huskTakeDamageFromWater = getBoolean("mobs.husk.takes-damage-from-water", huskTakeDamageFromWater);
|
|
}
|
|
|
|
public double illusionerMovementSpeed = 0.5D;
|
|
public double illusionerFollowRange = 18.0D;
|
|
public double illusionerMaxHealth = 32.0D;
|
|
+ public boolean illusionerTakeDamageFromWater = false;
|
|
private void illusionerSettings() {
|
|
illusionerMovementSpeed = getDouble("mobs.illusioner.movement-speed", illusionerMovementSpeed);
|
|
illusionerFollowRange = getDouble("mobs.illusioner.follow-range", illusionerFollowRange);
|
|
@@ -974,9 +1029,11 @@ public class PurpurWorldConfig {
|
|
set("mobs.illusioner.attributes.max_health", oldValue);
|
|
}
|
|
illusionerMaxHealth = getDouble("mobs.illusioner.attributes.max_health", illusionerMaxHealth);
|
|
+ illusionerTakeDamageFromWater = getBoolean("mobs.illusioner.takes-damage-from-water", illusionerTakeDamageFromWater);
|
|
}
|
|
|
|
public double ironGolemMaxHealth = 100.0D;
|
|
+ public boolean ironGolemTakeDamageFromWater = false;
|
|
private void ironGolemSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.iron_golem.attributes.max-health", ironGolemMaxHealth);
|
|
@@ -984,6 +1041,7 @@ public class PurpurWorldConfig {
|
|
set("mobs.iron_golem.attributes.max_health", oldValue);
|
|
}
|
|
ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth);
|
|
+ ironGolemTakeDamageFromWater = getBoolean("mobs.iron_golem.takes-damage-from-water", ironGolemTakeDamageFromWater);
|
|
}
|
|
|
|
public boolean llamaRidable = false;
|
|
@@ -996,6 +1054,7 @@ public class PurpurWorldConfig {
|
|
public double llamaMovementSpeedMin = 0.175D;
|
|
public double llamaMovementSpeedMax = 0.175D;
|
|
public int llamaBreedingTicks = 6000;
|
|
+ public boolean llamaTakeDamageFromWater = false;
|
|
private void llamaSettings() {
|
|
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
|
|
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
|
|
@@ -1014,12 +1073,14 @@ public class PurpurWorldConfig {
|
|
llamaMovementSpeedMin = getDouble("mobs.llama.attributes.movement_speed.min", llamaMovementSpeedMin);
|
|
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);
|
|
}
|
|
|
|
public String magmaCubeMaxHealth = "size * size";
|
|
public String magmaCubeAttackDamage = "size";
|
|
public Map<Integer, Double> magmaCubeMaxHealthCache = new HashMap<>();
|
|
public Map<Integer, Double> magmaCubeAttackDamageCache = new HashMap<>();
|
|
+ public boolean magmaCubeTakeDamageFromWater = false;
|
|
private void magmaCubeSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
String oldValue = getString("mobs.magma_cube.attributes.max-health", magmaCubeMaxHealth);
|
|
@@ -1030,10 +1091,12 @@ public class PurpurWorldConfig {
|
|
magmaCubeAttackDamage = getString("mobs.magma_cube.attributes.attack_damage", magmaCubeAttackDamage);
|
|
magmaCubeMaxHealthCache.clear();
|
|
magmaCubeAttackDamageCache.clear();
|
|
+ magmaCubeTakeDamageFromWater = getBoolean("mobs.magma_cube.takes-damage-from-water", magmaCubeTakeDamageFromWater);
|
|
}
|
|
|
|
public double mooshroomMaxHealth = 10.0D;
|
|
public int mooshroomBreedingTicks = 6000;
|
|
+ public boolean mooshroomTakeDamageFromWater = false;
|
|
private void mooshroomSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.mooshroom.attributes.max-health", mooshroomMaxHealth);
|
|
@@ -1042,6 +1105,7 @@ public class PurpurWorldConfig {
|
|
}
|
|
mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth);
|
|
mooshroomBreedingTicks = getInt("mobs.mooshroom.breeding-delay-ticks", mooshroomBreedingTicks);
|
|
+ mooshroomTakeDamageFromWater = getBoolean("mobs.mooshroom.takes-damage-from-water", mooshroomTakeDamageFromWater);
|
|
}
|
|
|
|
public double muleMaxHealthMin = 15.0D;
|
|
@@ -1051,6 +1115,7 @@ public class PurpurWorldConfig {
|
|
public double muleMovementSpeedMin = 0.175D;
|
|
public double muleMovementSpeedMax = 0.175D;
|
|
public int muleBreedingTicks = 6000;
|
|
+ public boolean muleTakeDamageFromWater = false;
|
|
private void muleSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldMin = getDouble("mobs.mule.attributes.max-health.min", muleMaxHealthMin);
|
|
@@ -1066,10 +1131,12 @@ public class PurpurWorldConfig {
|
|
muleMovementSpeedMin = getDouble("mobs.mule.attributes.movement_speed.min", muleMovementSpeedMin);
|
|
muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax);
|
|
muleBreedingTicks = getInt("mobs.mule.breeding-delay-ticks", muleBreedingTicks);
|
|
+ muleTakeDamageFromWater = getBoolean("mobs.mule.takes-damage-from-water", muleTakeDamageFromWater);
|
|
}
|
|
|
|
public double ocelotMaxHealth = 10.0D;
|
|
public int ocelotBreedingTicks = 6000;
|
|
+ public boolean ocelotTakeDamageFromWater = false;
|
|
private void ocelotSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.ocelot.attributes.max-health", ocelotMaxHealth);
|
|
@@ -1078,10 +1145,12 @@ public class PurpurWorldConfig {
|
|
}
|
|
ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth);
|
|
ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks);
|
|
+ ocelotTakeDamageFromWater = getBoolean("mobs.ocelot.takes-damage-from-water", ocelotTakeDamageFromWater);
|
|
}
|
|
|
|
public double pandaMaxHealth = 20.0D;
|
|
public int pandaBreedingTicks = 6000;
|
|
+ public boolean pandaTakeDamageFromWater = false;
|
|
private void pandaSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.panda.attributes.max-health", pandaMaxHealth);
|
|
@@ -1090,9 +1159,11 @@ public class PurpurWorldConfig {
|
|
}
|
|
pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth);
|
|
pandaBreedingTicks = getInt("mobs.panda.breeding-delay-ticks", pandaBreedingTicks);
|
|
+ pandaTakeDamageFromWater = getBoolean("mobs.panda.takes-damage-from-water", pandaTakeDamageFromWater);
|
|
}
|
|
|
|
public double parrotMaxHealth = 6.0D;
|
|
+ public boolean parrotTakeDamageFromWater = false;
|
|
private void parrotSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.parrot.attributes.max-health", parrotMaxHealth);
|
|
@@ -1100,6 +1171,7 @@ public class PurpurWorldConfig {
|
|
set("mobs.parrot.attributes.max_health", oldValue);
|
|
}
|
|
parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth);
|
|
+ parrotTakeDamageFromWater = getBoolean("mobs.parrot.takes-damage-from-water", parrotTakeDamageFromWater);
|
|
}
|
|
|
|
public String phantomMaxHealth = "20.0";
|
|
@@ -1116,6 +1188,7 @@ public class PurpurWorldConfig {
|
|
public boolean phantomIgnorePlayersWithTorch = false;
|
|
public boolean phantomBurnInDaylight = true;
|
|
public boolean phantomFlamesOnSwoop = false;
|
|
+ public boolean phantomTakeDamageFromWater = false;
|
|
private void phantomSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.phantom.attributes.max-health", Double.parseDouble(phantomMaxHealth));
|
|
@@ -1140,11 +1213,13 @@ public class PurpurWorldConfig {
|
|
phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight);
|
|
phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch);
|
|
phantomFlamesOnSwoop = getBoolean("mobs.phantom.flames-on-swoop", phantomFlamesOnSwoop);
|
|
+ phantomTakeDamageFromWater = getBoolean("mobs.phantom.takes-damage-from-water", phantomTakeDamageFromWater);
|
|
}
|
|
|
|
public double pigMaxHealth = 10.0D;
|
|
public boolean pigGiveSaddleBack = false;
|
|
public int pigBreedingTicks = 6000;
|
|
+ public boolean pigTakeDamageFromWater = false;
|
|
private void pigSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.pig.attributes.max-health", pigMaxHealth);
|
|
@@ -1154,10 +1229,12 @@ public class PurpurWorldConfig {
|
|
pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth);
|
|
pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack);
|
|
pigBreedingTicks = getInt("mobs.pig.breeding-delay-ticks", pigBreedingTicks);
|
|
+ pigTakeDamageFromWater = getBoolean("mobs.pig.takes-damage-from-water", pigTakeDamageFromWater);
|
|
}
|
|
|
|
public double piglinMaxHealth = 16.0D;
|
|
public boolean piglinBypassMobGriefing = false;
|
|
+ public boolean piglinTakeDamageFromWater = false;
|
|
private void piglinSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.piglin.attributes.max-health", piglinMaxHealth);
|
|
@@ -1166,9 +1243,11 @@ public class PurpurWorldConfig {
|
|
}
|
|
piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth);
|
|
piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing);
|
|
+ piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater);
|
|
}
|
|
|
|
public double piglinBruteMaxHealth = 50.0D;
|
|
+ public boolean piglinBruteTakeDamageFromWater = false;
|
|
private void piglinBruteSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.piglin_brute.attributes.max-health", piglinBruteMaxHealth);
|
|
@@ -1176,10 +1255,12 @@ public class PurpurWorldConfig {
|
|
set("mobs.piglin_brute.attributes.max_health", oldValue);
|
|
}
|
|
piglinBruteMaxHealth = getDouble("mobs.piglin_brute.attributes.max_health", piglinBruteMaxHealth);
|
|
+ piglinBruteTakeDamageFromWater = getBoolean("mobs.piglin_brute.takes-damage-from-water", piglinBruteTakeDamageFromWater);
|
|
}
|
|
|
|
public double pillagerMaxHealth = 24.0D;
|
|
public boolean pillagerBypassMobGriefing = false;
|
|
+ public boolean pillagerTakeDamageFromWater = false;
|
|
private void pillagerSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.pillager.attributes.max-health", pillagerMaxHealth);
|
|
@@ -1188,12 +1269,14 @@ public class PurpurWorldConfig {
|
|
}
|
|
pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth);
|
|
pillagerBypassMobGriefing = getBoolean("mobs.pillager.bypass-mob-griefing", pillagerBypassMobGriefing);
|
|
+ pillagerTakeDamageFromWater = getBoolean("mobs.pillager.takes-damage-from-water", pillagerTakeDamageFromWater);
|
|
}
|
|
|
|
public double polarBearMaxHealth = 30.0D;
|
|
public String polarBearBreedableItemString = "";
|
|
public Item polarBearBreedableItem = null;
|
|
public int polarBearBreedingTicks = 6000;
|
|
+ public boolean polarBearTakeDamageFromWater = false;
|
|
private void polarBearSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.polar_bear.attributes.max-health", polarBearMaxHealth);
|
|
@@ -1205,9 +1288,11 @@ public class PurpurWorldConfig {
|
|
Item item = BuiltInRegistries.ITEM.get(new ResourceLocation(polarBearBreedableItemString));
|
|
if (item != Items.AIR) polarBearBreedableItem = item;
|
|
polarBearBreedingTicks = getInt("mobs.polar_bear.breeding-delay-ticks", polarBearBreedingTicks);
|
|
+ polarBearTakeDamageFromWater = getBoolean("mobs.polar_bear.takes-damage-from-water", polarBearTakeDamageFromWater);
|
|
}
|
|
|
|
public double pufferfishMaxHealth = 3.0D;
|
|
+ public boolean pufferfishTakeDamageFromWater = false;
|
|
private void pufferfishSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.pufferfish.attributes.max-health", pufferfishMaxHealth);
|
|
@@ -1215,6 +1300,7 @@ public class PurpurWorldConfig {
|
|
set("mobs.pufferfish.attributes.max_health", oldValue);
|
|
}
|
|
pufferfishMaxHealth = getDouble("mobs.pufferfish.attributes.max_health", pufferfishMaxHealth);
|
|
+ pufferfishTakeDamageFromWater = getBoolean("mobs.pufferfish.takes-damage-from-water", pufferfishTakeDamageFromWater);
|
|
}
|
|
|
|
public double rabbitMaxHealth = 3.0D;
|
|
@@ -1222,6 +1308,7 @@ public class PurpurWorldConfig {
|
|
public double rabbitNaturalKiller = 0.0D;
|
|
public int rabbitBreedingTicks = 6000;
|
|
public boolean rabbitBypassMobGriefing = false;
|
|
+ public boolean rabbitTakeDamageFromWater = false;
|
|
private void rabbitSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.rabbit.attributes.max-health", rabbitMaxHealth);
|
|
@@ -1233,10 +1320,12 @@ public class PurpurWorldConfig {
|
|
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
|
|
rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks);
|
|
rabbitBypassMobGriefing = getBoolean("mobs.rabbit.bypass-mob-griefing", rabbitBypassMobGriefing);
|
|
+ rabbitTakeDamageFromWater = getBoolean("mobs.rabbit.takes-damage-from-water", rabbitTakeDamageFromWater);
|
|
}
|
|
|
|
public double ravagerMaxHealth = 100.0D;
|
|
public boolean ravagerBypassMobGriefing = false;
|
|
+ public boolean ravagerTakeDamageFromWater = false;
|
|
private void ravagerSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.ravager.attributes.max-health", ravagerMaxHealth);
|
|
@@ -1245,9 +1334,11 @@ public class PurpurWorldConfig {
|
|
}
|
|
ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth);
|
|
ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing);
|
|
+ ravagerTakeDamageFromWater = getBoolean("mobs.ravager.takes-damage-from-water", ravagerTakeDamageFromWater);
|
|
}
|
|
|
|
public double salmonMaxHealth = 3.0D;
|
|
+ public boolean salmonTakeDamageFromWater = false;
|
|
private void salmonSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.salmon.attributes.max-health", salmonMaxHealth);
|
|
@@ -1255,11 +1346,13 @@ public class PurpurWorldConfig {
|
|
set("mobs.salmon.attributes.max_health", oldValue);
|
|
}
|
|
salmonMaxHealth = getDouble("mobs.salmon.attributes.max_health", salmonMaxHealth);
|
|
+ salmonTakeDamageFromWater = getBoolean("mobs.salmon.takes-damage-from-water", salmonTakeDamageFromWater);
|
|
}
|
|
|
|
public double sheepMaxHealth = 8.0D;
|
|
public int sheepBreedingTicks = 6000;
|
|
public boolean sheepBypassMobGriefing = false;
|
|
+ public boolean sheepTakeDamageFromWater = false;
|
|
private void sheepSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.sheep.attributes.max-health", sheepMaxHealth);
|
|
@@ -1269,9 +1362,11 @@ public class PurpurWorldConfig {
|
|
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
|
|
sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks);
|
|
sheepBypassMobGriefing = getBoolean("mobs.sheep.bypass-mob-griefing", sheepBypassMobGriefing);
|
|
+ sheepTakeDamageFromWater = getBoolean("mobs.sheep.takes-damage-from-water", sheepTakeDamageFromWater);
|
|
}
|
|
|
|
public double shulkerMaxHealth = 30.0D;
|
|
+ public boolean shulkerTakeDamageFromWater = false;
|
|
private void shulkerSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.shulker.attributes.max-health", shulkerMaxHealth);
|
|
@@ -1279,10 +1374,12 @@ public class PurpurWorldConfig {
|
|
set("mobs.shulker.attributes.max_health", oldValue);
|
|
}
|
|
shulkerMaxHealth = getDouble("mobs.shulker.attributes.max_health", shulkerMaxHealth);
|
|
+ shulkerTakeDamageFromWater = getBoolean("mobs.shulker.takes-damage-from-water", shulkerTakeDamageFromWater);
|
|
}
|
|
|
|
public double silverfishMaxHealth = 8.0D;
|
|
public boolean silverfishBypassMobGriefing = false;
|
|
+ public boolean silverfishTakeDamageFromWater = false;
|
|
private void silverfishSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.silverfish.attributes.max-health", silverfishMaxHealth);
|
|
@@ -1291,9 +1388,11 @@ public class PurpurWorldConfig {
|
|
}
|
|
silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth);
|
|
silverfishBypassMobGriefing = getBoolean("mobs.silverfish.bypass-mob-griefing", silverfishBypassMobGriefing);
|
|
+ silverfishTakeDamageFromWater = getBoolean("mobs.silverfish.takes-damage-from-water", silverfishTakeDamageFromWater);
|
|
}
|
|
|
|
public double skeletonMaxHealth = 20.0D;
|
|
+ public boolean skeletonTakeDamageFromWater = false;
|
|
private void skeletonSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.skeleton.attributes.max-health", skeletonMaxHealth);
|
|
@@ -1301,6 +1400,7 @@ public class PurpurWorldConfig {
|
|
set("mobs.skeleton.attributes.max_health", oldValue);
|
|
}
|
|
skeletonMaxHealth = getDouble("mobs.skeleton.attributes.max_health", skeletonMaxHealth);
|
|
+ skeletonTakeDamageFromWater = getBoolean("mobs.skeleton.takes-damage-from-water", skeletonTakeDamageFromWater);
|
|
}
|
|
|
|
public double skeletonHorseMaxHealthMin = 15.0D;
|
|
@@ -1309,6 +1409,7 @@ public class PurpurWorldConfig {
|
|
public double skeletonHorseJumpStrengthMax = 1.0D;
|
|
public double skeletonHorseMovementSpeedMin = 0.2D;
|
|
public double skeletonHorseMovementSpeedMax = 0.2D;
|
|
+ public boolean skeletonHorseTakeDamageFromWater = false;
|
|
private void skeletonHorseSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.skeleton_horse.attributes.max-health", skeletonHorseMaxHealthMin);
|
|
@@ -1322,12 +1423,14 @@ public class PurpurWorldConfig {
|
|
skeletonHorseJumpStrengthMax = getDouble("mobs.skeleton_horse.attributes.jump_strength.max", skeletonHorseJumpStrengthMax);
|
|
skeletonHorseMovementSpeedMin = getDouble("mobs.skeleton_horse.attributes.movement_speed.min", skeletonHorseMovementSpeedMin);
|
|
skeletonHorseMovementSpeedMax = getDouble("mobs.skeleton_horse.attributes.movement_speed.max", skeletonHorseMovementSpeedMax);
|
|
+ skeletonHorseTakeDamageFromWater = getBoolean("mobs.skeleton_horse.takes-damage-from-water", skeletonHorseTakeDamageFromWater);
|
|
}
|
|
|
|
public String slimeMaxHealth = "size * size";
|
|
public String slimeAttackDamage = "size";
|
|
public Map<Integer, Double> slimeMaxHealthCache = new HashMap<>();
|
|
public Map<Integer, Double> slimeAttackDamageCache = new HashMap<>();
|
|
+ public boolean slimeTakeDamageFromWater = false;
|
|
private void slimeSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
String oldValue = getString("mobs.slime.attributes.max-health", slimeMaxHealth);
|
|
@@ -1338,6 +1441,7 @@ public class PurpurWorldConfig {
|
|
slimeAttackDamage = getString("mobs.slime.attributes.attack_damage", slimeAttackDamage);
|
|
slimeMaxHealthCache.clear();
|
|
slimeAttackDamageCache.clear();
|
|
+ slimeTakeDamageFromWater = getBoolean("mobs.slime.takes-damage-from-water", slimeTakeDamageFromWater);
|
|
}
|
|
|
|
public boolean snowGolemLeaveTrailWhenRidden = false;
|
|
@@ -1349,6 +1453,7 @@ public class PurpurWorldConfig {
|
|
public float snowGolemSnowBallModifier = 10.0F;
|
|
public double snowGolemAttackDistance = 1.25D;
|
|
public boolean snowGolemBypassMobGriefing = false;
|
|
+ public boolean snowGolemTakeDamageFromWater = true;
|
|
private void snowGolemSettings() {
|
|
snowGolemLeaveTrailWhenRidden = getBoolean("mobs.snow_golem.leave-trail-when-ridden", snowGolemLeaveTrailWhenRidden);
|
|
if (PurpurConfig.version < 10) {
|
|
@@ -1364,6 +1469,7 @@ public class PurpurWorldConfig {
|
|
snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier);
|
|
snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance);
|
|
snowGolemBypassMobGriefing = getBoolean("mobs.snow_golem.bypass-mob-griefing", snowGolemBypassMobGriefing);
|
|
+ snowGolemTakeDamageFromWater = getBoolean("mobs.snow_golem.takes-damage-from-water", snowGolemTakeDamageFromWater);
|
|
}
|
|
|
|
public double snifferMaxHealth = 14.0D;
|
|
@@ -1377,6 +1483,7 @@ public class PurpurWorldConfig {
|
|
public boolean squidImmuneToEAR = true;
|
|
public double squidOffsetWaterCheck = 0.0D;
|
|
public boolean squidsCanFly = false;
|
|
+ public boolean squidTakeDamageFromWater = false;
|
|
private void squidSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.squid.attributes.max-health", squidMaxHealth);
|
|
@@ -1387,9 +1494,11 @@ public class PurpurWorldConfig {
|
|
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);
|
|
squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck);
|
|
squidsCanFly = getBoolean("mobs.squid.can-fly", squidsCanFly);
|
|
+ squidTakeDamageFromWater = getBoolean("mobs.squid.takes-damage-from-water", squidTakeDamageFromWater);
|
|
}
|
|
|
|
public double spiderMaxHealth = 16.0D;
|
|
+ public boolean spiderTakeDamageFromWater = false;
|
|
private void spiderSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.spider.attributes.max-health", spiderMaxHealth);
|
|
@@ -1397,9 +1506,11 @@ public class PurpurWorldConfig {
|
|
set("mobs.spider.attributes.max_health", oldValue);
|
|
}
|
|
spiderMaxHealth = getDouble("mobs.spider.attributes.max_health", spiderMaxHealth);
|
|
+ spiderTakeDamageFromWater = getBoolean("mobs.spider.takes-damage-from-water", spiderTakeDamageFromWater);
|
|
}
|
|
|
|
public double strayMaxHealth = 20.0D;
|
|
+ public boolean strayTakeDamageFromWater = false;
|
|
private void straySettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.stray.attributes.max-health", strayMaxHealth);
|
|
@@ -1407,11 +1518,13 @@ public class PurpurWorldConfig {
|
|
set("mobs.stray.attributes.max_health", oldValue);
|
|
}
|
|
strayMaxHealth = getDouble("mobs.stray.attributes.max_health", strayMaxHealth);
|
|
+ strayTakeDamageFromWater = getBoolean("mobs.stray.takes-damage-from-water", strayTakeDamageFromWater);
|
|
}
|
|
|
|
public double striderMaxHealth = 20.0D;
|
|
public int striderBreedingTicks = 6000;
|
|
public boolean striderGiveSaddleBack = false;
|
|
+ public boolean striderTakeDamageFromWater = true;
|
|
private void striderSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.strider.attributes.max-health", striderMaxHealth);
|
|
@@ -1421,6 +1534,7 @@ public class PurpurWorldConfig {
|
|
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
|
|
striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);
|
|
striderGiveSaddleBack = getBoolean("mobs.strider.give-saddle-back", striderGiveSaddleBack);
|
|
+ striderTakeDamageFromWater = getBoolean("mobs.strider.takes-damage-from-water", striderTakeDamageFromWater);
|
|
}
|
|
|
|
public double traderLlamaMaxHealthMin = 15.0D;
|
|
@@ -1430,6 +1544,7 @@ public class PurpurWorldConfig {
|
|
public double traderLlamaMovementSpeedMin = 0.175D;
|
|
public double traderLlamaMovementSpeedMax = 0.175D;
|
|
public int traderLlamaBreedingTicks = 6000;
|
|
+ public boolean traderLlamaTakeDamageFromWater = false;
|
|
private void traderLlamaSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldMin = getDouble("mobs.trader_llama.attributes.max-health.min", traderLlamaMaxHealthMin);
|
|
@@ -1445,9 +1560,11 @@ public class PurpurWorldConfig {
|
|
traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin);
|
|
traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax);
|
|
traderLlamaBreedingTicks = getInt("mobs.trader_llama.breeding-delay-ticks", traderLlamaBreedingTicks);
|
|
+ traderLlamaTakeDamageFromWater = getBoolean("mobs.trader_llama.takes-damage-from-water", traderLlamaTakeDamageFromWater);
|
|
}
|
|
|
|
public double tropicalFishMaxHealth = 3.0D;
|
|
+ public boolean tropicalFishTakeDamageFromWater = false;
|
|
private void tropicalFishSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.tropical_fish.attributes.max-health", tropicalFishMaxHealth);
|
|
@@ -1455,10 +1572,12 @@ public class PurpurWorldConfig {
|
|
set("mobs.tropical_fish.attributes.max_health", oldValue);
|
|
}
|
|
tropicalFishMaxHealth = getDouble("mobs.tropical_fish.attributes.max_health", tropicalFishMaxHealth);
|
|
+ tropicalFishTakeDamageFromWater = getBoolean("mobs.tropical_fish.takes-damage-from-water", tropicalFishTakeDamageFromWater);
|
|
}
|
|
|
|
public double turtleMaxHealth = 30.0D;
|
|
public int turtleBreedingTicks = 6000;
|
|
+ public boolean turtleTakeDamageFromWater = false;
|
|
private void turtleSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.turtle.attributes.max-health", turtleMaxHealth);
|
|
@@ -1467,10 +1586,12 @@ public class PurpurWorldConfig {
|
|
}
|
|
turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth);
|
|
turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks);
|
|
+ turtleTakeDamageFromWater = getBoolean("mobs.turtle.takes-damage-from-water", turtleTakeDamageFromWater);
|
|
}
|
|
|
|
public double vexMaxY = 320D;
|
|
public double vexMaxHealth = 14.0D;
|
|
+ public boolean vexTakeDamageFromWater = false;
|
|
private void vexSettings() {
|
|
vexMaxY = getDouble("mobs.vex.ridable-max-y", vexMaxY);
|
|
if (PurpurConfig.version < 10) {
|
|
@@ -1479,6 +1600,7 @@ public class PurpurWorldConfig {
|
|
set("mobs.vex.attributes.max_health", oldValue);
|
|
}
|
|
vexMaxHealth = getDouble("mobs.vex.attributes.max_health", vexMaxHealth);
|
|
+ vexTakeDamageFromWater = getBoolean("mobs.vex.takes-damage-from-water", vexTakeDamageFromWater);
|
|
}
|
|
|
|
public double villagerMaxHealth = 20.0D;
|
|
@@ -1487,6 +1609,7 @@ public class PurpurWorldConfig {
|
|
public boolean villagerCanBreed = true;
|
|
public int villagerBreedingTicks = 6000;
|
|
public boolean villagerBypassMobGriefing = false;
|
|
+ public boolean villagerTakeDamageFromWater = false;
|
|
private void villagerSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.villager.attributes.max-health", villagerMaxHealth);
|
|
@@ -1499,10 +1622,12 @@ public class PurpurWorldConfig {
|
|
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
|
|
villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);
|
|
villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing);
|
|
+ villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater);
|
|
}
|
|
|
|
public double vindicatorMaxHealth = 24.0D;
|
|
public double vindicatorJohnnySpawnChance = 0D;
|
|
+ public boolean vindicatorTakeDamageFromWater = false;
|
|
private void vindicatorSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.vindicator.attributes.max-health", vindicatorMaxHealth);
|
|
@@ -1511,11 +1636,13 @@ public class PurpurWorldConfig {
|
|
}
|
|
vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth);
|
|
vindicatorJohnnySpawnChance = getDouble("mobs.vindicator.johnny.spawn-chance", vindicatorJohnnySpawnChance);
|
|
+ vindicatorTakeDamageFromWater = getBoolean("mobs.vindicator.takes-damage-from-water", vindicatorTakeDamageFromWater);
|
|
}
|
|
|
|
public double wanderingTraderMaxHealth = 20.0D;
|
|
public boolean wanderingTraderFollowEmeraldBlock = false;
|
|
public boolean wanderingTraderCanBeLeashed = false;
|
|
+ public boolean wanderingTraderTakeDamageFromWater = false;
|
|
private void wanderingTraderSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.wandering_trader.attributes.max-health", wanderingTraderMaxHealth);
|
|
@@ -1525,9 +1652,11 @@ public class PurpurWorldConfig {
|
|
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);
|
|
wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock);
|
|
wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed);
|
|
+ wanderingTraderTakeDamageFromWater = getBoolean("mobs.wandering_trader.takes-damage-from-water", wanderingTraderTakeDamageFromWater);
|
|
}
|
|
|
|
public double witchMaxHealth = 26.0D;
|
|
+ public boolean witchTakeDamageFromWater = false;
|
|
private void witchSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.witch.attributes.max-health", witchMaxHealth);
|
|
@@ -1535,12 +1664,14 @@ public class PurpurWorldConfig {
|
|
set("mobs.witch.attributes.max_health", oldValue);
|
|
}
|
|
witchMaxHealth = getDouble("mobs.witch.attributes.max_health", witchMaxHealth);
|
|
+ witchTakeDamageFromWater = getBoolean("mobs.witch.takes-damage-from-water", witchTakeDamageFromWater);
|
|
}
|
|
|
|
public double witherMaxHealth = 300.0D;
|
|
public float witherHealthRegenAmount = 1.0f;
|
|
public int witherHealthRegenDelay = 20;
|
|
public boolean witherBypassMobGriefing = false;
|
|
+ public boolean witherTakeDamageFromWater = false;
|
|
private void witherSettings() {
|
|
if (PurpurConfig.version < 8) {
|
|
double oldValue = getDouble("mobs.wither.max-health", witherMaxHealth);
|
|
@@ -1555,9 +1686,11 @@ public class PurpurWorldConfig {
|
|
witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount);
|
|
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
|
|
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
|
|
+ witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater);
|
|
}
|
|
|
|
public double witherSkeletonMaxHealth = 20.0D;
|
|
+ public boolean witherSkeletonTakeDamageFromWater = false;
|
|
private void witherSkeletonSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.wither_skeleton.attributes.max-health", witherSkeletonMaxHealth);
|
|
@@ -1565,6 +1698,7 @@ public class PurpurWorldConfig {
|
|
set("mobs.wither_skeleton.attributes.max_health", oldValue);
|
|
}
|
|
witherSkeletonMaxHealth = getDouble("mobs.wither_skeleton.attributes.max_health", witherSkeletonMaxHealth);
|
|
+ witherSkeletonTakeDamageFromWater = getBoolean("mobs.wither_skeleton.takes-damage-from-water", witherSkeletonTakeDamageFromWater);
|
|
}
|
|
|
|
public double wolfMaxHealth = 8.0D;
|
|
@@ -1572,6 +1706,7 @@ public class PurpurWorldConfig {
|
|
public boolean wolfMilkCuresRabies = true;
|
|
public double wolfNaturalRabid = 0.0D;
|
|
public int wolfBreedingTicks = 6000;
|
|
+ public boolean wolfTakeDamageFromWater = false;
|
|
private void wolfSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.wolf.attributes.max-health", wolfMaxHealth);
|
|
@@ -1587,9 +1722,11 @@ public class PurpurWorldConfig {
|
|
wolfMilkCuresRabies = getBoolean("mobs.wolf.milk-cures-rabid-wolves", wolfMilkCuresRabies);
|
|
wolfNaturalRabid = getDouble("mobs.wolf.spawn-rabid-chance", wolfNaturalRabid);
|
|
wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks);
|
|
+ wolfTakeDamageFromWater = getBoolean("mobs.wolf.takes-damage-from-water", wolfTakeDamageFromWater);
|
|
}
|
|
|
|
public double zoglinMaxHealth = 40.0D;
|
|
+ public boolean zoglinTakeDamageFromWater = false;
|
|
private void zoglinSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.zoglin.attributes.max-health", zoglinMaxHealth);
|
|
@@ -1597,6 +1734,7 @@ public class PurpurWorldConfig {
|
|
set("mobs.zoglin.attributes.max_health", oldValue);
|
|
}
|
|
zoglinMaxHealth = getDouble("mobs.zoglin.attributes.max_health", zoglinMaxHealth);
|
|
+ zoglinTakeDamageFromWater = getBoolean("mobs.zoglin.takes-damage-from-water", zoglinTakeDamageFromWater);
|
|
}
|
|
|
|
public double zombieMaxHealth = 20.0D;
|
|
@@ -1606,6 +1744,7 @@ public class PurpurWorldConfig {
|
|
public boolean zombieJockeyTryExistingChickens = true;
|
|
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
|
|
public boolean zombieBypassMobGriefing = false;
|
|
+ public boolean zombieTakeDamageFromWater = false;
|
|
private void zombieSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.zombie.attributes.max-health", zombieMaxHealth);
|
|
@@ -1619,6 +1758,7 @@ public class PurpurWorldConfig {
|
|
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);
|
|
zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging);
|
|
zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing);
|
|
+ zombieTakeDamageFromWater = getBoolean("mobs.zombie.takes-damage-from-water", zombieTakeDamageFromWater);
|
|
}
|
|
|
|
public double zombieHorseMaxHealthMin = 15.0D;
|
|
@@ -1628,6 +1768,7 @@ public class PurpurWorldConfig {
|
|
public double zombieHorseMovementSpeedMin = 0.2D;
|
|
public double zombieHorseMovementSpeedMax = 0.2D;
|
|
public double zombieHorseSpawnChance = 0.0D;
|
|
+ public boolean zombieHorseTakeDamageFromWater = false;
|
|
private void zombieHorseSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.zombie_horse.attributes.max-health", zombieHorseMaxHealthMin);
|
|
@@ -1642,6 +1783,7 @@ public class PurpurWorldConfig {
|
|
zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin);
|
|
zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax);
|
|
zombieHorseSpawnChance = getDouble("mobs.zombie_horse.spawn-chance", zombieHorseSpawnChance);
|
|
+ zombieHorseTakeDamageFromWater = getBoolean("mobs.zombie_horse.takes-damage-from-water", zombieHorseTakeDamageFromWater);
|
|
}
|
|
|
|
public double zombieVillagerMaxHealth = 20.0D;
|
|
@@ -1649,6 +1791,7 @@ public class PurpurWorldConfig {
|
|
public boolean zombieVillagerJockeyOnlyBaby = true;
|
|
public double zombieVillagerJockeyChance = 0.05D;
|
|
public boolean zombieVillagerJockeyTryExistingChickens = true;
|
|
+ public boolean zombieVillagerTakeDamageFromWater = false;
|
|
private void zombieVillagerSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.zombie_villager.attributes.max-health", zombieVillagerMaxHealth);
|
|
@@ -1660,6 +1803,7 @@ public class PurpurWorldConfig {
|
|
zombieVillagerJockeyOnlyBaby = getBoolean("mobs.zombie_villager.jockey.only-babies", zombieVillagerJockeyOnlyBaby);
|
|
zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance);
|
|
zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens);
|
|
+ zombieVillagerTakeDamageFromWater = getBoolean("mobs.zombie_villager.takes-damage-from-water", zombieVillagerTakeDamageFromWater);
|
|
}
|
|
|
|
public double zombifiedPiglinMaxHealth = 20.0D;
|
|
@@ -1668,6 +1812,7 @@ public class PurpurWorldConfig {
|
|
public double zombifiedPiglinJockeyChance = 0.05D;
|
|
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
|
|
public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true;
|
|
+ public boolean zombifiedPiglinTakeDamageFromWater = false;
|
|
private void zombifiedPiglinSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.zombified_piglin.attributes.max-health", zombifiedPiglinMaxHealth);
|
|
@@ -1680,6 +1825,7 @@ public class PurpurWorldConfig {
|
|
zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance);
|
|
zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens);
|
|
zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry);
|
|
+ zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater);
|
|
}
|
|
|
|
public boolean babiesAreRidable = true;
|