mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
2223 lines
119 KiB
Diff
2223 lines
119 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 17ff16de143ccd40bf7654062eefb6a36b65a851..0a2e0debc8e38cc32059c26d15cbbb0147622336 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/GlowSquid.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/GlowSquid.java
|
|
@@ -38,6 +38,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 65628c2eb3117bd816b772bfe49b65d2c1bd1e75..9c7932cdeaa377feb2fefc7d00ddd5c0f8dc4ce9 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
|
@@ -239,6 +239,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 6358539ebd7cef98464376896a65df029db0754a..4d340d073f5d9c681260cab187a08513ad5ae1c5 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
|
@@ -430,6 +430,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 cd4b5286ac58d569f961d50f4d277ad3b70b8897..a38465f9d55db378daade62585993c2c98d159b4 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
|
@@ -112,6 +112,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 9d531f623ceb0c7ac732588b906d5fe3492ce96a..1ffe9651e0794476aa05a5fa3a71b4eaa88b2b71 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
|
@@ -72,6 +72,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 d7e725d0ffc7092b0c59598cbda1d253b6dfc003..85afb29ea13d421f53d42ea484130b1ba84e82b6 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Cod.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Cod.java
|
|
@@ -23,6 +23,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 58a223e36fb964d546e512d3c102fe5577e5652d..e8ade477deea79c0168276226d51c07591c46c64 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
|
@@ -66,6 +66,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 e8f77e81cd8e6ea29b79f7a4399fb9cc2bb89c16..2d360627ab063d2cec55be25797378ae05269ee6 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
|
@@ -97,6 +97,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 169cd4a00de163dc86cf73382275ba97a5d09e7f..b2a0166d8db0371c300f94a7b912122d4a40bdf3 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
|
@@ -158,6 +158,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 e07f0444e4917bf38448e6908ba1c3d3b7d5d413..a6c1d5645a25065662c7e0e2dd966542c3e2545f 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
|
|
@@ -86,6 +86,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 (this.level().purpurConfig.ironGolemPoppyCalm) this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.ReceiveFlower(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 6a0afe12430dbd1ff76f17801eb0bf44c2f90ff0..1393b36e69a5f91477c29f7e0f4ab52c3f015302 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
|
@@ -78,6 +78,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 44dd0c0494eae1af75ffa9b14d00d2da88024d6f..bab12db9dcef2936f11972895b0d631fee442502 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
|
@@ -83,6 +83,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 978598f01aa6e3a43f4323e53b9e519557f37148..c4d25c5c8f9206aa4b86248456e6eafd6836669e 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
|
@@ -124,6 +124,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 b53a9c9bede5a23da0fab0043442566fa6b4207b..9484db44edcb1468d9e5d8f8f39d6fab317ff475 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
|
@@ -150,6 +150,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 288b5e4e359e238ba11b9d046110a6d29a9a42eb..896ed5acb00e21898c89a98e6217981f35c9ba1c 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
|
@@ -79,6 +79,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 acf21b1622eac1df0e08fda502dc2475fb82c22e..e48b00cd821a41cb95f355d6ee49c3a944b13220 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
|
@@ -101,6 +101,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 71e7ca1f4cdb1dcd31a0ad66a02f8b7af7d45a60..e456b73a72f3441221076e6cbb2f505caceeb78f 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Pufferfish.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Pufferfish.java
|
|
@@ -55,6 +55,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 57771ff9362e5c423aa2456740970289d6bde005..ca7e3220069116be70adfbf08b9af9f5a7a8c4ec 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
|
@@ -106,6 +106,11 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
|
return this.level.purpurConfig.rabbitTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level.purpurConfig.rabbitAlwaysDropExp;
|
|
+ }
|
|
+
|
|
// CraftBukkit start - code from constructor
|
|
public void initializePathFinderGoals(){
|
|
this.setSpeedModifier(0.0D);
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Salmon.java b/src/main/java/net/minecraft/world/entity/animal/Salmon.java
|
|
index 1f81836419b5da90aa12a00c3397fab74058dd19..65c0a41b20be8ec48942596a246e68780feaeed8 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Salmon.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Salmon.java
|
|
@@ -23,6 +23,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 145e17504690299ca6e64a06a52dbb8684ac6966..29b5369dc30bf6e893c2788ec65b1fbeeb2014be 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
|
@@ -132,6 +132,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 6dd2d09cc6432edfbebab37120b2bfd5084522fe..ebf46952bee7dce7b3e6098015edbeca5ba82c58 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
|
@@ -69,6 +69,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(1, new RangedAttackGoal(this, level.purpurConfig.snowGolemAttackDistance, level.purpurConfig.snowGolemSnowBallMin, level.purpurConfig.snowGolemSnowBallMax, level.purpurConfig.snowGolemSnowBallModifier)); // 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 35d61f8c990154aa297c70338f410a4468e01d68..b4d3ee520e8c10755ad0c608b4660d6213fcb5ca 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
|
@@ -75,6 +75,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 e2252ea4e7303fcbbe2e55faa9604c1c668ea908..775be441a73da061c594e3a2bddeb2156883c6cb 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/TropicalFish.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/TropicalFish.java
|
|
@@ -52,6 +52,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 866b205b996c4f64deef501a2afb7ddfd0987e12..8cb9875284cf05956ded859da6b0e42491d2bfb3 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
|
@@ -98,6 +98,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 6a6c8517f8a2b385a7bf821292fa83945d95f881..b3aa86ae21f1f76dc149f9618c3968d492c8e35e 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
|
@@ -192,6 +192,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 574c011caa6ab029edfb0ee6c7436b451f407bc6..2eafd38bbb3f635ba0d5116d9bdc771b59e906ff 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
|
|
@@ -113,6 +113,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 25cbeb86b23f7e629fbca37a3bd4b74521803803..c17692ff7fe82b6f3c1f1cc282f8c75f1b70664c 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
|
|
@@ -99,6 +99,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 935f1e8af2ac139fb8956b53edc55ae793d9a42d..6f8ee24801e2da65410419e2245b060f01f78d47 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
|
|
@@ -40,6 +40,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 8dd0cc7bff5ec3ce9603f6e511dd5042e1cf9657..b8f2128bfa867d33ad457b53f5958298bfa5b4e8 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
|
|
@@ -65,6 +65,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 4ecf2f60465485982a4b9b8f1fabe2757dd778f4..e63a4d440d93e73b799f0fd3c2ce78ef958976c6 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
|
|
@@ -104,6 +104,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 9d805f4765aab5896025b9000e45e9f0cc099e00..82d38b9eb5d80b2594df8b03d7d2635aa140d2d1 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
|
|
@@ -39,6 +39,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 12df6aeae5325f5eb4268111e5c8fb55e41d1456..81ace37f6025540b26c7ed5118167735099d65fb 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
|
|
@@ -53,6 +53,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 a8245720710c46b8385c9d364ba4410d915b67ee..c0a1d7958e604493a118c18e17a9acbd36baffdf 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
|
|
@@ -52,6 +52,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 5ca204e8eba26cc461ccaf9ae3d1cde8fb16c508..5e2d928a213261a9099da7239a056e6d59648db6 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
|
|
@@ -46,6 +46,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 f9d77c02cf474a9dee25178ea8d6852648d8193c..e0d15dbc03418deeb63ae9c53e4d15ace9e9ac6e 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
|
|
@@ -118,6 +118,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 b43c08f4cee928d9b901c06353553264b81934cf..dd1a80b7e4350079a9491fb2e7ef6d865dec8d55 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Blaze.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Blaze.java
|
|
@@ -44,6 +44,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(4, new Blaze.BlazeAttackGoal(this));
|
|
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 782b2c8bfc0ae71337ba8462d964a3e963acbf28..800c00a25f1f57b6ed4abcb7117498b873e787eb 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/CaveSpider.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/CaveSpider.java
|
|
@@ -38,6 +38,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 ec2d07e96241d8d0f100bb5492ae3bb6eb92ad85..d719178bc8637cddeeccbc6266e4ef8ca1684ecd 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
|
@@ -202,6 +202,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 05066a7f72908e7a1c8a55c5edced9946b83da6f..d013e7bfbf87704e815e6cf9030ceb98ea3f5b89 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
|
@@ -99,6 +99,11 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
|
return this.level.purpurConfig.drownedTakeDamageFromWater;
|
|
}
|
|
|
|
+ @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 ac36e59cf53c7a2ab0efea5741d142fb3d646557..dbc776a08e4c72b7da1d5f14c405d097d5c239f0 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java
|
|
@@ -43,6 +43,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 6c0b28f64dbd44b5d014c617981e4e6458f58e7b..eccfb1e486b246d79f7f1755eef122233189204c 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
|
@@ -97,6 +97,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 ec8a0c6ef570e09e2ac5a7c3cfce82a1c32f30c0..6b3facd67ce9f46b650413ef75c196398f39450f 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Endermite.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
|
|
@@ -56,6 +56,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 ad2910d1c12bf8f7ba3093fa4c9e9f8cb06fef03..fe5a139063685addfca493d1245541453a19f566 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Evoker.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Evoker.java
|
|
@@ -58,6 +58,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 a20d843c10af7089fda45f92ea366d884570708d..ca46e300cbc3a6286b8a1e185d1fb5c3dcc38d8c 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Ghast.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Ghast.java
|
|
@@ -106,6 +106,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 75ded7406f023680a221119a7dfb69586d9241f1..01a551f10e523e4a7a44863d747d42ba1c6c7e13 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Giant.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Giant.java
|
|
@@ -43,6 +43,11 @@ public class Giant extends Monster {
|
|
return this.level.purpurConfig.giantTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level.purpurConfig.giantAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void initAttributes() {
|
|
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.giantMaxHealth);
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Guardian.java b/src/main/java/net/minecraft/world/entity/monster/Guardian.java
|
|
index 7811e226d2cda0e7b2d4539c7b87bcedc09b2586..a0741dda4e55059ea773880768491fae9d8b5084 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Guardian.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Guardian.java
|
|
@@ -83,6 +83,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 04cbd6f0a7686ccfcb80c54b44e410ec9a76728f..4a45e1928c08813ea217f57a3b4baffabd8b719a 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Husk.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Husk.java
|
|
@@ -53,6 +53,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) && (spawnReason == MobSpawnType.SPAWNER || world.canSeeSky(pos));
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Illusioner.java b/src/main/java/net/minecraft/world/entity/monster/Illusioner.java
|
|
index d3f6ccde772f606f99d70980ff9e0318835196fb..6f004ad6c3b179d4738d202778d43b466e548340 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Illusioner.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Illusioner.java
|
|
@@ -71,6 +71,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 1cdff3875c82e2fc900bc4e58c58c2f3607abbb4..52c497043b7db9095b81d314ffc18ce81639cdb9 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java
|
|
@@ -50,6 +50,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 da3e01c9d8d7202bcb2b0b249012bafe10f2e0c0..e2a8e9a2be3705c28d48324731d400ea5d992460 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
|
@@ -67,6 +67,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 b102b360f48aab31d5a9c4d1b5fd136369b55df2..83186c401c43982cb30a81d95c53804cd20275aa 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Pillager.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Pillager.java
|
|
@@ -72,6 +72,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 ead73730128a8646e9a6942c4f89e1974752a39a..3a790c849d199ea72d5c9201199a2cf4ab4d12a6 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
|
@@ -75,6 +75,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 e4925f6af4fd33ef7d008c7c00734c32684a1320..b0b325aeff5fa69fcce9664c8b70d809b46a8157 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
|
@@ -125,6 +125,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(1, new LookAtPlayerGoal(this, Player.class, 8.0F, 0.02F, true));
|
|
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 ac3544ad12cc43ab92cf0e2a1d7b5a17616ada98..69c5568ede77a9dd072731bbf20a86637bab3dee 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
|
@@ -52,6 +52,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 0b03160db790fd3a107d7459c747b393dda71415..27b3536224a9ddee098ad7765bf8f5f924b717d1 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
|
|
@@ -36,6 +36,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 0d97d7a99cc25664cda93596e2e0819c3a6cb48d..df36a5b0eb822cc3e08ae468c136eef3e688bd14 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
|
@@ -107,6 +107,11 @@ public class Slime extends Mob implements Enemy {
|
|
return this.level.purpurConfig.slimeTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level.purpurConfig.slimeAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(1, new Slime.SlimeFloatGoal(this));
|
|
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 2a00c9e116426151e83028fc4bbabbed886fd15c..44ba5a97ce93da41b597ffc602e6c22d727743f1 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
|
@@ -61,6 +61,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 beb0b0c45020c2da42defd2f8e4e9cd09403c714..720e5a7dac3de723b86ef8202637755e3ee02187 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Stray.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Stray.java
|
|
@@ -31,6 +31,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 5edfb858b081ff1be289c3e139fdb0beb9e53958..2b73409bf681734657621b521e31930f617f1063 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Strider.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java
|
|
@@ -110,6 +110,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 e7f3a3688a3c339d8e223afce6147fa94efcf01e..07660d80641abcb7e031cd809cace0525001e0ae 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
|
@@ -73,6 +73,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 9e142e5b0973c89a5b623e651360752f22e9cc5b..802c71868883407e81008cc337738a6cdcc2b34c 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
|
@@ -68,6 +68,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 e4d2c02bf9264ccea2c4aadf31b6f26b44f97802..50aa3dff500f3f3828cd826d89235608f9d70f6e 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Witch.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Witch.java
|
|
@@ -67,6 +67,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 c7964f89805a72dfb1746f78d3310cea876bf19b..0d25e4a0050a558d3e43d4d00ea9114e49abacf1 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java
|
|
@@ -45,6 +45,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 5491c38e2c40859e1087801836831f1ff16e923f..7b74b196cc5c549a8f88578ad11c0440e8cd1259 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Zoglin.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Zoglin.java
|
|
@@ -77,6 +77,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 98591d2b5578439230f3291046381c179f9cf5dd..ea9eccca6d4a7a8ae4005747ea3c18c2232ec6bd 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
|
@@ -129,6 +129,11 @@ public class Zombie extends Monster {
|
|
return this.level.purpurConfig.zombieTakeDamageFromWater;
|
|
}
|
|
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level.purpurConfig.zombieAlwaysDropExp;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
if (this.level().paperConfig().entities.behavior.zombiesTargetTurtleEggs) this.goalSelector.addGoal(4, new Zombie.ZombieAttackTurtleEggGoal(this, 1.0D, 3)); // Paper
|
|
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 e1e8fca7ff8231689eae0d5cfcb62e967f3ccf16..e1fddd52908ebb23447d51511d0de8df733380ff 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
|
@@ -109,6 +109,11 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
|
return this.level.purpurConfig.zombieVillagerTakeDamageFromWater;
|
|
}
|
|
|
|
+ @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 2d4bf7dea360d72bcc33c10f00f2416599f85c83..296ce8eef2df9d37ff6467cacbed3e77126dc357 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
|
|
@@ -88,6 +88,11 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
|
|
return this.level.purpurConfig.zombifiedPiglinTakeDamageFromWater;
|
|
}
|
|
|
|
+ @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 639bbbf36ba6a627a26fc8cd112f3d2896cb45ab..07b566523268badcc4380ed5a7d904e7e4ff0379 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
|
|
@@ -82,6 +82,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 eb27d6934f165d7f958ad441feb18a95c9ed4c24..1b4b8db4297ad765e8ce556ff496f96603839ea9 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
|
|
@@ -106,6 +106,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 2f6b55361f62f9f9125fec9b3ca062f98e1768a7..acc3ddd2fa07f84ab462c077260744310e8dc1cd 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
|
|
@@ -51,6 +51,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 718ee5c391a287f2dcac98744c646b1c68bd0f3c..2821de56ac85d32460d33ceb6be45694b6298afd 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
|
@@ -170,6 +170,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 959b8174a2ce5329fb136c2f2bf15381a1ecac55..1c81826a5bb71298cbcb9b3a5715d56bc8eec8be 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
|
@@ -81,6 +81,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 c3cd9cbb94ce09db9ac4e6aac591b35355b2b882..4d69115b748f31b9a35aee0d0090bc0865a24b0f 100644
|
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
@@ -997,10 +997,12 @@ public class PurpurWorldConfig {
|
|
public double axolotlMaxHealth = 14.0D;
|
|
public int axolotlBreedingTicks = 6000;
|
|
public boolean axolotlTakeDamageFromWater = false;
|
|
+ public boolean axolotlAlwaysDropExp = false;
|
|
private void axolotlSettings() {
|
|
axolotlMaxHealth = getDouble("mobs.axolotl.attributes.max_health", axolotlMaxHealth);
|
|
axolotlBreedingTicks = getInt("mobs.axolotl.breeding-delay-ticks", axolotlBreedingTicks);
|
|
axolotlTakeDamageFromWater = getBoolean("mobs.axolotl.takes-damage-from-water", axolotlTakeDamageFromWater);
|
|
+ axolotlAlwaysDropExp = getBoolean("mobs.axolotl.always-drop-exp", axolotlAlwaysDropExp);
|
|
}
|
|
|
|
public double batMaxHealth = 6.0D;
|
|
@@ -1012,6 +1014,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() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.bat.attributes.max-health", batMaxHealth);
|
|
@@ -1027,6 +1030,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 double beeMaxHealth = 10.0D;
|
|
@@ -1034,6 +1038,7 @@ public class PurpurWorldConfig {
|
|
public boolean beeTakeDamageFromWater = false;
|
|
public boolean beeCanWorkAtNight = false;
|
|
public boolean beeCanWorkInRain = false;
|
|
+ public boolean beeAlwaysDropExp = false;
|
|
private void beeSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.bee.attributes.max-health", beeMaxHealth);
|
|
@@ -1045,10 +1050,12 @@ 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 double blazeMaxHealth = 20.0D;
|
|
public boolean blazeTakeDamageFromWater = true;
|
|
+ public boolean blazeAlwaysDropExp = false;
|
|
private void blazeSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.blaze.attributes.max-health", blazeMaxHealth);
|
|
@@ -1057,6 +1064,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 int camelBreedingTicks = 6000;
|
|
@@ -1083,6 +1091,7 @@ public class PurpurWorldConfig {
|
|
public int catBreedingTicks = 6000;
|
|
public DyeColor catDefaultCollarColor = DyeColor.RED;
|
|
public boolean catTakeDamageFromWater = false;
|
|
+ public boolean catAlwaysDropExp = false;
|
|
private void catSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.cat.attributes.max-health", catMaxHealth);
|
|
@@ -1100,10 +1109,12 @@ public class PurpurWorldConfig {
|
|
catDefaultCollarColor = DyeColor.RED;
|
|
}
|
|
catTakeDamageFromWater = getBoolean("mobs.cat.takes-damage-from-water", catTakeDamageFromWater);
|
|
+ catAlwaysDropExp = getBoolean("mobs.cat.always-drop-exp", catAlwaysDropExp);
|
|
}
|
|
|
|
public double caveSpiderMaxHealth = 12.0D;
|
|
public boolean caveSpiderTakeDamageFromWater = false;
|
|
+ public boolean caveSpiderAlwaysDropExp = false;
|
|
private void caveSpiderSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.cave_spider.attributes.max-health", caveSpiderMaxHealth);
|
|
@@ -1112,12 +1123,14 @@ 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 double chickenMaxHealth = 4.0D;
|
|
public boolean chickenRetaliate = false;
|
|
public int chickenBreedingTicks = 6000;
|
|
public boolean chickenTakeDamageFromWater = false;
|
|
+ public boolean chickenAlwaysDropExp = false;
|
|
private void chickenSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.chicken.attributes.max-health", chickenMaxHealth);
|
|
@@ -1128,10 +1141,12 @@ 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 double codMaxHealth = 3.0D;
|
|
public boolean codTakeDamageFromWater = false;
|
|
+ public boolean codAlwaysDropExp = false;
|
|
private void codSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.cod.attributes.max-health", codMaxHealth);
|
|
@@ -1140,6 +1155,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 double cowMaxHealth = 10.0D;
|
|
@@ -1148,6 +1164,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 < 10) {
|
|
double oldValue = getDouble("mobs.cow.attributes.max-health", cowMaxHealth);
|
|
@@ -1165,6 +1182,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 double creeperMaxHealth = 20.0D;
|
|
@@ -1174,6 +1192,7 @@ public class PurpurWorldConfig {
|
|
public boolean creeperTakeDamageFromWater = false;
|
|
public boolean creeperExplodeWhenKilled = false;
|
|
public boolean creeperHealthRadius = false;
|
|
+ public boolean creeperAlwaysDropExp = false;
|
|
private void creeperSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.creeper.attributes.max-health", creeperMaxHealth);
|
|
@@ -1187,12 +1206,14 @@ 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 double dolphinMaxHealth = 10.0D;
|
|
public boolean dolphinDisableTreasureSearching = false;
|
|
public boolean dolphinTakeDamageFromWater = false;
|
|
public double dolphinNaturallyAggressiveToPlayersChance = 0.0D;
|
|
+ public boolean dolphinAlwaysDropExp = false;
|
|
private void dolphinSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.dolphin.attributes.max-health", dolphinMaxHealth);
|
|
@@ -1203,6 +1224,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 double donkeyMaxHealthMin = 15.0D;
|
|
@@ -1213,6 +1235,7 @@ public class PurpurWorldConfig {
|
|
public double donkeyMovementSpeedMax = 0.175D;
|
|
public int donkeyBreedingTicks = 6000;
|
|
public boolean donkeyTakeDamageFromWater = false;
|
|
+ public boolean donkeyAlwaysDropExp = false;
|
|
private void donkeySettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldMin = getDouble("mobs.donkey.attributes.max-health.min", donkeyMaxHealthMin);
|
|
@@ -1229,6 +1252,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 double drownedMaxHealth = 20.0D;
|
|
@@ -1238,6 +1262,7 @@ public class PurpurWorldConfig {
|
|
public boolean drownedJockeyTryExistingChickens = true;
|
|
public boolean drownedTakeDamageFromWater = false;
|
|
public boolean drownedBreakDoors = false;
|
|
+ public boolean drownedAlwaysDropExp = false;
|
|
private void drownedSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.drowned.attributes.max-health", drownedMaxHealth);
|
|
@@ -1251,10 +1276,12 @@ 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 double elderGuardianMaxHealth = 80.0D;
|
|
public boolean elderGuardianTakeDamageFromWater = false;
|
|
+ public boolean elderGuardianAlwaysDropExp = false;
|
|
private void elderGuardianSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.elder_guardian.attributes.max-health", elderGuardianMaxHealth);
|
|
@@ -1263,6 +1290,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 double enderDragonMaxHealth = 200.0D;
|
|
@@ -1297,6 +1325,7 @@ public class PurpurWorldConfig {
|
|
public boolean endermanIgnorePlayerDragonHead = false;
|
|
public boolean endermanDisableStareAggro = false;
|
|
public boolean endermanIgnoreProjectiles = false;
|
|
+ public boolean endermanAlwaysDropExp = false;
|
|
private void endermanSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.enderman.attributes.max-health", endermanMaxHealth);
|
|
@@ -1317,10 +1346,12 @@ 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 double endermiteMaxHealth = 8.0D;
|
|
public boolean endermiteTakeDamageFromWater = false;
|
|
+ public boolean endermiteAlwaysDropExp = false;
|
|
private void endermiteSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.endermite.attributes.max-health", endermiteMaxHealth);
|
|
@@ -1329,11 +1360,13 @@ 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 double evokerMaxHealth = 24.0D;
|
|
public boolean evokerBypassMobGriefing = false;
|
|
public boolean evokerTakeDamageFromWater = false;
|
|
+ public boolean evokerAlwaysDropExp = false;
|
|
private void evokerSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.evoker.attributes.max-health", evokerMaxHealth);
|
|
@@ -1343,6 +1376,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 double foxMaxHealth = 10.0D;
|
|
@@ -1350,6 +1384,7 @@ public class PurpurWorldConfig {
|
|
public int foxBreedingTicks = 6000;
|
|
public boolean foxBypassMobGriefing = false;
|
|
public boolean foxTakeDamageFromWater = false;
|
|
+ public boolean foxAlwaysDropExp = false;
|
|
private void foxSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.fox.attributes.max-health", foxMaxHealth);
|
|
@@ -1361,6 +1396,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 int frogBreedingTicks = 6000;
|
|
@@ -1370,6 +1406,7 @@ public class PurpurWorldConfig {
|
|
|
|
public double ghastMaxHealth = 10.0D;
|
|
public boolean ghastTakeDamageFromWater = false;
|
|
+ public boolean ghastAlwaysDropExp = false;
|
|
private void ghastSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.ghast.attributes.max-health", ghastMaxHealth);
|
|
@@ -1378,6 +1415,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 double giantMovementSpeed = 0.5D;
|
|
@@ -1388,6 +1426,7 @@ public class PurpurWorldConfig {
|
|
public boolean giantHaveAI = false;
|
|
public boolean giantHaveHostileAI = false;
|
|
public boolean giantTakeDamageFromWater = false;
|
|
+ public boolean giantAlwaysDropExp = false;
|
|
private void giantSettings() {
|
|
giantMovementSpeed = getDouble("mobs.giant.movement-speed", giantMovementSpeed);
|
|
giantAttackDamage = getDouble("mobs.giant.attack-damage", giantAttackDamage);
|
|
@@ -1406,28 +1445,34 @@ 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 double glowSquidMaxHealth = 10.0D;
|
|
public boolean glowSquidsCanFly = false;
|
|
public boolean glowSquidTakeDamageFromWater = false;
|
|
+ public boolean glowSquidAlwaysDropExp = false;
|
|
private void glowSquidSettings() {
|
|
glowSquidMaxHealth = getDouble("mobs.glow_squid.attributes.max_health", glowSquidMaxHealth);
|
|
glowSquidsCanFly = getBoolean("mobs.glow_squid.can-fly", glowSquidsCanFly);
|
|
glowSquidTakeDamageFromWater = getBoolean("mobs.glow_squid.takes-damage-from-water", glowSquidTakeDamageFromWater);
|
|
+ glowSquidAlwaysDropExp = getBoolean("mobs.glow_squid.always-drop-exp", glowSquidAlwaysDropExp);
|
|
}
|
|
|
|
public double goatMaxHealth = 10.0D;
|
|
public int goatBreedingTicks = 6000;
|
|
public boolean goatTakeDamageFromWater = false;
|
|
+ public boolean goatAlwaysDropExp = false;
|
|
private void goatSettings() {
|
|
goatMaxHealth = getDouble("mobs.goat.attributes.max_health", goatMaxHealth);
|
|
goatBreedingTicks = getInt("mobs.goat.breeding-delay-ticks", goatBreedingTicks);
|
|
goatTakeDamageFromWater = getBoolean("mobs.goat.takes-damage-from-water", goatTakeDamageFromWater);
|
|
+ goatAlwaysDropExp = getBoolean("mobs.goat.always-drop-exp", goatAlwaysDropExp);
|
|
}
|
|
|
|
public double guardianMaxHealth = 30.0D;
|
|
public boolean guardianTakeDamageFromWater = false;
|
|
+ public boolean guardianAlwaysDropExp = false;
|
|
private void guardianSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.guardian.attributes.max-health", guardianMaxHealth);
|
|
@@ -1436,11 +1481,13 @@ 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 double hoglinMaxHealth = 40.0D;
|
|
public int hoglinBreedingTicks = 6000;
|
|
public boolean hoglinTakeDamageFromWater = false;
|
|
+ public boolean hoglinAlwaysDropExp = false;
|
|
private void hoglinSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.hoglin.attributes.max-health", hoglinMaxHealth);
|
|
@@ -1450,6 +1497,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 double horseMaxHealthMin = 15.0D;
|
|
@@ -1460,6 +1508,7 @@ public class PurpurWorldConfig {
|
|
public double horseMovementSpeedMax = 0.3375D;
|
|
public int horseBreedingTicks = 6000;
|
|
public boolean horseTakeDamageFromWater = false;
|
|
+ public boolean horseAlwaysDropExp = false;
|
|
private void horseSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldMin = getDouble("mobs.horse.attributes.max-health.min", horseMaxHealthMin);
|
|
@@ -1476,6 +1525,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 double huskMaxHealth = 20.0D;
|
|
@@ -1484,6 +1534,7 @@ public class PurpurWorldConfig {
|
|
public double huskJockeyChance = 0.05D;
|
|
public boolean huskJockeyTryExistingChickens = true;
|
|
public boolean huskTakeDamageFromWater = false;
|
|
+ public boolean huskAlwaysDropExp = false;
|
|
private void huskSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.husk.attributes.max-health", huskMaxHealth);
|
|
@@ -1496,12 +1547,14 @@ 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 double illusionerMovementSpeed = 0.5D;
|
|
public double illusionerFollowRange = 18.0D;
|
|
public double illusionerMaxHealth = 32.0D;
|
|
public boolean illusionerTakeDamageFromWater = false;
|
|
+ public boolean illusionerAlwaysDropExp = false;
|
|
private void illusionerSettings() {
|
|
illusionerMovementSpeed = getDouble("mobs.illusioner.movement-speed", illusionerMovementSpeed);
|
|
illusionerFollowRange = getDouble("mobs.illusioner.follow-range", illusionerFollowRange);
|
|
@@ -1516,12 +1569,14 @@ 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 double ironGolemMaxHealth = 100.0D;
|
|
public boolean ironGolemTakeDamageFromWater = false;
|
|
public boolean ironGolemPoppyCalm = false;
|
|
public boolean ironGolemHealCalm = false;
|
|
+ public boolean ironGolemAlwaysDropExp = false;
|
|
private void ironGolemSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.iron_golem.attributes.max-health", ironGolemMaxHealth);
|
|
@@ -1532,6 +1587,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;
|
|
@@ -1546,6 +1602,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);
|
|
@@ -1566,6 +1623,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 String magmaCubeMaxHealth = "size * size";
|
|
@@ -1573,6 +1631,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() {
|
|
if (PurpurConfig.version < 10) {
|
|
String oldValue = getString("mobs.magma_cube.attributes.max-health", magmaCubeMaxHealth);
|
|
@@ -1584,11 +1643,13 @@ 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 double mooshroomMaxHealth = 10.0D;
|
|
public int mooshroomBreedingTicks = 6000;
|
|
public boolean mooshroomTakeDamageFromWater = false;
|
|
+ public boolean mooshroomAlwaysDropExp = false;
|
|
private void mooshroomSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.mooshroom.attributes.max-health", mooshroomMaxHealth);
|
|
@@ -1598,6 +1659,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 double muleMaxHealthMin = 15.0D;
|
|
@@ -1608,6 +1670,7 @@ public class PurpurWorldConfig {
|
|
public double muleMovementSpeedMax = 0.175D;
|
|
public int muleBreedingTicks = 6000;
|
|
public boolean muleTakeDamageFromWater = false;
|
|
+ public boolean muleAlwaysDropExp = false;
|
|
private void muleSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldMin = getDouble("mobs.mule.attributes.max-health.min", muleMaxHealthMin);
|
|
@@ -1624,11 +1687,13 @@ 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 double ocelotMaxHealth = 10.0D;
|
|
public int ocelotBreedingTicks = 6000;
|
|
public boolean ocelotTakeDamageFromWater = false;
|
|
+ public boolean ocelotAlwaysDropExp = false;
|
|
private void ocelotSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.ocelot.attributes.max-health", ocelotMaxHealth);
|
|
@@ -1638,11 +1703,13 @@ 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 double pandaMaxHealth = 20.0D;
|
|
public int pandaBreedingTicks = 6000;
|
|
public boolean pandaTakeDamageFromWater = false;
|
|
+ public boolean pandaAlwaysDropExp = false;
|
|
private void pandaSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.panda.attributes.max-health", pandaMaxHealth);
|
|
@@ -1652,11 +1719,13 @@ 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 double parrotMaxHealth = 6.0D;
|
|
public boolean parrotTakeDamageFromWater = false;
|
|
public boolean parrotBreedable = false;
|
|
+ public boolean parrotAlwaysDropExp = false;
|
|
private void parrotSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.parrot.attributes.max-health", parrotMaxHealth);
|
|
@@ -1666,6 +1735,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 String phantomMaxHealth = "20.0";
|
|
@@ -1683,6 +1753,7 @@ public class PurpurWorldConfig {
|
|
public boolean phantomBurnInDaylight = true;
|
|
public boolean phantomFlamesOnSwoop = false;
|
|
public boolean phantomTakeDamageFromWater = false;
|
|
+ public boolean phantomAlwaysDropExp = false;
|
|
private void phantomSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.phantom.attributes.max-health", Double.parseDouble(phantomMaxHealth));
|
|
@@ -1708,12 +1779,14 @@ 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 double pigMaxHealth = 10.0D;
|
|
public boolean pigGiveSaddleBack = false;
|
|
public int pigBreedingTicks = 6000;
|
|
public boolean pigTakeDamageFromWater = false;
|
|
+ public boolean pigAlwaysDropExp = false;
|
|
private void pigSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.pig.attributes.max-health", pigMaxHealth);
|
|
@@ -1724,12 +1797,14 @@ 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 double piglinMaxHealth = 16.0D;
|
|
public boolean piglinBypassMobGriefing = false;
|
|
public boolean piglinTakeDamageFromWater = false;
|
|
public int piglinPortalSpawnModifier = 2000;
|
|
+ public boolean piglinAlwaysDropExp = false;
|
|
private void piglinSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.piglin.attributes.max-health", piglinMaxHealth);
|
|
@@ -1740,10 +1815,12 @@ 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 double piglinBruteMaxHealth = 50.0D;
|
|
public boolean piglinBruteTakeDamageFromWater = false;
|
|
+ public boolean piglinBruteAlwaysDropExp = false;
|
|
private void piglinBruteSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.piglin_brute.attributes.max-health", piglinBruteMaxHealth);
|
|
@@ -1752,11 +1829,13 @@ 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 double pillagerMaxHealth = 24.0D;
|
|
public boolean pillagerBypassMobGriefing = false;
|
|
public boolean pillagerTakeDamageFromWater = false;
|
|
+ public boolean pillagerAlwaysDropExp = false;
|
|
private void pillagerSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.pillager.attributes.max-health", pillagerMaxHealth);
|
|
@@ -1766,6 +1845,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 double polarBearMaxHealth = 30.0D;
|
|
@@ -1773,6 +1853,7 @@ public class PurpurWorldConfig {
|
|
public Item polarBearBreedableItem = null;
|
|
public int polarBearBreedingTicks = 6000;
|
|
public boolean polarBearTakeDamageFromWater = false;
|
|
+ public boolean polarBearAlwaysDropExp = false;
|
|
private void polarBearSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.polar_bear.attributes.max-health", polarBearMaxHealth);
|
|
@@ -1785,10 +1866,12 @@ 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 double pufferfishMaxHealth = 3.0D;
|
|
public boolean pufferfishTakeDamageFromWater = false;
|
|
+ public boolean pufferfishAlwaysDropExp = false;
|
|
private void pufferfishSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.pufferfish.attributes.max-health", pufferfishMaxHealth);
|
|
@@ -1797,6 +1880,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 double rabbitMaxHealth = 3.0D;
|
|
@@ -1805,6 +1889,7 @@ public class PurpurWorldConfig {
|
|
public int rabbitBreedingTicks = 6000;
|
|
public boolean rabbitBypassMobGriefing = false;
|
|
public boolean rabbitTakeDamageFromWater = false;
|
|
+ public boolean rabbitAlwaysDropExp = false;
|
|
private void rabbitSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.rabbit.attributes.max-health", rabbitMaxHealth);
|
|
@@ -1817,12 +1902,14 @@ 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 double ravagerMaxHealth = 100.0D;
|
|
public boolean ravagerBypassMobGriefing = false;
|
|
public boolean ravagerTakeDamageFromWater = false;
|
|
public List<Block> ravagerGriefableBlocks = new ArrayList<>();
|
|
+ public boolean ravagerAlwaysDropExp = false;
|
|
private void ravagerSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.ravager.attributes.max-health", ravagerMaxHealth);
|
|
@@ -1849,10 +1936,12 @@ public class PurpurWorldConfig {
|
|
ravagerGriefableBlocks.add(block);
|
|
}
|
|
});
|
|
+ ravagerAlwaysDropExp = getBoolean("mobs.ravager.always-drop-exp", ravagerAlwaysDropExp);
|
|
}
|
|
|
|
public double salmonMaxHealth = 3.0D;
|
|
public boolean salmonTakeDamageFromWater = false;
|
|
+ public boolean salmonAlwaysDropExp = false;
|
|
private void salmonSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.salmon.attributes.max-health", salmonMaxHealth);
|
|
@@ -1861,12 +1950,14 @@ 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 double sheepMaxHealth = 8.0D;
|
|
public int sheepBreedingTicks = 6000;
|
|
public boolean sheepBypassMobGriefing = false;
|
|
public boolean sheepTakeDamageFromWater = false;
|
|
+ public boolean sheepAlwaysDropExp = false;
|
|
private void sheepSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.sheep.attributes.max-health", sheepMaxHealth);
|
|
@@ -1877,6 +1968,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 double shulkerMaxHealth = 30.0D;
|
|
@@ -1887,6 +1979,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() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.shulker.attributes.max-health", shulkerMaxHealth);
|
|
@@ -1901,11 +1994,13 @@ 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 double silverfishMaxHealth = 8.0D;
|
|
public boolean silverfishBypassMobGriefing = false;
|
|
public boolean silverfishTakeDamageFromWater = false;
|
|
+ public boolean silverfishAlwaysDropExp = false;
|
|
private void silverfishSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.silverfish.attributes.max-health", silverfishMaxHealth);
|
|
@@ -1915,10 +2010,12 @@ 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 double skeletonMaxHealth = 20.0D;
|
|
public boolean skeletonTakeDamageFromWater = false;
|
|
+ public boolean skeletonAlwaysDropExp = false;
|
|
private void skeletonSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.skeleton.attributes.max-health", skeletonMaxHealth);
|
|
@@ -1927,6 +2024,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 double skeletonHorseMaxHealthMin = 15.0D;
|
|
@@ -1936,6 +2034,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() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.skeleton_horse.attributes.max-health", skeletonHorseMaxHealthMin);
|
|
@@ -1950,6 +2049,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 String slimeMaxHealth = "size * size";
|
|
@@ -1957,6 +2057,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() {
|
|
if (PurpurConfig.version < 10) {
|
|
String oldValue = getString("mobs.slime.attributes.max-health", slimeMaxHealth);
|
|
@@ -1968,6 +2069,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 snowGolemLeaveTrailWhenRidden = false;
|
|
@@ -1980,6 +2082,7 @@ public class PurpurWorldConfig {
|
|
public double snowGolemAttackDistance = 1.25D;
|
|
public boolean snowGolemBypassMobGriefing = false;
|
|
public boolean snowGolemTakeDamageFromWater = true;
|
|
+ public boolean snowGolemAlwaysDropExp = false;
|
|
private void snowGolemSettings() {
|
|
snowGolemLeaveTrailWhenRidden = getBoolean("mobs.snow_golem.leave-trail-when-ridden", snowGolemLeaveTrailWhenRidden);
|
|
if (PurpurConfig.version < 10) {
|
|
@@ -1996,6 +2099,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 double snifferMaxHealth = 14.0D;
|
|
@@ -2010,6 +2114,7 @@ public class PurpurWorldConfig {
|
|
public double squidOffsetWaterCheck = 0.0D;
|
|
public boolean squidsCanFly = false;
|
|
public boolean squidTakeDamageFromWater = false;
|
|
+ public boolean squidAlwaysDropExp = false;
|
|
private void squidSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.squid.attributes.max-health", squidMaxHealth);
|
|
@@ -2021,10 +2126,12 @@ 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 double spiderMaxHealth = 16.0D;
|
|
public boolean spiderTakeDamageFromWater = false;
|
|
+ public boolean spiderAlwaysDropExp = false;
|
|
private void spiderSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.spider.attributes.max-health", spiderMaxHealth);
|
|
@@ -2033,10 +2140,12 @@ 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 double strayMaxHealth = 20.0D;
|
|
public boolean strayTakeDamageFromWater = false;
|
|
+ public boolean strayAlwaysDropExp = false;
|
|
private void straySettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.stray.attributes.max-health", strayMaxHealth);
|
|
@@ -2045,12 +2154,14 @@ 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 double striderMaxHealth = 20.0D;
|
|
public int striderBreedingTicks = 6000;
|
|
public boolean striderGiveSaddleBack = false;
|
|
public boolean striderTakeDamageFromWater = true;
|
|
+ public boolean striderAlwaysDropExp = false;
|
|
private void striderSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.strider.attributes.max-health", striderMaxHealth);
|
|
@@ -2061,6 +2172,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 double traderLlamaMaxHealthMin = 15.0D;
|
|
@@ -2071,6 +2183,7 @@ public class PurpurWorldConfig {
|
|
public double traderLlamaMovementSpeedMax = 0.175D;
|
|
public int traderLlamaBreedingTicks = 6000;
|
|
public boolean traderLlamaTakeDamageFromWater = false;
|
|
+ public boolean traderLlamaAlwaysDropExp = false;
|
|
private void traderLlamaSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldMin = getDouble("mobs.trader_llama.attributes.max-health.min", traderLlamaMaxHealthMin);
|
|
@@ -2087,10 +2200,12 @@ 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 double tropicalFishMaxHealth = 3.0D;
|
|
public boolean tropicalFishTakeDamageFromWater = false;
|
|
+ public boolean tropicalFishAlwaysDropExp = false;
|
|
private void tropicalFishSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.tropical_fish.attributes.max-health", tropicalFishMaxHealth);
|
|
@@ -2099,11 +2214,13 @@ 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 double turtleMaxHealth = 30.0D;
|
|
public int turtleBreedingTicks = 6000;
|
|
public boolean turtleTakeDamageFromWater = false;
|
|
+ public boolean turtleAlwaysDropExp = false;
|
|
private void turtleSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.turtle.attributes.max-health", turtleMaxHealth);
|
|
@@ -2113,11 +2230,13 @@ 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 double vexMaxY = 320D;
|
|
public double vexMaxHealth = 14.0D;
|
|
public boolean vexTakeDamageFromWater = false;
|
|
+ public boolean vexAlwaysDropExp = false;
|
|
private void vexSettings() {
|
|
vexMaxY = getDouble("mobs.vex.ridable-max-y", vexMaxY);
|
|
if (PurpurConfig.version < 10) {
|
|
@@ -2127,6 +2246,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 double villagerMaxHealth = 20.0D;
|
|
@@ -2137,6 +2257,7 @@ public class PurpurWorldConfig {
|
|
public boolean villagerBypassMobGriefing = false;
|
|
public boolean villagerTakeDamageFromWater = false;
|
|
public boolean villagerAllowTrading = true;
|
|
+ public boolean villagerAlwaysDropExp = false;
|
|
private void villagerSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.villager.attributes.max-health", villagerMaxHealth);
|
|
@@ -2151,11 +2272,13 @@ 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 double vindicatorMaxHealth = 24.0D;
|
|
public double vindicatorJohnnySpawnChance = 0D;
|
|
public boolean vindicatorTakeDamageFromWater = false;
|
|
+ public boolean vindicatorAlwaysDropExp = false;
|
|
private void vindicatorSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.vindicator.attributes.max-health", vindicatorMaxHealth);
|
|
@@ -2165,6 +2288,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 double wanderingTraderMaxHealth = 20.0D;
|
|
@@ -2172,6 +2296,7 @@ public class PurpurWorldConfig {
|
|
public boolean wanderingTraderCanBeLeashed = false;
|
|
public boolean wanderingTraderTakeDamageFromWater = false;
|
|
public boolean wanderingTraderAllowTrading = true;
|
|
+ public boolean wanderingTraderAlwaysDropExp = false;
|
|
private void wanderingTraderSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.wandering_trader.attributes.max-health", wanderingTraderMaxHealth);
|
|
@@ -2183,10 +2308,12 @@ 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 double witchMaxHealth = 26.0D;
|
|
public boolean witchTakeDamageFromWater = false;
|
|
+ public boolean witchAlwaysDropExp = false;
|
|
private void witchSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.witch.attributes.max-health", witchMaxHealth);
|
|
@@ -2195,6 +2322,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 double witherMaxHealth = 300.0D;
|
|
@@ -2205,6 +2333,7 @@ public class PurpurWorldConfig {
|
|
public boolean witherCanRideVehicles = false;
|
|
public float witherExplosionRadius = 1.0F;
|
|
public boolean witherPlaySpawnSound = true;
|
|
+ public boolean witherAlwaysDropExp = false;
|
|
private void witherSettings() {
|
|
if (PurpurConfig.version < 8) {
|
|
double oldValue = getDouble("mobs.wither.max-health", witherMaxHealth);
|
|
@@ -2223,10 +2352,12 @@ 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 double witherSkeletonMaxHealth = 20.0D;
|
|
public boolean witherSkeletonTakeDamageFromWater = false;
|
|
+ public boolean witherSkeletonAlwaysDropExp = false;
|
|
private void witherSkeletonSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.wither_skeleton.attributes.max-health", witherSkeletonMaxHealth);
|
|
@@ -2235,6 +2366,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 double wolfMaxHealth = 8.0D;
|
|
@@ -2243,6 +2375,7 @@ public class PurpurWorldConfig {
|
|
public double wolfNaturalRabid = 0.0D;
|
|
public int wolfBreedingTicks = 6000;
|
|
public boolean wolfTakeDamageFromWater = false;
|
|
+ public boolean wolfAlwaysDropExp = false;
|
|
private void wolfSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.wolf.attributes.max-health", wolfMaxHealth);
|
|
@@ -2259,10 +2392,12 @@ 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 double zoglinMaxHealth = 40.0D;
|
|
public boolean zoglinTakeDamageFromWater = false;
|
|
+ public boolean zoglinAlwaysDropExp = false;
|
|
private void zoglinSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.zoglin.attributes.max-health", zoglinMaxHealth);
|
|
@@ -2271,6 +2406,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 double zombieMaxHealth = 20.0D;
|
|
@@ -2281,6 +2417,7 @@ public class PurpurWorldConfig {
|
|
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
|
|
public boolean zombieBypassMobGriefing = false;
|
|
public boolean zombieTakeDamageFromWater = false;
|
|
+ public boolean zombieAlwaysDropExp = false;
|
|
private void zombieSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.zombie.attributes.max-health", zombieMaxHealth);
|
|
@@ -2295,6 +2432,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 double zombieHorseMaxHealthMin = 15.0D;
|
|
@@ -2305,6 +2443,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() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.zombie_horse.attributes.max-health", zombieHorseMaxHealthMin);
|
|
@@ -2320,6 +2459,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 double zombieVillagerMaxHealth = 20.0D;
|
|
@@ -2331,6 +2471,7 @@ public class PurpurWorldConfig {
|
|
public int zombieVillagerCuringTimeMin = 3600;
|
|
public int zombieVillagerCuringTimeMax = 6000;
|
|
public boolean zombieVillagerCureEnabled = true;
|
|
+ public boolean zombieVillagerAlwaysDropExp = false;
|
|
private void zombieVillagerSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.zombie_villager.attributes.max-health", zombieVillagerMaxHealth);
|
|
@@ -2346,6 +2487,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 double zombifiedPiglinMaxHealth = 20.0D;
|
|
@@ -2355,6 +2497,7 @@ public class PurpurWorldConfig {
|
|
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
|
|
public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true;
|
|
public boolean zombifiedPiglinTakeDamageFromWater = false;
|
|
+ public boolean zombifiedPiglinAlwaysDropExp = false;
|
|
private void zombifiedPiglinSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.zombified_piglin.attributes.max-health", zombifiedPiglinMaxHealth);
|
|
@@ -2368,6 +2511,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;
|