mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
2307 lines
126 KiB
Diff
2307 lines
126 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: BillyGalbreath <blake.galbreath@gmail.com>
|
|
Date: Tue, 21 Dec 2021 20:40:42 -0600
|
|
Subject: [PATCH] Mobs always drop experience
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/GlowSquid.java b/src/main/java/net/minecraft/world/entity/GlowSquid.java
|
|
index d04e48d6a0a6dc7825a3e3d4cf854e294a75d19c..b18cbe85330e26de6f6cbfcc3d51a7418bd93877 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/GlowSquid.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/GlowSquid.java
|
|
@@ -51,6 +51,11 @@ public class GlowSquid extends Squid {
|
|
return this.level().purpurConfig.glowSquidTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.glowSquidAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 980f2426a5052117f03ebb1ed3f7882b236ad86e..bae3c516b0d13358603576d87a18602a0522a9ff 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
|
@@ -285,6 +285,11 @@ public class Bat extends AmbientCreature {
|
|
return this.level().purpurConfig.batTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.batAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 a4c6ea94be1c1a610c6141328192a29052b9f157..6d7b8c9f9bfe296263f1752f485dcf8f53af8142 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
|
@@ -493,6 +493,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
|
return this.level().purpurConfig.beeTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.beeAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 9a40cd8d7d4789a8b43f5194bdc67dc6753eed21..6e5b4a50b8d2dddbd7f099426b4866b35bcb798a 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
|
@@ -138,6 +138,11 @@ public class Cat extends TamableAnimal implements VariantHolder<CatVariant> {
|
|
return this.level().purpurConfig.catTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.catAlwaysDropExp;
|
|
+ }
|
|
+
|
|
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 2dc2486e2b5e046ab8f23976b7bf0202f61756ec..0388ff9ce0ffe1029d977a65a528a0d9f228a3ee 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
|
@@ -90,6 +90,11 @@ public class Chicken extends Animal {
|
|
return this.level().purpurConfig.chickenTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.chickenAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 2343325fa9a771de7b9445cda24a2bcd7a7c1761..f0b6118a9995bb41836685bbf94d2e7fb15761eb 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Cod.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Cod.java
|
|
@@ -35,6 +35,11 @@ public class Cod extends AbstractSchoolingFish {
|
|
return this.level().purpurConfig.codTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.codAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 3c12e179861b5514e081d0db1664f7173955629c..6d00b3cd4a9cb0fc8a9e9c27f37429a25fcf6e9d 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
|
@@ -87,6 +87,11 @@ public class Cow extends Animal {
|
|
return super.finalizeSpawn(world, difficulty, spawnReason, entityData, entityNbt);
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.cowAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 0453ba99a640855c6e13cb1e1d82929842f240ea..ed2769d8049bb304c1ee3b8e162046855951a624 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
|
@@ -169,6 +169,11 @@ public class Dolphin extends WaterAnimal {
|
|
return this.level().purpurConfig.dolphinTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.dolphinAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 c8efa4029136d0cd54a5f73f003e022511cc7c8b..77d40aad6e336cac7ee4e4adef159571181ba44a 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
|
@@ -198,6 +198,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
|
return this.level().purpurConfig.foxTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.foxAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 c2817324ff57860ea2628dc4ac8e78b76cf67a5a..64aba511e615983988cdb6a0fd45b7d9d4f2f16d 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
|
|
@@ -103,6 +103,11 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
|
this.summoner = summoner;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.ironGolemAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 1e51eee2c4e425c7ac0152b55a1d1376a5a5708e..c49d25eae4b9d2cdd15022b32947a94364ea2791 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
|
@@ -95,6 +95,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
|
return this.level().purpurConfig.mooshroomTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.mooshroomAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 c91ade7f4b1f04f12e38cf2c5fda1a92b129bec8..af275fc579d66bb098c08e88e4186846a1174c02 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
|
@@ -102,6 +102,11 @@ public class Ocelot extends Animal {
|
|
return this.level().purpurConfig.ocelotTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.ocelotAlwaysDropExp;
|
|
+ }
|
|
+
|
|
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 20eb69e7d944b74a84570d23947e7e2a75d63f8d..97c38b72b998bdf397c72d3ea08fd93186585f30 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
|
@@ -156,6 +156,11 @@ public class Panda extends Animal {
|
|
return this.level().purpurConfig.pandaTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.pandaAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 a3304ce24c08e4250df81a2d09098b8cbbc604bd..351b580611bf4b92d7addcc402c3276f7cb4e639 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
|
@@ -208,6 +208,11 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
|
|
return this.level().purpurConfig.parrotTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.parrotAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 60562089daf363f5af24fbf30a3ccd74311be289..b8de9c4630fbdaad2d3a4ca6d27a61873ddbda2e 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
|
@@ -99,6 +99,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
|
|
return this.level().purpurConfig.pigTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.pigAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 e03c84575360a65425d7ec375ea9bc17e33bdddb..54b6d780d14c27f24d3d4dc9171818f6256afd5c 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
|
@@ -130,6 +130,11 @@ public class PolarBear extends Animal implements NeutralMob {
|
|
return this.level().purpurConfig.polarBearTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.polarBearAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 ef3d0bbbeb6aa736f35c26066a1473c70ef028a2..54f5206b686c3cf4d2e5b470c07047a518f5dd00 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Pufferfish.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Pufferfish.java
|
|
@@ -67,6 +67,11 @@ public class Pufferfish extends AbstractFish {
|
|
return this.level().purpurConfig.pufferfishTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.pufferfishAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 b58d9fadccbf4cd74abfc2449a9399277c876f59..eae2488f2a46e543b496b7a2919aabbb55dcb825 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
|
@@ -153,6 +153,11 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
|
public boolean isSensitiveToWater() {
|
|
return this.level().purpurConfig.rabbitTakeDamageFromWater;
|
|
}
|
|
+
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.rabbitAlwaysDropExp;
|
|
+ }
|
|
// Purpur end
|
|
|
|
@Override
|
|
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 e101c3bf425902908c43ffa18867fb83a5e1f16e..382e47f26ee94506cb76463a677351b9bdcf8040 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Salmon.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Salmon.java
|
|
@@ -35,6 +35,11 @@ public class Salmon extends AbstractSchoolingFish {
|
|
return this.level().purpurConfig.salmonTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.salmonAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 6e951928482fb6d662f2b7aa37ebe7a0885b47de..f2d0c67709e38209a8a02e98f4392b9e0a53c211 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
|
@@ -151,6 +151,11 @@ public class Sheep extends Animal implements Shearable {
|
|
return this.level().purpurConfig.sheepTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.sheepAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 20f2fd0edf290d448d06e4772b5947fc7865c20b..fc8526af7e1df15794b4560b58e7f6a47508aa08 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
|
@@ -86,6 +86,11 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
|
this.summoner = summoner;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.snowGolemAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
|
index 57b37ac40b4ffe6c5e27548755aaa15da89a0f0b..88c238e492b1081d1a64a3b6f05d7baa17e5d8c9 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
|
@@ -95,6 +95,11 @@ public class Squid extends WaterAnimal {
|
|
return this.level().purpurConfig.squidTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.squidAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 b16d075581a352714f86f1b87805f24c9e336aa3..87b6f6b10ba6e3d9c6a42298a2019a526a183d90 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/TropicalFish.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/TropicalFish.java
|
|
@@ -64,6 +64,11 @@ public class TropicalFish extends AbstractSchoolingFish implements VariantHolder
|
|
return this.level().purpurConfig.tropicalFishTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.tropicalFishAlwaysDropExp;
|
|
+ }
|
|
+
|
|
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 cc1ccef921e70c33e5d6acbd73d5eecc4ea99064..8f891e9fd9fc0bf4a9c022a3415b371cea9b92fa 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
|
@@ -118,6 +118,11 @@ public class Turtle extends Animal {
|
|
return this.level().purpurConfig.turtleTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.turtleAlwaysDropExp;
|
|
+ }
|
|
+
|
|
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 6b51886e383992f35e0313bd9cc012354190a87d..5d49ed7ddf44a3d549b178ae548664194967776b 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
|
@@ -217,6 +217,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
|
return this.level().purpurConfig.wolfTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.wolfAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 9d52d0f1b57565bdea0333626d8dba9c01607a30..b7eaa9e99688ae300c2e9176991c29828d1cc800 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
|
|
@@ -130,6 +130,11 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
|
|
return this.level().purpurConfig.axolotlTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.axolotlAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 26062173d137e26abdc452f7b2e0be0ee6dddfa3..fba00cab2c4b234dd2e85b5f4dcd0db34183c1a2 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
|
|
@@ -119,6 +119,11 @@ public class Goat extends Animal {
|
|
return this.level().purpurConfig.goatTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.goatAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 af4bac165cbc39fb6959983a1116a6fb65af0ecb..72ad12175325091397459e06743875cce6df8d94 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
|
|
@@ -47,6 +47,11 @@ public class Donkey extends AbstractChestedHorse {
|
|
return this.level().purpurConfig.donkeyTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.donkeyAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 f8dbea402f723bf38d7ab3f2468d1b02b7124560..3b1faa63e46a48e83ea672cf6da444a1d7e13270 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
|
|
@@ -72,6 +72,11 @@ public class Horse extends AbstractHorse implements VariantHolder<Variant> {
|
|
return this.level().purpurConfig.horseTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.horseAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 8d57bf9bbd1f61e6f1509c8b5cf01756ef145571..b414572411e5b2b78fd66e860273656d53df9d9d 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
|
|
@@ -150,6 +150,11 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
|
return this.level().purpurConfig.llamaTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.llamaAlwaysDropExp;
|
|
+ }
|
|
+
|
|
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 53546e904948d03882e5f5b0a8d4256c72698afb..42dcdbec69b052679e590a1ff932c6192c68b20d 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
|
|
@@ -46,6 +46,11 @@ public class Mule extends AbstractChestedHorse {
|
|
return this.level().purpurConfig.muleTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.muleAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 688c87743446bdf5a9e2b830b8a47655d80f3284..64f0f486e29e0b63b024dd5c06738e12d0fb5b9a 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
|
|
@@ -67,6 +67,11 @@ public class SkeletonHorse extends AbstractHorse {
|
|
return this.level().purpurConfig.skeletonHorseTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.skeletonHorseAlwaysDropExp;
|
|
+ }
|
|
+
|
|
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 17648925f97110f2439890388f4bfbbff0917c61..02e3adc9a55fa9cd2a418094eb206970faaf471b 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
|
|
@@ -74,6 +74,11 @@ public class TraderLlama extends Llama {
|
|
return this.level().purpurConfig.traderLlamaTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.traderLlamaAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 dcc1d71c2eeea48669651165868899ba4a797d48..813501e8aac1c121569cb996b47f0293d99c7e36 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
|
|
@@ -63,6 +63,11 @@ public class ZombieHorse extends AbstractHorse {
|
|
return this.level().purpurConfig.zombieHorseTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.zombieHorseAlwaysDropExp;
|
|
+ }
|
|
+
|
|
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/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
|
index dd5552f87ec78c3b16aebe0767e124c368aa8c24..939f003dd488fe7e6c63db38fddebfb6b5cc0f38 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
|
|
@@ -132,6 +132,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
|
this.summoner = summoner;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.witherAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 eae0511698f383e11a0083c2b845479755f114f7..a8b58469fd8a1ed4ec0ce443cf05557903527bd7 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Blaze.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Blaze.java
|
|
@@ -79,6 +79,11 @@ public class Blaze extends Monster {
|
|
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.blazeMaxHealth);
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.blazeAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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/CaveSpider.java b/src/main/java/net/minecraft/world/entity/monster/CaveSpider.java
|
|
index 5dc0b3d04bfc01cd2cb004c18279840861dc4a57..c9bd400473166999479f5eef1edad529d3aafe01 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/CaveSpider.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/CaveSpider.java
|
|
@@ -56,6 +56,11 @@ public class CaveSpider extends Spider {
|
|
return this.level().purpurConfig.caveSpiderTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.caveSpiderAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 1a33d4e855a85b0a0d51c29dbb4042d30918684c..64f6b5f44db4fd90e789032e3833da60cfcfbef1 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
|
@@ -277,6 +277,11 @@ public class Creeper extends Monster implements PowerableMob {
|
|
return super.dropAllDeathLoot(damagesource);
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.creeperAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 6e6d7f68cf1c1c224b67a9d674fdcaa67ea00359..034bb2d1292dde6276885c3ea71d886c3894311c 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
|
@@ -116,6 +116,11 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
|
return level().purpurConfig.drownedJockeyTryExistingChickens;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.drownedAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void addBehaviourGoals() {
|
|
this.goalSelector.addGoal(1, new Drowned.DrownedGoToWaterGoal(this, 1.0D));
|
|
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 cd1f830bf28b1c68e2b9cc7daa77f696234a22c9..df8d1b34078031001c50325b8cf5bfa9a5c361fd 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java
|
|
@@ -58,6 +58,11 @@ public class ElderGuardian extends Guardian {
|
|
return this.level().purpurConfig.elderGuardianTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.elderGuardianAlwaysDropExp;
|
|
+ }
|
|
+
|
|
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 02998e2f3d912d47641e7c9199467b5301de1e4c..4c9ffa8e1ab97d8156ead0ed189c769ffd9b4aae 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
|
@@ -120,6 +120,11 @@ public class EnderMan extends Monster implements NeutralMob {
|
|
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.endermanMaxHealth);
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.endermanAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(0, new FloatGoal(this));
|
|
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 c0c3ab5dbf5987e543e6cdd1a814d2ec3ec17939..20ca96baf8f73fd5835422c6551f515a394cb168 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Endermite.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
|
|
@@ -74,6 +74,11 @@ public class Endermite extends Monster {
|
|
this.isPlayerSpawned = playerSpawned;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.endermiteAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 db3a49a979a9d84f29228ae975133c46216bfb75..daee6c4c0c2d43b65cdfd691bbbdc72465702dfe 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Evoker.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Evoker.java
|
|
@@ -78,6 +78,11 @@ public class Evoker extends SpellcasterIllager {
|
|
return this.level().purpurConfig.evokerTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.evokerAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 fa74eb7ee34f3f9b0026778bc0d37e977fc41d70..640f0c378a18cf0a820ad544bb3b172b698c6bfc 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Ghast.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Ghast.java
|
|
@@ -143,6 +143,11 @@ public class Ghast extends FlyingMob implements Enemy {
|
|
return this.level().purpurConfig.ghastTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.ghastAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 ecaccb4697bf2acaa6dc9034486fcf97c184aa71..d13eed85d5399cd6991b3ad90f05a5805a3a2678 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Giant.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Giant.java
|
|
@@ -80,6 +80,11 @@ public class Giant extends Monster {
|
|
public boolean isSensitiveToWater() {
|
|
return this.level().purpurConfig.giantTakeDamageFromWater;
|
|
}
|
|
+
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.giantAlwaysDropExp;
|
|
+ }
|
|
// Purpur end
|
|
|
|
@Override
|
|
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 c696ffd7f4454ca79933cef04bf2b89e2a65b8cf..01c558673f0bb5034bca9df0e473375e7b7e724e 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Guardian.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Guardian.java
|
|
@@ -104,6 +104,11 @@ public class Guardian extends Monster {
|
|
return this.level().purpurConfig.guardianTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.guardianAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 5ac87650e357f3ac48e37713b9b0b18ad4d6feb6..06a5106a94a44c1d21537410d801cdd945503d69 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Husk.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Husk.java
|
|
@@ -72,6 +72,11 @@ public class Husk extends Zombie {
|
|
return this.level().purpurConfig.huskTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.huskAlwaysDropExp;
|
|
+ }
|
|
+
|
|
public static boolean checkHuskSpawnRules(EntityType<Husk> type, ServerLevelAccessor world, MobSpawnType spawnReason, BlockPos pos, RandomSource random) {
|
|
return checkMonsterSpawnRules(type, world, spawnReason, pos, random) && (MobSpawnType.isSpawner(spawnReason) || 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 91294d87521c884c402485b923691f9fd8985353..f9cddf46d1dbcabc738842ba039daa76bb6f3eb5 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Illusioner.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Illusioner.java
|
|
@@ -88,6 +88,11 @@ public class Illusioner extends SpellcasterIllager implements RangedAttackMob {
|
|
return this.level().purpurConfig.illusionerTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.illusionerAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 e0ebc4c2d8dd718ce78d981a1d099e7482221f1f..1ad97267394d3717b1871336193cdc91f3ffb276 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java
|
|
@@ -72,6 +72,11 @@ public class MagmaCube extends Slime {
|
|
return this.level().purpurConfig.magmaCubeTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.magmaCubeAlwaysDropExp;
|
|
+ }
|
|
+
|
|
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 1d4a292a37069408420ca90b1c2784229781f93f..ab9ed9acc394dedf2151b83ff5cf998e0e0be21e 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
|
@@ -144,6 +144,11 @@ public class Phantom extends FlyingMob implements Enemy {
|
|
return this.level().purpurConfig.phantomTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.phantomAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 1f64dc8442de75447c17ae4fd5483345d4b7fd3e..06d52d8b61abc4dbbdc953bfed2e688be377b3cc 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Pillager.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Pillager.java
|
|
@@ -89,6 +89,11 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
|
|
return this.level().purpurConfig.pillagerTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.pillagerAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 5e717433ef29d02669ee2e95454c69c36cbafc24..c9c21c87e3bd1c404fbef6768761bcb5d97d98b9 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
|
@@ -104,6 +104,11 @@ public class Ravager extends Raider {
|
|
return this.level().purpurConfig.ravagerTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.ravagerAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 47abc81aa04774abeb97c912cd118bbab3b51e86..22669a188c1961783341b22551325e19aaeb8088 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
|
@@ -141,6 +141,11 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
|
return super.mobInteract(player, hand);
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.shulkerAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 65203a502a970ffec622d91d25716f02e2a2fda2..dbc27afbccb027963ae3f035c268835adedbb933 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
|
@@ -74,6 +74,11 @@ public class Silverfish extends Monster {
|
|
return this.level().purpurConfig.silverfishTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.silverfishAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 1c7cd82540aa9566b04142c741d26b4f346073d4..9b43150a00d7fac85aa69f5a2dbffd0dfdae4b86 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
|
|
@@ -53,6 +53,11 @@ public class Skeleton extends AbstractSkeleton {
|
|
return this.level().purpurConfig.skeletonTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.skeletonAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 9363ec4aad2179274e4076c2acae577962a52d4b..8b6f8fca8402c177c399824c6bf0bdef2c24ec55 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
|
@@ -80,6 +80,11 @@ public class Slime extends Mob implements Enemy {
|
|
return this.level().purpurConfig.slimeTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.slimeAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 93eaa95e38304a4b86cda693289f60ad4923b5b8..241a6851179cfa566417a655bff7b06bdb7f9f4b 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
|
@@ -80,6 +80,11 @@ public class Spider extends Monster {
|
|
return this.level().purpurConfig.spiderTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.spiderAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 b4d8a37343f801731bc7041f3391c1a70c2c9d01..e01c91385935b71bb9aa7259b95cb963140e8c94 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Stray.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Stray.java
|
|
@@ -48,6 +48,11 @@ public class Stray extends AbstractSkeleton {
|
|
return this.level().purpurConfig.strayTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.strayAlwaysDropExp;
|
|
+ }
|
|
+
|
|
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 f0d7174eae482cef9311fb646f340af59fa1c743..2f49b528601a1feb7246fe7a9b83ce828c2d78fc 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Strider.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java
|
|
@@ -127,6 +127,11 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
|
|
return this.level().purpurConfig.striderBreedingTicks;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.striderAlwaysDropExp;
|
|
+ }
|
|
+
|
|
public static boolean checkStriderSpawnRules(EntityType<Strider> type, LevelAccessor world, MobSpawnType spawnReason, BlockPos pos, RandomSource random) {
|
|
BlockPos.MutableBlockPos blockposition_mutableblockposition = pos.mutable();
|
|
|
|
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 e1c7398d9640506e2404686c218da98688c6c316..44fe951f0297c0efa5169c8972c05eaf90d49edf 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
|
@@ -117,6 +117,11 @@ public class Vex extends Monster implements TraceableEntity {
|
|
return this.level().purpurConfig.vexTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.vexAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 c7e995c5e639a1fb42a77edea3491682b72d32f4..ffe956f200dd0b4148043d0d7f2eac007a9f22b1 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
|
@@ -85,6 +85,11 @@ public class Vindicator extends AbstractIllager {
|
|
return this.level().purpurConfig.vindicatorTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.vindicatorAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 4b722c7b6c000c4f8156724b127c9df33f15f6db..1f19be94995d02596306fa49e19582b3deb1924a 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Witch.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Witch.java
|
|
@@ -86,6 +86,11 @@ public class Witch extends Raider implements RangedAttackMob {
|
|
return this.level().purpurConfig.witchTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.witchAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 87b42dff7d770cf04415301346674aad5e45081b..b5462ca1e67c87eeb447b8c4536c4bba897be186 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java
|
|
@@ -62,6 +62,11 @@ public class WitherSkeleton extends AbstractSkeleton {
|
|
return this.level().purpurConfig.witherSkeletonTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.witherSkeletonAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 8cd6012b00dd5b307fd76ef0fd9c2cd92342a92a..15fd1af0773ba1254a429240444f48e68e29ee74 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Zoglin.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Zoglin.java
|
|
@@ -96,6 +96,11 @@ public class Zoglin extends Monster implements Enemy, HoglinBase {
|
|
return this.level().purpurConfig.zoglinTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.zoglinAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 728f4f2d7c37e253b0dab752f627a7b6c4e8339c..f6dd5fd56926215830ccebbd46098d4bc08e17e4 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
|
@@ -147,6 +147,11 @@ public class Zombie extends Monster {
|
|
return this.level().purpurConfig.zombieTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.zombieAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 faf03e2c69b6b4ee7d7425322b5b19974e37cb85..4d744e00bbaf25d1bad3782a6415e9bf5958e536 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
|
@@ -129,6 +129,11 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
|
return level().purpurConfig.zombieVillagerJockeyTryExistingChickens;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.zombieVillagerAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void defineSynchedData() {
|
|
super.defineSynchedData();
|
|
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 3574a1e641d8af34a0ff7ea8dcfb08641cf6ace0..df8c7a45eb49a8c667030eb67d6d49dcbaef4fcf 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
|
|
@@ -106,6 +106,11 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
|
|
return level().purpurConfig.zombifiedPiglinJockeyTryExistingChickens;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.zombifiedPiglinAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@Override
|
|
public void setPersistentAngerTarget(@Nullable UUID angryAt) {
|
|
this.persistentAngerTarget = angryAt;
|
|
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 d0144c99cf5c755c81fc0f9457b462c98ff3e804..e326e753cc6bca1bd00287d16c9796b9f3dd4d14 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
|
|
@@ -101,6 +101,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
|
return this.level().purpurConfig.hoglinTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.hoglinAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 e506dcf390ecb5cce8ae6993df7ec91b3ebc125e..9ca1618ab945ad834c5fc221ada49058f806e79c 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
|
|
@@ -123,6 +123,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
|
return this.level().purpurConfig.piglinTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.piglinAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 b63d87df0f48dd63c89118f91b31dc4e3622e3b8..61e8f2d030fc50840c3f80dfb6fc810797ec440f 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
|
|
@@ -68,6 +68,11 @@ public class PiglinBrute extends AbstractPiglin {
|
|
return this.level().purpurConfig.piglinBruteTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.piglinBruteAlwaysDropExp;
|
|
+ }
|
|
+
|
|
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 20b3872b1f8464579ddd4324c9b09170f8ae4778..9c86dc4b9cd558f0e8f97b63d6cab746bd30d10c 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
|
@@ -195,6 +195,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
|
return this.level().purpurConfig.villagerTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.villagerAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 d672c1e381e5c4a4b79a1dfb96f1410ec35cb1b5..08320248a6956d41d60681e3d29f81768c80fd3d 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
|
@@ -102,6 +102,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
|
return this.level().purpurConfig.wanderingTraderTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.wanderingTraderAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@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 d5ce0eda09bfa4b6e708b5468697102cc853cfc7..ecf28b77b6d899827d6f35681bfdc1bb5b993dc1 100644
|
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
@@ -1109,12 +1109,14 @@ public class PurpurWorldConfig {
|
|
public double axolotlMaxHealth = 14.0D;
|
|
public int axolotlBreedingTicks = 6000;
|
|
public boolean axolotlTakeDamageFromWater = false;
|
|
+ public boolean axolotlAlwaysDropExp = false;
|
|
private void axolotlSettings() {
|
|
axolotlRidable = getBoolean("mobs.axolotl.ridable", axolotlRidable);
|
|
axolotlControllable = getBoolean("mobs.axolotl.controllable", axolotlControllable);
|
|
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);
|
|
+ axolotlAlwaysDropExp = getBoolean("mobs.axolotl.always-drop-exp", axolotlAlwaysDropExp);
|
|
}
|
|
|
|
public boolean batRidable = false;
|
|
@@ -1130,6 +1132,7 @@ public class PurpurWorldConfig {
|
|
public double batArmorToughness = 0.0D;
|
|
public double batAttackKnockback = 0.0D;
|
|
public boolean batTakeDamageFromWater = false;
|
|
+ public boolean batAlwaysDropExp = false;
|
|
private void batSettings() {
|
|
batRidable = getBoolean("mobs.bat.ridable", batRidable);
|
|
batRidableInWater = getBoolean("mobs.bat.ridable-in-water", batRidableInWater);
|
|
@@ -1149,6 +1152,7 @@ public class PurpurWorldConfig {
|
|
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);
|
|
+ batAlwaysDropExp = getBoolean("mobs.bat.always-drop-exp", batAlwaysDropExp);
|
|
}
|
|
|
|
public boolean beeRidable = false;
|
|
@@ -1160,6 +1164,7 @@ public class PurpurWorldConfig {
|
|
public boolean beeTakeDamageFromWater = false;
|
|
public boolean beeCanWorkAtNight = false;
|
|
public boolean beeCanWorkInRain = false;
|
|
+ public boolean beeAlwaysDropExp = false;
|
|
private void beeSettings() {
|
|
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
|
|
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
|
|
@@ -1175,6 +1180,7 @@ public class PurpurWorldConfig {
|
|
beeTakeDamageFromWater = getBoolean("mobs.bee.takes-damage-from-water", beeTakeDamageFromWater);
|
|
beeCanWorkAtNight = getBoolean("mobs.bee.can-work-at-night", beeCanWorkAtNight);
|
|
beeCanWorkInRain = getBoolean("mobs.bee.can-work-in-rain", beeCanWorkInRain);
|
|
+ beeAlwaysDropExp = getBoolean("mobs.bee.always-drop-exp", beeAlwaysDropExp);
|
|
}
|
|
|
|
public boolean blazeRidable = false;
|
|
@@ -1183,6 +1189,7 @@ public class PurpurWorldConfig {
|
|
public double blazeMaxY = 320D;
|
|
public double blazeMaxHealth = 20.0D;
|
|
public boolean blazeTakeDamageFromWater = true;
|
|
+ public boolean blazeAlwaysDropExp = false;
|
|
private void blazeSettings() {
|
|
blazeRidable = getBoolean("mobs.blaze.ridable", blazeRidable);
|
|
blazeRidableInWater = getBoolean("mobs.blaze.ridable-in-water", blazeRidableInWater);
|
|
@@ -1195,6 +1202,7 @@ public class PurpurWorldConfig {
|
|
}
|
|
blazeMaxHealth = getDouble("mobs.blaze.attributes.max_health", blazeMaxHealth);
|
|
blazeTakeDamageFromWater = getBoolean("mobs.blaze.takes-damage-from-water", blazeTakeDamageFromWater);
|
|
+ blazeAlwaysDropExp = getBoolean("mobs.blaze.always-drop-exp", blazeAlwaysDropExp);
|
|
}
|
|
|
|
public boolean camelRidableInWater = false;
|
|
@@ -1226,6 +1234,7 @@ public class PurpurWorldConfig {
|
|
public int catBreedingTicks = 6000;
|
|
public DyeColor catDefaultCollarColor = DyeColor.RED;
|
|
public boolean catTakeDamageFromWater = false;
|
|
+ public boolean catAlwaysDropExp = false;
|
|
private void catSettings() {
|
|
catRidable = getBoolean("mobs.cat.ridable", catRidable);
|
|
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
|
|
@@ -1246,6 +1255,7 @@ public class PurpurWorldConfig {
|
|
catDefaultCollarColor = DyeColor.RED;
|
|
}
|
|
catTakeDamageFromWater = getBoolean("mobs.cat.takes-damage-from-water", catTakeDamageFromWater);
|
|
+ catAlwaysDropExp = getBoolean("mobs.cat.always-drop-exp", catAlwaysDropExp);
|
|
}
|
|
|
|
public boolean caveSpiderRidable = false;
|
|
@@ -1253,6 +1263,7 @@ public class PurpurWorldConfig {
|
|
public boolean caveSpiderControllable = true;
|
|
public double caveSpiderMaxHealth = 12.0D;
|
|
public boolean caveSpiderTakeDamageFromWater = false;
|
|
+ public boolean caveSpiderAlwaysDropExp = false;
|
|
private void caveSpiderSettings() {
|
|
caveSpiderRidable = getBoolean("mobs.cave_spider.ridable", caveSpiderRidable);
|
|
caveSpiderRidableInWater = getBoolean("mobs.cave_spider.ridable-in-water", caveSpiderRidableInWater);
|
|
@@ -1264,6 +1275,7 @@ public class PurpurWorldConfig {
|
|
}
|
|
caveSpiderMaxHealth = getDouble("mobs.cave_spider.attributes.max_health", caveSpiderMaxHealth);
|
|
caveSpiderTakeDamageFromWater = getBoolean("mobs.cave_spider.takes-damage-from-water", caveSpiderTakeDamageFromWater);
|
|
+ caveSpiderAlwaysDropExp = getBoolean("mobs.cave_spider.always-drop-exp", caveSpiderAlwaysDropExp);
|
|
}
|
|
|
|
public boolean chickenRidable = false;
|
|
@@ -1273,6 +1285,7 @@ public class PurpurWorldConfig {
|
|
public boolean chickenRetaliate = false;
|
|
public int chickenBreedingTicks = 6000;
|
|
public boolean chickenTakeDamageFromWater = false;
|
|
+ public boolean chickenAlwaysDropExp = false;
|
|
private void chickenSettings() {
|
|
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
|
|
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
|
|
@@ -1286,12 +1299,14 @@ public class PurpurWorldConfig {
|
|
chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
|
|
chickenBreedingTicks = getInt("mobs.chicken.breeding-delay-ticks", chickenBreedingTicks);
|
|
chickenTakeDamageFromWater = getBoolean("mobs.chicken.takes-damage-from-water", chickenTakeDamageFromWater);
|
|
+ chickenAlwaysDropExp = getBoolean("mobs.chicken.always-drop-exp", chickenAlwaysDropExp);
|
|
}
|
|
|
|
public boolean codRidable = false;
|
|
public boolean codControllable = true;
|
|
public double codMaxHealth = 3.0D;
|
|
public boolean codTakeDamageFromWater = false;
|
|
+ public boolean codAlwaysDropExp = false;
|
|
private void codSettings() {
|
|
codRidable = getBoolean("mobs.cod.ridable", codRidable);
|
|
codControllable = getBoolean("mobs.cod.controllable", codControllable);
|
|
@@ -1302,6 +1317,7 @@ public class PurpurWorldConfig {
|
|
}
|
|
codMaxHealth = getDouble("mobs.cod.attributes.max_health", codMaxHealth);
|
|
codTakeDamageFromWater = getBoolean("mobs.cod.takes-damage-from-water", codTakeDamageFromWater);
|
|
+ codAlwaysDropExp = getBoolean("mobs.cod.always-drop-exp", codAlwaysDropExp);
|
|
}
|
|
|
|
public boolean cowRidable = false;
|
|
@@ -1313,6 +1329,7 @@ public class PurpurWorldConfig {
|
|
public boolean cowTakeDamageFromWater = false;
|
|
public double cowNaturallyAggressiveToPlayersChance = 0.0D;
|
|
public double cowNaturallyAggressiveToPlayersDamage = 2.0D;
|
|
+ public boolean cowAlwaysDropExp = false;
|
|
private void cowSettings() {
|
|
if (PurpurConfig.version < 22) {
|
|
double oldValue = getDouble("mobs.cow.naturally-aggressive-to-players-chance", cowNaturallyAggressiveToPlayersChance);
|
|
@@ -1333,6 +1350,7 @@ public class PurpurWorldConfig {
|
|
cowTakeDamageFromWater = getBoolean("mobs.cow.takes-damage-from-water", cowTakeDamageFromWater);
|
|
cowNaturallyAggressiveToPlayersChance = getDouble("mobs.cow.naturally-aggressive-to-players.chance", cowNaturallyAggressiveToPlayersChance);
|
|
cowNaturallyAggressiveToPlayersDamage = getDouble("mobs.cow.naturally-aggressive-to-players.damage", cowNaturallyAggressiveToPlayersDamage);
|
|
+ cowAlwaysDropExp = getBoolean("mobs.cow.always-drop-exp", cowAlwaysDropExp);
|
|
}
|
|
|
|
public boolean creeperRidable = false;
|
|
@@ -1345,6 +1363,7 @@ public class PurpurWorldConfig {
|
|
public boolean creeperTakeDamageFromWater = false;
|
|
public boolean creeperExplodeWhenKilled = false;
|
|
public boolean creeperHealthRadius = false;
|
|
+ public boolean creeperAlwaysDropExp = false;
|
|
private void creeperSettings() {
|
|
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
|
|
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
|
|
@@ -1361,6 +1380,7 @@ public class PurpurWorldConfig {
|
|
creeperTakeDamageFromWater = getBoolean("mobs.creeper.takes-damage-from-water", creeperTakeDamageFromWater);
|
|
creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled);
|
|
creeperHealthRadius = getBoolean("mobs.creeper.health-impacts-explosion", creeperHealthRadius);
|
|
+ creeperAlwaysDropExp = getBoolean("mobs.creeper.always-drop-exp", creeperAlwaysDropExp);
|
|
}
|
|
|
|
public boolean dolphinRidable = false;
|
|
@@ -1372,6 +1392,7 @@ public class PurpurWorldConfig {
|
|
public boolean dolphinDisableTreasureSearching = false;
|
|
public boolean dolphinTakeDamageFromWater = false;
|
|
public double dolphinNaturallyAggressiveToPlayersChance = 0.0D;
|
|
+ public boolean dolphinAlwaysDropExp = false;
|
|
private void dolphinSettings() {
|
|
dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable);
|
|
dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable);
|
|
@@ -1387,6 +1408,7 @@ public class PurpurWorldConfig {
|
|
dolphinDisableTreasureSearching = getBoolean("mobs.dolphin.disable-treasure-searching", dolphinDisableTreasureSearching);
|
|
dolphinTakeDamageFromWater = getBoolean("mobs.dolphin.takes-damage-from-water", dolphinTakeDamageFromWater);
|
|
dolphinNaturallyAggressiveToPlayersChance = getDouble("mobs.dolphin.naturally-aggressive-to-players-chance", dolphinNaturallyAggressiveToPlayersChance);
|
|
+ dolphinAlwaysDropExp = getBoolean("mobs.dolphin.always-drop-exp", dolphinAlwaysDropExp);
|
|
}
|
|
|
|
public boolean donkeyRidableInWater = false;
|
|
@@ -1398,6 +1420,7 @@ public class PurpurWorldConfig {
|
|
public double donkeyMovementSpeedMax = 0.175D;
|
|
public int donkeyBreedingTicks = 6000;
|
|
public boolean donkeyTakeDamageFromWater = false;
|
|
+ public boolean donkeyAlwaysDropExp = false;
|
|
private void donkeySettings() {
|
|
donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater);
|
|
if (PurpurConfig.version < 10) {
|
|
@@ -1415,6 +1438,7 @@ public class PurpurWorldConfig {
|
|
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);
|
|
+ donkeyAlwaysDropExp = getBoolean("mobs.donkey.always-drop-exp", donkeyAlwaysDropExp);
|
|
}
|
|
|
|
public boolean drownedRidable = false;
|
|
@@ -1427,6 +1451,7 @@ public class PurpurWorldConfig {
|
|
public boolean drownedJockeyTryExistingChickens = true;
|
|
public boolean drownedTakeDamageFromWater = false;
|
|
public boolean drownedBreakDoors = false;
|
|
+ public boolean drownedAlwaysDropExp = false;
|
|
private void drownedSettings() {
|
|
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
|
|
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
|
|
@@ -1443,12 +1468,14 @@ public class PurpurWorldConfig {
|
|
drownedJockeyTryExistingChickens = getBoolean("mobs.drowned.jockey.try-existing-chickens", drownedJockeyTryExistingChickens);
|
|
drownedTakeDamageFromWater = getBoolean("mobs.drowned.takes-damage-from-water", drownedTakeDamageFromWater);
|
|
drownedBreakDoors = getBoolean("mobs.drowned.can-break-doors", drownedBreakDoors);
|
|
+ drownedAlwaysDropExp = getBoolean("mobs.drowned.always-drop-exp", drownedAlwaysDropExp);
|
|
}
|
|
|
|
public boolean elderGuardianRidable = false;
|
|
public boolean elderGuardianControllable = true;
|
|
public double elderGuardianMaxHealth = 80.0D;
|
|
public boolean elderGuardianTakeDamageFromWater = false;
|
|
+ public boolean elderGuardianAlwaysDropExp = false;
|
|
private void elderGuardianSettings() {
|
|
elderGuardianRidable = getBoolean("mobs.elder_guardian.ridable", elderGuardianRidable);
|
|
elderGuardianControllable = getBoolean("mobs.elder_guardian.controllable", elderGuardianControllable);
|
|
@@ -1459,6 +1486,7 @@ public class PurpurWorldConfig {
|
|
}
|
|
elderGuardianMaxHealth = getDouble("mobs.elder_guardian.attributes.max_health", elderGuardianMaxHealth);
|
|
elderGuardianTakeDamageFromWater = getBoolean("mobs.elder_guardian.takes-damage-from-water", elderGuardianTakeDamageFromWater);
|
|
+ elderGuardianAlwaysDropExp = getBoolean("mobs.elder_guardian.always-drop-exp", elderGuardianAlwaysDropExp);
|
|
}
|
|
|
|
public boolean enderDragonRidable = false;
|
|
@@ -1504,6 +1532,7 @@ public class PurpurWorldConfig {
|
|
public boolean endermanIgnorePlayerDragonHead = false;
|
|
public boolean endermanDisableStareAggro = false;
|
|
public boolean endermanIgnoreProjectiles = false;
|
|
+ public boolean endermanAlwaysDropExp = false;
|
|
private void endermanSettings() {
|
|
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
|
|
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
|
|
@@ -1527,6 +1556,7 @@ public class PurpurWorldConfig {
|
|
endermanIgnorePlayerDragonHead = getBoolean("mobs.enderman.ignore-players-wearing-dragon-head", endermanIgnorePlayerDragonHead);
|
|
endermanDisableStareAggro = getBoolean("mobs.enderman.disable-player-stare-aggression", endermanDisableStareAggro);
|
|
endermanIgnoreProjectiles = getBoolean("mobs.enderman.ignore-projectiles", endermanIgnoreProjectiles);
|
|
+ endermanAlwaysDropExp = getBoolean("mobs.enderman.always-drop-exp", endermanAlwaysDropExp);
|
|
}
|
|
|
|
public boolean endermiteRidable = false;
|
|
@@ -1534,6 +1564,7 @@ public class PurpurWorldConfig {
|
|
public boolean endermiteControllable = true;
|
|
public double endermiteMaxHealth = 8.0D;
|
|
public boolean endermiteTakeDamageFromWater = false;
|
|
+ public boolean endermiteAlwaysDropExp = false;
|
|
private void endermiteSettings() {
|
|
endermiteRidable = getBoolean("mobs.endermite.ridable", endermiteRidable);
|
|
endermiteRidableInWater = getBoolean("mobs.endermite.ridable-in-water", endermiteRidableInWater);
|
|
@@ -1545,6 +1576,7 @@ public class PurpurWorldConfig {
|
|
}
|
|
endermiteMaxHealth = getDouble("mobs.endermite.attributes.max_health", endermiteMaxHealth);
|
|
endermiteTakeDamageFromWater = getBoolean("mobs.endermite.takes-damage-from-water", endermiteTakeDamageFromWater);
|
|
+ endermiteAlwaysDropExp = getBoolean("mobs.endermite.always-drop-exp", endermiteAlwaysDropExp);
|
|
}
|
|
|
|
public boolean evokerRidable = false;
|
|
@@ -1553,6 +1585,7 @@ public class PurpurWorldConfig {
|
|
public double evokerMaxHealth = 24.0D;
|
|
public boolean evokerBypassMobGriefing = false;
|
|
public boolean evokerTakeDamageFromWater = false;
|
|
+ public boolean evokerAlwaysDropExp = false;
|
|
private void evokerSettings() {
|
|
evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable);
|
|
evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater);
|
|
@@ -1565,6 +1598,7 @@ 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);
|
|
+ evokerAlwaysDropExp = getBoolean("mobs.evoker.always-drop-exp", evokerAlwaysDropExp);
|
|
}
|
|
|
|
public boolean foxRidable = false;
|
|
@@ -1575,6 +1609,7 @@ public class PurpurWorldConfig {
|
|
public int foxBreedingTicks = 6000;
|
|
public boolean foxBypassMobGriefing = false;
|
|
public boolean foxTakeDamageFromWater = false;
|
|
+ public boolean foxAlwaysDropExp = false;
|
|
private void foxSettings() {
|
|
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
|
|
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
|
|
@@ -1589,6 +1624,7 @@ public class PurpurWorldConfig {
|
|
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);
|
|
+ foxAlwaysDropExp = getBoolean("mobs.fox.always-drop-exp", foxAlwaysDropExp);
|
|
}
|
|
|
|
public boolean frogRidable = false;
|
|
@@ -1610,6 +1646,7 @@ public class PurpurWorldConfig {
|
|
public double ghastMaxY = 320D;
|
|
public double ghastMaxHealth = 10.0D;
|
|
public boolean ghastTakeDamageFromWater = false;
|
|
+ public boolean ghastAlwaysDropExp = false;
|
|
private void ghastSettings() {
|
|
ghastRidable = getBoolean("mobs.ghast.ridable", ghastRidable);
|
|
ghastRidableInWater = getBoolean("mobs.ghast.ridable-in-water", ghastRidableInWater);
|
|
@@ -1622,6 +1659,7 @@ public class PurpurWorldConfig {
|
|
}
|
|
ghastMaxHealth = getDouble("mobs.ghast.attributes.max_health", ghastMaxHealth);
|
|
ghastTakeDamageFromWater = getBoolean("mobs.ghast.takes-damage-from-water", ghastTakeDamageFromWater);
|
|
+ ghastAlwaysDropExp = getBoolean("mobs.ghast.always-drop-exp", ghastAlwaysDropExp);
|
|
}
|
|
|
|
public boolean giantRidable = false;
|
|
@@ -1635,6 +1673,7 @@ public class PurpurWorldConfig {
|
|
public boolean giantHaveAI = false;
|
|
public boolean giantHaveHostileAI = false;
|
|
public boolean giantTakeDamageFromWater = false;
|
|
+ public boolean giantAlwaysDropExp = false;
|
|
private void giantSettings() {
|
|
giantRidable = getBoolean("mobs.giant.ridable", giantRidable);
|
|
giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater);
|
|
@@ -1656,6 +1695,7 @@ public class PurpurWorldConfig {
|
|
giantHaveAI = getBoolean("mobs.giant.have-ai", giantHaveAI);
|
|
giantHaveHostileAI = getBoolean("mobs.giant.have-hostile-ai", giantHaveHostileAI);
|
|
giantTakeDamageFromWater = getBoolean("mobs.giant.takes-damage-from-water", giantTakeDamageFromWater);
|
|
+ giantAlwaysDropExp = getBoolean("mobs.giant.always-drop-exp", giantAlwaysDropExp);
|
|
}
|
|
|
|
public boolean glowSquidRidable = false;
|
|
@@ -1663,12 +1703,14 @@ public class PurpurWorldConfig {
|
|
public double glowSquidMaxHealth = 10.0D;
|
|
public boolean glowSquidsCanFly = false;
|
|
public boolean glowSquidTakeDamageFromWater = false;
|
|
+ public boolean glowSquidAlwaysDropExp = false;
|
|
private void glowSquidSettings() {
|
|
glowSquidRidable = getBoolean("mobs.glow_squid.ridable", glowSquidRidable);
|
|
glowSquidControllable = getBoolean("mobs.glow_squid.controllable", glowSquidControllable);
|
|
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);
|
|
+ glowSquidAlwaysDropExp = getBoolean("mobs.glow_squid.always-drop-exp", glowSquidAlwaysDropExp);
|
|
}
|
|
|
|
public boolean goatRidable = false;
|
|
@@ -1677,6 +1719,7 @@ public class PurpurWorldConfig {
|
|
public double goatMaxHealth = 10.0D;
|
|
public int goatBreedingTicks = 6000;
|
|
public boolean goatTakeDamageFromWater = false;
|
|
+ public boolean goatAlwaysDropExp = false;
|
|
private void goatSettings() {
|
|
goatRidable = getBoolean("mobs.goat.ridable", goatRidable);
|
|
goatRidableInWater = getBoolean("mobs.goat.ridable-in-water", goatRidableInWater);
|
|
@@ -1684,12 +1727,14 @@ public class PurpurWorldConfig {
|
|
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);
|
|
+ goatAlwaysDropExp = getBoolean("mobs.goat.always-drop-exp", goatAlwaysDropExp);
|
|
}
|
|
|
|
public boolean guardianRidable = false;
|
|
public boolean guardianControllable = true;
|
|
public double guardianMaxHealth = 30.0D;
|
|
public boolean guardianTakeDamageFromWater = false;
|
|
+ public boolean guardianAlwaysDropExp = false;
|
|
private void guardianSettings() {
|
|
guardianRidable = getBoolean("mobs.guardian.ridable", guardianRidable);
|
|
guardianControllable = getBoolean("mobs.guardian.controllable", guardianControllable);
|
|
@@ -1700,6 +1745,7 @@ public class PurpurWorldConfig {
|
|
}
|
|
guardianMaxHealth = getDouble("mobs.guardian.attributes.max_health", guardianMaxHealth);
|
|
guardianTakeDamageFromWater = getBoolean("mobs.guardian.takes-damage-from-water", guardianTakeDamageFromWater);
|
|
+ guardianAlwaysDropExp = getBoolean("mobs.guardian.always-drop-exp", guardianAlwaysDropExp);
|
|
}
|
|
|
|
public boolean forceHalloweenSeason = false;
|
|
@@ -1715,6 +1761,7 @@ public class PurpurWorldConfig {
|
|
public double hoglinMaxHealth = 40.0D;
|
|
public int hoglinBreedingTicks = 6000;
|
|
public boolean hoglinTakeDamageFromWater = false;
|
|
+ public boolean hoglinAlwaysDropExp = false;
|
|
private void hoglinSettings() {
|
|
hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable);
|
|
hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater);
|
|
@@ -1727,6 +1774,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);
|
|
+ hoglinAlwaysDropExp = getBoolean("mobs.hoglin.always-drop-exp", hoglinAlwaysDropExp);
|
|
}
|
|
|
|
public boolean horseRidableInWater = false;
|
|
@@ -1738,6 +1786,7 @@ public class PurpurWorldConfig {
|
|
public double horseMovementSpeedMax = 0.3375D;
|
|
public int horseBreedingTicks = 6000;
|
|
public boolean horseTakeDamageFromWater = false;
|
|
+ public boolean horseAlwaysDropExp = false;
|
|
private void horseSettings() {
|
|
horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater);
|
|
if (PurpurConfig.version < 10) {
|
|
@@ -1755,6 +1804,7 @@ public class PurpurWorldConfig {
|
|
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);
|
|
+ horseAlwaysDropExp = getBoolean("mobs.horse.always-drop-exp", horseAlwaysDropExp);
|
|
}
|
|
|
|
public boolean huskRidable = false;
|
|
@@ -1766,6 +1816,7 @@ public class PurpurWorldConfig {
|
|
public double huskJockeyChance = 0.05D;
|
|
public boolean huskJockeyTryExistingChickens = true;
|
|
public boolean huskTakeDamageFromWater = false;
|
|
+ public boolean huskAlwaysDropExp = false;
|
|
private void huskSettings() {
|
|
huskRidable = getBoolean("mobs.husk.ridable", huskRidable);
|
|
huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater);
|
|
@@ -1781,6 +1832,7 @@ public class PurpurWorldConfig {
|
|
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);
|
|
+ huskAlwaysDropExp = getBoolean("mobs.husk.always-drop-exp", huskAlwaysDropExp);
|
|
}
|
|
|
|
public boolean illusionerRidable = false;
|
|
@@ -1790,6 +1842,7 @@ public class PurpurWorldConfig {
|
|
public double illusionerFollowRange = 18.0D;
|
|
public double illusionerMaxHealth = 32.0D;
|
|
public boolean illusionerTakeDamageFromWater = false;
|
|
+ public boolean illusionerAlwaysDropExp = false;
|
|
private void illusionerSettings() {
|
|
illusionerRidable = getBoolean("mobs.illusioner.ridable", illusionerRidable);
|
|
illusionerRidableInWater = getBoolean("mobs.illusioner.ridable-in-water", illusionerRidableInWater);
|
|
@@ -1807,6 +1860,7 @@ public class PurpurWorldConfig {
|
|
}
|
|
illusionerMaxHealth = getDouble("mobs.illusioner.attributes.max_health", illusionerMaxHealth);
|
|
illusionerTakeDamageFromWater = getBoolean("mobs.illusioner.takes-damage-from-water", illusionerTakeDamageFromWater);
|
|
+ illusionerAlwaysDropExp = getBoolean("mobs.illusioner.always-drop-exp", illusionerAlwaysDropExp);
|
|
}
|
|
|
|
public boolean ironGolemRidable = false;
|
|
@@ -1817,6 +1871,7 @@ public class PurpurWorldConfig {
|
|
public boolean ironGolemTakeDamageFromWater = false;
|
|
public boolean ironGolemPoppyCalm = false;
|
|
public boolean ironGolemHealCalm = false;
|
|
+ public boolean ironGolemAlwaysDropExp = false;
|
|
private void ironGolemSettings() {
|
|
ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable);
|
|
ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater);
|
|
@@ -1831,6 +1886,7 @@ public class PurpurWorldConfig {
|
|
ironGolemTakeDamageFromWater = getBoolean("mobs.iron_golem.takes-damage-from-water", ironGolemTakeDamageFromWater);
|
|
ironGolemPoppyCalm = getBoolean("mobs.iron_golem.poppy-calms-anger", ironGolemPoppyCalm);
|
|
ironGolemHealCalm = getBoolean("mobs.iron_golem.healing-calms-anger", ironGolemHealCalm);
|
|
+ ironGolemAlwaysDropExp = getBoolean("mobs.iron_golem.always-drop-exp", ironGolemAlwaysDropExp);
|
|
}
|
|
|
|
public boolean llamaRidable = false;
|
|
@@ -1845,6 +1901,7 @@ public class PurpurWorldConfig {
|
|
public int llamaBreedingTicks = 6000;
|
|
public boolean llamaTakeDamageFromWater = false;
|
|
public boolean llamaJoinCaravans = true;
|
|
+ public boolean llamaAlwaysDropExp = false;
|
|
private void llamaSettings() {
|
|
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
|
|
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
|
|
@@ -1865,6 +1922,7 @@ public class PurpurWorldConfig {
|
|
llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks);
|
|
llamaTakeDamageFromWater = getBoolean("mobs.llama.takes-damage-from-water", llamaTakeDamageFromWater);
|
|
llamaJoinCaravans = getBoolean("mobs.llama.join-caravans", llamaJoinCaravans);
|
|
+ llamaAlwaysDropExp = getBoolean("mobs.llama.always-drop-exp", llamaAlwaysDropExp);
|
|
}
|
|
|
|
public boolean magmaCubeRidable = false;
|
|
@@ -1875,6 +1933,7 @@ public class PurpurWorldConfig {
|
|
public Map<Integer, Double> magmaCubeMaxHealthCache = new HashMap<>();
|
|
public Map<Integer, Double> magmaCubeAttackDamageCache = new HashMap<>();
|
|
public boolean magmaCubeTakeDamageFromWater = false;
|
|
+ public boolean magmaCubeAlwaysDropExp = false;
|
|
private void magmaCubeSettings() {
|
|
magmaCubeRidable = getBoolean("mobs.magma_cube.ridable", magmaCubeRidable);
|
|
magmaCubeRidableInWater = getBoolean("mobs.magma_cube.ridable-in-water", magmaCubeRidableInWater);
|
|
@@ -1889,6 +1948,7 @@ public class PurpurWorldConfig {
|
|
magmaCubeMaxHealthCache.clear();
|
|
magmaCubeAttackDamageCache.clear();
|
|
magmaCubeTakeDamageFromWater = getBoolean("mobs.magma_cube.takes-damage-from-water", magmaCubeTakeDamageFromWater);
|
|
+ magmaCubeAlwaysDropExp = getBoolean("mobs.magma_cube.always-drop-exp", magmaCubeAlwaysDropExp);
|
|
}
|
|
|
|
public boolean mooshroomRidable = false;
|
|
@@ -1897,6 +1957,7 @@ public class PurpurWorldConfig {
|
|
public double mooshroomMaxHealth = 10.0D;
|
|
public int mooshroomBreedingTicks = 6000;
|
|
public boolean mooshroomTakeDamageFromWater = false;
|
|
+ public boolean mooshroomAlwaysDropExp = false;
|
|
private void mooshroomSettings() {
|
|
mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable);
|
|
mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater);
|
|
@@ -1909,6 +1970,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);
|
|
+ mooshroomAlwaysDropExp = getBoolean("mobs.mooshroom.always-drop-exp", mooshroomAlwaysDropExp);
|
|
}
|
|
|
|
public boolean muleRidableInWater = false;
|
|
@@ -1920,6 +1982,7 @@ public class PurpurWorldConfig {
|
|
public double muleMovementSpeedMax = 0.175D;
|
|
public int muleBreedingTicks = 6000;
|
|
public boolean muleTakeDamageFromWater = false;
|
|
+ public boolean muleAlwaysDropExp = false;
|
|
private void muleSettings() {
|
|
muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater);
|
|
if (PurpurConfig.version < 10) {
|
|
@@ -1937,6 +2000,7 @@ public class PurpurWorldConfig {
|
|
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);
|
|
+ muleAlwaysDropExp = getBoolean("mobs.mule.always-drop-exp", muleAlwaysDropExp);
|
|
}
|
|
|
|
public boolean ocelotRidable = false;
|
|
@@ -1945,6 +2009,7 @@ public class PurpurWorldConfig {
|
|
public double ocelotMaxHealth = 10.0D;
|
|
public int ocelotBreedingTicks = 6000;
|
|
public boolean ocelotTakeDamageFromWater = false;
|
|
+ public boolean ocelotAlwaysDropExp = false;
|
|
private void ocelotSettings() {
|
|
ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable);
|
|
ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater);
|
|
@@ -1957,6 +2022,7 @@ 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);
|
|
+ ocelotAlwaysDropExp = getBoolean("mobs.ocelot.always-drop-exp", ocelotAlwaysDropExp);
|
|
}
|
|
|
|
public boolean pandaRidable = false;
|
|
@@ -1965,6 +2031,7 @@ public class PurpurWorldConfig {
|
|
public double pandaMaxHealth = 20.0D;
|
|
public int pandaBreedingTicks = 6000;
|
|
public boolean pandaTakeDamageFromWater = false;
|
|
+ public boolean pandaAlwaysDropExp = false;
|
|
private void pandaSettings() {
|
|
pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable);
|
|
pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater);
|
|
@@ -1977,6 +2044,7 @@ 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);
|
|
+ pandaAlwaysDropExp = getBoolean("mobs.panda.always-drop-exp", pandaAlwaysDropExp);
|
|
}
|
|
|
|
public boolean parrotRidable = false;
|
|
@@ -1986,6 +2054,7 @@ public class PurpurWorldConfig {
|
|
public double parrotMaxHealth = 6.0D;
|
|
public boolean parrotTakeDamageFromWater = false;
|
|
public boolean parrotBreedable = false;
|
|
+ public boolean parrotAlwaysDropExp = false;
|
|
private void parrotSettings() {
|
|
parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable);
|
|
parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater);
|
|
@@ -1999,6 +2068,7 @@ public class PurpurWorldConfig {
|
|
parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth);
|
|
parrotTakeDamageFromWater = getBoolean("mobs.parrot.takes-damage-from-water", parrotTakeDamageFromWater);
|
|
parrotBreedable = getBoolean("mobs.parrot.can-breed", parrotBreedable);
|
|
+ parrotAlwaysDropExp = getBoolean("mobs.parrot.always-drop-exp", parrotAlwaysDropExp);
|
|
}
|
|
|
|
public boolean phantomRidable = false;
|
|
@@ -2026,6 +2096,7 @@ public class PurpurWorldConfig {
|
|
public boolean phantomBurnInDaylight = true;
|
|
public boolean phantomFlamesOnSwoop = false;
|
|
public boolean phantomTakeDamageFromWater = false;
|
|
+ public boolean phantomAlwaysDropExp = false;
|
|
private void phantomSettings() {
|
|
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
|
|
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
|
|
@@ -2061,6 +2132,7 @@ public class PurpurWorldConfig {
|
|
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);
|
|
+ phantomAlwaysDropExp = getBoolean("mobs.phantom.always-drop-exp", phantomAlwaysDropExp);
|
|
}
|
|
|
|
public boolean pigRidable = false;
|
|
@@ -2070,6 +2142,7 @@ public class PurpurWorldConfig {
|
|
public boolean pigGiveSaddleBack = false;
|
|
public int pigBreedingTicks = 6000;
|
|
public boolean pigTakeDamageFromWater = false;
|
|
+ public boolean pigAlwaysDropExp = false;
|
|
private void pigSettings() {
|
|
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
|
|
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
|
|
@@ -2083,6 +2156,7 @@ public class PurpurWorldConfig {
|
|
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);
|
|
+ pigAlwaysDropExp = getBoolean("mobs.pig.always-drop-exp", pigAlwaysDropExp);
|
|
}
|
|
|
|
public boolean piglinRidable = false;
|
|
@@ -2092,6 +2166,7 @@ public class PurpurWorldConfig {
|
|
public boolean piglinBypassMobGriefing = false;
|
|
public boolean piglinTakeDamageFromWater = false;
|
|
public int piglinPortalSpawnModifier = 2000;
|
|
+ public boolean piglinAlwaysDropExp = false;
|
|
private void piglinSettings() {
|
|
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
|
|
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
|
|
@@ -2105,6 +2180,7 @@ public class PurpurWorldConfig {
|
|
piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing);
|
|
piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater);
|
|
piglinPortalSpawnModifier = getInt("mobs.piglin.portal-spawn-modifier", piglinPortalSpawnModifier);
|
|
+ piglinAlwaysDropExp = getBoolean("mobs.piglin.always-drop-exp", piglinAlwaysDropExp);
|
|
}
|
|
|
|
public boolean piglinBruteRidable = false;
|
|
@@ -2112,6 +2188,7 @@ public class PurpurWorldConfig {
|
|
public boolean piglinBruteControllable = true;
|
|
public double piglinBruteMaxHealth = 50.0D;
|
|
public boolean piglinBruteTakeDamageFromWater = false;
|
|
+ public boolean piglinBruteAlwaysDropExp = false;
|
|
private void piglinBruteSettings() {
|
|
piglinBruteRidable = getBoolean("mobs.piglin_brute.ridable", piglinBruteRidable);
|
|
piglinBruteRidableInWater = getBoolean("mobs.piglin_brute.ridable-in-water", piglinBruteRidableInWater);
|
|
@@ -2123,6 +2200,7 @@ public class PurpurWorldConfig {
|
|
}
|
|
piglinBruteMaxHealth = getDouble("mobs.piglin_brute.attributes.max_health", piglinBruteMaxHealth);
|
|
piglinBruteTakeDamageFromWater = getBoolean("mobs.piglin_brute.takes-damage-from-water", piglinBruteTakeDamageFromWater);
|
|
+ piglinBruteAlwaysDropExp = getBoolean("mobs.piglin_brute.always-drop-exp", piglinBruteAlwaysDropExp);
|
|
}
|
|
|
|
public boolean pillagerRidable = false;
|
|
@@ -2131,6 +2209,7 @@ public class PurpurWorldConfig {
|
|
public double pillagerMaxHealth = 24.0D;
|
|
public boolean pillagerBypassMobGriefing = false;
|
|
public boolean pillagerTakeDamageFromWater = false;
|
|
+ public boolean pillagerAlwaysDropExp = false;
|
|
private void pillagerSettings() {
|
|
pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable);
|
|
pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater);
|
|
@@ -2143,6 +2222,7 @@ 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);
|
|
+ pillagerAlwaysDropExp = getBoolean("mobs.pillager.always-drop-exp", pillagerAlwaysDropExp);
|
|
}
|
|
|
|
public boolean polarBearRidable = false;
|
|
@@ -2153,6 +2233,7 @@ public class PurpurWorldConfig {
|
|
public Item polarBearBreedableItem = null;
|
|
public int polarBearBreedingTicks = 6000;
|
|
public boolean polarBearTakeDamageFromWater = false;
|
|
+ public boolean polarBearAlwaysDropExp = false;
|
|
private void polarBearSettings() {
|
|
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
|
|
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
|
|
@@ -2168,12 +2249,14 @@ public class PurpurWorldConfig {
|
|
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);
|
|
+ polarBearAlwaysDropExp = getBoolean("mobs.polar_bear.always-drop-exp", polarBearAlwaysDropExp);
|
|
}
|
|
|
|
public boolean pufferfishRidable = false;
|
|
public boolean pufferfishControllable = true;
|
|
public double pufferfishMaxHealth = 3.0D;
|
|
public boolean pufferfishTakeDamageFromWater = false;
|
|
+ public boolean pufferfishAlwaysDropExp = false;
|
|
private void pufferfishSettings() {
|
|
pufferfishRidable = getBoolean("mobs.pufferfish.ridable", pufferfishRidable);
|
|
pufferfishControllable = getBoolean("mobs.pufferfish.controllable", pufferfishControllable);
|
|
@@ -2184,6 +2267,7 @@ public class PurpurWorldConfig {
|
|
}
|
|
pufferfishMaxHealth = getDouble("mobs.pufferfish.attributes.max_health", pufferfishMaxHealth);
|
|
pufferfishTakeDamageFromWater = getBoolean("mobs.pufferfish.takes-damage-from-water", pufferfishTakeDamageFromWater);
|
|
+ pufferfishAlwaysDropExp = getBoolean("mobs.pufferfish.always-drop-exp", pufferfishAlwaysDropExp);
|
|
}
|
|
|
|
public boolean rabbitRidable = false;
|
|
@@ -2195,6 +2279,7 @@ public class PurpurWorldConfig {
|
|
public int rabbitBreedingTicks = 6000;
|
|
public boolean rabbitBypassMobGriefing = false;
|
|
public boolean rabbitTakeDamageFromWater = false;
|
|
+ public boolean rabbitAlwaysDropExp = false;
|
|
private void rabbitSettings() {
|
|
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
|
|
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
|
|
@@ -2210,6 +2295,7 @@ public class PurpurWorldConfig {
|
|
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);
|
|
+ rabbitAlwaysDropExp = getBoolean("mobs.rabbit.always-drop-exp", rabbitAlwaysDropExp);
|
|
}
|
|
|
|
public boolean ravagerRidable = false;
|
|
@@ -2219,6 +2305,7 @@ public class PurpurWorldConfig {
|
|
public boolean ravagerBypassMobGriefing = false;
|
|
public boolean ravagerTakeDamageFromWater = false;
|
|
public List<Block> ravagerGriefableBlocks = new ArrayList<>();
|
|
+ public boolean ravagerAlwaysDropExp = false;
|
|
private void ravagerSettings() {
|
|
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
|
|
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
|
|
@@ -2248,12 +2335,14 @@ public class PurpurWorldConfig {
|
|
ravagerGriefableBlocks.add(block);
|
|
}
|
|
});
|
|
+ ravagerAlwaysDropExp = getBoolean("mobs.ravager.always-drop-exp", ravagerAlwaysDropExp);
|
|
}
|
|
|
|
public boolean salmonRidable = false;
|
|
public boolean salmonControllable = true;
|
|
public double salmonMaxHealth = 3.0D;
|
|
public boolean salmonTakeDamageFromWater = false;
|
|
+ public boolean salmonAlwaysDropExp = false;
|
|
private void salmonSettings() {
|
|
salmonRidable = getBoolean("mobs.salmon.ridable", salmonRidable);
|
|
salmonControllable = getBoolean("mobs.salmon.controllable", salmonControllable);
|
|
@@ -2264,6 +2353,7 @@ public class PurpurWorldConfig {
|
|
}
|
|
salmonMaxHealth = getDouble("mobs.salmon.attributes.max_health", salmonMaxHealth);
|
|
salmonTakeDamageFromWater = getBoolean("mobs.salmon.takes-damage-from-water", salmonTakeDamageFromWater);
|
|
+ salmonAlwaysDropExp = getBoolean("mobs.salmon.always-drop-exp", salmonAlwaysDropExp);
|
|
}
|
|
|
|
public boolean sheepRidable = false;
|
|
@@ -2273,6 +2363,7 @@ public class PurpurWorldConfig {
|
|
public int sheepBreedingTicks = 6000;
|
|
public boolean sheepBypassMobGriefing = false;
|
|
public boolean sheepTakeDamageFromWater = false;
|
|
+ public boolean sheepAlwaysDropExp = false;
|
|
private void sheepSettings() {
|
|
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
|
|
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
|
|
@@ -2286,6 +2377,7 @@ public class PurpurWorldConfig {
|
|
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);
|
|
+ sheepAlwaysDropExp = getBoolean("mobs.sheep.always-drop-exp", sheepAlwaysDropExp);
|
|
}
|
|
|
|
public boolean shulkerRidable = false;
|
|
@@ -2299,6 +2391,7 @@ public class PurpurWorldConfig {
|
|
public String shulkerSpawnFromBulletNearbyEquation = "(nearby - 1) / 5.0";
|
|
public boolean shulkerSpawnFromBulletRandomColor = false;
|
|
public boolean shulkerChangeColorWithDye = false;
|
|
+ public boolean shulkerAlwaysDropExp = false;
|
|
private void shulkerSettings() {
|
|
shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable);
|
|
shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater);
|
|
@@ -2316,6 +2409,7 @@ public class PurpurWorldConfig {
|
|
shulkerSpawnFromBulletNearbyEquation = getString("mobs.shulker.spawn-from-bullet.nearby-equation", shulkerSpawnFromBulletNearbyEquation);
|
|
shulkerSpawnFromBulletRandomColor = getBoolean("mobs.shulker.spawn-from-bullet.random-color", shulkerSpawnFromBulletRandomColor);
|
|
shulkerChangeColorWithDye = getBoolean("mobs.shulker.change-color-with-dye", shulkerChangeColorWithDye);
|
|
+ shulkerAlwaysDropExp = getBoolean("mobs.shulker.always-drop-exp", shulkerAlwaysDropExp);
|
|
}
|
|
|
|
public boolean silverfishRidable = false;
|
|
@@ -2324,6 +2418,7 @@ public class PurpurWorldConfig {
|
|
public double silverfishMaxHealth = 8.0D;
|
|
public boolean silverfishBypassMobGriefing = false;
|
|
public boolean silverfishTakeDamageFromWater = false;
|
|
+ public boolean silverfishAlwaysDropExp = false;
|
|
private void silverfishSettings() {
|
|
silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable);
|
|
silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater);
|
|
@@ -2336,6 +2431,7 @@ 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);
|
|
+ silverfishAlwaysDropExp = getBoolean("mobs.silverfish.always-drop-exp", silverfishAlwaysDropExp);
|
|
}
|
|
|
|
public boolean skeletonRidable = false;
|
|
@@ -2343,6 +2439,7 @@ public class PurpurWorldConfig {
|
|
public boolean skeletonControllable = true;
|
|
public double skeletonMaxHealth = 20.0D;
|
|
public boolean skeletonTakeDamageFromWater = false;
|
|
+ public boolean skeletonAlwaysDropExp = false;
|
|
private void skeletonSettings() {
|
|
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
|
|
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
|
|
@@ -2354,6 +2451,7 @@ public class PurpurWorldConfig {
|
|
}
|
|
skeletonMaxHealth = getDouble("mobs.skeleton.attributes.max_health", skeletonMaxHealth);
|
|
skeletonTakeDamageFromWater = getBoolean("mobs.skeleton.takes-damage-from-water", skeletonTakeDamageFromWater);
|
|
+ skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp);
|
|
}
|
|
|
|
public boolean skeletonHorseRidable = false;
|
|
@@ -2366,6 +2464,7 @@ public class PurpurWorldConfig {
|
|
public double skeletonHorseMovementSpeedMin = 0.2D;
|
|
public double skeletonHorseMovementSpeedMax = 0.2D;
|
|
public boolean skeletonHorseTakeDamageFromWater = false;
|
|
+ public boolean skeletonHorseAlwaysDropExp = false;
|
|
private void skeletonHorseSettings() {
|
|
skeletonHorseRidable = getBoolean("mobs.skeleton_horse.ridable", skeletonHorseRidable);
|
|
skeletonHorseRidableInWater = getBoolean("mobs.skeleton_horse.ridable-in-water", skeletonHorseRidableInWater);
|
|
@@ -2383,6 +2482,7 @@ public class PurpurWorldConfig {
|
|
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);
|
|
+ skeletonHorseAlwaysDropExp = getBoolean("mobs.skeleton_horse.always-drop-exp", skeletonHorseAlwaysDropExp);
|
|
}
|
|
|
|
public boolean slimeRidable = false;
|
|
@@ -2393,6 +2493,7 @@ public class PurpurWorldConfig {
|
|
public Map<Integer, Double> slimeMaxHealthCache = new HashMap<>();
|
|
public Map<Integer, Double> slimeAttackDamageCache = new HashMap<>();
|
|
public boolean slimeTakeDamageFromWater = false;
|
|
+ public boolean slimeAlwaysDropExp = false;
|
|
private void slimeSettings() {
|
|
slimeRidable = getBoolean("mobs.slime.ridable", slimeRidable);
|
|
slimeRidableInWater = getBoolean("mobs.slime.ridable-in-water", slimeRidableInWater);
|
|
@@ -2407,6 +2508,7 @@ public class PurpurWorldConfig {
|
|
slimeMaxHealthCache.clear();
|
|
slimeAttackDamageCache.clear();
|
|
slimeTakeDamageFromWater = getBoolean("mobs.slime.takes-damage-from-water", slimeTakeDamageFromWater);
|
|
+ slimeAlwaysDropExp = getBoolean("mobs.slime.always-drop-exp", slimeAlwaysDropExp);
|
|
}
|
|
|
|
public boolean snowGolemRidable = false;
|
|
@@ -2422,6 +2524,7 @@ public class PurpurWorldConfig {
|
|
public double snowGolemAttackDistance = 1.25D;
|
|
public boolean snowGolemBypassMobGriefing = false;
|
|
public boolean snowGolemTakeDamageFromWater = true;
|
|
+ public boolean snowGolemAlwaysDropExp = false;
|
|
private void snowGolemSettings() {
|
|
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
|
|
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
|
|
@@ -2441,6 +2544,7 @@ public class PurpurWorldConfig {
|
|
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);
|
|
+ snowGolemAlwaysDropExp = getBoolean("mobs.snow_golem.always-drop-exp", snowGolemAlwaysDropExp);
|
|
}
|
|
|
|
public boolean snifferRidable = false;
|
|
@@ -2463,6 +2567,7 @@ public class PurpurWorldConfig {
|
|
public double squidOffsetWaterCheck = 0.0D;
|
|
public boolean squidsCanFly = false;
|
|
public boolean squidTakeDamageFromWater = false;
|
|
+ public boolean squidAlwaysDropExp = false;
|
|
private void squidSettings() {
|
|
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
|
|
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
|
|
@@ -2476,6 +2581,7 @@ public class PurpurWorldConfig {
|
|
squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck);
|
|
squidsCanFly = getBoolean("mobs.squid.can-fly", squidsCanFly);
|
|
squidTakeDamageFromWater = getBoolean("mobs.squid.takes-damage-from-water", squidTakeDamageFromWater);
|
|
+ squidAlwaysDropExp = getBoolean("mobs.squid.always-drop-exp", squidAlwaysDropExp);
|
|
}
|
|
|
|
public boolean spiderRidable = false;
|
|
@@ -2483,6 +2589,7 @@ public class PurpurWorldConfig {
|
|
public boolean spiderControllable = true;
|
|
public double spiderMaxHealth = 16.0D;
|
|
public boolean spiderTakeDamageFromWater = false;
|
|
+ public boolean spiderAlwaysDropExp = false;
|
|
private void spiderSettings() {
|
|
spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable);
|
|
spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater);
|
|
@@ -2494,6 +2601,7 @@ public class PurpurWorldConfig {
|
|
}
|
|
spiderMaxHealth = getDouble("mobs.spider.attributes.max_health", spiderMaxHealth);
|
|
spiderTakeDamageFromWater = getBoolean("mobs.spider.takes-damage-from-water", spiderTakeDamageFromWater);
|
|
+ spiderAlwaysDropExp = getBoolean("mobs.spider.always-drop-exp", spiderAlwaysDropExp);
|
|
}
|
|
|
|
public boolean strayRidable = false;
|
|
@@ -2501,6 +2609,7 @@ public class PurpurWorldConfig {
|
|
public boolean strayControllable = true;
|
|
public double strayMaxHealth = 20.0D;
|
|
public boolean strayTakeDamageFromWater = false;
|
|
+ public boolean strayAlwaysDropExp = false;
|
|
private void straySettings() {
|
|
strayRidable = getBoolean("mobs.stray.ridable", strayRidable);
|
|
strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater);
|
|
@@ -2512,6 +2621,7 @@ public class PurpurWorldConfig {
|
|
}
|
|
strayMaxHealth = getDouble("mobs.stray.attributes.max_health", strayMaxHealth);
|
|
strayTakeDamageFromWater = getBoolean("mobs.stray.takes-damage-from-water", strayTakeDamageFromWater);
|
|
+ strayAlwaysDropExp = getBoolean("mobs.stray.always-drop-exp", strayAlwaysDropExp);
|
|
}
|
|
|
|
public boolean striderRidable = false;
|
|
@@ -2521,6 +2631,7 @@ public class PurpurWorldConfig {
|
|
public int striderBreedingTicks = 6000;
|
|
public boolean striderGiveSaddleBack = false;
|
|
public boolean striderTakeDamageFromWater = true;
|
|
+ public boolean striderAlwaysDropExp = false;
|
|
private void striderSettings() {
|
|
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
|
|
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
|
|
@@ -2534,6 +2645,7 @@ public class PurpurWorldConfig {
|
|
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);
|
|
+ striderAlwaysDropExp = getBoolean("mobs.strider.always-drop-exp", striderAlwaysDropExp);
|
|
}
|
|
|
|
public boolean tadpoleRidable = false;
|
|
@@ -2556,6 +2668,7 @@ public class PurpurWorldConfig {
|
|
public double traderLlamaMovementSpeedMax = 0.175D;
|
|
public int traderLlamaBreedingTicks = 6000;
|
|
public boolean traderLlamaTakeDamageFromWater = false;
|
|
+ public boolean traderLlamaAlwaysDropExp = false;
|
|
private void traderLlamaSettings() {
|
|
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
|
|
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
|
|
@@ -2575,12 +2688,14 @@ public class PurpurWorldConfig {
|
|
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);
|
|
+ traderLlamaAlwaysDropExp = getBoolean("mobs.trader_llama.always-drop-exp", traderLlamaAlwaysDropExp);
|
|
}
|
|
|
|
public boolean tropicalFishRidable = false;
|
|
public boolean tropicalFishControllable = true;
|
|
public double tropicalFishMaxHealth = 3.0D;
|
|
public boolean tropicalFishTakeDamageFromWater = false;
|
|
+ public boolean tropicalFishAlwaysDropExp = false;
|
|
private void tropicalFishSettings() {
|
|
tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable);
|
|
tropicalFishControllable = getBoolean("mobs.tropical_fish.controllable", tropicalFishControllable);
|
|
@@ -2591,6 +2706,7 @@ public class PurpurWorldConfig {
|
|
}
|
|
tropicalFishMaxHealth = getDouble("mobs.tropical_fish.attributes.max_health", tropicalFishMaxHealth);
|
|
tropicalFishTakeDamageFromWater = getBoolean("mobs.tropical_fish.takes-damage-from-water", tropicalFishTakeDamageFromWater);
|
|
+ tropicalFishAlwaysDropExp = getBoolean("mobs.tropical_fish.always-drop-exp", tropicalFishAlwaysDropExp);
|
|
}
|
|
|
|
public boolean turtleRidable = false;
|
|
@@ -2599,6 +2715,7 @@ public class PurpurWorldConfig {
|
|
public double turtleMaxHealth = 30.0D;
|
|
public int turtleBreedingTicks = 6000;
|
|
public boolean turtleTakeDamageFromWater = false;
|
|
+ public boolean turtleAlwaysDropExp = false;
|
|
private void turtleSettings() {
|
|
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
|
|
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
|
|
@@ -2611,6 +2728,7 @@ 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);
|
|
+ turtleAlwaysDropExp = getBoolean("mobs.turtle.always-drop-exp", turtleAlwaysDropExp);
|
|
}
|
|
|
|
public boolean vexRidable = false;
|
|
@@ -2619,6 +2737,7 @@ public class PurpurWorldConfig {
|
|
public double vexMaxY = 320D;
|
|
public double vexMaxHealth = 14.0D;
|
|
public boolean vexTakeDamageFromWater = false;
|
|
+ public boolean vexAlwaysDropExp = false;
|
|
private void vexSettings() {
|
|
vexRidable = getBoolean("mobs.vex.ridable", vexRidable);
|
|
vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater);
|
|
@@ -2631,6 +2750,7 @@ public class PurpurWorldConfig {
|
|
}
|
|
vexMaxHealth = getDouble("mobs.vex.attributes.max_health", vexMaxHealth);
|
|
vexTakeDamageFromWater = getBoolean("mobs.vex.takes-damage-from-water", vexTakeDamageFromWater);
|
|
+ vexAlwaysDropExp = getBoolean("mobs.vex.always-drop-exp", vexAlwaysDropExp);
|
|
}
|
|
|
|
public boolean villagerRidable = false;
|
|
@@ -2646,6 +2766,7 @@ public class PurpurWorldConfig {
|
|
public boolean villagerBypassMobGriefing = false;
|
|
public boolean villagerTakeDamageFromWater = false;
|
|
public boolean villagerAllowTrading = true;
|
|
+ public boolean villagerAlwaysDropExp = false;
|
|
private void villagerSettings() {
|
|
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
|
|
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
|
|
@@ -2665,6 +2786,7 @@ public class PurpurWorldConfig {
|
|
villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing);
|
|
villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater);
|
|
villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading);
|
|
+ villagerAlwaysDropExp = getBoolean("mobs.villager.always-drop-exp", villagerAlwaysDropExp);
|
|
}
|
|
|
|
public boolean vindicatorRidable = false;
|
|
@@ -2673,6 +2795,7 @@ public class PurpurWorldConfig {
|
|
public double vindicatorMaxHealth = 24.0D;
|
|
public double vindicatorJohnnySpawnChance = 0D;
|
|
public boolean vindicatorTakeDamageFromWater = false;
|
|
+ public boolean vindicatorAlwaysDropExp = false;
|
|
private void vindicatorSettings() {
|
|
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
|
|
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
|
|
@@ -2685,6 +2808,7 @@ 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);
|
|
+ vindicatorAlwaysDropExp = getBoolean("mobs.vindicator.always-drop-exp", vindicatorAlwaysDropExp);
|
|
}
|
|
|
|
public boolean wanderingTraderRidable = false;
|
|
@@ -2695,6 +2819,7 @@ public class PurpurWorldConfig {
|
|
public boolean wanderingTraderCanBeLeashed = false;
|
|
public boolean wanderingTraderTakeDamageFromWater = false;
|
|
public boolean wanderingTraderAllowTrading = true;
|
|
+ public boolean wanderingTraderAlwaysDropExp = false;
|
|
private void wanderingTraderSettings() {
|
|
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
|
|
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
|
|
@@ -2709,6 +2834,7 @@ public class PurpurWorldConfig {
|
|
wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed);
|
|
wanderingTraderTakeDamageFromWater = getBoolean("mobs.wandering_trader.takes-damage-from-water", wanderingTraderTakeDamageFromWater);
|
|
wanderingTraderAllowTrading = getBoolean("mobs.wandering_trader.allow-trading", wanderingTraderAllowTrading);
|
|
+ wanderingTraderAlwaysDropExp = getBoolean("mobs.wandering_trader.always-drop-exp", wanderingTraderAlwaysDropExp);
|
|
}
|
|
|
|
public boolean wardenRidable = false;
|
|
@@ -2725,6 +2851,7 @@ public class PurpurWorldConfig {
|
|
public boolean witchControllable = true;
|
|
public double witchMaxHealth = 26.0D;
|
|
public boolean witchTakeDamageFromWater = false;
|
|
+ public boolean witchAlwaysDropExp = false;
|
|
private void witchSettings() {
|
|
witchRidable = getBoolean("mobs.witch.ridable", witchRidable);
|
|
witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater);
|
|
@@ -2736,6 +2863,7 @@ public class PurpurWorldConfig {
|
|
}
|
|
witchMaxHealth = getDouble("mobs.witch.attributes.max_health", witchMaxHealth);
|
|
witchTakeDamageFromWater = getBoolean("mobs.witch.takes-damage-from-water", witchTakeDamageFromWater);
|
|
+ witchAlwaysDropExp = getBoolean("mobs.witch.always-drop-exp", witchAlwaysDropExp);
|
|
}
|
|
|
|
public boolean witherRidable = false;
|
|
@@ -2750,6 +2878,7 @@ public class PurpurWorldConfig {
|
|
public boolean witherCanRideVehicles = false;
|
|
public float witherExplosionRadius = 1.0F;
|
|
public boolean witherPlaySpawnSound = true;
|
|
+ public boolean witherAlwaysDropExp = false;
|
|
private void witherSettings() {
|
|
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
|
|
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
|
|
@@ -2772,6 +2901,7 @@ public class PurpurWorldConfig {
|
|
witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles);
|
|
witherExplosionRadius = (float) getDouble("mobs.wither.explosion-radius", witherExplosionRadius);
|
|
witherPlaySpawnSound = getBoolean("mobs.wither.play-spawn-sound", witherPlaySpawnSound);
|
|
+ witherAlwaysDropExp = getBoolean("mobs.wither.always-drop-exp", witherAlwaysDropExp);
|
|
}
|
|
|
|
public boolean witherSkeletonRidable = false;
|
|
@@ -2779,6 +2909,7 @@ public class PurpurWorldConfig {
|
|
public boolean witherSkeletonControllable = true;
|
|
public double witherSkeletonMaxHealth = 20.0D;
|
|
public boolean witherSkeletonTakeDamageFromWater = false;
|
|
+ public boolean witherSkeletonAlwaysDropExp = false;
|
|
private void witherSkeletonSettings() {
|
|
witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable);
|
|
witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater);
|
|
@@ -2790,6 +2921,7 @@ public class PurpurWorldConfig {
|
|
}
|
|
witherSkeletonMaxHealth = getDouble("mobs.wither_skeleton.attributes.max_health", witherSkeletonMaxHealth);
|
|
witherSkeletonTakeDamageFromWater = getBoolean("mobs.wither_skeleton.takes-damage-from-water", witherSkeletonTakeDamageFromWater);
|
|
+ witherSkeletonAlwaysDropExp = getBoolean("mobs.wither_skeleton.always-drop-exp", witherSkeletonAlwaysDropExp);
|
|
}
|
|
|
|
public boolean wolfRidable = false;
|
|
@@ -2801,6 +2933,7 @@ public class PurpurWorldConfig {
|
|
public double wolfNaturalRabid = 0.0D;
|
|
public int wolfBreedingTicks = 6000;
|
|
public boolean wolfTakeDamageFromWater = false;
|
|
+ public boolean wolfAlwaysDropExp = false;
|
|
private void wolfSettings() {
|
|
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
|
|
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
|
|
@@ -2820,6 +2953,7 @@ public class PurpurWorldConfig {
|
|
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);
|
|
+ wolfAlwaysDropExp = getBoolean("mobs.wolf.always-drop-exp", wolfAlwaysDropExp);
|
|
}
|
|
|
|
public boolean zoglinRidable = false;
|
|
@@ -2827,6 +2961,7 @@ public class PurpurWorldConfig {
|
|
public boolean zoglinControllable = true;
|
|
public double zoglinMaxHealth = 40.0D;
|
|
public boolean zoglinTakeDamageFromWater = false;
|
|
+ public boolean zoglinAlwaysDropExp = false;
|
|
private void zoglinSettings() {
|
|
zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable);
|
|
zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater);
|
|
@@ -2838,6 +2973,7 @@ public class PurpurWorldConfig {
|
|
}
|
|
zoglinMaxHealth = getDouble("mobs.zoglin.attributes.max_health", zoglinMaxHealth);
|
|
zoglinTakeDamageFromWater = getBoolean("mobs.zoglin.takes-damage-from-water", zoglinTakeDamageFromWater);
|
|
+ zoglinAlwaysDropExp = getBoolean("mobs.zoglin.always-drop-exp", zoglinAlwaysDropExp);
|
|
}
|
|
|
|
public boolean zombieRidable = false;
|
|
@@ -2851,6 +2987,7 @@ public class PurpurWorldConfig {
|
|
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
|
|
public boolean zombieBypassMobGriefing = false;
|
|
public boolean zombieTakeDamageFromWater = false;
|
|
+ public boolean zombieAlwaysDropExp = false;
|
|
private void zombieSettings() {
|
|
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
|
|
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
|
|
@@ -2868,6 +3005,7 @@ public class PurpurWorldConfig {
|
|
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);
|
|
+ zombieAlwaysDropExp = getBoolean("mobs.zombie.always-drop-exp", zombieAlwaysDropExp);
|
|
}
|
|
|
|
public boolean zombieHorseRidable = false;
|
|
@@ -2881,6 +3019,7 @@ public class PurpurWorldConfig {
|
|
public double zombieHorseMovementSpeedMax = 0.2D;
|
|
public double zombieHorseSpawnChance = 0.0D;
|
|
public boolean zombieHorseTakeDamageFromWater = false;
|
|
+ public boolean zombieHorseAlwaysDropExp = false;
|
|
private void zombieHorseSettings() {
|
|
zombieHorseRidable = getBoolean("mobs.zombie_horse.ridable", zombieHorseRidable);
|
|
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
|
|
@@ -2899,6 +3038,7 @@ public class PurpurWorldConfig {
|
|
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);
|
|
+ zombieHorseAlwaysDropExp = getBoolean("mobs.zombie_horse.always-drop-exp", zombieHorseAlwaysDropExp);
|
|
}
|
|
|
|
public boolean zombieVillagerRidable = false;
|
|
@@ -2913,6 +3053,7 @@ public class PurpurWorldConfig {
|
|
public int zombieVillagerCuringTimeMin = 3600;
|
|
public int zombieVillagerCuringTimeMax = 6000;
|
|
public boolean zombieVillagerCureEnabled = true;
|
|
+ public boolean zombieVillagerAlwaysDropExp = false;
|
|
private void zombieVillagerSettings() {
|
|
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
|
|
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
|
|
@@ -2931,6 +3072,7 @@ public class PurpurWorldConfig {
|
|
zombieVillagerCuringTimeMin = getInt("mobs.zombie_villager.curing_time.min", zombieVillagerCuringTimeMin);
|
|
zombieVillagerCuringTimeMax = getInt("mobs.zombie_villager.curing_time.max", zombieVillagerCuringTimeMax);
|
|
zombieVillagerCureEnabled = getBoolean("mobs.zombie_villager.cure.enabled", zombieVillagerCureEnabled);
|
|
+ zombieVillagerAlwaysDropExp = getBoolean("mobs.zombie_villager.always-drop-exp", zombieVillagerAlwaysDropExp);
|
|
}
|
|
|
|
public boolean zombifiedPiglinRidable = false;
|
|
@@ -2943,6 +3085,7 @@ public class PurpurWorldConfig {
|
|
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
|
|
public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true;
|
|
public boolean zombifiedPiglinTakeDamageFromWater = false;
|
|
+ public boolean zombifiedPiglinAlwaysDropExp = false;
|
|
private void zombifiedPiglinSettings() {
|
|
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
|
|
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
|
|
@@ -2959,6 +3102,7 @@ public class PurpurWorldConfig {
|
|
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);
|
|
+ zombifiedPiglinAlwaysDropExp = getBoolean("mobs.zombified_piglin.always-drop-exp", zombifiedPiglinAlwaysDropExp);
|
|
}
|
|
|
|
public float hungerStarvationDamage = 1.0F;
|