mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-06-21 09:47:45 +02:00
1393 lines
65 KiB
Diff
1393 lines
65 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/net/minecraft/world/entity/ambient/Bat.java b/net/minecraft/world/entity/ambient/Bat.java
|
|
index 626463a20f49c807eae86b30fe38c514311abd88..237408b7dc923b04addba1d671ad07fb3e18cdda 100644
|
|
--- a/net/minecraft/world/entity/ambient/Bat.java
|
|
+++ b/net/minecraft/world/entity/ambient/Bat.java
|
|
@@ -116,6 +116,13 @@ public class Bat extends AmbientCreature {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.batAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
public boolean isFlapping() {
|
|
return !this.isResting() && this.tickCount % 10.0F == 0.0F;
|
|
diff --git a/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
|
index 523358fb9bfb393dde41fb90fed40ab8a54ba107..57b34d61c972123a2871da5abba851fbe656ff75 100644
|
|
--- a/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
|
+++ b/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
|
@@ -161,6 +161,13 @@ public class Axolotl extends Animal implements Bucketable {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.axolotlAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
public float getWalkTargetValue(final BlockPos pos, final LevelReader level) {
|
|
return 0.0F;
|
|
diff --git a/net/minecraft/world/entity/animal/bee/Bee.java b/net/minecraft/world/entity/animal/bee/Bee.java
|
|
index f4e063e0fe64e26f926523765eba83a8a61d6404..2a623511d609cfd3b4a9e056e12f18d19c2d8a96 100644
|
|
--- a/net/minecraft/world/entity/animal/bee/Bee.java
|
|
+++ b/net/minecraft/world/entity/animal/bee/Bee.java
|
|
@@ -499,6 +499,13 @@ public class Bee extends Animal implements NeutralMob {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.beeAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
public long getPersistentAngerEndTime() {
|
|
return this.entityData.get(DATA_ANGER_END_TIME);
|
|
diff --git a/net/minecraft/world/entity/animal/chicken/Chicken.java b/net/minecraft/world/entity/animal/chicken/Chicken.java
|
|
index fed0cce13f0b75395ba4398e2cc79b142c289e68..4c1ee5c54b882c85b122fcb0909b92204798d0ce 100644
|
|
--- a/net/minecraft/world/entity/animal/chicken/Chicken.java
|
|
+++ b/net/minecraft/world/entity/animal/chicken/Chicken.java
|
|
@@ -125,6 +125,13 @@ public class Chicken extends Animal {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.chickenAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(0, new FloatGoal(this));
|
|
diff --git a/net/minecraft/world/entity/animal/cow/Cow.java b/net/minecraft/world/entity/animal/cow/Cow.java
|
|
index 70edf30006f3042974a90f6f737d249675b47d16..b084e914bc473aa739be988a03b98085d0a795a7 100644
|
|
--- a/net/minecraft/world/entity/animal/cow/Cow.java
|
|
+++ b/net/minecraft/world/entity/animal/cow/Cow.java
|
|
@@ -84,6 +84,13 @@ public class Cow extends AbstractCow {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.cowAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
super.registerGoals();
|
|
diff --git a/net/minecraft/world/entity/animal/cow/MushroomCow.java b/net/minecraft/world/entity/animal/cow/MushroomCow.java
|
|
index fdc5cc7fe6c3955ae04b184d189f1156b6f2af9a..b95e6f21b1cfaeae1ca4340c7fe0d6cb2a0804c7 100644
|
|
--- a/net/minecraft/world/entity/animal/cow/MushroomCow.java
|
|
+++ b/net/minecraft/world/entity/animal/cow/MushroomCow.java
|
|
@@ -107,6 +107,13 @@ public class MushroomCow extends AbstractCow implements Shearable {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.mooshroomAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
public float getWalkTargetValue(final BlockPos pos, final LevelReader level) {
|
|
return level.getBlockState(pos.below()).is(Blocks.MYCELIUM) ? 10.0F : level.getPathfindingCostFromLightLevels(pos);
|
|
diff --git a/net/minecraft/world/entity/animal/dolphin/Dolphin.java b/net/minecraft/world/entity/animal/dolphin/Dolphin.java
|
|
index 68c59f9b7048c9e523c3d33d0ab444d430e491ef..d363e9da76a292c5d388f4b8a81e54f1322f5bd7 100644
|
|
--- a/net/minecraft/world/entity/animal/dolphin/Dolphin.java
|
|
+++ b/net/minecraft/world/entity/animal/dolphin/Dolphin.java
|
|
@@ -176,6 +176,13 @@ public class Dolphin extends AgeableWaterCreature {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.dolphinAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
public @Nullable SpawnGroupData finalizeSpawn(
|
|
final ServerLevelAccessor level, final DifficultyInstance difficulty, final EntitySpawnReason spawnReason, final @Nullable SpawnGroupData groupData
|
|
diff --git a/net/minecraft/world/entity/animal/equine/Donkey.java b/net/minecraft/world/entity/animal/equine/Donkey.java
|
|
index a74124c9910c121c834eb7510f3e6a54557c8c07..13998bb4fa18e2ed14070b4eadc003f845faa462 100644
|
|
--- a/net/minecraft/world/entity/animal/equine/Donkey.java
|
|
+++ b/net/minecraft/world/entity/animal/equine/Donkey.java
|
|
@@ -55,6 +55,13 @@ public class Donkey extends AbstractChestedHorse {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.donkeyAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
public SoundEvent getAmbientSound() {
|
|
return SoundEvents.DONKEY_AMBIENT;
|
|
diff --git a/net/minecraft/world/entity/animal/equine/Horse.java b/net/minecraft/world/entity/animal/equine/Horse.java
|
|
index 187f72ab0fa2fa623e4b7ea825a640f1b1d42d72..3350900b8b5824048d5d25ff216c86274b195ebc 100644
|
|
--- a/net/minecraft/world/entity/animal/equine/Horse.java
|
|
+++ b/net/minecraft/world/entity/animal/equine/Horse.java
|
|
@@ -87,6 +87,13 @@ public class Horse extends AbstractHorse {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.horseAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void randomizeAttributes(final RandomSource random) {
|
|
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(generateMaxHealth(random::nextInt));
|
|
diff --git a/net/minecraft/world/entity/animal/equine/Llama.java b/net/minecraft/world/entity/animal/equine/Llama.java
|
|
index 75eb96b3a62fcb07b93edbf629965fe75d385c38..2e29ad25c1ca442de5e5b0dc6108682f943a2aa3 100644
|
|
--- a/net/minecraft/world/entity/animal/equine/Llama.java
|
|
+++ b/net/minecraft/world/entity/animal/equine/Llama.java
|
|
@@ -166,6 +166,13 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.llamaAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
public boolean isTraderLlama() {
|
|
return false;
|
|
}
|
|
diff --git a/net/minecraft/world/entity/animal/equine/Mule.java b/net/minecraft/world/entity/animal/equine/Mule.java
|
|
index c54a7033d40e973b7c93de5276d20451306b48bc..096315eef536b8d240ea9a61bee499d4c30d8ddc 100644
|
|
--- a/net/minecraft/world/entity/animal/equine/Mule.java
|
|
+++ b/net/minecraft/world/entity/animal/equine/Mule.java
|
|
@@ -54,6 +54,13 @@ public class Mule extends AbstractChestedHorse {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.muleAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
public SoundEvent getAmbientSound() {
|
|
return SoundEvents.MULE_AMBIENT;
|
|
diff --git a/net/minecraft/world/entity/animal/equine/SkeletonHorse.java b/net/minecraft/world/entity/animal/equine/SkeletonHorse.java
|
|
index a5a2923dbc0b4a090c29de16bd564bfd78ca8f9c..7df95f57044a29d51af9d898535f1794941d3f31 100644
|
|
--- a/net/minecraft/world/entity/animal/equine/SkeletonHorse.java
|
|
+++ b/net/minecraft/world/entity/animal/equine/SkeletonHorse.java
|
|
@@ -82,6 +82,13 @@ public class SkeletonHorse extends AbstractHorse {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.skeletonHorseAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
public static AttributeSupplier.Builder createAttributes() {
|
|
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0).add(Attributes.MOVEMENT_SPEED, 0.2F);
|
|
}
|
|
diff --git a/net/minecraft/world/entity/animal/equine/TraderLlama.java b/net/minecraft/world/entity/animal/equine/TraderLlama.java
|
|
index e9bd6334f0713d8fab91d1cfddfb8d4580faaa5b..492d19954258ce6a18b01aaa486c6e53f0377db5 100644
|
|
--- a/net/minecraft/world/entity/animal/equine/TraderLlama.java
|
|
+++ b/net/minecraft/world/entity/animal/equine/TraderLlama.java
|
|
@@ -85,6 +85,13 @@ public class TraderLlama extends Llama {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.traderLlamaAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
public boolean isTraderLlama() {
|
|
return true;
|
|
diff --git a/net/minecraft/world/entity/animal/equine/ZombieHorse.java b/net/minecraft/world/entity/animal/equine/ZombieHorse.java
|
|
index 9c8ce7eee6bf462478a0755b074e229133eee1c3..ad73c42d6c375595f2143c5b966c011dd5d1dc0e 100644
|
|
--- a/net/minecraft/world/entity/animal/equine/ZombieHorse.java
|
|
+++ b/net/minecraft/world/entity/animal/equine/ZombieHorse.java
|
|
@@ -94,6 +94,13 @@ public class ZombieHorse extends AbstractHorse {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.zombieHorseAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
public static AttributeSupplier.Builder createAttributes() {
|
|
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 25.0);
|
|
}
|
|
diff --git a/net/minecraft/world/entity/animal/feline/Cat.java b/net/minecraft/world/entity/animal/feline/Cat.java
|
|
index 3e8ba2867b37b9171375c81ece0d534692c9ac68..ad93261cdbe93487ea2168ae3bd3f937cee0eb53 100644
|
|
--- a/net/minecraft/world/entity/animal/feline/Cat.java
|
|
+++ b/net/minecraft/world/entity/animal/feline/Cat.java
|
|
@@ -149,6 +149,13 @@ public class Cat extends TamableAnimal {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.catAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.temptGoal = new Cat.CatTemptGoal(this, 0.6, i -> i.is(ItemTags.CAT_FOOD), true);
|
|
diff --git a/net/minecraft/world/entity/animal/feline/Ocelot.java b/net/minecraft/world/entity/animal/feline/Ocelot.java
|
|
index 528341355817ae603eed895beb67814ef4fc12f2..c56715a81f3a65b370d85574a1b57f60284df55e 100644
|
|
--- a/net/minecraft/world/entity/animal/feline/Ocelot.java
|
|
+++ b/net/minecraft/world/entity/animal/feline/Ocelot.java
|
|
@@ -112,6 +112,13 @@ public class Ocelot extends Animal {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.ocelotAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
public boolean isTrusting() {
|
|
return this.entityData.get(DATA_TRUSTING);
|
|
}
|
|
diff --git a/net/minecraft/world/entity/animal/fish/Cod.java b/net/minecraft/world/entity/animal/fish/Cod.java
|
|
index f44214eaa47c2021f7ca9c84a7b89be15fecb5bc..7d4bfca8b2608c18fc96e14f1ef9121230e27a53 100644
|
|
--- a/net/minecraft/world/entity/animal/fish/Cod.java
|
|
+++ b/net/minecraft/world/entity/animal/fish/Cod.java
|
|
@@ -39,6 +39,13 @@ public class Cod extends AbstractSchoolingFish {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.codAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
public ItemStack getBucketItemStack() {
|
|
return new ItemStack(Items.COD_BUCKET);
|
|
diff --git a/net/minecraft/world/entity/animal/fish/Pufferfish.java b/net/minecraft/world/entity/animal/fish/Pufferfish.java
|
|
index 60f2b9411bf7acf02a66e91377b6042b421b56ab..44fcb7dc3f8d85ae468f9ef7208d2ca089e871d6 100644
|
|
--- a/net/minecraft/world/entity/animal/fish/Pufferfish.java
|
|
+++ b/net/minecraft/world/entity/animal/fish/Pufferfish.java
|
|
@@ -73,6 +73,13 @@ public class Pufferfish extends AbstractFish {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.pufferfishAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void defineSynchedData(final SynchedEntityData.Builder entityData) {
|
|
super.defineSynchedData(entityData);
|
|
diff --git a/net/minecraft/world/entity/animal/fish/Salmon.java b/net/minecraft/world/entity/animal/fish/Salmon.java
|
|
index 53f24f3f22c41d4a3a401c3da92867d5ac96febd..a001040061a12a4c8c86eb377893e33c584996b9 100644
|
|
--- a/net/minecraft/world/entity/animal/fish/Salmon.java
|
|
+++ b/net/minecraft/world/entity/animal/fish/Salmon.java
|
|
@@ -67,6 +67,13 @@ public class Salmon extends AbstractSchoolingFish {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.salmonAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
public int getMaxSchoolSize() {
|
|
return 5;
|
|
diff --git a/net/minecraft/world/entity/animal/fish/TropicalFish.java b/net/minecraft/world/entity/animal/fish/TropicalFish.java
|
|
index dc2800dd2f4c9f71c79d9f012be17398263d033d..adb530b59ce6080e281aad21e2165fd1cea5b561 100644
|
|
--- a/net/minecraft/world/entity/animal/fish/TropicalFish.java
|
|
+++ b/net/minecraft/world/entity/animal/fish/TropicalFish.java
|
|
@@ -103,6 +103,13 @@ public class TropicalFish extends AbstractSchoolingFish {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.tropicalFishAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
public static String getPredefinedName(final int index) {
|
|
return "entity.minecraft.tropical_fish.predefined." + index;
|
|
}
|
|
diff --git a/net/minecraft/world/entity/animal/fox/Fox.java b/net/minecraft/world/entity/animal/fox/Fox.java
|
|
index 4553c0d7528f3aea8434e353e4daf78b53ac831d..ca5b0b8081c4943bfbfba4f0f9284f0fdda3cf9f 100644
|
|
--- a/net/minecraft/world/entity/animal/fox/Fox.java
|
|
+++ b/net/minecraft/world/entity/animal/fox/Fox.java
|
|
@@ -221,6 +221,13 @@ public class Fox extends Animal {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.foxAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void defineSynchedData(final SynchedEntityData.Builder entityData) {
|
|
super.defineSynchedData(entityData);
|
|
diff --git a/net/minecraft/world/entity/animal/goat/Goat.java b/net/minecraft/world/entity/animal/goat/Goat.java
|
|
index 9744d757ae7dcc31291db469539ebd58db7b08a2..363a6f9e8d13312f93562cf3a2b1668bc53adc66 100644
|
|
--- a/net/minecraft/world/entity/animal/goat/Goat.java
|
|
+++ b/net/minecraft/world/entity/animal/goat/Goat.java
|
|
@@ -137,6 +137,13 @@ public class Goat extends Animal {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.goatAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected Brain<Goat> makeBrain(final Brain.Packed packedBrain) {
|
|
return BRAIN_PROVIDER.makeBrain(this, packedBrain);
|
|
diff --git a/net/minecraft/world/entity/animal/golem/CopperGolem.java b/net/minecraft/world/entity/animal/golem/CopperGolem.java
|
|
index 53e17b3ebb5f66f00870c45fb0389ace08a2c144..646f5ce1df4b125427f2020788369549befb2694 100644
|
|
--- a/net/minecraft/world/entity/animal/golem/CopperGolem.java
|
|
+++ b/net/minecraft/world/entity/animal/golem/CopperGolem.java
|
|
@@ -151,6 +151,13 @@ public class CopperGolem extends AbstractGolem implements ContainerUser, Shearab
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.copperGolemAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
public static AttributeSupplier.Builder createAttributes() {
|
|
return Mob.createMobAttributes().add(Attributes.MOVEMENT_SPEED, 0.2F).add(Attributes.STEP_HEIGHT, 1.0).add(Attributes.MAX_HEALTH, 12.0);
|
|
}
|
|
diff --git a/net/minecraft/world/entity/animal/golem/IronGolem.java b/net/minecraft/world/entity/animal/golem/IronGolem.java
|
|
index 0d47b1d7ffb09a883edde3c5c0a8e6eadec08642..e7114a76761bc89c76871868c8ed9d6dbf141a67 100644
|
|
--- a/net/minecraft/world/entity/animal/golem/IronGolem.java
|
|
+++ b/net/minecraft/world/entity/animal/golem/IronGolem.java
|
|
@@ -107,6 +107,13 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.ironGolemAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
if (this.level().purpurConfig.ironGolemPoppyCalm) this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.ReceiveFlower(this)); // Purpur - Iron golem calm anger options
|
|
diff --git a/net/minecraft/world/entity/animal/golem/SnowGolem.java b/net/minecraft/world/entity/animal/golem/SnowGolem.java
|
|
index efd9770fb2401650e4459fab8066cb0da9870e58..db2e018781f941a38c93b0aae27570ba1cf2048d 100644
|
|
--- a/net/minecraft/world/entity/animal/golem/SnowGolem.java
|
|
+++ b/net/minecraft/world/entity/animal/golem/SnowGolem.java
|
|
@@ -87,6 +87,13 @@ public class SnowGolem extends AbstractGolem implements RangedAttackMob, Shearab
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.snowGolemAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
|
|
diff --git a/net/minecraft/world/entity/animal/happyghast/HappyGhast.java b/net/minecraft/world/entity/animal/happyghast/HappyGhast.java
|
|
index f37773ac8ec943744a8989b443e913710e13230b..0c56a19f0de0fa811a61b24a998fe2efce56d78a 100644
|
|
--- a/net/minecraft/world/entity/animal/happyghast/HappyGhast.java
|
|
+++ b/net/minecraft/world/entity/animal/happyghast/HappyGhast.java
|
|
@@ -171,6 +171,13 @@ public class HappyGhast extends Animal {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.happyGhastAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void ageBoundaryReached() {
|
|
if (this.isBaby()) {
|
|
diff --git a/net/minecraft/world/entity/animal/nautilus/Nautilus.java b/net/minecraft/world/entity/animal/nautilus/Nautilus.java
|
|
index d173ceba9629f7a0dca31aefc9df0bfa70d75738..1584f5a505ecf91897ed9105acf12add21510c0d 100644
|
|
--- a/net/minecraft/world/entity/animal/nautilus/Nautilus.java
|
|
+++ b/net/minecraft/world/entity/animal/nautilus/Nautilus.java
|
|
@@ -55,6 +55,13 @@ public class Nautilus extends AbstractNautilus {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.nautilusAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected Brain<Nautilus> makeBrain(final Brain.Packed packedBrain) {
|
|
return BRAIN_PROVIDER.makeBrain(this, packedBrain);
|
|
diff --git a/net/minecraft/world/entity/animal/nautilus/ZombieNautilus.java b/net/minecraft/world/entity/animal/nautilus/ZombieNautilus.java
|
|
index da60906faaca79efbfd29ed05b01a0c07978bab2..9aed9eb7a7c3b3fb653d6fed5f8d79f7c32b2b94 100644
|
|
--- a/net/minecraft/world/entity/animal/nautilus/ZombieNautilus.java
|
|
+++ b/net/minecraft/world/entity/animal/nautilus/ZombieNautilus.java
|
|
@@ -67,6 +67,13 @@ public class ZombieNautilus extends AbstractNautilus {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.zombieNautilusAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
public static AttributeSupplier.Builder createAttributes() {
|
|
return AbstractNautilus.createAttributes().add(Attributes.MOVEMENT_SPEED, 1.1F);
|
|
}
|
|
diff --git a/net/minecraft/world/entity/animal/panda/Panda.java b/net/minecraft/world/entity/animal/panda/Panda.java
|
|
index af66c192d57d4f5b49b7a0e4c00cfbce6616eb9b..29569ad09390775aaa47b1da89aff061786137d6 100644
|
|
--- a/net/minecraft/world/entity/animal/panda/Panda.java
|
|
+++ b/net/minecraft/world/entity/animal/panda/Panda.java
|
|
@@ -161,6 +161,13 @@ public class Panda extends Animal {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.pandaAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected boolean canDispenserEquipIntoSlot(final EquipmentSlot slot) {
|
|
return slot == EquipmentSlot.MAINHAND && this.canPickUpLoot();
|
|
diff --git a/net/minecraft/world/entity/animal/parrot/Parrot.java b/net/minecraft/world/entity/animal/parrot/Parrot.java
|
|
index e43fe2c45e79526ba954dba2260c49075ae1c556..0204a35ab612a6f59543d29efc6443fa9ecbffca 100644
|
|
--- a/net/minecraft/world/entity/animal/parrot/Parrot.java
|
|
+++ b/net/minecraft/world/entity/animal/parrot/Parrot.java
|
|
@@ -221,6 +221,13 @@ public class Parrot extends ShoulderRidingEntity {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.parrotAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
public @Nullable SpawnGroupData finalizeSpawn(
|
|
final ServerLevelAccessor level, final DifficultyInstance difficulty, final EntitySpawnReason spawnReason, @Nullable SpawnGroupData groupData
|
|
diff --git a/net/minecraft/world/entity/animal/pig/Pig.java b/net/minecraft/world/entity/animal/pig/Pig.java
|
|
index 9463a70aec69af7d680caf35cbab7ee4b975b6ea..0bb58d534d3966bbd4760f1b909e3497a7f7ac06 100644
|
|
--- a/net/minecraft/world/entity/animal/pig/Pig.java
|
|
+++ b/net/minecraft/world/entity/animal/pig/Pig.java
|
|
@@ -115,6 +115,13 @@ public class Pig extends Animal implements ItemSteerable {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.pigAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(0, new FloatGoal(this));
|
|
diff --git a/net/minecraft/world/entity/animal/polarbear/PolarBear.java b/net/minecraft/world/entity/animal/polarbear/PolarBear.java
|
|
index c47640ebcf2db48bb27b671c907f3270eac3c126..46276e32dcc7884758e333c45f65ce03133c04fe 100644
|
|
--- a/net/minecraft/world/entity/animal/polarbear/PolarBear.java
|
|
+++ b/net/minecraft/world/entity/animal/polarbear/PolarBear.java
|
|
@@ -146,6 +146,13 @@ public class PolarBear extends Animal implements NeutralMob {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.polarBearAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
public @Nullable AgeableMob getBreedOffspring(final ServerLevel level, final AgeableMob partner) {
|
|
return EntityTypes.POLAR_BEAR.create(level, EntitySpawnReason.BREEDING);
|
|
diff --git a/net/minecraft/world/entity/animal/rabbit/Rabbit.java b/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
|
index d7b287459fb0633470efffd70dda67ad8177615a..c83df47628d63cafa5d47f76948b80e303a9ef0b 100644
|
|
--- a/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
|
+++ b/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
|
@@ -185,6 +185,13 @@ public class Rabbit extends Animal {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.rabbitAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
public void registerGoals() {
|
|
this.goalSelector.addGoal(1, new FloatGoal(this));
|
|
diff --git a/net/minecraft/world/entity/animal/sheep/Sheep.java b/net/minecraft/world/entity/animal/sheep/Sheep.java
|
|
index 0116de3318e769076481d3e5d479a810e235f0c0..341b88eae6d56911a3e3da71609fab4c15714de9 100644
|
|
--- a/net/minecraft/world/entity/animal/sheep/Sheep.java
|
|
+++ b/net/minecraft/world/entity/animal/sheep/Sheep.java
|
|
@@ -110,6 +110,13 @@ public class Sheep extends Animal implements Shearable {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.sheepAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.eatBlockGoal = new EatBlockGoal(this);
|
|
diff --git a/net/minecraft/world/entity/animal/squid/GlowSquid.java b/net/minecraft/world/entity/animal/squid/GlowSquid.java
|
|
index e11e4e9134db7e59bd7f3112605206ad1f36cab6..079d7dfd726670a5e3ed2811813190badfba696c 100644
|
|
--- a/net/minecraft/world/entity/animal/squid/GlowSquid.java
|
|
+++ b/net/minecraft/world/entity/animal/squid/GlowSquid.java
|
|
@@ -65,6 +65,13 @@ public class GlowSquid extends Squid {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.glowSquidAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected ParticleOptions getInkParticle() {
|
|
return ParticleTypes.GLOW_SQUID_INK;
|
|
diff --git a/net/minecraft/world/entity/animal/squid/Squid.java b/net/minecraft/world/entity/animal/squid/Squid.java
|
|
index 6d6981635b4029a09ccc6115f0d17451089e09d4..cd1f9133775633eeeb12bbab0d4bb48f42b7efb0 100644
|
|
--- a/net/minecraft/world/entity/animal/squid/Squid.java
|
|
+++ b/net/minecraft/world/entity/animal/squid/Squid.java
|
|
@@ -111,6 +111,13 @@ public class Squid extends AgeableWaterCreature {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.squidAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(0, new Squid.SquidRandomMovementGoal(this));
|
|
diff --git a/net/minecraft/world/entity/animal/turtle/Turtle.java b/net/minecraft/world/entity/animal/turtle/Turtle.java
|
|
index 1080f96351535e4caa29120c65727280e361a042..0481a0deeb6053ddc9be9bc835d2b95fba712982 100644
|
|
--- a/net/minecraft/world/entity/animal/turtle/Turtle.java
|
|
+++ b/net/minecraft/world/entity/animal/turtle/Turtle.java
|
|
@@ -127,6 +127,13 @@ public class Turtle extends Animal {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.turtleAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
public void setHomePos(final BlockPos pos) {
|
|
this.homePos = pos;
|
|
}
|
|
diff --git a/net/minecraft/world/entity/animal/wolf/Wolf.java b/net/minecraft/world/entity/animal/wolf/Wolf.java
|
|
index cdc12cabee85c7090ff317068a98b0acc973fdbe..af82e593ac58eaa0e7e8b4abd0d152cfb58d5c13 100644
|
|
--- a/net/minecraft/world/entity/animal/wolf/Wolf.java
|
|
+++ b/net/minecraft/world/entity/animal/wolf/Wolf.java
|
|
@@ -234,6 +234,13 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.wolfAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(1, new FloatGoal(this));
|
|
diff --git a/net/minecraft/world/entity/boss/wither/WitherBoss.java b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
|
index 7032f6b01ee36422952ce564a388c4e1ffeb05c5..44a9f5a1af987f4541a6848a92732df46dd1b2f5 100644
|
|
--- a/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
|
+++ b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
|
@@ -228,6 +228,13 @@ public class WitherBoss extends Monster implements RangedAttackMob {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.witherAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected PathNavigation createNavigation(final Level level) {
|
|
FlyingPathNavigation flyingPathNavigation = new FlyingPathNavigation(this, level);
|
|
diff --git a/net/minecraft/world/entity/monster/Blaze.java b/net/minecraft/world/entity/monster/Blaze.java
|
|
index 7f0e76437798f1bab7956722382e1517f8f71121..257563b578762837cbea855fa42831f34fa4e7ba 100644
|
|
--- a/net/minecraft/world/entity/monster/Blaze.java
|
|
+++ b/net/minecraft/world/entity/monster/Blaze.java
|
|
@@ -84,6 +84,13 @@ public class Blaze extends Monster {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.blazeAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
|
|
diff --git a/net/minecraft/world/entity/monster/Creeper.java b/net/minecraft/world/entity/monster/Creeper.java
|
|
index 2d60c5e6426097302464e04bcfdd60abd08b96b9..56cfc2b7cf9bd7edc966f59de091d2793c6adfb3 100644
|
|
--- a/net/minecraft/world/entity/monster/Creeper.java
|
|
+++ b/net/minecraft/world/entity/monster/Creeper.java
|
|
@@ -273,6 +273,13 @@ public class Creeper extends Monster {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.creeperAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
public SoundEvent getHurtSound(final DamageSource source) {
|
|
return SoundEvents.CREEPER_HURT;
|
|
diff --git a/net/minecraft/world/entity/monster/ElderGuardian.java b/net/minecraft/world/entity/monster/ElderGuardian.java
|
|
index 68922bcf87052d7b13a78fd6f8daddcdec6b8614..bc3374274d0c204131d8baf3e1c1263d705adb2e 100644
|
|
--- a/net/minecraft/world/entity/monster/ElderGuardian.java
|
|
+++ b/net/minecraft/world/entity/monster/ElderGuardian.java
|
|
@@ -59,6 +59,13 @@ public class ElderGuardian extends Guardian {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.elderGuardianAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
public static AttributeSupplier.Builder createAttributes() {
|
|
return Guardian.createAttributes().add(Attributes.MOVEMENT_SPEED, 0.3F).add(Attributes.ATTACK_DAMAGE, 8.0).add(Attributes.MAX_HEALTH, 80.0);
|
|
}
|
|
diff --git a/net/minecraft/world/entity/monster/EnderMan.java b/net/minecraft/world/entity/monster/EnderMan.java
|
|
index 2b02becb39f89ca02e42cf9e3df6cbfa8eba800f..d1903b7804880c4b3b2ccf6a6dbc85a62975deb1 100644
|
|
--- a/net/minecraft/world/entity/monster/EnderMan.java
|
|
+++ b/net/minecraft/world/entity/monster/EnderMan.java
|
|
@@ -114,6 +114,13 @@ public class EnderMan extends Monster implements NeutralMob {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.endermanAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(0, new FloatGoal(this));
|
|
diff --git a/net/minecraft/world/entity/monster/Endermite.java b/net/minecraft/world/entity/monster/Endermite.java
|
|
index 099476663f734f00b4979de7c2d0f13da5bf4909..3729137f6fa1bc2c8b886a02e8604918bd961e72 100644
|
|
--- a/net/minecraft/world/entity/monster/Endermite.java
|
|
+++ b/net/minecraft/world/entity/monster/Endermite.java
|
|
@@ -79,6 +79,13 @@ public class Endermite extends Monster {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.endermiteAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(1, new FloatGoal(this));
|
|
diff --git a/net/minecraft/world/entity/monster/Ghast.java b/net/minecraft/world/entity/monster/Ghast.java
|
|
index 3b514d9102946166534e404181af287865655c32..bf5e977d395d2dbe0203d8b2488d7cb5ff0c08d3 100644
|
|
--- a/net/minecraft/world/entity/monster/Ghast.java
|
|
+++ b/net/minecraft/world/entity/monster/Ghast.java
|
|
@@ -90,6 +90,13 @@ public class Ghast extends Mob implements Enemy {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.ghastAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
|
|
diff --git a/net/minecraft/world/entity/monster/Giant.java b/net/minecraft/world/entity/monster/Giant.java
|
|
index 43ebfe06ce2a8c15787d72a8ef54cd6c7cac2bfc..07dfe0e6fd431b8417fc7f823962e4d4ad13cac5 100644
|
|
--- a/net/minecraft/world/entity/monster/Giant.java
|
|
+++ b/net/minecraft/world/entity/monster/Giant.java
|
|
@@ -69,6 +69,13 @@ public class Giant extends Monster {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.giantAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
public static AttributeSupplier.Builder createAttributes() {
|
|
return Monster.createMonsterAttributes()
|
|
.add(Attributes.MAX_HEALTH, 100.0)
|
|
diff --git a/net/minecraft/world/entity/monster/Guardian.java b/net/minecraft/world/entity/monster/Guardian.java
|
|
index 04d092ad64f58b898f210266a2aba758ccc0577b..f7c67e129d70012705e8d649995b8f82bf7b0796 100644
|
|
--- a/net/minecraft/world/entity/monster/Guardian.java
|
|
+++ b/net/minecraft/world/entity/monster/Guardian.java
|
|
@@ -104,6 +104,13 @@ public class Guardian extends Monster {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.guardianAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
MoveTowardsRestrictionGoal goal = new MoveTowardsRestrictionGoal(this, 1.0);
|
|
diff --git a/net/minecraft/world/entity/monster/Phantom.java b/net/minecraft/world/entity/monster/Phantom.java
|
|
index 9d646f3d924d3c2fdb2b396e4501111912fba043..c6eecc3928664672d3e191b621d3daec735e70c9 100644
|
|
--- a/net/minecraft/world/entity/monster/Phantom.java
|
|
+++ b/net/minecraft/world/entity/monster/Phantom.java
|
|
@@ -136,6 +136,13 @@ public class Phantom extends Mob implements Enemy {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.phantomAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
public boolean isFlapping() {
|
|
return (this.getUniqueFlapTickOffset() + this.tickCount) % TICKS_PER_FLAP == 0;
|
|
diff --git a/net/minecraft/world/entity/monster/Ravager.java b/net/minecraft/world/entity/monster/Ravager.java
|
|
index 9afb9be57a6223cc262a9357a42cd7d19953bef5..663deb587323fe10c7fca63d5c5196d00c30be3a 100644
|
|
--- a/net/minecraft/world/entity/monster/Ravager.java
|
|
+++ b/net/minecraft/world/entity/monster/Ravager.java
|
|
@@ -109,6 +109,13 @@ public class Ravager extends Raider {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.ravagerAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
super.registerGoals();
|
|
diff --git a/net/minecraft/world/entity/monster/Shulker.java b/net/minecraft/world/entity/monster/Shulker.java
|
|
index bfef619b3b21ee2071fd74c82b1b658f239cd402..3f4bad4bb552da43d6ed037b0595808203da4660 100644
|
|
--- a/net/minecraft/world/entity/monster/Shulker.java
|
|
+++ b/net/minecraft/world/entity/monster/Shulker.java
|
|
@@ -141,6 +141,13 @@ public class Shulker extends AbstractGolem implements Enemy {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.shulkerAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
|
|
diff --git a/net/minecraft/world/entity/monster/Silverfish.java b/net/minecraft/world/entity/monster/Silverfish.java
|
|
index d8f696287021d3f20949002f5229d1caf40c9d4f..16c23d984bebe489d75695ce0c1b3d2ce8f2d38c 100644
|
|
--- a/net/minecraft/world/entity/monster/Silverfish.java
|
|
+++ b/net/minecraft/world/entity/monster/Silverfish.java
|
|
@@ -72,6 +72,13 @@ public class Silverfish extends Monster {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.silverfishAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.friendsGoal = new Silverfish.SilverfishWakeUpFriendsGoal(this);
|
|
diff --git a/net/minecraft/world/entity/monster/Strider.java b/net/minecraft/world/entity/monster/Strider.java
|
|
index 584aee58a1319da937eeb78d3015bc48e705bd64..929bd327f01ed28462c4ce4e7d2f3e1886aa4157 100644
|
|
--- a/net/minecraft/world/entity/monster/Strider.java
|
|
+++ b/net/minecraft/world/entity/monster/Strider.java
|
|
@@ -131,6 +131,13 @@ public class Strider extends Animal implements ItemSteerable {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.striderAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
public static boolean checkStriderSpawnRules(
|
|
final EntityType<Strider> ignoredType,
|
|
final LevelAccessor level,
|
|
diff --git a/net/minecraft/world/entity/monster/Vex.java b/net/minecraft/world/entity/monster/Vex.java
|
|
index e361d1ecf9e9a27491bb8195fee6272dc903615c..b93cc363a2d411f4ea2d70984fecc549417f098c 100644
|
|
--- a/net/minecraft/world/entity/monster/Vex.java
|
|
+++ b/net/minecraft/world/entity/monster/Vex.java
|
|
@@ -119,6 +119,13 @@ public class Vex extends Monster implements TraceableEntity, OwnableEntity {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.vexAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
public boolean isFlapping() {
|
|
return this.tickCount % TICKS_PER_FLAP == 0;
|
|
diff --git a/net/minecraft/world/entity/monster/Witch.java b/net/minecraft/world/entity/monster/Witch.java
|
|
index 847363cd327e52b5d67d07510618dd0f6a7fc8a4..0b9f0b3d5376522a2106eca92c7b1d5aae7fa367 100644
|
|
--- a/net/minecraft/world/entity/monster/Witch.java
|
|
+++ b/net/minecraft/world/entity/monster/Witch.java
|
|
@@ -90,6 +90,13 @@ public class Witch extends Raider implements RangedAttackMob {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.witchAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
super.registerGoals();
|
|
diff --git a/net/minecraft/world/entity/monster/Zoglin.java b/net/minecraft/world/entity/monster/Zoglin.java
|
|
index dec8f0ab0fd8f33dbc4b18d38e43ff1531963b07..35da647c8dad5da274ab8de857636d28e8cc8520 100644
|
|
--- a/net/minecraft/world/entity/monster/Zoglin.java
|
|
+++ b/net/minecraft/world/entity/monster/Zoglin.java
|
|
@@ -116,6 +116,13 @@ public class Zoglin extends Monster implements HoglinBase {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.zoglinAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected Brain<Zoglin> makeBrain(final Brain.Packed packedBrain) {
|
|
return BRAIN_PROVIDER.makeBrain(this, packedBrain);
|
|
diff --git a/net/minecraft/world/entity/monster/cubemob/MagmaCube.java b/net/minecraft/world/entity/monster/cubemob/MagmaCube.java
|
|
index 44e8dd9667663e971c65613baef25f4d7ddf4a79..fd48929cb583662a76912f450aa4bf74abb05541 100644
|
|
--- a/net/minecraft/world/entity/monster/cubemob/MagmaCube.java
|
|
+++ b/net/minecraft/world/entity/monster/cubemob/MagmaCube.java
|
|
@@ -97,6 +97,13 @@ public class MagmaCube extends AbstractCubeMob implements Enemy {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.magmaCubeAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
public static AttributeSupplier.Builder createAttributes() {
|
|
return Monster.createMonsterAttributes().add(Attributes.MOVEMENT_SPEED, 0.2F);
|
|
}
|
|
diff --git a/net/minecraft/world/entity/monster/cubemob/Slime.java b/net/minecraft/world/entity/monster/cubemob/Slime.java
|
|
index 3c09f472ba54f8929782ac6a080ceabf10f09699..1faab89a0c6febdbbb15c8f1345fbd8e71f3af6e 100644
|
|
--- a/net/minecraft/world/entity/monster/cubemob/Slime.java
|
|
+++ b/net/minecraft/world/entity/monster/cubemob/Slime.java
|
|
@@ -108,6 +108,13 @@ public class Slime extends AbstractCubeMob implements Enemy {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.slimeAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
public SoundEvent getHurtSound(final DamageSource source) {
|
|
return this.isTiny() ? SoundEvents.SLIME_HURT_SMALL : SoundEvents.SLIME_HURT;
|
|
diff --git a/net/minecraft/world/entity/monster/cubemob/SulfurCube.java b/net/minecraft/world/entity/monster/cubemob/SulfurCube.java
|
|
index f777ed1de1ec159fed3019bd5bfb711b9aad6146..611501ed6a141bf656e69f9248794b499393cc43 100644
|
|
--- a/net/minecraft/world/entity/monster/cubemob/SulfurCube.java
|
|
+++ b/net/minecraft/world/entity/monster/cubemob/SulfurCube.java
|
|
@@ -172,6 +172,13 @@ public class SulfurCube extends AbstractCubeMob implements Bucketable, Shearable
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.sulfurCubeAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
public boolean fromBucket() {
|
|
return this.entityData.get(FROM_BUCKET);
|
|
diff --git a/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
|
index 03686024f7a870079dc1c379c5e88f92d8f904fe..103d7ac2e3fdb4629d94902c0b4080a7622ae744 100644
|
|
--- a/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
|
+++ b/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
|
@@ -120,6 +120,13 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.hoglinAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@VisibleForTesting
|
|
public void setTimeInOverworld(final int timeInOverworld) {
|
|
this.timeInOverworld = timeInOverworld;
|
|
diff --git a/net/minecraft/world/entity/monster/illager/Evoker.java b/net/minecraft/world/entity/monster/illager/Evoker.java
|
|
index fead174f8a56ea9611aa4f20ff870df32048037f..c1d4c40260f4b002ed6c6eb49ca3cc33a0b9b2eb 100644
|
|
--- a/net/minecraft/world/entity/monster/illager/Evoker.java
|
|
+++ b/net/minecraft/world/entity/monster/illager/Evoker.java
|
|
@@ -82,6 +82,13 @@ public class Evoker extends SpellcasterIllager {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.evokerAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
super.registerGoals();
|
|
diff --git a/net/minecraft/world/entity/monster/illager/Illusioner.java b/net/minecraft/world/entity/monster/illager/Illusioner.java
|
|
index bfd1a61d43fcc1293592a6199d7bab0346f40c7f..05c0a84a2eb41ab9c19fd95e6745037d36aefc70 100644
|
|
--- a/net/minecraft/world/entity/monster/illager/Illusioner.java
|
|
+++ b/net/minecraft/world/entity/monster/illager/Illusioner.java
|
|
@@ -93,6 +93,13 @@ public class Illusioner extends SpellcasterIllager implements RangedAttackMob {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.illusionerAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
super.registerGoals();
|
|
diff --git a/net/minecraft/world/entity/monster/illager/Pillager.java b/net/minecraft/world/entity/monster/illager/Pillager.java
|
|
index 18c177bd17873d87769dbcdd4ee3794fb828905c..9d6629c29dc471ef1db672cce4260a983d452cbd 100644
|
|
--- a/net/minecraft/world/entity/monster/illager/Pillager.java
|
|
+++ b/net/minecraft/world/entity/monster/illager/Pillager.java
|
|
@@ -97,6 +97,13 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.pillagerAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
super.registerGoals();
|
|
diff --git a/net/minecraft/world/entity/monster/illager/Vindicator.java b/net/minecraft/world/entity/monster/illager/Vindicator.java
|
|
index db2ca5e6f5c5a0968e1fb76369ad2efdee57e480..d42afe275f7a917d5784da2838972dff73f1476a 100644
|
|
--- a/net/minecraft/world/entity/monster/illager/Vindicator.java
|
|
+++ b/net/minecraft/world/entity/monster/illager/Vindicator.java
|
|
@@ -89,6 +89,13 @@ public class Vindicator extends AbstractIllager {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.vindicatorAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
super.registerGoals();
|
|
diff --git a/net/minecraft/world/entity/monster/piglin/Piglin.java b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
|
index f7e8b26f3acaff88aeb3e2cde93ec7922859e1ae..9246caa06976c258c15c95b52a156aebf63d89d7 100644
|
|
--- a/net/minecraft/world/entity/monster/piglin/Piglin.java
|
|
+++ b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
|
@@ -141,6 +141,13 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.piglinAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void addAdditionalSaveData(final ValueOutput output) {
|
|
super.addAdditionalSaveData(output);
|
|
diff --git a/net/minecraft/world/entity/monster/piglin/PiglinBrute.java b/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
|
|
index 5f25162930b7d18385d84715f4f72962c1efa93d..ee1a87f7811d22b5b33b3ae6b22fc5332b57322b 100644
|
|
--- a/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
|
|
+++ b/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
|
|
@@ -82,6 +82,13 @@ public class PiglinBrute extends AbstractPiglin {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.piglinBruteAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
public static AttributeSupplier.Builder createAttributes() {
|
|
return Monster.createMonsterAttributes()
|
|
.add(Attributes.MAX_HEALTH, 50.0)
|
|
diff --git a/net/minecraft/world/entity/monster/skeleton/Skeleton.java b/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
|
index 0890eb175438eb1dd39ca511c9ac332ef2a32e02..675faf3f02447fd73f48acc08c4b224114a0dc2e 100644
|
|
--- a/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
|
+++ b/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
|
@@ -58,6 +58,13 @@ public class Skeleton extends AbstractSkeleton {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.skeletonAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void defineSynchedData(final SynchedEntityData.Builder entityData) {
|
|
super.defineSynchedData(entityData);
|
|
diff --git a/net/minecraft/world/entity/monster/skeleton/Stray.java b/net/minecraft/world/entity/monster/skeleton/Stray.java
|
|
index 60aae5ecbd5d1243c63b304a7ffbfd729ad093c0..19ed23a4fc07f3a47f64ceefe1081b3641dfdccb 100644
|
|
--- a/net/minecraft/world/entity/monster/skeleton/Stray.java
|
|
+++ b/net/minecraft/world/entity/monster/skeleton/Stray.java
|
|
@@ -54,6 +54,13 @@ public class Stray extends AbstractSkeleton {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.strayAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
public static boolean checkStraySpawnRules(
|
|
final EntityType<Stray> type, final ServerLevelAccessor level, final EntitySpawnReason spawnReason, final BlockPos pos, final RandomSource random
|
|
) {
|
|
diff --git a/net/minecraft/world/entity/monster/skeleton/WitherSkeleton.java b/net/minecraft/world/entity/monster/skeleton/WitherSkeleton.java
|
|
index 2ec114406a6d207676739bf6b7eeb3b218442edd..5b057a367198f1b39e3e5ade7d48eb04a2a4b324 100644
|
|
--- a/net/minecraft/world/entity/monster/skeleton/WitherSkeleton.java
|
|
+++ b/net/minecraft/world/entity/monster/skeleton/WitherSkeleton.java
|
|
@@ -66,6 +66,13 @@ public class WitherSkeleton extends AbstractSkeleton {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.witherSkeletonAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, AbstractPiglin.class, true));
|
|
diff --git a/net/minecraft/world/entity/monster/spider/CaveSpider.java b/net/minecraft/world/entity/monster/spider/CaveSpider.java
|
|
index cb4d092e7365a978c16b620dfe05cbca56a0e1f0..b3621772cca164c92a630ca96a80315645b33681 100644
|
|
--- a/net/minecraft/world/entity/monster/spider/CaveSpider.java
|
|
+++ b/net/minecraft/world/entity/monster/spider/CaveSpider.java
|
|
@@ -58,6 +58,13 @@ public class CaveSpider extends Spider {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.caveSpiderAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
public boolean doHurtTarget(final ServerLevel level, final Entity target) {
|
|
if (super.doHurtTarget(level, target)) {
|
|
diff --git a/net/minecraft/world/entity/monster/spider/Spider.java b/net/minecraft/world/entity/monster/spider/Spider.java
|
|
index 4b406ba70824d3ab06883085204c0233c7ff0a0a..0db35d3e0c6be00dc8502331bbafc0e4e82adb9d 100644
|
|
--- a/net/minecraft/world/entity/monster/spider/Spider.java
|
|
+++ b/net/minecraft/world/entity/monster/spider/Spider.java
|
|
@@ -85,6 +85,13 @@ public class Spider extends Monster {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.spiderAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(1, new FloatGoal(this));
|
|
diff --git a/net/minecraft/world/entity/monster/zombie/Drowned.java b/net/minecraft/world/entity/monster/zombie/Drowned.java
|
|
index a6ff55afa5987ddf3ff1e9a43e34392f1cede2b4..a823cca07465fa5804eb01759174cbef9becbcca 100644
|
|
--- a/net/minecraft/world/entity/monster/zombie/Drowned.java
|
|
+++ b/net/minecraft/world/entity/monster/zombie/Drowned.java
|
|
@@ -141,6 +141,13 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.drownedAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void addBehaviourGoals() {
|
|
this.goalSelector.addGoal(1, new Drowned.DrownedGoToWaterGoal(this, 1.0));
|
|
diff --git a/net/minecraft/world/entity/monster/zombie/Husk.java b/net/minecraft/world/entity/monster/zombie/Husk.java
|
|
index afca08cfa58a25a7fa257eebf66dd888ccc1c734..75b57de8caf55d795ce10e115d657998fb86b401 100644
|
|
--- a/net/minecraft/world/entity/monster/zombie/Husk.java
|
|
+++ b/net/minecraft/world/entity/monster/zombie/Husk.java
|
|
@@ -92,6 +92,13 @@ public class Husk extends Zombie {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.huskAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
public boolean isSunSensitive() {
|
|
return this.shouldBurnInDay; // Purpur - moved to LivingEntity; keep methods for ABI compatibility - API for any mob to burn daylight
|
|
diff --git a/net/minecraft/world/entity/monster/zombie/Zombie.java b/net/minecraft/world/entity/monster/zombie/Zombie.java
|
|
index f104394d49989fe80462602cb06b2f58c4282fbb..0671b7c2a77d1173d58812abcfcad2461a42d240 100644
|
|
--- a/net/minecraft/world/entity/monster/zombie/Zombie.java
|
|
+++ b/net/minecraft/world/entity/monster/zombie/Zombie.java
|
|
@@ -160,6 +160,13 @@ public class Zombie extends Monster {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.zombieAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
|
|
diff --git a/net/minecraft/world/entity/monster/zombie/ZombieVillager.java b/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
|
index b704a24142f79f40e72a2dd76d1448501d9f7f59..e4be264d71c7980047194a86c5681020e822a67a 100644
|
|
--- a/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
|
+++ b/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
|
@@ -140,6 +140,13 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.zombieVillagerAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void defineSynchedData(final SynchedEntityData.Builder entityData) {
|
|
super.defineSynchedData(entityData);
|
|
diff --git a/net/minecraft/world/entity/monster/zombie/ZombifiedPiglin.java b/net/minecraft/world/entity/monster/zombie/ZombifiedPiglin.java
|
|
index 1233173bec21f780b25e7773788fd1fb003804af..2c0f08308430356a44a61d9b7a94609f340b454d 100644
|
|
--- a/net/minecraft/world/entity/monster/zombie/ZombifiedPiglin.java
|
|
+++ b/net/minecraft/world/entity/monster/zombie/ZombifiedPiglin.java
|
|
@@ -117,6 +117,13 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.zombifiedPiglinAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void addBehaviourGoals() {
|
|
this.goalSelector.addGoal(1, new SpearUseGoal<>(this, 1.0, 1.0, 10.0F, 2.0F));
|
|
diff --git a/net/minecraft/world/entity/npc/villager/Villager.java b/net/minecraft/world/entity/npc/villager/Villager.java
|
|
index dddbde704f3488b6bd7cbf126bc18ccb26d24d2c..64a6f4517f581f64a71382bdb302b71c68dc5396 100644
|
|
--- a/net/minecraft/world/entity/npc/villager/Villager.java
|
|
+++ b/net/minecraft/world/entity/npc/villager/Villager.java
|
|
@@ -282,6 +282,13 @@ public class Villager extends AbstractVillager implements VillagerDataHolder, Re
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.villagerAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
public Brain<Villager> getBrain() {
|
|
return (Brain<Villager>)super.getBrain();
|
|
diff --git a/net/minecraft/world/entity/npc/wanderingtrader/WanderingTrader.java b/net/minecraft/world/entity/npc/wanderingtrader/WanderingTrader.java
|
|
index 2f6fe59d812ccef104d7e3357483442c8f52e826..06f85792fea97e18b23f348728a772d5a2db65cc 100644
|
|
--- a/net/minecraft/world/entity/npc/wanderingtrader/WanderingTrader.java
|
|
+++ b/net/minecraft/world/entity/npc/wanderingtrader/WanderingTrader.java
|
|
@@ -105,6 +105,13 @@ public class WanderingTrader extends AbstractVillager implements Consumable.Over
|
|
}
|
|
// Purpur end - Toggle for water sensitive mob damage
|
|
|
|
+ // Purpur start - Mobs always drop experience
|
|
+ @Override
|
|
+ protected boolean isAlwaysExperienceDropper() {
|
|
+ return this.level().purpurConfig.wanderingTraderAlwaysDropExp;
|
|
+ }
|
|
+ // Purpur end - Mobs always drop experience
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(0, new FloatGoal(this));
|