mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
apply feature patches
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable entity base attributes
|
||||
|
||||
|
||||
diff --git a/net/minecraft/world/entity/GlowSquid.java b/net/minecraft/world/entity/GlowSquid.java
|
||||
index d0313fd5368baa53ec511c8c07fc78a1f1ecec4e..898b1e01026ec1f44cfe60e9f18a997c86e30594 100644
|
||||
index 351f92e1627f465a9a292d4a5e5c256a8e323ab3..b6f52326f52ce2885ece346944a321d7c924a470 100644
|
||||
--- a/net/minecraft/world/entity/GlowSquid.java
|
||||
+++ b/net/minecraft/world/entity/GlowSquid.java
|
||||
@@ -45,6 +45,13 @@ public class GlowSquid extends Squid {
|
||||
@@ -46,6 +46,13 @@ public class GlowSquid extends Squid {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -23,19 +23,19 @@ index d0313fd5368baa53ec511c8c07fc78a1f1ecec4e..898b1e01026ec1f44cfe60e9f18a997c
|
||||
protected ParticleOptions getInkParticle() {
|
||||
return ParticleTypes.GLOW_SQUID_INK;
|
||||
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
|
||||
index 2de776d7570f97f763033392ceeb8ffdbc0fafcd..b96fc67d28809f66181b1d36b475a8f85d596ea7 100644
|
||||
index a6739650bfee639925a63f345ac39c6e0c5c3209..5208518ad9fe86e25b07aeffa9633407aa6f2f1c 100644
|
||||
--- a/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -311,6 +311,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -278,6 +278,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
protected LivingEntity(EntityType<? extends LivingEntity> entityType, Level level) {
|
||||
super(entityType, level);
|
||||
this.attributes = new AttributeMap(DefaultAttributes.getSupplier(entityType), this); // Purpur - Ridables
|
||||
+ this.initAttributes(); // Purpur - Configurable entity base attributes
|
||||
this.craftAttributes = new CraftAttributeMap(this.attributes); // CraftBukkit
|
||||
this.craftAttributes = new org.bukkit.craftbukkit.attribute.CraftAttributeMap(this.attributes); // CraftBukkit
|
||||
// CraftBukkit - this.setHealth(this.getMaxHealth()) inlined and simplified to skip the instanceof check for Player, as getBukkitEntity() is not initialized in constructor
|
||||
this.entityData.set(LivingEntity.DATA_HEALTH_ID, this.getMaxHealth());
|
||||
@@ -324,6 +325,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.brain = this.makeBrain(new Dynamic<>(nbtOps, nbtOps.createMap(ImmutableMap.of(nbtOps.createString("memories"), nbtOps.emptyMap()))));
|
||||
@@ -297,6 +298,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
return new EntityEquipment();
|
||||
}
|
||||
|
||||
+ protected void initAttributes() {}// Purpur - Configurable entity base attributes
|
||||
@@ -44,10 +44,10 @@ index 2de776d7570f97f763033392ceeb8ffdbc0fafcd..b96fc67d28809f66181b1d36b475a8f8
|
||||
return this.brain;
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/ambient/Bat.java b/net/minecraft/world/entity/ambient/Bat.java
|
||||
index e7ea944e77175ee4051b8e7361c502d0cc2115d5..ecbec552e5cd1935f57872d2fb502d3e9743e3d8 100644
|
||||
index 99845dde0c633714acefb0bb482d8422d946dd46..581894f58df1df4b50aa537252cb4be6bbcebf80 100644
|
||||
--- a/net/minecraft/world/entity/ambient/Bat.java
|
||||
+++ b/net/minecraft/world/entity/ambient/Bat.java
|
||||
@@ -94,6 +94,21 @@ public class Bat extends AmbientCreature {
|
||||
@@ -95,6 +95,21 @@ public class Bat extends AmbientCreature {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -70,7 +70,7 @@ index e7ea944e77175ee4051b8e7361c502d0cc2115d5..ecbec552e5cd1935f57872d2fb502d3e
|
||||
public boolean isFlapping() {
|
||||
return !this.isResting() && this.tickCount % 10.0F == 0.0F;
|
||||
diff --git a/net/minecraft/world/entity/animal/Bee.java b/net/minecraft/world/entity/animal/Bee.java
|
||||
index b9bf40c389460d65d2566786ddd6f6740243e9a4..c150ba5f706b3dd51925533300c0432ccf5e2b81 100644
|
||||
index e55507fa09001b431519ef9c76bf444d7df3f7ea..d07a708f06ba738369882ddaa968c2de9c6c560e 100644
|
||||
--- a/net/minecraft/world/entity/animal/Bee.java
|
||||
+++ b/net/minecraft/world/entity/animal/Bee.java
|
||||
@@ -472,6 +472,14 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
@@ -89,10 +89,10 @@ index b9bf40c389460d65d2566786ddd6f6740243e9a4..c150ba5f706b3dd51925533300c0432c
|
||||
public int getRemainingPersistentAngerTime() {
|
||||
return this.entityData.get(DATA_REMAINING_ANGER_TIME);
|
||||
diff --git a/net/minecraft/world/entity/animal/Cat.java b/net/minecraft/world/entity/animal/Cat.java
|
||||
index f066b0acfa0e954f6d71e62962c76afa1f05a4a5..98ce277c5b27591e22daa3c85241be1b8689bfae 100644
|
||||
index 74a44f97dcf4fabeac28a2f8b31e9b717d47ea49..d2813c68df511a2702f2b57c31f828730a9a21c8 100644
|
||||
--- a/net/minecraft/world/entity/animal/Cat.java
|
||||
+++ b/net/minecraft/world/entity/animal/Cat.java
|
||||
@@ -118,6 +118,14 @@ public class Cat extends TamableAnimal implements VariantHolder<Holder<CatVarian
|
||||
@@ -116,6 +116,14 @@ public class Cat extends TamableAnimal {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -106,12 +106,12 @@ index f066b0acfa0e954f6d71e62962c76afa1f05a4a5..98ce277c5b27591e22daa3c85241be1b
|
||||
+
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.temptGoal = new Cat.CatTemptGoal(this, 0.6, itemStack -> itemStack.is(ItemTags.CAT_FOOD), true);
|
||||
this.temptGoal = new Cat.CatTemptGoal(this, 0.6, stack -> stack.is(ItemTags.CAT_FOOD), true);
|
||||
diff --git a/net/minecraft/world/entity/animal/Chicken.java b/net/minecraft/world/entity/animal/Chicken.java
|
||||
index aba1bf732bb78a24dba1f063d65894fde92789ef..509163f409a5b8988a484aedb2f3ddf042d5eb13 100644
|
||||
index 8708a6e5a493b6150671b7bdd6b9971371ef309c..40fc57f1c298e1c70fddf8b6eb2f3e8e9e41e60c 100644
|
||||
--- a/net/minecraft/world/entity/animal/Chicken.java
|
||||
+++ b/net/minecraft/world/entity/animal/Chicken.java
|
||||
@@ -68,6 +68,14 @@ public class Chicken extends Animal {
|
||||
@@ -88,6 +88,14 @@ public class Chicken extends Animal {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -127,7 +127,7 @@ index aba1bf732bb78a24dba1f063d65894fde92789ef..509163f409a5b8988a484aedb2f3ddf0
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
diff --git a/net/minecraft/world/entity/animal/Cod.java b/net/minecraft/world/entity/animal/Cod.java
|
||||
index 6a19086e272363701260801f3c6db9b5c91b8ef5..434e1fabf2e360a8f5f4eefed96e3883aa786d10 100644
|
||||
index 651c9243902e3c48fb438913974e996d67d6f746..ed52fbbf93e7a238d0f45981f8629ba8613bf3d4 100644
|
||||
--- a/net/minecraft/world/entity/animal/Cod.java
|
||||
+++ b/net/minecraft/world/entity/animal/Cod.java
|
||||
@@ -25,6 +25,13 @@ public class Cod extends AbstractSchoolingFish {
|
||||
@@ -145,10 +145,10 @@ index 6a19086e272363701260801f3c6db9b5c91b8ef5..434e1fabf2e360a8f5f4eefed96e3883
|
||||
public ItemStack getBucketItemStack() {
|
||||
return new ItemStack(Items.COD_BUCKET);
|
||||
diff --git a/net/minecraft/world/entity/animal/Cow.java b/net/minecraft/world/entity/animal/Cow.java
|
||||
index 656babc0c8810a85eb9f78ced1f3ad9551fdc286..d2a4bfa5334f7361067e4adac36ba5a4a4fa6ad8 100644
|
||||
index ff1b8c93baccf1d417ef0f9338a6f8d66716dafc..7c4f1eadcbc13010f6b4b5748b8e0d5c822458e1 100644
|
||||
--- a/net/minecraft/world/entity/animal/Cow.java
|
||||
+++ b/net/minecraft/world/entity/animal/Cow.java
|
||||
@@ -55,6 +55,14 @@ public class Cow extends Animal {
|
||||
@@ -45,6 +45,14 @@ public class Cow extends AbstractCow {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -161,13 +161,13 @@ index 656babc0c8810a85eb9f78ced1f3ad9551fdc286..d2a4bfa5334f7361067e4adac36ba5a4
|
||||
+ // Purpur end - Configurable entity base attributes
|
||||
+
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
protected void defineSynchedData(SynchedEntityData.Builder builder) {
|
||||
super.defineSynchedData(builder);
|
||||
diff --git a/net/minecraft/world/entity/animal/Dolphin.java b/net/minecraft/world/entity/animal/Dolphin.java
|
||||
index 35bce598bb5857356823594d2a001006ce19f835..5b764c686e8759a7b04a7b50708c69629be02c04 100644
|
||||
index 144b163a4a82997ca88e906bbadcf5835636aece..932ec7ed4ec102f64fa977835d2c7ebe23afa6e3 100644
|
||||
--- a/net/minecraft/world/entity/animal/Dolphin.java
|
||||
+++ b/net/minecraft/world/entity/animal/Dolphin.java
|
||||
@@ -148,6 +148,14 @@ public class Dolphin extends AgeableWaterCreature {
|
||||
@@ -150,6 +150,14 @@ public class Dolphin extends AgeableWaterCreature {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -183,10 +183,10 @@ index 35bce598bb5857356823594d2a001006ce19f835..5b764c686e8759a7b04a7b50708c6962
|
||||
@Override
|
||||
public SpawnGroupData finalizeSpawn(
|
||||
diff --git a/net/minecraft/world/entity/animal/Fox.java b/net/minecraft/world/entity/animal/Fox.java
|
||||
index 8b0a813f9dd001c6dd108ba7aac04d134a20fbc1..8bf893837586ae2a9b4ef7564d242e16e4863b5d 100644
|
||||
index eb25d655140e425208ee9eeae24ebb756f1b7306..8d69b6bb1d5efd0b47595a12acdd2088cddd5ace 100644
|
||||
--- a/net/minecraft/world/entity/animal/Fox.java
|
||||
+++ b/net/minecraft/world/entity/animal/Fox.java
|
||||
@@ -167,6 +167,14 @@ public class Fox extends Animal implements VariantHolder<Fox.Variant> {
|
||||
@@ -179,6 +179,14 @@ public class Fox extends Animal {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -202,10 +202,10 @@ index 8b0a813f9dd001c6dd108ba7aac04d134a20fbc1..8bf893837586ae2a9b4ef7564d242e16
|
||||
protected void defineSynchedData(SynchedEntityData.Builder builder) {
|
||||
super.defineSynchedData(builder);
|
||||
diff --git a/net/minecraft/world/entity/animal/IronGolem.java b/net/minecraft/world/entity/animal/IronGolem.java
|
||||
index 223c4796f659a24062a719045e484a22d31ab2f0..37a353cbb0e9b16e0fc92bd1bc8194cb4cd3c13a 100644
|
||||
index 3a78342a9ce9b5393a280530b50a8c843e201845..fd0d1abcb34862fc7a812f1e3d96969a5c917352 100644
|
||||
--- a/net/minecraft/world/entity/animal/IronGolem.java
|
||||
+++ b/net/minecraft/world/entity/animal/IronGolem.java
|
||||
@@ -90,6 +90,14 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
@@ -91,6 +91,14 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -221,10 +221,10 @@ index 223c4796f659a24062a719045e484a22d31ab2f0..37a353cbb0e9b16e0fc92bd1bc8194cb
|
||||
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/MushroomCow.java b/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
index 1292146341022483f78a9128ef9d7a88089274a0..990723c31aa1040a4e45b9857a18d86287ef91b4 100644
|
||||
index f04342dd4addb2be47533f12a2a475f12c1869f1..af035af33db993cf7c573b87df576529e98a842e 100644
|
||||
--- a/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
+++ b/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
@@ -72,6 +72,13 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
@@ -78,6 +78,13 @@ public class MushroomCow extends AbstractCow implements Shearable {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -239,10 +239,10 @@ index 1292146341022483f78a9128ef9d7a88089274a0..990723c31aa1040a4e45b9857a18d862
|
||||
public float getWalkTargetValue(BlockPos pos, LevelReader level) {
|
||||
return level.getBlockState(pos.below()).is(Blocks.MYCELIUM) ? 10.0F : level.getPathfindingCostFromLightLevels(pos);
|
||||
diff --git a/net/minecraft/world/entity/animal/Ocelot.java b/net/minecraft/world/entity/animal/Ocelot.java
|
||||
index ce042556d41836ad5fa7eca6d019176f6207d5cb..1346556aa3a704930f1d278b65c6a2a904e41488 100644
|
||||
index b8780911350ac5f4f10acdbed2b13523c8692344..b05aea388ddadaa5bc28bee9f3f4d7fbf673eaa7 100644
|
||||
--- a/net/minecraft/world/entity/animal/Ocelot.java
|
||||
+++ b/net/minecraft/world/entity/animal/Ocelot.java
|
||||
@@ -79,6 +79,14 @@ public class Ocelot extends Animal {
|
||||
@@ -80,6 +80,14 @@ public class Ocelot extends Animal {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -258,10 +258,10 @@ index ce042556d41836ad5fa7eca6d019176f6207d5cb..1346556aa3a704930f1d278b65c6a2a9
|
||||
return this.entityData.get(DATA_TRUSTING);
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/animal/Panda.java b/net/minecraft/world/entity/animal/Panda.java
|
||||
index 19aa39af6685a03eb584820853239a3f4fa1a515..5b07dff937c8873300eabecf1c510cf562fae4f3 100644
|
||||
index 44af6a2bcb1ba60a487555c5240b38798798b769..ebeed4fab4fff87ac61a3a4ef28443eb4746c3fa 100644
|
||||
--- a/net/minecraft/world/entity/animal/Panda.java
|
||||
+++ b/net/minecraft/world/entity/animal/Panda.java
|
||||
@@ -131,6 +131,15 @@ public class Panda extends Animal {
|
||||
@@ -132,6 +132,15 @@ public class Panda extends Animal {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -277,7 +277,7 @@ index 19aa39af6685a03eb584820853239a3f4fa1a515..5b07dff937c8873300eabecf1c510cf5
|
||||
@Override
|
||||
protected boolean canDispenserEquipIntoSlot(EquipmentSlot slot) {
|
||||
return slot == EquipmentSlot.MAINHAND && this.canPickUpLoot();
|
||||
@@ -624,7 +633,11 @@ public class Panda extends Animal {
|
||||
@@ -625,7 +634,11 @@ public class Panda extends Animal {
|
||||
|
||||
public void setAttributes() {
|
||||
if (this.isWeak()) {
|
||||
@@ -291,10 +291,10 @@ index 19aa39af6685a03eb584820853239a3f4fa1a515..5b07dff937c8873300eabecf1c510cf5
|
||||
|
||||
if (this.isLazy()) {
|
||||
diff --git a/net/minecraft/world/entity/animal/Parrot.java b/net/minecraft/world/entity/animal/Parrot.java
|
||||
index 445614d09d2364daee5245c217baeb31e186c168..87de937fd17c2e7e8916f8503b0334e7015bdb8f 100644
|
||||
index 573efbc5f5f4ad0be30868c7faa058e68bf2fd67..94031cbd5d40c9a5536b1d1c404bbe2666e8ae0a 100644
|
||||
--- a/net/minecraft/world/entity/animal/Parrot.java
|
||||
+++ b/net/minecraft/world/entity/animal/Parrot.java
|
||||
@@ -186,6 +186,14 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
|
||||
@@ -191,6 +191,14 @@ public class Parrot extends ShoulderRidingEntity implements FlyingAnimal {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -310,10 +310,10 @@ index 445614d09d2364daee5245c217baeb31e186c168..87de937fd17c2e7e8916f8503b0334e7
|
||||
@Override
|
||||
public SpawnGroupData finalizeSpawn(
|
||||
diff --git a/net/minecraft/world/entity/animal/Pig.java b/net/minecraft/world/entity/animal/Pig.java
|
||||
index 55628e4299c2d85cabddcad38fc1e40a851d64aa..7df848bd9c4cf98fbd431a8cae16a2df86ec5e2b 100644
|
||||
index 9e15bf55aa3986a227452fb1a5ebc4315f6f4d6c..70d5debdf6a7e9b631e21b47e7e35b15c065410b 100644
|
||||
--- a/net/minecraft/world/entity/animal/Pig.java
|
||||
+++ b/net/minecraft/world/entity/animal/Pig.java
|
||||
@@ -73,6 +73,14 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
|
||||
@@ -82,6 +82,14 @@ public class Pig extends Animal implements ItemSteerable {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -329,7 +329,7 @@ index 55628e4299c2d85cabddcad38fc1e40a851d64aa..7df848bd9c4cf98fbd431a8cae16a2df
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
diff --git a/net/minecraft/world/entity/animal/PolarBear.java b/net/minecraft/world/entity/animal/PolarBear.java
|
||||
index 711ed0d753494a92a003fc683146f289505ed7f6..913439a769a36521ba59d59cba4d6878d3186254 100644
|
||||
index 4561b590b0068bfbcfd990bbf8b6640c0bd1493c..d6f5c2573f5fd072a7eaed39790b43e7a67cf3b8 100644
|
||||
--- a/net/minecraft/world/entity/animal/PolarBear.java
|
||||
+++ b/net/minecraft/world/entity/animal/PolarBear.java
|
||||
@@ -116,6 +116,14 @@ public class PolarBear extends Animal implements NeutralMob {
|
||||
@@ -348,10 +348,10 @@ index 711ed0d753494a92a003fc683146f289505ed7f6..913439a769a36521ba59d59cba4d6878
|
||||
@Override
|
||||
public AgeableMob getBreedOffspring(ServerLevel level, AgeableMob otherParent) {
|
||||
diff --git a/net/minecraft/world/entity/animal/Pufferfish.java b/net/minecraft/world/entity/animal/Pufferfish.java
|
||||
index f7e9abf778186ad1c78dbe411980a83c5e68792e..e3c20694fc41b8a0a9d5170560be00fb55a4ad86 100644
|
||||
index c35973498b0abae2dafa63f30ed5e6ca87f6baa5..bed7d937f02d1fbc8fdd277a2d0524e79b19f707 100644
|
||||
--- a/net/minecraft/world/entity/animal/Pufferfish.java
|
||||
+++ b/net/minecraft/world/entity/animal/Pufferfish.java
|
||||
@@ -57,6 +57,13 @@ public class Pufferfish extends AbstractFish {
|
||||
@@ -58,6 +58,13 @@ public class Pufferfish extends AbstractFish {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -366,10 +366,10 @@ index f7e9abf778186ad1c78dbe411980a83c5e68792e..e3c20694fc41b8a0a9d5170560be00fb
|
||||
protected void defineSynchedData(SynchedEntityData.Builder builder) {
|
||||
super.defineSynchedData(builder);
|
||||
diff --git a/net/minecraft/world/entity/animal/Rabbit.java b/net/minecraft/world/entity/animal/Rabbit.java
|
||||
index 8cac46951938c80fae3499e8b53709c25d86e9bd..e71161ecc9d4ee3fe29fa3a27d11d63e1a28d1a0 100644
|
||||
index 338a1d3f1352f49ba5b53c55a49abce3ded2b0c0..8e3dcd912d7631bc7863a576e28f85c8d1cb2818 100644
|
||||
--- a/net/minecraft/world/entity/animal/Rabbit.java
|
||||
+++ b/net/minecraft/world/entity/animal/Rabbit.java
|
||||
@@ -137,6 +137,14 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
@@ -144,6 +144,14 @@ public class Rabbit extends Animal {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -385,10 +385,10 @@ index 8cac46951938c80fae3499e8b53709c25d86e9bd..e71161ecc9d4ee3fe29fa3a27d11d63e
|
||||
public void registerGoals() {
|
||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||
diff --git a/net/minecraft/world/entity/animal/Salmon.java b/net/minecraft/world/entity/animal/Salmon.java
|
||||
index ebbd6d39c3f5d6c66445c2c743785ed369408389..93eb3cc3605f694337c1604e2db63fed04693617 100644
|
||||
index 2b60d92eec3192416b0c39ddaa1fa490d15a6137..8559e7e8c5163eb55b997521dca2e96b5ae3c9bc 100644
|
||||
--- a/net/minecraft/world/entity/animal/Salmon.java
|
||||
+++ b/net/minecraft/world/entity/animal/Salmon.java
|
||||
@@ -47,6 +47,13 @@ public class Salmon extends AbstractSchoolingFish implements VariantHolder<Salmo
|
||||
@@ -50,6 +50,13 @@ public class Salmon extends AbstractSchoolingFish {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -402,30 +402,11 @@ index ebbd6d39c3f5d6c66445c2c743785ed369408389..93eb3cc3605f694337c1604e2db63fed
|
||||
@Override
|
||||
public int getMaxSchoolSize() {
|
||||
return 5;
|
||||
diff --git a/net/minecraft/world/entity/animal/Sheep.java b/net/minecraft/world/entity/animal/Sheep.java
|
||||
index c27bb9e8a4a5e8fdc8ae28dae820385966b8b44c..b66440f5cfbd714c6d2f5b7f66b4e755602b4521 100644
|
||||
--- a/net/minecraft/world/entity/animal/Sheep.java
|
||||
+++ b/net/minecraft/world/entity/animal/Sheep.java
|
||||
@@ -98,6 +98,14 @@ public class Sheep extends Animal implements Shearable {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
+ // Purpur start - Configurable entity base attributes
|
||||
+ @Override
|
||||
+ public void initAttributes() {
|
||||
+ this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.sheepMaxHealth);
|
||||
+ this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.sheepScale);
|
||||
+ }
|
||||
+ // Purpur end - Configurable entity base attributes
|
||||
+
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.eatBlockGoal = new EatBlockGoal(this);
|
||||
diff --git a/net/minecraft/world/entity/animal/SnowGolem.java b/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
index 52de92b118b613217b8f92ff672c01ddf798a1fc..d97a297db3bec0c86c6a82ef1c353015df2115f7 100644
|
||||
index aca62391131333d604d21c9aaf2bcea620dc51b3..764429b9d20ac105c9ae3b050adf5d3defbd6038 100644
|
||||
--- a/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
+++ b/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
@@ -78,6 +78,14 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
@@ -79,6 +79,14 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -441,7 +422,7 @@ index 52de92b118b613217b8f92ff672c01ddf798a1fc..d97a297db3bec0c86c6a82ef1c353015
|
||||
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/Squid.java b/net/minecraft/world/entity/animal/Squid.java
|
||||
index dee371381817a992d249f62977ad7bd6eb8d5873..739b9df3c1c39a3207caa42d6aed7f4ff1741d42 100644
|
||||
index 21ff0b49a1df9b8a95cb2fdf7b43d9a676a497a6..2a0dc779ec2a53a4feb4d2d665cf9d820113ba04 100644
|
||||
--- a/net/minecraft/world/entity/animal/Squid.java
|
||||
+++ b/net/minecraft/world/entity/animal/Squid.java
|
||||
@@ -91,6 +91,14 @@ public class Squid extends AgeableWaterCreature {
|
||||
@@ -460,10 +441,10 @@ index dee371381817a992d249f62977ad7bd6eb8d5873..739b9df3c1c39a3207caa42d6aed7f4f
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new Squid.SquidRandomMovementGoal(this));
|
||||
diff --git a/net/minecraft/world/entity/animal/TropicalFish.java b/net/minecraft/world/entity/animal/TropicalFish.java
|
||||
index 1e31a39b276e1c5ae767da7af0b536007c87189e..6246a86f7f77dff37e36bd9dff964878134e9c70 100644
|
||||
index d7bea58644dd707b835e0c728b2c89c697c7e554..946874b3146bd7b226b4cb07110eec57c2968bb7 100644
|
||||
--- a/net/minecraft/world/entity/animal/TropicalFish.java
|
||||
+++ b/net/minecraft/world/entity/animal/TropicalFish.java
|
||||
@@ -79,6 +79,13 @@ public class TropicalFish extends AbstractSchoolingFish implements VariantHolder
|
||||
@@ -88,6 +88,13 @@ public class TropicalFish extends AbstractSchoolingFish {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -478,10 +459,10 @@ index 1e31a39b276e1c5ae767da7af0b536007c87189e..6246a86f7f77dff37e36bd9dff964878
|
||||
return "entity.minecraft.tropical_fish.predefined." + variantId;
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/animal/Turtle.java b/net/minecraft/world/entity/animal/Turtle.java
|
||||
index 98cb91574c8d2bdb6d180256f657ecc67987a6fe..4f0fbbb2caeda6d1477d3297fd68f802e4f3a9ca 100644
|
||||
index 7c97f917b0cc5652c20abdd26428cccad10b8757..11772e81d932fae6542a0cb2d283ef91b5bbbd76 100644
|
||||
--- a/net/minecraft/world/entity/animal/Turtle.java
|
||||
+++ b/net/minecraft/world/entity/animal/Turtle.java
|
||||
@@ -101,6 +101,14 @@ public class Turtle extends Animal {
|
||||
@@ -102,6 +102,14 @@ public class Turtle extends Animal {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -494,32 +475,13 @@ index 98cb91574c8d2bdb6d180256f657ecc67987a6fe..4f0fbbb2caeda6d1477d3297fd68f802
|
||||
+ // Purpur end - Configurable entity base attributes
|
||||
+
|
||||
public void setHomePos(BlockPos homePos) {
|
||||
this.entityData.set(HOME_POS, homePos);
|
||||
this.homePos = homePos;
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/animal/Wolf.java b/net/minecraft/world/entity/animal/Wolf.java
|
||||
index 9c517f7afdf18f3cfa7c30da00066b3757f2dbbf..93a0fda3a2f3598c9f5606e4f379b60a2129a07b 100644
|
||||
--- a/net/minecraft/world/entity/animal/Wolf.java
|
||||
+++ b/net/minecraft/world/entity/animal/Wolf.java
|
||||
@@ -202,6 +202,14 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
+ // Purpur start - Configurable entity base attributes
|
||||
+ @Override
|
||||
+ public void initAttributes() {
|
||||
+ this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.wolfMaxHealth);
|
||||
+ this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.wolfScale);
|
||||
+ }
|
||||
+ // Purpur end - Configurable entity base attributes
|
||||
+
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||
diff --git a/net/minecraft/world/entity/animal/allay/Allay.java b/net/minecraft/world/entity/animal/allay/Allay.java
|
||||
index b399a1220496d38cef252fd2d43b31b215a952f9..22e0fad86da2e7b932863ef30182355aa41424a1 100644
|
||||
index 31371684bb2bddc6bf9592bef1190af3b09f4d65..062f2ca0c8f2443cf890dc917b9de46310eb79bc 100644
|
||||
--- a/net/minecraft/world/entity/animal/allay/Allay.java
|
||||
+++ b/net/minecraft/world/entity/animal/allay/Allay.java
|
||||
@@ -173,6 +173,14 @@ public class Allay extends PathfinderMob implements InventoryCarrier, VibrationS
|
||||
@@ -171,6 +171,14 @@ public class Allay extends PathfinderMob implements InventoryCarrier, VibrationS
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -535,10 +497,10 @@ index b399a1220496d38cef252fd2d43b31b215a952f9..22e0fad86da2e7b932863ef30182355a
|
||||
protected Brain.Provider<Allay> brainProvider() {
|
||||
return Brain.provider(MEMORY_TYPES, SENSOR_TYPES);
|
||||
diff --git a/net/minecraft/world/entity/animal/armadillo/Armadillo.java b/net/minecraft/world/entity/animal/armadillo/Armadillo.java
|
||||
index 87a190d8646d8bbed8c182f9f0f7d8c398e63d26..c10ebb66dec26b6ccc223e98effa0b9a68363626 100644
|
||||
index 2b38e942492b3324683e05d36ed906462da92ac4..67a93960b3c6fe5725783ebf9f1c5b57e931f58c 100644
|
||||
--- a/net/minecraft/world/entity/animal/armadillo/Armadillo.java
|
||||
+++ b/net/minecraft/world/entity/animal/armadillo/Armadillo.java
|
||||
@@ -97,6 +97,14 @@ public class Armadillo extends Animal {
|
||||
@@ -98,6 +98,14 @@ public class Armadillo extends Animal {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -554,10 +516,10 @@ index 87a190d8646d8bbed8c182f9f0f7d8c398e63d26..c10ebb66dec26b6ccc223e98effa0b9a
|
||||
protected void defineSynchedData(SynchedEntityData.Builder builder) {
|
||||
super.defineSynchedData(builder);
|
||||
diff --git a/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
index 2054e4624da0c9b04ea69b9bf39443c4574d48be..f2f09a529e9db88784ff4299fdf3966046c736ab 100644
|
||||
index f3f0f5d7fe79e87b893aa52113f02a774ccc057a..83b1080765eb49a8a606258bb2db8b1a7daea081 100644
|
||||
--- a/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
+++ b/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
@@ -132,6 +132,14 @@ public class Axolotl extends Animal implements VariantHolder<Axolotl.Variant>, B
|
||||
@@ -137,6 +137,14 @@ public class Axolotl extends Animal implements Bucketable {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -573,10 +535,10 @@ index 2054e4624da0c9b04ea69b9bf39443c4574d48be..f2f09a529e9db88784ff4299fdf39660
|
||||
public float getWalkTargetValue(BlockPos pos, LevelReader level) {
|
||||
return 0.0F;
|
||||
diff --git a/net/minecraft/world/entity/animal/camel/Camel.java b/net/minecraft/world/entity/animal/camel/Camel.java
|
||||
index 11311d2ec37d825e73e2218e60e2606dd3a25a1d..1d7e2358bac193af48dc4b7f5b0295e3bffa152b 100644
|
||||
index 3d4efc2918fd10a63065a052d9e460b49489cf00..6c6ef89aacbc328a2cb2dc05022998dbd79cfaf8 100644
|
||||
--- a/net/minecraft/world/entity/animal/camel/Camel.java
|
||||
+++ b/net/minecraft/world/entity/animal/camel/Camel.java
|
||||
@@ -322,6 +322,23 @@ public class Camel extends AbstractHorse {
|
||||
@@ -334,6 +334,23 @@ public class Camel extends AbstractHorse {
|
||||
return this.dashCooldown;
|
||||
}
|
||||
|
||||
@@ -598,13 +560,13 @@ index 11311d2ec37d825e73e2218e60e2606dd3a25a1d..1d7e2358bac193af48dc4b7f5b0295e3
|
||||
+ // Purpur end - Configurable entity base attributes
|
||||
+
|
||||
@Override
|
||||
protected SoundEvent getAmbientSound() {
|
||||
public SoundEvent getAmbientSound() {
|
||||
return SoundEvents.CAMEL_AMBIENT;
|
||||
diff --git a/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
index 828406060e50ff62586929371aafb46ef7d81f92..56dc7011ed07f0bd5870fbadde2b5c0c630c5edd 100644
|
||||
index 8bd9fd0a017b9822129119d7e16e872f0bdc8c2d..601e2912790759487c8d2f270f30a82689c52236 100644
|
||||
--- a/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
+++ b/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
@@ -218,6 +218,46 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
|
||||
@@ -138,6 +138,46 @@ public abstract class AbstractHorse extends Animal implements HasCustomInventory
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -651,7 +613,7 @@ index 828406060e50ff62586929371aafb46ef7d81f92..56dc7011ed07f0bd5870fbadde2b5c0c
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HorseHasRider(this)); // Purpur - Ridables
|
||||
@@ -1218,7 +1258,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
|
||||
@@ -1054,7 +1094,7 @@ public abstract class AbstractHorse extends Animal implements HasCustomInventory
|
||||
spawnGroupData = new AgeableMob.AgeableMobGroupData(0.2F);
|
||||
}
|
||||
|
||||
@@ -661,7 +623,7 @@ index 828406060e50ff62586929371aafb46ef7d81f92..56dc7011ed07f0bd5870fbadde2b5c0c
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/world/entity/animal/horse/Donkey.java b/net/minecraft/world/entity/animal/horse/Donkey.java
|
||||
index ee3fa710e95f2e84f7f9bdce1159d1136815172d..223f1d109680e3643ab2c8343be22713e89755fd 100644
|
||||
index 66dda36aeb668488076f0c93dc83ab6cc4ec1a31..3aa12702cd1f4ef160180bc6ba64a6566cbddc9d 100644
|
||||
--- a/net/minecraft/world/entity/animal/horse/Donkey.java
|
||||
+++ b/net/minecraft/world/entity/animal/horse/Donkey.java
|
||||
@@ -23,6 +23,23 @@ public class Donkey extends AbstractChestedHorse {
|
||||
@@ -686,13 +648,13 @@ index ee3fa710e95f2e84f7f9bdce1159d1136815172d..223f1d109680e3643ab2c8343be22713
|
||||
+ // Purpur end - Configurable entity base attributes
|
||||
+
|
||||
@Override
|
||||
protected SoundEvent getAmbientSound() {
|
||||
public SoundEvent getAmbientSound() {
|
||||
return SoundEvents.DONKEY_AMBIENT;
|
||||
diff --git a/net/minecraft/world/entity/animal/horse/Horse.java b/net/minecraft/world/entity/animal/horse/Horse.java
|
||||
index 361bf346153912bcbfcf962d7f716dfe12ae2a7b..8bd118e82da9e4d4153de0a3efaf6d69e3c4c540 100644
|
||||
index 5b2d1fedf61880990ca29b51b3d83a19e79047d1..e0346014de51958976459eeb6677d886e7f261ab 100644
|
||||
--- a/net/minecraft/world/entity/animal/horse/Horse.java
|
||||
+++ b/net/minecraft/world/entity/animal/horse/Horse.java
|
||||
@@ -50,6 +50,23 @@ public class Horse extends AbstractHorse implements VariantHolder<Variant> {
|
||||
@@ -53,6 +53,23 @@ public class Horse extends AbstractHorse {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -717,10 +679,10 @@ index 361bf346153912bcbfcf962d7f716dfe12ae2a7b..8bd118e82da9e4d4153de0a3efaf6d69
|
||||
protected void randomizeAttributes(RandomSource random) {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(generateMaxHealth(random::nextInt));
|
||||
diff --git a/net/minecraft/world/entity/animal/horse/Llama.java b/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
index 164a429d432badcb315e8ece406e29e576a11265..58e726dd33f572a31b4910b9ff666c4252fb03a9 100644
|
||||
index b60fa4cb07d8dc6b52e76b5e9f596bafc815ba2d..10e7724d424cd39c96b91cf3de4bc4524d9311a4 100644
|
||||
--- a/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
+++ b/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
@@ -124,6 +124,23 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
@@ -129,6 +129,23 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -745,7 +707,7 @@ index 164a429d432badcb315e8ece406e29e576a11265..58e726dd33f572a31b4910b9ff666c42
|
||||
return false;
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/animal/horse/Mule.java b/net/minecraft/world/entity/animal/horse/Mule.java
|
||||
index f6d99d894cc9a370291abe76ce33a2628332c843..d0d6b511dbd4f992d11f06e7539b0c1034250660 100644
|
||||
index b1c96936ba8dcba4435a649dd7e6ec3c921c3702..0107bb5fc029c5390d73e9a4cd08c13838a2ded5 100644
|
||||
--- a/net/minecraft/world/entity/animal/horse/Mule.java
|
||||
+++ b/net/minecraft/world/entity/animal/horse/Mule.java
|
||||
@@ -22,6 +22,23 @@ public class Mule extends AbstractChestedHorse {
|
||||
@@ -770,13 +732,13 @@ index f6d99d894cc9a370291abe76ce33a2628332c843..d0d6b511dbd4f992d11f06e7539b0c10
|
||||
+ // Purpur end - Configurable entity base attributes
|
||||
+
|
||||
@Override
|
||||
protected SoundEvent getAmbientSound() {
|
||||
public SoundEvent getAmbientSound() {
|
||||
return SoundEvents.MULE_AMBIENT;
|
||||
diff --git a/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
index fdf76fdaab0275471b989e5c1fc02e79beda2410..6cc64c7e2f50a311460cd5d7ffa9545e5d7e0b02 100644
|
||||
index b8bdf9d4665cbfa590842727079a740274f13c34..b7903386ce4648ef577b1d4875866b7c268c888b 100644
|
||||
--- a/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
+++ b/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
@@ -46,6 +46,23 @@ public class SkeletonHorse extends AbstractHorse {
|
||||
@@ -48,6 +48,23 @@ public class SkeletonHorse extends AbstractHorse {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -801,10 +763,10 @@ index fdf76fdaab0275471b989e5c1fc02e79beda2410..6cc64c7e2f50a311460cd5d7ffa9545e
|
||||
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0).add(Attributes.MOVEMENT_SPEED, 0.2F);
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/animal/horse/TraderLlama.java b/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
||||
index bd6d2fd5a6aa072a837984570d5f39fda7dd7adc..715cb8046e1fb9ac929d81709777bf4ae9323d46 100644
|
||||
index d67d24e64d387a7f6a18aef1c8dcab1c6df3f824..4664de247745c5346f1d131b19aac0512d394647 100644
|
||||
--- a/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
||||
+++ b/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
||||
@@ -51,6 +51,23 @@ public class TraderLlama extends Llama {
|
||||
@@ -52,6 +52,23 @@ public class TraderLlama extends Llama {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -829,7 +791,7 @@ index bd6d2fd5a6aa072a837984570d5f39fda7dd7adc..715cb8046e1fb9ac929d81709777bf4a
|
||||
public boolean isTraderLlama() {
|
||||
return true;
|
||||
diff --git a/net/minecraft/world/entity/animal/horse/ZombieHorse.java b/net/minecraft/world/entity/animal/horse/ZombieHorse.java
|
||||
index 3fe3a94a393b1c60a96fcfed0074f62ca7a1d4de..8da61e14f2470dfb191d9dfaf19c713584b8e9b8 100644
|
||||
index 45d09ebcc9ce4321285a4ec49e8ee369290f6b2c..3d597bd355b6c918ea1bf4b7d537ad4f76e218d2 100644
|
||||
--- a/net/minecraft/world/entity/animal/horse/ZombieHorse.java
|
||||
+++ b/net/minecraft/world/entity/animal/horse/ZombieHorse.java
|
||||
@@ -45,6 +45,23 @@ public class ZombieHorse extends AbstractHorse {
|
||||
@@ -856,8 +818,27 @@ index 3fe3a94a393b1c60a96fcfed0074f62ca7a1d4de..8da61e14f2470dfb191d9dfaf19c7135
|
||||
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/sheep/Sheep.java b/net/minecraft/world/entity/animal/sheep/Sheep.java
|
||||
index a3df1d80dbaefb5bc7e7e2618039876bcf1d3462..7d4d13d78da258bdceae82cc57e0aa5a3e06fd7d 100644
|
||||
--- a/net/minecraft/world/entity/animal/sheep/Sheep.java
|
||||
+++ b/net/minecraft/world/entity/animal/sheep/Sheep.java
|
||||
@@ -101,6 +101,14 @@ public class Sheep extends Animal implements Shearable {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
+ // Purpur start - Configurable entity base attributes
|
||||
+ @Override
|
||||
+ public void initAttributes() {
|
||||
+ this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.sheepMaxHealth);
|
||||
+ this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.sheepScale);
|
||||
+ }
|
||||
+ // Purpur end - Configurable entity base attributes
|
||||
+
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.eatBlockGoal = new EatBlockGoal(this);
|
||||
diff --git a/net/minecraft/world/entity/animal/sniffer/Sniffer.java b/net/minecraft/world/entity/animal/sniffer/Sniffer.java
|
||||
index 151c2435810798708544f9cf20bcf77f5e384962..a5ff61a3697e2299c96288b6f8d7c6f2511d86d5 100644
|
||||
index 6c252b8021dbeb2a9ffee8a3744ac0165fd032e8..fab5a8d0974aab57a1e4a803eb4f3b47a3ee4a07 100644
|
||||
--- a/net/minecraft/world/entity/animal/sniffer/Sniffer.java
|
||||
+++ b/net/minecraft/world/entity/animal/sniffer/Sniffer.java
|
||||
@@ -105,6 +105,14 @@ public class Sniffer extends Animal {
|
||||
@@ -875,11 +856,30 @@ index 151c2435810798708544f9cf20bcf77f5e384962..a5ff61a3697e2299c96288b6f8d7c6f2
|
||||
@Override
|
||||
protected void defineSynchedData(SynchedEntityData.Builder builder) {
|
||||
super.defineSynchedData(builder);
|
||||
diff --git a/net/minecraft/world/entity/animal/wolf/Wolf.java b/net/minecraft/world/entity/animal/wolf/Wolf.java
|
||||
index cff9bc3d8c9ef1935c25c4001dfd638855062573..601343a604322bae7ef91eecc91da70ee377d8f3 100644
|
||||
--- a/net/minecraft/world/entity/animal/wolf/Wolf.java
|
||||
+++ b/net/minecraft/world/entity/animal/wolf/Wolf.java
|
||||
@@ -209,6 +209,14 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
+ // Purpur start - Configurable entity base attributes
|
||||
+ @Override
|
||||
+ public void initAttributes() {
|
||||
+ this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.wolfMaxHealth);
|
||||
+ this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.wolfScale);
|
||||
+ }
|
||||
+ // Purpur end - Configurable entity base attributes
|
||||
+
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||
diff --git a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
index bc9564ee22ff9d7f6d819da9601c2d8162d304e1..ca900bb646e16c7b4342f23c3ffae786eab28145 100644
|
||||
index a414934ae4332cc6cf622d4bb19c5937713f92a2..793567170b33ba21016b8767598d294fca4acec4 100644
|
||||
--- a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
+++ b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
@@ -163,6 +163,13 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -164,6 +164,13 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -893,7 +893,7 @@ index bc9564ee22ff9d7f6d819da9601c2d8162d304e1..ca900bb646e16c7b4342f23c3ffae786
|
||||
public static AttributeSupplier.Builder createAttributes() {
|
||||
return Mob.createMobAttributes().add(Attributes.MAX_HEALTH, 200.0);
|
||||
}
|
||||
@@ -1076,7 +1083,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -1062,7 +1069,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
|
||||
@Override
|
||||
protected float sanitizeScale(float scale) {
|
||||
@@ -903,10 +903,10 @@ index bc9564ee22ff9d7f6d819da9601c2d8162d304e1..ca900bb646e16c7b4342f23c3ffae786
|
||||
|
||||
// CraftBukkit start - SPIGOT-2420: Special case, the ender dragon drops 12000 xp for the first kill and 500 xp for every other kill and this over time.
|
||||
diff --git a/net/minecraft/world/entity/boss/wither/WitherBoss.java b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
index 5d97ae09292fb3209e7362df778e88dc508815a3..60e666aa8afe14b519010b6d137a89e3d22f6c81 100644
|
||||
index 15e2c0d566256c4ba175e991d6d7fd4fdcd49c8e..f0ec9334d9e6bf879568a085db691c46f7c652b6 100644
|
||||
--- a/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
+++ b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
@@ -211,6 +211,14 @@ public class WitherBoss extends Monster implements RangedAttackMob {
|
||||
@@ -212,6 +212,14 @@ public class WitherBoss extends Monster implements RangedAttackMob {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -921,7 +921,7 @@ index 5d97ae09292fb3209e7362df778e88dc508815a3..60e666aa8afe14b519010b6d137a89e3
|
||||
@Override
|
||||
protected PathNavigation createNavigation(Level level) {
|
||||
FlyingPathNavigation flyingPathNavigation = new FlyingPathNavigation(this, level);
|
||||
@@ -433,7 +441,7 @@ public class WitherBoss extends Monster implements RangedAttackMob {
|
||||
@@ -434,7 +442,7 @@ public class WitherBoss extends Monster implements RangedAttackMob {
|
||||
|
||||
this.setInvulnerableTicks(i);
|
||||
if (this.tickCount % 10 == 0) {
|
||||
@@ -931,7 +931,7 @@ index 5d97ae09292fb3209e7362df778e88dc508815a3..60e666aa8afe14b519010b6d137a89e3
|
||||
} else {
|
||||
super.customServerAiStep(level);
|
||||
diff --git a/net/minecraft/world/entity/monster/Blaze.java b/net/minecraft/world/entity/monster/Blaze.java
|
||||
index 201b08a75c42d90e657c3d56fc6691839e87199c..ece9e3e18c60d5ca9b4a8bd8899556c90cc8d039 100644
|
||||
index 971b974c6717a544f7f96c441cd76e9dc8d0cc2c..1636e2809701013a18700ac17807fe7ecf191aa5 100644
|
||||
--- a/net/minecraft/world/entity/monster/Blaze.java
|
||||
+++ b/net/minecraft/world/entity/monster/Blaze.java
|
||||
@@ -75,6 +75,14 @@ public class Blaze extends Monster {
|
||||
@@ -950,10 +950,10 @@ index 201b08a75c42d90e657c3d56fc6691839e87199c..ece9e3e18c60d5ca9b4a8bd8899556c9
|
||||
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/Bogged.java b/net/minecraft/world/entity/monster/Bogged.java
|
||||
index 2b603c1242aac307f28bae5a85bcaad309f929f5..2774602455b92745e789d83f17480c141eb89abf 100644
|
||||
index f572ee0a8edd6c4adb17c06083e165d4d8ed8550..bc8f46b656895d916e44a9e1dc9175da96c2fde8 100644
|
||||
--- a/net/minecraft/world/entity/monster/Bogged.java
|
||||
+++ b/net/minecraft/world/entity/monster/Bogged.java
|
||||
@@ -58,6 +58,14 @@ public class Bogged extends AbstractSkeleton implements Shearable {
|
||||
@@ -59,6 +59,14 @@ public class Bogged extends AbstractSkeleton implements Shearable {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -988,10 +988,10 @@ index 4873a3d8dd9c160ecdbda594ee546c35ec03a1e7..64eecd8d1acd318743800c1daa77cd97
|
||||
public boolean doHurtTarget(ServerLevel level, Entity source) {
|
||||
if (super.doHurtTarget(level, source)) {
|
||||
diff --git a/net/minecraft/world/entity/monster/Creeper.java b/net/minecraft/world/entity/monster/Creeper.java
|
||||
index cdcee233ed0c272e4a68a2a709fe92b21bc6c22c..31ede62a19321970d26f302399a60947b8d88b37 100644
|
||||
index 562641cdb76e7a50706459bee8a2dcdf441588cd..53a7390c61b9ada8784eae0c9b4e78ee85c68317 100644
|
||||
--- a/net/minecraft/world/entity/monster/Creeper.java
|
||||
+++ b/net/minecraft/world/entity/monster/Creeper.java
|
||||
@@ -131,6 +131,14 @@ public class Creeper extends Monster {
|
||||
@@ -135,6 +135,14 @@ public class Creeper extends Monster {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -1007,7 +1007,7 @@ index cdcee233ed0c272e4a68a2a709fe92b21bc6c22c..31ede62a19321970d26f302399a60947
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||
diff --git a/net/minecraft/world/entity/monster/Drowned.java b/net/minecraft/world/entity/monster/Drowned.java
|
||||
index c1da9ebee7e870a9143e6224be9e9f4e62232459..9c328f67260606d9252547848d5916cab4290e74 100644
|
||||
index be7b7eb8328277dc790b9953161c3603d3bbe873..526de34154d873d1479f9276981e181be959ebef 100644
|
||||
--- a/net/minecraft/world/entity/monster/Drowned.java
|
||||
+++ b/net/minecraft/world/entity/monster/Drowned.java
|
||||
@@ -92,6 +92,19 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
||||
@@ -1031,7 +1031,7 @@ index c1da9ebee7e870a9143e6224be9e9f4e62232459..9c328f67260606d9252547848d5916ca
|
||||
protected void addBehaviourGoals() {
|
||||
this.goalSelector.addGoal(1, new Drowned.DrownedGoToWaterGoal(this, 1.0));
|
||||
diff --git a/net/minecraft/world/entity/monster/ElderGuardian.java b/net/minecraft/world/entity/monster/ElderGuardian.java
|
||||
index c6eeaf7b460408acfdf89d988b47b08eab7df4c5..148ae4bca77874545a2a05fb7f29f9ac284feff6 100644
|
||||
index eccbb27aa7efa6e24e04db114b06c7dbf54f9938..15f037dbd9bafc8a978911dfa04c42f3c19dc7fd 100644
|
||||
--- a/net/minecraft/world/entity/monster/ElderGuardian.java
|
||||
+++ b/net/minecraft/world/entity/monster/ElderGuardian.java
|
||||
@@ -43,6 +43,14 @@ public class ElderGuardian extends Guardian {
|
||||
@@ -1050,10 +1050,10 @@ index c6eeaf7b460408acfdf89d988b47b08eab7df4c5..148ae4bca77874545a2a05fb7f29f9ac
|
||||
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 cf511c78638e0d7aa652d1c880b3cd8172d5b3cf..f8d6935439b4e672ed655b2a458451d4b1fa8ffd 100644
|
||||
index f991e59e896fc39da8f318871168b4c9bb0d8328..c01c91db94136700f9501624763e3bd735986a9f 100644
|
||||
--- a/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -107,6 +107,14 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -108,6 +108,14 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -1069,10 +1069,10 @@ index cf511c78638e0d7aa652d1c880b3cd8172d5b3cf..f8d6935439b4e672ed655b2a458451d4
|
||||
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 f4ab2e984dd87d2372aa10d2cbfd03a3f6fb1249..2ea45eba13d0b0ea2d3c1d1a3666d6e2e027a3ef 100644
|
||||
index ddb40c13cee7db16fc9b094828356e743e9507f2..a3095f2a5ff162d502502ad2ed0a485daba86962 100644
|
||||
--- a/net/minecraft/world/entity/monster/Endermite.java
|
||||
+++ b/net/minecraft/world/entity/monster/Endermite.java
|
||||
@@ -62,6 +62,14 @@ public class Endermite extends Monster {
|
||||
@@ -63,6 +63,14 @@ public class Endermite extends Monster {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -1088,7 +1088,7 @@ index f4ab2e984dd87d2372aa10d2cbfd03a3f6fb1249..2ea45eba13d0b0ea2d3c1d1a3666d6e2
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||
diff --git a/net/minecraft/world/entity/monster/Evoker.java b/net/minecraft/world/entity/monster/Evoker.java
|
||||
index 2eaeb0c0c0cb917506443ed1380b81f317961d53..d3d7e11a12af404d83e81888a9a633dfb93412ec 100644
|
||||
index 889f6be331b3b7b80de60c414b77d68947477f9e..5773dd99ad2b014dde6666f4b32a1e6ee024a9fc 100644
|
||||
--- a/net/minecraft/world/entity/monster/Evoker.java
|
||||
+++ b/net/minecraft/world/entity/monster/Evoker.java
|
||||
@@ -67,6 +67,14 @@ public class Evoker extends SpellcasterIllager {
|
||||
@@ -1107,10 +1107,10 @@ index 2eaeb0c0c0cb917506443ed1380b81f317961d53..d3d7e11a12af404d83e81888a9a633df
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/net/minecraft/world/entity/monster/Ghast.java b/net/minecraft/world/entity/monster/Ghast.java
|
||||
index 00c05fb5736c90c94f6fe51793acf8b65b1d0505..c5987f50b343ded580b3d3f264498d3893433f92 100644
|
||||
index e087a2348dee66e0374246e992ed66bb8f18dce0..a55d588709bbf04d4267bd991fb3be0daaba34d4 100644
|
||||
--- a/net/minecraft/world/entity/monster/Ghast.java
|
||||
+++ b/net/minecraft/world/entity/monster/Ghast.java
|
||||
@@ -76,6 +76,14 @@ public class Ghast extends FlyingMob implements Enemy {
|
||||
@@ -77,6 +77,14 @@ public class Ghast extends FlyingMob implements Enemy {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -1147,7 +1147,7 @@ index 135f83484ac31db7dcc225ba6f94e2e4ca27eea8..13021800af7cc9263ef4f393f9cfbda5
|
||||
return Monster.createMonsterAttributes().add(Attributes.MAX_HEALTH, 100.0).add(Attributes.MOVEMENT_SPEED, 0.5).add(Attributes.ATTACK_DAMAGE, 50.0);
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/monster/Guardian.java b/net/minecraft/world/entity/monster/Guardian.java
|
||||
index c20c744522459d938c772077e542ba433bc4c80e..546a4fe6d038d04c0be500e76ff4aebb02c3681a 100644
|
||||
index 26fb38b9741304f4fe461c929ead0f392255a3de..2b03af6e0f378d855c42fa688d0cd2bc8480102b 100644
|
||||
--- a/net/minecraft/world/entity/monster/Guardian.java
|
||||
+++ b/net/minecraft/world/entity/monster/Guardian.java
|
||||
@@ -90,6 +90,14 @@ public class Guardian extends Monster {
|
||||
@@ -1166,7 +1166,7 @@ index c20c744522459d938c772077e542ba433bc4c80e..546a4fe6d038d04c0be500e76ff4aebb
|
||||
protected void registerGoals() {
|
||||
MoveTowardsRestrictionGoal moveTowardsRestrictionGoal = new MoveTowardsRestrictionGoal(this, 1.0);
|
||||
diff --git a/net/minecraft/world/entity/monster/Husk.java b/net/minecraft/world/entity/monster/Husk.java
|
||||
index 23936305045299352561e866b6a28aa515cd614a..c2365ae1cf6f98e262f302a117c4647c383dfbb5 100644
|
||||
index 0335e85f196363c06597812149e9a93cba57fa9e..5b0794bd87423715cada1f860b4141fdacd9ede6 100644
|
||||
--- a/net/minecraft/world/entity/monster/Husk.java
|
||||
+++ b/net/minecraft/world/entity/monster/Husk.java
|
||||
@@ -38,6 +38,18 @@ public class Husk extends Zombie {
|
||||
@@ -1189,7 +1189,7 @@ index 23936305045299352561e866b6a28aa515cd614a..c2365ae1cf6f98e262f302a117c4647c
|
||||
EntityType<Husk> entityType, ServerLevelAccessor level, EntitySpawnReason spawnReason, BlockPos pos, RandomSource random
|
||||
) {
|
||||
diff --git a/net/minecraft/world/entity/monster/Illusioner.java b/net/minecraft/world/entity/monster/Illusioner.java
|
||||
index bd0f4d77260f5b123856fc7e72d5f8e74bb45321..1d1cf8748e3fba2e2963ad2fa153fbfe990f5087 100644
|
||||
index d75eb765f271fb7e33d0332079aea024788dc227..09804a8c789bff4f40277c2697c3f9aed00c4d15 100644
|
||||
--- a/net/minecraft/world/entity/monster/Illusioner.java
|
||||
+++ b/net/minecraft/world/entity/monster/Illusioner.java
|
||||
@@ -74,6 +74,16 @@ public class Illusioner extends SpellcasterIllager implements RangedAttackMob {
|
||||
@@ -1210,7 +1210,7 @@ index bd0f4d77260f5b123856fc7e72d5f8e74bb45321..1d1cf8748e3fba2e2963ad2fa153fbfe
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/net/minecraft/world/entity/monster/MagmaCube.java b/net/minecraft/world/entity/monster/MagmaCube.java
|
||||
index f10b204c18b88e9110cebf050b60c23367ea3aa0..2c6b0fd46d9ed6a8d1ca7e90ebf596dd3f310f0e 100644
|
||||
index 4a1299d6cee2807522de0c2d0d4745c5810e4121..bb1364c4a220cc93f7ac01cbaa617561de4cd2e3 100644
|
||||
--- a/net/minecraft/world/entity/monster/MagmaCube.java
|
||||
+++ b/net/minecraft/world/entity/monster/MagmaCube.java
|
||||
@@ -46,6 +46,28 @@ public class MagmaCube extends Slime {
|
||||
@@ -1243,10 +1243,10 @@ index f10b204c18b88e9110cebf050b60c23367ea3aa0..2c6b0fd46d9ed6a8d1ca7e90ebf596dd
|
||||
return Monster.createMonsterAttributes().add(Attributes.MOVEMENT_SPEED, 0.2F);
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/monster/Phantom.java b/net/minecraft/world/entity/monster/Phantom.java
|
||||
index 75c6a43a3ab4851a47990402bee49f7e8305cd60..08fc2dc0fecfa370c99e877d502149a8ea147e5f 100644
|
||||
index 2653cf2c353d7ae360201e74c4860a4745dd4948..2f14561a3722f8175a234ad656ef64d4c58e3b96 100644
|
||||
--- a/net/minecraft/world/entity/monster/Phantom.java
|
||||
+++ b/net/minecraft/world/entity/monster/Phantom.java
|
||||
@@ -151,7 +151,10 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -152,7 +152,10 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
private void updatePhantomSizeInfo() {
|
||||
this.refreshDimensions();
|
||||
if (level().purpurConfig.phantomFlamesOnSwoop && attackPhase == AttackPhase.SWOOP) shoot(); // Purpur - Ridables - Phantom flames on swoop
|
||||
@@ -1258,7 +1258,7 @@ index 75c6a43a3ab4851a47990402bee49f7e8305cd60..08fc2dc0fecfa370c99e877d502149a8
|
||||
}
|
||||
|
||||
public int getPhantomSize() {
|
||||
@@ -176,6 +179,23 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -177,6 +180,23 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1283,7 +1283,7 @@ index 75c6a43a3ab4851a47990402bee49f7e8305cd60..08fc2dc0fecfa370c99e877d502149a8
|
||||
public void tick() {
|
||||
super.tick();
|
||||
diff --git a/net/minecraft/world/entity/monster/Pillager.java b/net/minecraft/world/entity/monster/Pillager.java
|
||||
index 4e799981f04cd17a34f043dda82869adcf16ea98..9586aa3f3eb61fb0c1224df9d0104da69d7fa6bb 100644
|
||||
index 852316c9a9d0860a538eae32001e60f05dc6938f..eb4fcf0e78c39a4b94b7edb733694a87e3103552 100644
|
||||
--- a/net/minecraft/world/entity/monster/Pillager.java
|
||||
+++ b/net/minecraft/world/entity/monster/Pillager.java
|
||||
@@ -80,6 +80,14 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
|
||||
@@ -1302,10 +1302,10 @@ index 4e799981f04cd17a34f043dda82869adcf16ea98..9586aa3f3eb61fb0c1224df9d0104da6
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/net/minecraft/world/entity/monster/Ravager.java b/net/minecraft/world/entity/monster/Ravager.java
|
||||
index 09910d526cdf3484474463ee4ea1ca8501280e45..55ddffbea1b86fa0fd5c5f435a5f7633702c3e5b 100644
|
||||
index 382ef8b0f8d5c5ef6a7698097e9b41b7adc04353..3adf0ec66db61b556a06ffe0fe835b57f8520948 100644
|
||||
--- a/net/minecraft/world/entity/monster/Ravager.java
|
||||
+++ b/net/minecraft/world/entity/monster/Ravager.java
|
||||
@@ -89,6 +89,14 @@ public class Ravager extends Raider {
|
||||
@@ -92,6 +92,14 @@ public class Ravager extends Raider {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -1321,10 +1321,10 @@ index 09910d526cdf3484474463ee4ea1ca8501280e45..55ddffbea1b86fa0fd5c5f435a5f7633
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/net/minecraft/world/entity/monster/Shulker.java b/net/minecraft/world/entity/monster/Shulker.java
|
||||
index e0a496a0c584e1f90967a8528a73536fd991e774..03db684c122a07176aa1365550da935cdb66a1b9 100644
|
||||
index 14cddb216b32990c2ce2381a4d6bf6f76c686f95..2b19edafe00be425427f47cac045bf301e3caa39 100644
|
||||
--- a/net/minecraft/world/entity/monster/Shulker.java
|
||||
+++ b/net/minecraft/world/entity/monster/Shulker.java
|
||||
@@ -121,6 +121,14 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
@@ -126,6 +126,14 @@ public class Shulker extends AbstractGolem implements Enemy {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -1339,7 +1339,7 @@ index e0a496a0c584e1f90967a8528a73536fd991e774..03db684c122a07176aa1365550da935c
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
|
||||
@@ -608,7 +616,7 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
@@ -609,7 +617,7 @@ public class Shulker extends AbstractGolem implements Enemy {
|
||||
|
||||
@Override
|
||||
protected float sanitizeScale(float scale) {
|
||||
@@ -1347,9 +1347,9 @@ index e0a496a0c584e1f90967a8528a73536fd991e774..03db684c122a07176aa1365550da935c
|
||||
+ return Math.min(scale, MAX_SCALE); // Purpur - Configurable entity base attributes
|
||||
}
|
||||
|
||||
@Override
|
||||
private void setVariant(Optional<DyeColor> variant) {
|
||||
diff --git a/net/minecraft/world/entity/monster/Silverfish.java b/net/minecraft/world/entity/monster/Silverfish.java
|
||||
index 2e96d3de312c49fafc173e6d0c69ada1b11ae4ef..d3befe91bc65bbc2bc0d8651b78e8c9576cd0f75 100644
|
||||
index 19dcc657fd2a995638d5e23c2b043d012d978e79..c200d57841304ba0d7a76fdd9a440fe9f2b25136 100644
|
||||
--- a/net/minecraft/world/entity/monster/Silverfish.java
|
||||
+++ b/net/minecraft/world/entity/monster/Silverfish.java
|
||||
@@ -56,6 +56,16 @@ public class Silverfish extends Monster {
|
||||
@@ -1370,10 +1370,10 @@ index 2e96d3de312c49fafc173e6d0c69ada1b11ae4ef..d3befe91bc65bbc2bc0d8651b78e8c95
|
||||
protected void registerGoals() {
|
||||
this.friendsGoal = new Silverfish.SilverfishWakeUpFriendsGoal(this);
|
||||
diff --git a/net/minecraft/world/entity/monster/Skeleton.java b/net/minecraft/world/entity/monster/Skeleton.java
|
||||
index 4fa5495893ddaa3e4df1b44c16476948b7419370..e33c998233dbe366dfab3d7571e6ae879cd30ed0 100644
|
||||
index 9a197c2be40e0a69f4a68ff045c2395802f0a5f3..54941e5f93579db512472d324a48a9b272787b91 100644
|
||||
--- a/net/minecraft/world/entity/monster/Skeleton.java
|
||||
+++ b/net/minecraft/world/entity/monster/Skeleton.java
|
||||
@@ -42,6 +42,13 @@ public class Skeleton extends AbstractSkeleton {
|
||||
@@ -43,6 +43,13 @@ public class Skeleton extends AbstractSkeleton {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -1388,10 +1388,10 @@ index 4fa5495893ddaa3e4df1b44c16476948b7419370..e33c998233dbe366dfab3d7571e6ae87
|
||||
protected void defineSynchedData(SynchedEntityData.Builder builder) {
|
||||
super.defineSynchedData(builder);
|
||||
diff --git a/net/minecraft/world/entity/monster/Slime.java b/net/minecraft/world/entity/monster/Slime.java
|
||||
index 7d31d68ac0fce102af480a47db73409926611428..a6613f006521cbe93fee2eff3c348913b5939969 100644
|
||||
index 9127e99d632bcd01c2f042c33dc87dd49736b96f..015af82ab82c3676a7b80c01b83eaf61ee28b61b 100644
|
||||
--- a/net/minecraft/world/entity/monster/Slime.java
|
||||
+++ b/net/minecraft/world/entity/monster/Slime.java
|
||||
@@ -99,6 +99,39 @@ public class Slime extends Mob implements Enemy {
|
||||
@@ -100,6 +100,39 @@ public class Slime extends Mob implements Enemy {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -1431,7 +1431,7 @@ index 7d31d68ac0fce102af480a47db73409926611428..a6613f006521cbe93fee2eff3c348913
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
|
||||
@@ -129,9 +162,9 @@ public class Slime extends Mob implements Enemy {
|
||||
@@ -130,9 +163,9 @@ public class Slime extends Mob implements Enemy {
|
||||
this.entityData.set(ID_SIZE, i);
|
||||
this.reapplyPosition();
|
||||
this.refreshDimensions();
|
||||
@@ -1444,7 +1444,7 @@ index 7d31d68ac0fce102af480a47db73409926611428..a6613f006521cbe93fee2eff3c348913
|
||||
this.setHealth(this.getMaxHealth());
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/monster/Spider.java b/net/minecraft/world/entity/monster/Spider.java
|
||||
index ea83335dd0d128b32d2fe513eab82e642b533b4c..38d75a0a024fa1e7b12bfc5e3ab0ec8bb98cb17a 100644
|
||||
index 5721a690859a1232234c9f6a4385f7185d9800ec..c2bcf769a85a28616472b050cd09d3d6cc60e81f 100644
|
||||
--- a/net/minecraft/world/entity/monster/Spider.java
|
||||
+++ b/net/minecraft/world/entity/monster/Spider.java
|
||||
@@ -67,6 +67,14 @@ public class Spider extends Monster {
|
||||
@@ -1463,7 +1463,7 @@ index ea83335dd0d128b32d2fe513eab82e642b533b4c..38d75a0a024fa1e7b12bfc5e3ab0ec8b
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||
diff --git a/net/minecraft/world/entity/monster/Stray.java b/net/minecraft/world/entity/monster/Stray.java
|
||||
index ed7ba19870a09ac78c1f069040a25e47c4b19d3a..0323456fca18450c22bf3999df97ff148a89e4c5 100644
|
||||
index 4a7dbd1e4d927240433882a95822e9edfc83b827..b5465b552c5aea7603a54cfdeafe451bfaf38bf2 100644
|
||||
--- a/net/minecraft/world/entity/monster/Stray.java
|
||||
+++ b/net/minecraft/world/entity/monster/Stray.java
|
||||
@@ -39,6 +39,13 @@ public class Stray extends AbstractSkeleton {
|
||||
@@ -1481,10 +1481,10 @@ index ed7ba19870a09ac78c1f069040a25e47c4b19d3a..0323456fca18450c22bf3999df97ff14
|
||||
EntityType<Stray> entityType, ServerLevelAccessor level, EntitySpawnReason spawnReason, BlockPos pos, RandomSource random
|
||||
) {
|
||||
diff --git a/net/minecraft/world/entity/monster/Strider.java b/net/minecraft/world/entity/monster/Strider.java
|
||||
index 78671f02ef28f4a3b796b357d21fb4c9b64c153e..be0dc92bf5ae3da1368a649e9c4e7ff5dbb1c67c 100644
|
||||
index bb46a6ec3ad6a7d0943bf61028d5f9abf76bbeb7..4ea92637677997ab4c98da437394f5682ba2389a 100644
|
||||
--- a/net/minecraft/world/entity/monster/Strider.java
|
||||
+++ b/net/minecraft/world/entity/monster/Strider.java
|
||||
@@ -111,6 +111,14 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
|
||||
@@ -109,6 +109,14 @@ public class Strider extends Animal implements ItemSteerable {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -1500,7 +1500,7 @@ index 78671f02ef28f4a3b796b357d21fb4c9b64c153e..be0dc92bf5ae3da1368a649e9c4e7ff5
|
||||
EntityType<Strider> entityType, LevelAccessor level, EntitySpawnReason spawnReason, BlockPos pos, RandomSource random
|
||||
) {
|
||||
diff --git a/net/minecraft/world/entity/monster/Vex.java b/net/minecraft/world/entity/monster/Vex.java
|
||||
index 26528bc9a9cffb68f82917a3e70900cfb65304d7..8356906b2c0707e21021bb05f9ca01a95682880a 100644
|
||||
index 129c712f767fbbdcc7d0df83f838194102efcd15..43de5ca497f5e3ac3d64345cb998f392852e6e3b 100644
|
||||
--- a/net/minecraft/world/entity/monster/Vex.java
|
||||
+++ b/net/minecraft/world/entity/monster/Vex.java
|
||||
@@ -102,6 +102,14 @@ public class Vex extends Monster implements TraceableEntity {
|
||||
@@ -1519,10 +1519,10 @@ index 26528bc9a9cffb68f82917a3e70900cfb65304d7..8356906b2c0707e21021bb05f9ca01a9
|
||||
public boolean isFlapping() {
|
||||
return this.tickCount % TICKS_PER_FLAP == 0;
|
||||
diff --git a/net/minecraft/world/entity/monster/Vindicator.java b/net/minecraft/world/entity/monster/Vindicator.java
|
||||
index c1a1bb0be8bc77a1c0f771924f3bb8b4936d367b..0fc1b458101ba9d98d25c9637337caf0949bb893 100644
|
||||
index 922c5ce69fc2a3cb53dc230f4efe96bde91cd96a..01a5357d5359394b61f2456fdee8bf3aadf0ca32 100644
|
||||
--- a/net/minecraft/world/entity/monster/Vindicator.java
|
||||
+++ b/net/minecraft/world/entity/monster/Vindicator.java
|
||||
@@ -72,6 +72,14 @@ public class Vindicator extends AbstractIllager {
|
||||
@@ -73,6 +73,14 @@ public class Vindicator extends AbstractIllager {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -1538,7 +1538,7 @@ index c1a1bb0be8bc77a1c0f771924f3bb8b4936d367b..0fc1b458101ba9d98d25c9637337caf0
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/net/minecraft/world/entity/monster/Witch.java b/net/minecraft/world/entity/monster/Witch.java
|
||||
index 0b3c78e646d68ef57a7cf5d7eb77a07c497bd216..ff8380246f6c6c805b222a91ac6a1eb0d130558d 100644
|
||||
index 4c5372be4bfc68184a88825214d36477f83edf73..2ff6ae7e1c809fa6607cf4d8685ba9b8ac46064c 100644
|
||||
--- a/net/minecraft/world/entity/monster/Witch.java
|
||||
+++ b/net/minecraft/world/entity/monster/Witch.java
|
||||
@@ -73,6 +73,14 @@ public class Witch extends Raider implements RangedAttackMob {
|
||||
@@ -1557,7 +1557,7 @@ index 0b3c78e646d68ef57a7cf5d7eb77a07c497bd216..ff8380246f6c6c805b222a91ac6a1eb0
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/net/minecraft/world/entity/monster/WitherSkeleton.java b/net/minecraft/world/entity/monster/WitherSkeleton.java
|
||||
index b0f155564b11ff5fd2430694b937b7826df104ea..3342f2d92830049837636ff10b5e52f0d85fbd2c 100644
|
||||
index d8c10f5f93e3ca92a49e1df3216256450c62f219..213530a2378411db2bc597ba7e0bb68cfdb3ebc9 100644
|
||||
--- a/net/minecraft/world/entity/monster/WitherSkeleton.java
|
||||
+++ b/net/minecraft/world/entity/monster/WitherSkeleton.java
|
||||
@@ -51,6 +51,14 @@ public class WitherSkeleton extends AbstractSkeleton {
|
||||
@@ -1576,10 +1576,10 @@ index b0f155564b11ff5fd2430694b937b7826df104ea..3342f2d92830049837636ff10b5e52f0
|
||||
protected void registerGoals() {
|
||||
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, AbstractPiglin.class, true));
|
||||
diff --git a/net/minecraft/world/entity/monster/Zoglin.java b/net/minecraft/world/entity/monster/Zoglin.java
|
||||
index b279e33bb14dfea4813bba770daf950f5343419d..132b38d717ac3c5acc64a5ec519f345ac57021d8 100644
|
||||
index 636b1e88f6d76a4c0110fa34e89634eee3fbdcdf..9f5db385dabb01bda033aecaebd1d9b7c9e2ed0b 100644
|
||||
--- a/net/minecraft/world/entity/monster/Zoglin.java
|
||||
+++ b/net/minecraft/world/entity/monster/Zoglin.java
|
||||
@@ -102,6 +102,14 @@ public class Zoglin extends Monster implements HoglinBase {
|
||||
@@ -103,6 +103,14 @@ public class Zoglin extends Monster implements HoglinBase {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -1595,10 +1595,10 @@ index b279e33bb14dfea4813bba770daf950f5343419d..132b38d717ac3c5acc64a5ec519f345a
|
||||
protected Brain.Provider<Zoglin> brainProvider() {
|
||||
return Brain.provider(MEMORY_TYPES, SENSOR_TYPES);
|
||||
diff --git a/net/minecraft/world/entity/monster/Zombie.java b/net/minecraft/world/entity/monster/Zombie.java
|
||||
index 9f476680247f50ca9381a4919dadc15f210a543c..73dfc60d9d30ce53a75eaac2630cdd9a8c508ccc 100644
|
||||
index f9233f0689b26a8c65d60ab9421c1216d436bae7..126c5982c1b274cad67649b8e26391c7c4011bab 100644
|
||||
--- a/net/minecraft/world/entity/monster/Zombie.java
|
||||
+++ b/net/minecraft/world/entity/monster/Zombie.java
|
||||
@@ -117,6 +117,14 @@ public class Zombie extends Monster {
|
||||
@@ -121,6 +121,14 @@ public class Zombie extends Monster {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -1613,7 +1613,7 @@ index 9f476680247f50ca9381a4919dadc15f210a543c..73dfc60d9d30ce53a75eaac2630cdd9a
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
|
||||
@@ -631,7 +639,7 @@ public class Zombie extends Monster {
|
||||
@@ -633,7 +641,7 @@ public class Zombie extends Monster {
|
||||
}
|
||||
|
||||
protected void randomizeReinforcementsChance() {
|
||||
@@ -1623,10 +1623,10 @@ index 9f476680247f50ca9381a4919dadc15f210a543c..73dfc60d9d30ce53a75eaac2630cdd9a
|
||||
|
||||
@Override
|
||||
diff --git a/net/minecraft/world/entity/monster/ZombieVillager.java b/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||
index 33bb29bc03bce90750b3b9376a6ed848208a569d..578cfc33a493b5ebc2ed42733577129a8953a461 100644
|
||||
index 2d3636697a544e78113fc1e6902dd216acee070b..239e78203dec09653ef8e001aef3e4b95b0f7a7c 100644
|
||||
--- a/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||
+++ b/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||
@@ -95,6 +95,18 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
||||
@@ -94,6 +94,18 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -1646,7 +1646,7 @@ index 33bb29bc03bce90750b3b9376a6ed848208a569d..578cfc33a493b5ebc2ed42733577129a
|
||||
protected void defineSynchedData(SynchedEntityData.Builder builder) {
|
||||
super.defineSynchedData(builder);
|
||||
diff --git a/net/minecraft/world/entity/monster/ZombifiedPiglin.java b/net/minecraft/world/entity/monster/ZombifiedPiglin.java
|
||||
index 369f1224ea787ae034d86d0e92696882304cb271..1424954f5b4cf0fbe821425cd741b4b5c1bfed50 100644
|
||||
index f16aa79ba5137cd6132452c21b0dc81cbf4fac8b..ada982eb4dca7c75a5fd3576d3793f1f12819e51 100644
|
||||
--- a/net/minecraft/world/entity/monster/ZombifiedPiglin.java
|
||||
+++ b/net/minecraft/world/entity/monster/ZombifiedPiglin.java
|
||||
@@ -80,6 +80,14 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
|
||||
@@ -1664,7 +1664,7 @@ index 369f1224ea787ae034d86d0e92696882304cb271..1424954f5b4cf0fbe821425cd741b4b5
|
||||
@Override
|
||||
public void setPersistentAngerTarget(@Nullable UUID target) {
|
||||
this.persistentAngerTarget = target;
|
||||
@@ -262,7 +270,7 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
|
||||
@@ -265,7 +273,7 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
|
||||
|
||||
@Override
|
||||
protected void randomizeReinforcementsChance() {
|
||||
@@ -1674,7 +1674,7 @@ index 369f1224ea787ae034d86d0e92696882304cb271..1424954f5b4cf0fbe821425cd741b4b5
|
||||
|
||||
@Nullable
|
||||
diff --git a/net/minecraft/world/entity/monster/creaking/Creaking.java b/net/minecraft/world/entity/monster/creaking/Creaking.java
|
||||
index 57ac66c2de97c9b5940c1f0af663a1a26d2c8b73..887a81ea82b86edceaa46eb2032f53fccb84e158 100644
|
||||
index a23d624abb0622d362af0dc816425283e25c479a..d19f34616942177e736ba507c27ec93ba1e1e903 100644
|
||||
--- a/net/minecraft/world/entity/monster/creaking/Creaking.java
|
||||
+++ b/net/minecraft/world/entity/monster/creaking/Creaking.java
|
||||
@@ -125,6 +125,14 @@ public class Creaking extends Monster {
|
||||
@@ -1693,10 +1693,10 @@ index 57ac66c2de97c9b5940c1f0af663a1a26d2c8b73..887a81ea82b86edceaa46eb2032f53fc
|
||||
protected BodyRotationControl createBodyControl() {
|
||||
return new Creaking.CreakingBodyRotationControl(this);
|
||||
diff --git a/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
index 028e09e1d8a14d989b2c19ca62e6544a93e1f1c4..54924cd7c84cbcd22ffc0bd37fc24f24e73c18bc 100644
|
||||
index 7c83e0612b8b0d48966aa3808d86daac79753584..6b0eb12e9d879f22098eb2294d0d73db6ca266ed 100644
|
||||
--- a/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
+++ b/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
@@ -109,6 +109,14 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
||||
@@ -112,6 +112,14 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -1712,10 +1712,10 @@ index 028e09e1d8a14d989b2c19ca62e6544a93e1f1c4..54924cd7c84cbcd22ffc0bd37fc24f24
|
||||
public void setTimeInOverworld(int timeInOverworld) {
|
||||
this.timeInOverworld = timeInOverworld;
|
||||
diff --git a/net/minecraft/world/entity/monster/piglin/Piglin.java b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
index 02d748ecb10c3e20aafc0c449b99ca5b6cd80e04..897c57263ab7347987b289016a71d11f693bc8b2 100644
|
||||
index 589e3014fb86448456c249c0255186644abb13c2..b37038568b83db1602dca06aa06d72c4c4978cdd 100644
|
||||
--- a/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
+++ b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
@@ -168,6 +168,14 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||
@@ -153,6 +153,14 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -1731,7 +1731,7 @@ index 02d748ecb10c3e20aafc0c449b99ca5b6cd80e04..897c57263ab7347987b289016a71d11f
|
||||
public void addAdditionalSaveData(CompoundTag compound) {
|
||||
super.addAdditionalSaveData(compound);
|
||||
diff --git a/net/minecraft/world/entity/monster/piglin/PiglinBrute.java b/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
|
||||
index 97241682311797faa93927e0477a7646ce53b2c8..eb82252cd87797927e153974b9280b5eaa251080 100644
|
||||
index 4c8e49ba064241ec7ac505fa6f5df6d7f9c009b6..f52aba35ee7e202074cda8fb4dfd6a7d9ded1f09 100644
|
||||
--- a/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
|
||||
+++ b/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
|
||||
@@ -82,6 +82,14 @@ public class PiglinBrute extends AbstractPiglin {
|
||||
@@ -1750,10 +1750,10 @@ index 97241682311797faa93927e0477a7646ce53b2c8..eb82252cd87797927e153974b9280b5e
|
||||
return Monster.createMonsterAttributes()
|
||||
.add(Attributes.MAX_HEALTH, 50.0)
|
||||
diff --git a/net/minecraft/world/entity/npc/Villager.java b/net/minecraft/world/entity/npc/Villager.java
|
||||
index 52b54c59efd68a955a6e7cc49b01f614043c505d..c71d0f8efacb60e49395567fdc0c1c1e6e6f5aa8 100644
|
||||
index 15669f9157dc3d3d5e3fb76a668c7e3b43ee8a52..b2687ee9494d491971fa4124382b214d7c3ba9be 100644
|
||||
--- a/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -268,6 +268,14 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -271,6 +271,14 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -1769,10 +1769,10 @@ index 52b54c59efd68a955a6e7cc49b01f614043c505d..c71d0f8efacb60e49395567fdc0c1c1e
|
||||
public Brain<Villager> getBrain() {
|
||||
return (Brain<Villager>)super.getBrain();
|
||||
diff --git a/net/minecraft/world/entity/npc/WanderingTrader.java b/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
index 7e4d14d30eb3f06c0c7426e09084355ab4f3857d..b5af32a431b5ffe20b32bd82ccfae9b8343d0592 100644
|
||||
index 21ab5911d52e49ec2de99071cb85ff2daa090dc4..4abc4037a059b9c1dc58bf7a776e6269c5188868 100644
|
||||
--- a/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
+++ b/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
@@ -93,6 +93,13 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
@@ -83,6 +83,13 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Barrels and enderchests 6 rows
|
||||
|
||||
|
||||
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
|
||||
index 2d09f2a2c97f29ac0d941b7a3fb941102a5d545e..94abb9d8f6381aee000dbd0720477db8b7ca279c 100644
|
||||
index ccea424d813a4c137fa15612b7bcf4fdb5c9a811..a1304bc3b1ebb9fa246004ae418481d48c46975c 100644
|
||||
--- a/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1027,6 +1027,27 @@ public abstract class PlayerList {
|
||||
@@ -1029,6 +1029,27 @@ public abstract class PlayerList {
|
||||
player.getBukkitEntity().recalculatePermissions(); // CraftBukkit
|
||||
this.server.getCommands().sendCommands(player);
|
||||
} // Paper - Add sendOpLevel API
|
||||
@@ -37,10 +37,10 @@ index 2d09f2a2c97f29ac0d941b7a3fb941102a5d545e..94abb9d8f6381aee000dbd0720477db8
|
||||
|
||||
public boolean isWhiteListed(GameProfile profile) {
|
||||
diff --git a/net/minecraft/world/entity/player/Player.java b/net/minecraft/world/entity/player/Player.java
|
||||
index d0321875d2a2b612b438cc7973a7e9f172a61778..15308ff3ed5835e3b8f41e7ddc2045f424e14660 100644
|
||||
index 2417c26a03decf756ad93cd54265277c95c653ca..87c8bc6f9128d2fcb19628bc3ef354e517b632bb 100644
|
||||
--- a/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/net/minecraft/world/entity/player/Player.java
|
||||
@@ -202,6 +202,7 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -212,6 +212,7 @@ public abstract class Player extends LivingEntity {
|
||||
public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET; // Paper - flying fall damage
|
||||
public int burpDelay = 0; // Purpur - Burp delay
|
||||
public boolean canPortalInstant = false; // Purpur - Add portal permission bypass
|
||||
@@ -49,7 +49,7 @@ index d0321875d2a2b612b438cc7973a7e9f172a61778..15308ff3ed5835e3b8f41e7ddc2045f4
|
||||
// CraftBukkit start
|
||||
public boolean fauxSleeping;
|
||||
diff --git a/net/minecraft/world/inventory/ChestMenu.java b/net/minecraft/world/inventory/ChestMenu.java
|
||||
index 280169afbd637eeb67ddf7eaeb4eecd464a128d5..ba7730a24831efa33de4c5ffce57bfa7177f89d6 100644
|
||||
index 0fffa384f928ab84451331380968fb4650eafe26..0399092c9f7a43ac100c11505176ade6d95a39da 100644
|
||||
--- a/net/minecraft/world/inventory/ChestMenu.java
|
||||
+++ b/net/minecraft/world/inventory/ChestMenu.java
|
||||
@@ -66,10 +66,30 @@ public class ChestMenu extends AbstractContainerMenu {
|
||||
@@ -84,7 +84,7 @@ index 280169afbd637eeb67ddf7eaeb4eecd464a128d5..ba7730a24831efa33de4c5ffce57bfa7
|
||||
return new ChestMenu(MenuType.GENERIC_9x6, containerId, playerInventory, container, 6);
|
||||
}
|
||||
diff --git a/net/minecraft/world/inventory/PlayerEnderChestContainer.java b/net/minecraft/world/inventory/PlayerEnderChestContainer.java
|
||||
index a6a359bab2a727f4631b633a8bb370dd40decc75..d2d75e5c34c97300ce5da8c7ea70958aba31fa4a 100644
|
||||
index bc2b95973192069fc64581b59583b19df876f55d..b68d57eee9605dba8ecd31f82185ec3ea81d60c1 100644
|
||||
--- a/net/minecraft/world/inventory/PlayerEnderChestContainer.java
|
||||
+++ b/net/minecraft/world/inventory/PlayerEnderChestContainer.java
|
||||
@@ -25,11 +25,18 @@ public class PlayerEnderChestContainer extends SimpleContainer {
|
||||
@@ -108,7 +108,7 @@ index a6a359bab2a727f4631b633a8bb370dd40decc75..d2d75e5c34c97300ce5da8c7ea70958a
|
||||
this.activeChest = enderChestBlockEntity;
|
||||
}
|
||||
diff --git a/net/minecraft/world/level/block/EnderChestBlock.java b/net/minecraft/world/level/block/EnderChestBlock.java
|
||||
index f5533960708bdbaf2eacefbc7c7c3123b7d26502..17aa27885b4431bf7b98799e02d080b5a0ecbbf1 100644
|
||||
index 5077a9ff7b78801bdc53536a37aee07b8d86ee4d..72794e204f7fcc31ece94913b7fd9f36ae022b10 100644
|
||||
--- a/net/minecraft/world/level/block/EnderChestBlock.java
|
||||
+++ b/net/minecraft/world/level/block/EnderChestBlock.java
|
||||
@@ -85,8 +85,8 @@ public class EnderChestBlock extends AbstractChestBlock<EnderChestBlockEntity> i
|
||||
@@ -159,13 +159,13 @@ index f5533960708bdbaf2eacefbc7c7c3123b7d26502..17aa27885b4431bf7b98799e02d080b5
|
||||
public BlockEntity newBlockEntity(BlockPos pos, BlockState state) {
|
||||
return new EnderChestBlockEntity(pos, state);
|
||||
diff --git a/net/minecraft/world/level/block/entity/BarrelBlockEntity.java b/net/minecraft/world/level/block/entity/BarrelBlockEntity.java
|
||||
index 0f808855f58281578c2758513787f0f7330c9291..9f6063089f0aa3a68d26ae7cfe39379123ab2f47 100644
|
||||
index 027502d0af5512c31878978c4d05c52fa3029cca..f5216355ef13593bc7333d50a003012e25b3d7ea 100644
|
||||
--- a/net/minecraft/world/level/block/entity/BarrelBlockEntity.java
|
||||
+++ b/net/minecraft/world/level/block/entity/BarrelBlockEntity.java
|
||||
@@ -55,7 +55,17 @@ public class BarrelBlockEntity extends RandomizableContainerBlockEntity {
|
||||
this.maxStack = i;
|
||||
@@ -56,7 +56,17 @@ public class BarrelBlockEntity extends RandomizableContainerBlockEntity {
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
- private NonNullList<ItemStack> items = NonNullList.withSize(27, ItemStack.EMPTY);
|
||||
+ // Purpur start - Barrels and enderchests 6 rows
|
||||
+ private NonNullList<ItemStack> items = NonNullList.withSize(switch (org.purpurmc.purpur.PurpurConfig.barrelRows) {
|
||||
@@ -181,7 +181,7 @@ index 0f808855f58281578c2758513787f0f7330c9291..9f6063089f0aa3a68d26ae7cfe393791
|
||||
public final ContainerOpenersCounter openersCounter = new ContainerOpenersCounter() {
|
||||
@Override
|
||||
protected void onOpen(Level level, BlockPos pos, BlockState state) {
|
||||
@@ -107,7 +117,16 @@ public class BarrelBlockEntity extends RandomizableContainerBlockEntity {
|
||||
@@ -108,7 +118,16 @@ public class BarrelBlockEntity extends RandomizableContainerBlockEntity {
|
||||
|
||||
@Override
|
||||
public int getContainerSize() {
|
||||
@@ -199,7 +199,7 @@ index 0f808855f58281578c2758513787f0f7330c9291..9f6063089f0aa3a68d26ae7cfe393791
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -127,7 +146,16 @@ public class BarrelBlockEntity extends RandomizableContainerBlockEntity {
|
||||
@@ -128,7 +147,16 @@ public class BarrelBlockEntity extends RandomizableContainerBlockEntity {
|
||||
|
||||
@Override
|
||||
protected AbstractContainerMenu createMenu(int id, Inventory player) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Chickens can retaliate
|
||||
|
||||
|
||||
diff --git a/net/minecraft/world/entity/animal/Chicken.java b/net/minecraft/world/entity/animal/Chicken.java
|
||||
index 509163f409a5b8988a484aedb2f3ddf042d5eb13..d718f0ed362c49803260dceed64bd93e2b6744fc 100644
|
||||
index 40fc57f1c298e1c70fddf8b6eb2f3e8e9e41e60c..fc3291b5e1a2c3956802b268abb58189b24a7a16 100644
|
||||
--- a/net/minecraft/world/entity/animal/Chicken.java
|
||||
+++ b/net/minecraft/world/entity/animal/Chicken.java
|
||||
@@ -73,6 +73,11 @@ public class Chicken extends Animal {
|
||||
@@ -93,6 +93,11 @@ public class Chicken extends Animal {
|
||||
public void initAttributes() {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.chickenMaxHealth);
|
||||
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.chickenScale);
|
||||
@@ -20,7 +20,7 @@ index 509163f409a5b8988a484aedb2f3ddf042d5eb13..d718f0ed362c49803260dceed64bd93e
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -80,13 +85,21 @@ public class Chicken extends Animal {
|
||||
@@ -100,13 +105,21 @@ public class Chicken extends Animal {
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
|
||||
@@ -43,7 +43,7 @@ index 509163f409a5b8988a484aedb2f3ddf042d5eb13..d718f0ed362c49803260dceed64bd93e
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -95,7 +108,7 @@ public class Chicken extends Animal {
|
||||
@@ -115,7 +128,7 @@ public class Chicken extends Animal {
|
||||
}
|
||||
|
||||
public static AttributeSupplier.Builder createAttributes() {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Minecart settings and WASD controls
|
||||
|
||||
|
||||
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
|
||||
index 7ebecee1de098c218304868b1223b914941cae8a..561ee18dfd063f1853a1389f245e8b29bc0b68a7 100644
|
||||
index cf26a10e4ccf0f28817ce53b3c5bf1df02259273..580e79d19a728deed4719a8d2e5d70b532397781 100644
|
||||
--- a/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1247,6 +1247,11 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
@@ -1149,6 +1149,11 @@ public class ServerPlayer extends Player {
|
||||
} else {
|
||||
// Purpur start - Add boat fall damage config
|
||||
if (damageSource.is(net.minecraft.tags.DamageTypeTags.IS_FALL)) {
|
||||
@@ -21,13 +21,13 @@ index 7ebecee1de098c218304868b1223b914941cae8a..561ee18dfd063f1853a1389f245e8b29
|
||||
return false;
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/net/minecraft/world/entity/vehicle/AbstractMinecart.java
|
||||
index 9e15e7159cf98b3928110df9eae6de93793bf44e..6df4d736d94b9e49a3eb3d59a329e37127aa64cd 100644
|
||||
index 99617c08cbd989092ba357d8df928786fd04c89a..9d88b260528c3cea2c5fe8e2760094b0a8a35667 100644
|
||||
--- a/net/minecraft/world/entity/vehicle/AbstractMinecart.java
|
||||
+++ b/net/minecraft/world/entity/vehicle/AbstractMinecart.java
|
||||
@@ -83,6 +83,10 @@ public abstract class AbstractMinecart extends VehicleEntity {
|
||||
@@ -103,6 +103,10 @@ public abstract class AbstractMinecart extends VehicleEntity {
|
||||
private double flyingY = 0.95;
|
||||
private double flyingZ = 0.95;
|
||||
public Double maxSpeed;
|
||||
public @Nullable Double maxSpeed;
|
||||
+ // Purpur start - Minecart settings and WASD controls
|
||||
+ public double storedMaxSpeed;
|
||||
+ public boolean isNewBehavior;
|
||||
@@ -35,7 +35,7 @@ index 9e15e7159cf98b3928110df9eae6de93793bf44e..6df4d736d94b9e49a3eb3d59a329e371
|
||||
public net.kyori.adventure.util.TriState frictionState = net.kyori.adventure.util.TriState.NOT_SET; // Paper - Friction API
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -91,8 +95,13 @@ public abstract class AbstractMinecart extends VehicleEntity {
|
||||
@@ -111,8 +115,13 @@ public abstract class AbstractMinecart extends VehicleEntity {
|
||||
this.blocksBuilding = true;
|
||||
if (useExperimentalMovement(level)) {
|
||||
this.behavior = new NewMinecartBehavior(this);
|
||||
@@ -49,7 +49,7 @@ index 9e15e7159cf98b3928110df9eae6de93793bf44e..6df4d736d94b9e49a3eb3d59a329e371
|
||||
}
|
||||
}
|
||||
|
||||
@@ -258,6 +267,14 @@ public abstract class AbstractMinecart extends VehicleEntity {
|
||||
@@ -277,6 +286,14 @@ public abstract class AbstractMinecart extends VehicleEntity {
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
@@ -64,7 +64,7 @@ index 9e15e7159cf98b3928110df9eae6de93793bf44e..6df4d736d94b9e49a3eb3d59a329e371
|
||||
// CraftBukkit start
|
||||
double prevX = this.getX();
|
||||
double prevY = this.getY();
|
||||
@@ -394,15 +411,61 @@ public abstract class AbstractMinecart extends VehicleEntity {
|
||||
@@ -384,15 +401,61 @@ public abstract class AbstractMinecart extends VehicleEntity {
|
||||
this.behavior.moveAlongTrack(level);
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Villagers follow emerald blocks
|
||||
|
||||
|
||||
diff --git a/net/minecraft/world/entity/ai/attributes/DefaultAttributes.java b/net/minecraft/world/entity/ai/attributes/DefaultAttributes.java
|
||||
index 61ed4d687120fcbb7b91863e400f3657ebcde687..e773c426567964fc8269237d71c3434a5473985c 100644
|
||||
index 75d8fe03558ba38caf46c826dfea5208f88bde52..46022a0aabc9c319deeb75913d356eeb74f1a12c 100644
|
||||
--- a/net/minecraft/world/entity/ai/attributes/DefaultAttributes.java
|
||||
+++ b/net/minecraft/world/entity/ai/attributes/DefaultAttributes.java
|
||||
@@ -162,7 +162,7 @@ public class DefaultAttributes {
|
||||
@@ -31,23 +31,22 @@ index 438d6347778a94b4fe430320b268a2d67afa209a..f88f618d34fb343b31de3af1a875d663
|
||||
|
||||
@Override
|
||||
diff --git a/net/minecraft/world/entity/npc/AbstractVillager.java b/net/minecraft/world/entity/npc/AbstractVillager.java
|
||||
index a71d16d968bb90fd7aca6f01a3dd56df4f9a7ce6..b4e79cac5611942240ce85120f7bbee329ae2fb8 100644
|
||||
index 1d3381f1481bb2b192bb78462c85c2a185d94ad5..e574c38e1c1c13fc2f96340138f784697cef8c48 100644
|
||||
--- a/net/minecraft/world/entity/npc/AbstractVillager.java
|
||||
+++ b/net/minecraft/world/entity/npc/AbstractVillager.java
|
||||
@@ -45,6 +45,8 @@ import org.bukkit.event.entity.VillagerAcquireTradeEvent;
|
||||
// CraftBukkit end
|
||||
@@ -35,6 +35,7 @@ import net.minecraft.world.level.portal.TeleportTransition;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
|
||||
public abstract class AbstractVillager extends AgeableMob implements InventoryCarrier, Npc, Merchant {
|
||||
+ static final net.minecraft.world.item.crafting.Ingredient TEMPT_ITEMS = net.minecraft.world.item.crafting.Ingredient.of(net.minecraft.world.level.block.Blocks.EMERALD_BLOCK.asItem()); // Purpur - Villagers follow emerald blocks
|
||||
+
|
||||
// CraftBukkit start
|
||||
@Override
|
||||
public CraftMerchant getCraftMerchant() {
|
||||
private static final EntityDataAccessor<Integer> DATA_UNHAPPY_COUNTER = SynchedEntityData.defineId(AbstractVillager.class, EntityDataSerializers.INT);
|
||||
public static final int VILLAGER_SLOT_OFFSET = 300;
|
||||
private static final int VILLAGER_INVENTORY_SIZE = 8;
|
||||
diff --git a/net/minecraft/world/entity/npc/Villager.java b/net/minecraft/world/entity/npc/Villager.java
|
||||
index c71d0f8efacb60e49395567fdc0c1c1e6e6f5aa8..2f685a186b2dc27e70cddd5c4951c27e7ee3ef53 100644
|
||||
index b2687ee9494d491971fa4124382b214d7c3ba9be..005af720a6385056f09f939813e97c10a7414a91 100644
|
||||
--- a/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -265,6 +265,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -268,6 +268,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this));
|
||||
@@ -55,7 +54,7 @@ index c71d0f8efacb60e49395567fdc0c1c1e6e6f5aa8..2f685a186b2dc27e70cddd5c4951c27e
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -273,6 +274,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -276,6 +277,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
public void initAttributes() {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.villagerMaxHealth);
|
||||
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.villagerScale);
|
||||
@@ -63,7 +62,7 @@ index c71d0f8efacb60e49395567fdc0c1c1e6e6f5aa8..2f685a186b2dc27e70cddd5c4951c27e
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -341,7 +343,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -344,7 +346,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
}
|
||||
|
||||
public static AttributeSupplier.Builder createAttributes() {
|
||||
@@ -73,10 +72,10 @@ index c71d0f8efacb60e49395567fdc0c1c1e6e6f5aa8..2f685a186b2dc27e70cddd5c4951c27e
|
||||
|
||||
public boolean assignProfessionWhenSpawned() {
|
||||
diff --git a/net/minecraft/world/entity/npc/WanderingTrader.java b/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
index b5af32a431b5ffe20b32bd82ccfae9b8343d0592..f9755f36f7863b9742fe5b840a8130891ddff7c7 100644
|
||||
index 4abc4037a059b9c1dc58bf7a776e6269c5188868..e726893a3ddf49bdfd2d190477bccf6e33de1847 100644
|
||||
--- a/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
+++ b/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
@@ -97,9 +97,16 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
@@ -87,9 +87,16 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
@Override
|
||||
public void initAttributes() {
|
||||
this.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.wanderingTraderMaxHealth);
|
||||
@@ -93,7 +92,7 @@ index b5af32a431b5ffe20b32bd82ccfae9b8343d0592..f9755f36f7863b9742fe5b840a813089
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
@@ -134,6 +141,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
@@ -124,6 +131,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
this.goalSelector.addGoal(1, new PanicGoal(this, 0.5));
|
||||
this.goalSelector.addGoal(1, new LookAtTradingPlayerGoal(this));
|
||||
this.goalSelector.addGoal(2, new WanderingTrader.WanderToPositionGoal(this, 2.0, 0.35));
|
||||
|
||||
@@ -7,10 +7,10 @@ temporarily migrate to paper's config
|
||||
drop patch on the next minecraft release
|
||||
|
||||
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
|
||||
index 2bd5a295be2500f198230a62f48900b51038d22b..96253bf49a6895524f6f606a9c434cb1b78948a6 100644
|
||||
index 6ad266592c16bdeccfb689fb2ef2ee37e79a7b41..e950e74d7c14d2e180e5ca879eb1048866d85051 100644
|
||||
--- a/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1222,6 +1222,16 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1140,6 +1140,16 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
}
|
||||
// Purpur end - config for startup commands
|
||||
|
||||
@@ -28,10 +28,10 @@ index 2bd5a295be2500f198230a62f48900b51038d22b..96253bf49a6895524f6f606a9c434cb1
|
||||
long l;
|
||||
if (!this.isPaused() && this.tickRateManager.isSprinting() && this.tickRateManager.checkShouldSprintThisTick()) {
|
||||
diff --git a/net/minecraft/server/dedicated/DedicatedServer.java b/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
index 8b9689d8903cf6cf6f4168d9d9d8684cfc60d762..4c81c4172d2e077ec7d627c2db8e7294c5b90a64 100644
|
||||
index 19bb96242fed268c23381a6f3eaef21e723666c5..127935326dbfa0aa454dc12d52dcef328fcf2771 100644
|
||||
--- a/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
+++ b/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -209,6 +209,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
@@ -168,6 +168,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
org.spigotmc.SpigotConfig.registerCommands();
|
||||
// Spigot end
|
||||
io.papermc.paper.util.ObfHelper.INSTANCE.getClass(); // Paper - load mappings for stacktrace deobf and etc.
|
||||
|
||||
@@ -5,12 +5,12 @@ Subject: [PATCH] Implement elytra settings
|
||||
|
||||
|
||||
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
|
||||
index 631ac66e7bad8c0b789cf762b54db3b8ffe4b44a..ea8ef5c1b2ad9be827ea35a2858cbe8de6dacac7 100644
|
||||
index 5208518ad9fe86e25b07aeffa9633407aa6f2f1c..7b635a3f047a7f645322bdd8ce5bfa8350d7a739 100644
|
||||
--- a/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -3620,7 +3620,18 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
if (i1 % 2 == 0) {
|
||||
List<EquipmentSlot> list = EquipmentSlot.VALUES.stream().filter(slot -> canGlideUsing(this.getItemBySlot(slot), slot)).toList();
|
||||
@@ -3644,7 +3644,18 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
.filter(equipmentSlot1 -> canGlideUsing(this.getItemBySlot(equipmentSlot1), equipmentSlot1))
|
||||
.toList();
|
||||
EquipmentSlot equipmentSlot = Util.getRandom(list, this.random);
|
||||
- this.getItemBySlot(equipmentSlot).hurtAndBreak(1, this, equipmentSlot);
|
||||
+
|
||||
@@ -29,10 +29,10 @@ index 631ac66e7bad8c0b789cf762b54db3b8ffe4b44a..ea8ef5c1b2ad9be827ea35a2858cbe8d
|
||||
|
||||
this.gameEvent(GameEvent.ELYTRA_GLIDE);
|
||||
diff --git a/net/minecraft/world/item/FireworkRocketItem.java b/net/minecraft/world/item/FireworkRocketItem.java
|
||||
index 75a9bd205f32b77c5d242cb9fac0f571ce36045a..b03f182c62c699cc222e67c1ae6eadf99c45d48d 100644
|
||||
index 18d63d2da49451a2d5e1da7bf0c00e05e2f192bc..ab35b0db023f48854476497d0dbdb0dffbeddb43 100644
|
||||
--- a/net/minecraft/world/item/FireworkRocketItem.java
|
||||
+++ b/net/minecraft/world/item/FireworkRocketItem.java
|
||||
@@ -66,6 +66,19 @@ public class FireworkRocketItem extends Item implements ProjectileItem {
|
||||
@@ -62,6 +62,19 @@ public class FireworkRocketItem extends Item implements ProjectileItem {
|
||||
com.destroystokyo.paper.event.player.PlayerElytraBoostEvent event = new com.destroystokyo.paper.event.player.PlayerElytraBoostEvent((org.bukkit.entity.Player) player.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemInHand), (org.bukkit.entity.Firework) delayed.projectile().getBukkitEntity(), org.bukkit.craftbukkit.CraftEquipmentSlot.getHand(hand));
|
||||
if (event.callEvent() && delayed.attemptSpawn()) {
|
||||
player.awardStat(Stats.ITEM_USED.get(this)); // Moved up from below
|
||||
@@ -53,10 +53,10 @@ index 75a9bd205f32b77c5d242cb9fac0f571ce36045a..b03f182c62c699cc222e67c1ae6eadf9
|
||||
itemInHand.shrink(1); // Moved up from below
|
||||
} else {
|
||||
diff --git a/net/minecraft/world/item/ItemStack.java b/net/minecraft/world/item/ItemStack.java
|
||||
index c5426585f53a3139dc9d188a73e3a7ff4cb2e492..264b713e8b7c3d5f7d8e1facc90a60349f2cf414 100644
|
||||
index 8c9f64140f016edfadeeb75463655cc2f3fafc0c..84e7f1b119ccfdabf48ccac51278e19743840da7 100644
|
||||
--- a/net/minecraft/world/item/ItemStack.java
|
||||
+++ b/net/minecraft/world/item/ItemStack.java
|
||||
@@ -733,6 +733,14 @@ public final class ItemStack implements DataComponentHolder {
|
||||
@@ -725,6 +725,14 @@ public final class ItemStack implements DataComponentHolder {
|
||||
org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerItemBreakEvent(serverPlayer, this); // Paper - Add EntityDamageItemEvent
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -72,10 +72,10 @@ index c5426585f53a3139dc9d188a73e3a7ff4cb2e492..264b713e8b7c3d5f7d8e1facc90a6034
|
||||
onBreak.accept(item);
|
||||
}
|
||||
diff --git a/net/minecraft/world/item/TridentItem.java b/net/minecraft/world/item/TridentItem.java
|
||||
index 07f8c7644a112bb1ba283d1eadd8661010e888a4..7ea7db834e7b627a1d7d37ca87cd43eb61408565 100644
|
||||
index 5ed862c4eeb9995b25f6a0ee1b57b2fdafb92551..59b1a455895d2842e45d916dcf53dead32e1c72a 100644
|
||||
--- a/net/minecraft/world/item/TridentItem.java
|
||||
+++ b/net/minecraft/world/item/TridentItem.java
|
||||
@@ -133,6 +133,18 @@ public class TridentItem extends Item implements ProjectileItem {
|
||||
@@ -127,6 +127,18 @@ public class TridentItem extends Item implements ProjectileItem {
|
||||
f1 *= tridentSpinAttackStrength / squareRoot;
|
||||
f2 *= tridentSpinAttackStrength / squareRoot;
|
||||
org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerRiptideEvent(player, stack, f, f1, f2); // CraftBukkit
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable jockey options
|
||||
|
||||
|
||||
diff --git a/net/minecraft/world/entity/monster/Drowned.java b/net/minecraft/world/entity/monster/Drowned.java
|
||||
index 3b0b5eadb80490b98b24aa632ab956e6403e2df2..173c0f13202e1ab3491ffde72ece95e2b4a46fd6 100644
|
||||
index 526de34154d873d1479f9276981e181be959ebef..2004595c51564d863aee65fc47541014ea184e10 100644
|
||||
--- a/net/minecraft/world/entity/monster/Drowned.java
|
||||
+++ b/net/minecraft/world/entity/monster/Drowned.java
|
||||
@@ -105,6 +105,23 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
||||
@@ -33,7 +33,7 @@ index 3b0b5eadb80490b98b24aa632ab956e6403e2df2..173c0f13202e1ab3491ffde72ece95e2
|
||||
protected void addBehaviourGoals() {
|
||||
this.goalSelector.addGoal(1, new Drowned.DrownedGoToWaterGoal(this, 1.0));
|
||||
diff --git a/net/minecraft/world/entity/monster/Husk.java b/net/minecraft/world/entity/monster/Husk.java
|
||||
index c2365ae1cf6f98e262f302a117c4647c383dfbb5..7a8951f93e65c6df145e30d44b9d928dd0c39189 100644
|
||||
index 5b0794bd87423715cada1f860b4141fdacd9ede6..75cb1db5584c04e442583ab2f50a26132ed48bfb 100644
|
||||
--- a/net/minecraft/world/entity/monster/Husk.java
|
||||
+++ b/net/minecraft/world/entity/monster/Husk.java
|
||||
@@ -50,6 +50,23 @@ public class Husk extends Zombie {
|
||||
@@ -61,10 +61,10 @@ index c2365ae1cf6f98e262f302a117c4647c383dfbb5..7a8951f93e65c6df145e30d44b9d928d
|
||||
EntityType<Husk> entityType, ServerLevelAccessor level, EntitySpawnReason spawnReason, BlockPos pos, RandomSource random
|
||||
) {
|
||||
diff --git a/net/minecraft/world/entity/monster/Zombie.java b/net/minecraft/world/entity/monster/Zombie.java
|
||||
index 4b0f04c861397af694c477a8d3dc0de707e36874..b600fc46ed96d46769b7b289997a6e3cd422417b 100644
|
||||
index 126c5982c1b274cad67649b8e26391c7c4011bab..02073d4374580278829e680b875d596844213e78 100644
|
||||
--- a/net/minecraft/world/entity/monster/Zombie.java
|
||||
+++ b/net/minecraft/world/entity/monster/Zombie.java
|
||||
@@ -125,6 +125,20 @@ public class Zombie extends Monster {
|
||||
@@ -129,6 +129,20 @@ public class Zombie extends Monster {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -85,7 +85,7 @@ index 4b0f04c861397af694c477a8d3dc0de707e36874..b600fc46ed96d46769b7b289997a6e3c
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
|
||||
@@ -556,19 +570,18 @@ public class Zombie extends Monster {
|
||||
@@ -558,19 +572,18 @@ public class Zombie extends Monster {
|
||||
}
|
||||
|
||||
if (spawnGroupData instanceof Zombie.ZombieGroupData zombieGroupData) {
|
||||
@@ -110,8 +110,8 @@ index 4b0f04c861397af694c477a8d3dc0de707e36874..b600fc46ed96d46769b7b289997a6e3c
|
||||
+ } else { // Purpur - Configurable jockey options
|
||||
Chicken chicken1 = EntityType.CHICKEN.create(this.level(), EntitySpawnReason.JOCKEY);
|
||||
if (chicken1 != null) {
|
||||
chicken1.moveTo(this.getX(), this.getY(), this.getZ(), this.getYRot(), 0.0F);
|
||||
@@ -577,6 +590,7 @@ public class Zombie extends Monster {
|
||||
chicken1.snapTo(this.getX(), this.getY(), this.getZ(), this.getYRot(), 0.0F);
|
||||
@@ -579,6 +592,7 @@ public class Zombie extends Monster {
|
||||
this.startRiding(chicken1);
|
||||
level.addFreshEntity(chicken1, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.MOUNT); // CraftBukkit
|
||||
}
|
||||
@@ -120,10 +120,10 @@ index 4b0f04c861397af694c477a8d3dc0de707e36874..b600fc46ed96d46769b7b289997a6e3c
|
||||
}
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/monster/ZombieVillager.java b/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||
index 610e5e5330462646034c5667c15245fdb2af77a0..54df75681a89df93f59a589189c7e96b4acc4c77 100644
|
||||
index 239e78203dec09653ef8e001aef3e4b95b0f7a7c..6bd633390df582e0b1999f5c67cd76e2b23a04eb 100644
|
||||
--- a/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||
+++ b/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||
@@ -107,6 +107,23 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
||||
@@ -106,6 +106,23 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -148,7 +148,7 @@ index 610e5e5330462646034c5667c15245fdb2af77a0..54df75681a89df93f59a589189c7e96b
|
||||
protected void defineSynchedData(SynchedEntityData.Builder builder) {
|
||||
super.defineSynchedData(builder);
|
||||
diff --git a/net/minecraft/world/entity/monster/ZombifiedPiglin.java b/net/minecraft/world/entity/monster/ZombifiedPiglin.java
|
||||
index 486906b860b3ccbeb1702d9bd7a5d9f11f534b1a..eaa2682de228cf5e9aff22b15f045c9ecbeec77b 100644
|
||||
index ada982eb4dca7c75a5fd3576d3793f1f12819e51..a8916a8fe5bed57e7b1f755a20e15bed544567fb 100644
|
||||
--- a/net/minecraft/world/entity/monster/ZombifiedPiglin.java
|
||||
+++ b/net/minecraft/world/entity/monster/ZombifiedPiglin.java
|
||||
@@ -88,6 +88,23 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
|
||||
|
||||
@@ -5,11 +5,11 @@ Subject: [PATCH] Phantoms attracted to crystals and crystals shoot phantoms
|
||||
|
||||
|
||||
diff --git a/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java b/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
|
||||
index 67711964552a8e32d3590a64aff78e1db768b026..d58829c88b86358a0c06a982b302fc9a31c15853 100644
|
||||
index 57f9f705c62706902efe9a7873f0e3866820f7d9..90ac1e4bdca5b6233eeae9bc84549770bed383da 100644
|
||||
--- a/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
|
||||
+++ b/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
|
||||
@@ -26,6 +26,12 @@ public class EndCrystal extends Entity {
|
||||
private static final EntityDataAccessor<Boolean> DATA_SHOW_BOTTOM = SynchedEntityData.defineId(EndCrystal.class, EntityDataSerializers.BOOLEAN);
|
||||
private static final boolean DEFAULT_SHOW_BOTTOM = true;
|
||||
public int time;
|
||||
public boolean generatedByDragonFight = false; // Paper - Fix invulnerable end crystals
|
||||
+ // Purpur start - Phantoms attracted to crystals and crystals shoot phantoms
|
||||
@@ -72,18 +72,18 @@ index 67711964552a8e32d3590a64aff78e1db768b026..d58829c88b86358a0c06a982b302fc9a
|
||||
|
||||
@Override
|
||||
diff --git a/net/minecraft/world/entity/monster/Phantom.java b/net/minecraft/world/entity/monster/Phantom.java
|
||||
index 08fc2dc0fecfa370c99e877d502149a8ea147e5f..aea7b608d88d243113f67665844841ac879c3f88 100644
|
||||
index 2f14561a3722f8175a234ad656ef64d4c58e3b96..6c41a2cc9a772c216abfc2b241429ec712119bb4 100644
|
||||
--- a/net/minecraft/world/entity/monster/Phantom.java
|
||||
+++ b/net/minecraft/world/entity/monster/Phantom.java
|
||||
@@ -47,6 +47,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
Vec3 moveTargetPoint = Vec3.ZERO;
|
||||
public BlockPos anchorPoint = BlockPos.ZERO;
|
||||
@@ -48,6 +48,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@Nullable
|
||||
public BlockPos anchorPoint;
|
||||
Phantom.AttackPhase attackPhase = Phantom.AttackPhase.CIRCLE;
|
||||
+ Vec3 crystalPosition; // Purpur - Phantoms attracted to crystals and crystals shoot phantoms
|
||||
// Paper start
|
||||
@Nullable
|
||||
public java.util.UUID spawningEntity;
|
||||
@@ -118,6 +119,25 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -119,6 +120,25 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -109,7 +109,7 @@ index 08fc2dc0fecfa370c99e877d502149a8ea147e5f..aea7b608d88d243113f67665844841ac
|
||||
@Override
|
||||
public boolean isFlapping() {
|
||||
return (this.getUniqueFlapTickOffset() + this.tickCount) % TICKS_PER_FLAP == 0;
|
||||
@@ -131,9 +151,15 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -132,9 +152,15 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
|
||||
@@ -128,7 +128,7 @@ index 08fc2dc0fecfa370c99e877d502149a8ea147e5f..aea7b608d88d243113f67665844841ac
|
||||
this.targetSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
|
||||
this.targetSelector.addGoal(1, new Phantom.PhantomAttackPlayerTargetGoal());
|
||||
}
|
||||
@@ -509,6 +535,124 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -502,6 +528,124 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Phantoms burn in light
|
||||
|
||||
|
||||
diff --git a/net/minecraft/world/entity/monster/Phantom.java b/net/minecraft/world/entity/monster/Phantom.java
|
||||
index aea7b608d88d243113f67665844841ac879c3f88..4cc1c8d8967b1e9ee5b0b1c50d887f3de3e8a882 100644
|
||||
index 6c41a2cc9a772c216abfc2b241429ec712119bb4..eaa5f2db1bc6b01ef6a508cc5a60ff1e252c2360 100644
|
||||
--- a/net/minecraft/world/entity/monster/Phantom.java
|
||||
+++ b/net/minecraft/world/entity/monster/Phantom.java
|
||||
@@ -53,6 +53,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -54,6 +54,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
public java.util.UUID spawningEntity;
|
||||
public boolean shouldBurnInDay = true;
|
||||
// Paper end
|
||||
@@ -16,7 +16,7 @@ index aea7b608d88d243113f67665844841ac879c3f88..4cc1c8d8967b1e9ee5b0b1c50d887f3d
|
||||
|
||||
public Phantom(EntityType<? extends Phantom> entityType, Level level) {
|
||||
super(entityType, level);
|
||||
@@ -253,7 +254,11 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -254,7 +255,11 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
|
||||
@Override
|
||||
public void aiStep() {
|
||||
@@ -29,7 +29,7 @@ index aea7b608d88d243113f67665844841ac879c3f88..4cc1c8d8967b1e9ee5b0b1c50d887f3d
|
||||
if (getRider() == null || !this.isControllable()) // Purpur - Ridables
|
||||
this.igniteForSeconds(8.0F);
|
||||
}
|
||||
@@ -374,6 +379,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -363,6 +368,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
List<Player> nearbyPlayers = serverLevel.getNearbyPlayers(
|
||||
this.attackTargeting, Phantom.this, Phantom.this.getBoundingBox().inflate(16.0, 64.0, 16.0)
|
||||
);
|
||||
@@ -37,7 +37,7 @@ index aea7b608d88d243113f67665844841ac879c3f88..4cc1c8d8967b1e9ee5b0b1c50d887f3d
|
||||
if (!nearbyPlayers.isEmpty()) {
|
||||
nearbyPlayers.sort(Comparator.<Player, Double>comparing(Entity::getY).reversed());
|
||||
|
||||
@@ -739,6 +745,12 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -732,6 +738,12 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
return false;
|
||||
} else if (!target.isAlive()) {
|
||||
return false;
|
||||
|
||||
@@ -5,13 +5,13 @@ Subject: [PATCH] Make entity breeding times configurable
|
||||
|
||||
|
||||
diff --git a/net/minecraft/world/entity/ai/behavior/VillagerMakeLove.java b/net/minecraft/world/entity/ai/behavior/VillagerMakeLove.java
|
||||
index 8fe5bd54b5a4848da1f08ea65fe2bc3514bed8c8..54eeb72b638127b180470887a3b59d55773f3bc9 100644
|
||||
index 2591e4bbd234e51ff2c6b00db888d3b158f5a07d..e3d48c7c6615185f8a14bc96476a665bdadc275b 100644
|
||||
--- a/net/minecraft/world/entity/ai/behavior/VillagerMakeLove.java
|
||||
+++ b/net/minecraft/world/entity/ai/behavior/VillagerMakeLove.java
|
||||
@@ -118,8 +118,10 @@ public class VillagerMakeLove extends Behavior<Villager> {
|
||||
if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityBreedEvent(breedOffspring, parent, partner, null, null, 0).isCancelled()) {
|
||||
return Optional.empty();
|
||||
}
|
||||
// Move age setting down
|
||||
- parent.setAge(6000);
|
||||
- partner.setAge(6000);
|
||||
+ // Purpur start - Make entity breeding times configurable
|
||||
@@ -22,21 +22,21 @@ index 8fe5bd54b5a4848da1f08ea65fe2bc3514bed8c8..54eeb72b638127b180470887a3b59d55
|
||||
// CraftBukkit end - call EntityBreedEvent
|
||||
level.broadcastEntityEvent(breedOffspring, (byte)12);
|
||||
diff --git a/net/minecraft/world/entity/animal/Animal.java b/net/minecraft/world/entity/animal/Animal.java
|
||||
index da1f5dcc213b9a5f8d26a546e7575b063fb0473c..452270f7f1c54ca98c34dcf9a9d29acae77737c8 100644
|
||||
index 2ce0099460c14a6dd8b128f268ee915ea4be5183..1cae770340e969ec4f037b9121142878894102d3 100644
|
||||
--- a/net/minecraft/world/entity/animal/Animal.java
|
||||
+++ b/net/minecraft/world/entity/animal/Animal.java
|
||||
@@ -40,6 +40,7 @@ public abstract class Animal extends AgeableMob {
|
||||
@@ -42,6 +42,7 @@ public abstract class Animal extends AgeableMob {
|
||||
@Nullable
|
||||
public UUID loveCause;
|
||||
public ItemStack breedItem; // CraftBukkit - Add breedItem variable
|
||||
public @Nullable ItemStack breedItem; // CraftBukkit - Add breedItem variable
|
||||
+ public abstract int getPurpurBreedTime(); // Purpur - Make entity breeding times configurable
|
||||
|
||||
protected Animal(EntityType<? extends Animal> entityType, Level level) {
|
||||
super(entityType, level);
|
||||
@@ -282,8 +283,10 @@ public abstract class Animal extends AgeableMob {
|
||||
@@ -283,8 +284,10 @@ public abstract class Animal extends AgeableMob {
|
||||
player.awardStat(Stats.ANIMALS_BRED);
|
||||
CriteriaTriggers.BRED_ANIMALS.trigger(player, this, animal, baby);
|
||||
} // Paper - call EntityBreedEvent
|
||||
} // Paper - Call EntityBreedEvent
|
||||
- this.setAge(6000);
|
||||
- animal.setAge(6000);
|
||||
+ // Purpur start - Make entity breeding times configurable
|
||||
@@ -47,7 +47,7 @@ index da1f5dcc213b9a5f8d26a546e7575b063fb0473c..452270f7f1c54ca98c34dcf9a9d29aca
|
||||
animal.resetLove();
|
||||
level.broadcastEntityEvent(this, (byte)18);
|
||||
diff --git a/net/minecraft/world/entity/animal/Bee.java b/net/minecraft/world/entity/animal/Bee.java
|
||||
index a6dfd2013312d7542cb597a6e3976c68e9971148..31854506641874bed3306b9688d71e5c47fd9e35 100644
|
||||
index d07a708f06ba738369882ddaa968c2de9c6c560e..afe7fd92348e6a2a26f8f258373b0c57bb5f4f3f 100644
|
||||
--- a/net/minecraft/world/entity/animal/Bee.java
|
||||
+++ b/net/minecraft/world/entity/animal/Bee.java
|
||||
@@ -480,6 +480,13 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
@@ -65,10 +65,10 @@ index a6dfd2013312d7542cb597a6e3976c68e9971148..31854506641874bed3306b9688d71e5c
|
||||
public int getRemainingPersistentAngerTime() {
|
||||
return this.entityData.get(DATA_REMAINING_ANGER_TIME);
|
||||
diff --git a/net/minecraft/world/entity/animal/Cat.java b/net/minecraft/world/entity/animal/Cat.java
|
||||
index 98ce277c5b27591e22daa3c85241be1b8689bfae..584568cef949cee24aa7850d2ff99d47cd089a6e 100644
|
||||
index d2813c68df511a2702f2b57c31f828730a9a21c8..75a63c8e8917f20b389f8194ae3089ff41e9d0ff 100644
|
||||
--- a/net/minecraft/world/entity/animal/Cat.java
|
||||
+++ b/net/minecraft/world/entity/animal/Cat.java
|
||||
@@ -126,6 +126,13 @@ public class Cat extends TamableAnimal implements VariantHolder<Holder<CatVarian
|
||||
@@ -124,6 +124,13 @@ public class Cat extends TamableAnimal {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -81,12 +81,12 @@ index 98ce277c5b27591e22daa3c85241be1b8689bfae..584568cef949cee24aa7850d2ff99d47
|
||||
+
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.temptGoal = new Cat.CatTemptGoal(this, 0.6, itemStack -> itemStack.is(ItemTags.CAT_FOOD), true);
|
||||
this.temptGoal = new Cat.CatTemptGoal(this, 0.6, stack -> stack.is(ItemTags.CAT_FOOD), true);
|
||||
diff --git a/net/minecraft/world/entity/animal/Chicken.java b/net/minecraft/world/entity/animal/Chicken.java
|
||||
index d718f0ed362c49803260dceed64bd93e2b6744fc..39ad1729ef03fc35a6365ee215be214eccfd959a 100644
|
||||
index fc3291b5e1a2c3956802b268abb58189b24a7a16..ef808c4462387bb73466b33d1c3156796fea251b 100644
|
||||
--- a/net/minecraft/world/entity/animal/Chicken.java
|
||||
+++ b/net/minecraft/world/entity/animal/Chicken.java
|
||||
@@ -81,6 +81,13 @@ public class Chicken extends Animal {
|
||||
@@ -101,6 +101,13 @@ public class Chicken extends Animal {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -101,10 +101,10 @@ index d718f0ed362c49803260dceed64bd93e2b6744fc..39ad1729ef03fc35a6365ee215be214e
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
diff --git a/net/minecraft/world/entity/animal/Cow.java b/net/minecraft/world/entity/animal/Cow.java
|
||||
index d2a4bfa5334f7361067e4adac36ba5a4a4fa6ad8..e4965300eb41512d03a0b111422c98627cf29a54 100644
|
||||
index 7c4f1eadcbc13010f6b4b5748b8e0d5c822458e1..0f4f732d9501df42e0d42fe978692c4b0e3d8f0b 100644
|
||||
--- a/net/minecraft/world/entity/animal/Cow.java
|
||||
+++ b/net/minecraft/world/entity/animal/Cow.java
|
||||
@@ -63,6 +63,13 @@ public class Cow extends Animal {
|
||||
@@ -53,6 +53,13 @@ public class Cow extends AbstractCow {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -116,13 +116,13 @@ index d2a4bfa5334f7361067e4adac36ba5a4a4fa6ad8..e4965300eb41512d03a0b111422c9862
|
||||
+ // Purpur end - Make entity breeding times configurable
|
||||
+
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
protected void defineSynchedData(SynchedEntityData.Builder builder) {
|
||||
super.defineSynchedData(builder);
|
||||
diff --git a/net/minecraft/world/entity/animal/Fox.java b/net/minecraft/world/entity/animal/Fox.java
|
||||
index 9b8f5049b7a73b6b51ea76ed92228ff0d53b1cfb..7bc31391b0bd696ce73223d639a96278994010ca 100644
|
||||
index 8d69b6bb1d5efd0b47595a12acdd2088cddd5ace..6a531e5d93d42d3dca7a5e49fb2ba14063665d2e 100644
|
||||
--- a/net/minecraft/world/entity/animal/Fox.java
|
||||
+++ b/net/minecraft/world/entity/animal/Fox.java
|
||||
@@ -175,6 +175,13 @@ public class Fox extends Animal implements VariantHolder<Fox.Variant> {
|
||||
@@ -187,6 +187,13 @@ public class Fox extends Animal {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -136,7 +136,7 @@ index 9b8f5049b7a73b6b51ea76ed92228ff0d53b1cfb..7bc31391b0bd696ce73223d639a96278
|
||||
@Override
|
||||
protected void defineSynchedData(SynchedEntityData.Builder builder) {
|
||||
super.defineSynchedData(builder);
|
||||
@@ -973,8 +980,10 @@ public class Fox extends Animal implements VariantHolder<Fox.Variant> {
|
||||
@@ -996,8 +1003,10 @@ public class Fox extends Animal {
|
||||
CriteriaTriggers.BRED_ANIMALS.trigger(serverPlayer, this.animal, this.partner, fox);
|
||||
}
|
||||
|
||||
@@ -150,10 +150,10 @@ index 9b8f5049b7a73b6b51ea76ed92228ff0d53b1cfb..7bc31391b0bd696ce73223d639a96278
|
||||
this.partner.resetLove();
|
||||
serverLevel.addFreshEntityWithPassengers(fox, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason
|
||||
diff --git a/net/minecraft/world/entity/animal/MushroomCow.java b/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
index 990723c31aa1040a4e45b9857a18d86287ef91b4..a64b609bf5ce38a252bfa1bcff869f88e14389b5 100644
|
||||
index af035af33db993cf7c573b87df576529e98a842e..24313a5dd5f5be39677ac8080ecf56703c751923 100644
|
||||
--- a/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
+++ b/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
@@ -79,6 +79,13 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
@@ -85,6 +85,13 @@ public class MushroomCow extends AbstractCow implements Shearable {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -168,10 +168,10 @@ index 990723c31aa1040a4e45b9857a18d86287ef91b4..a64b609bf5ce38a252bfa1bcff869f88
|
||||
public float getWalkTargetValue(BlockPos pos, LevelReader level) {
|
||||
return level.getBlockState(pos.below()).is(Blocks.MYCELIUM) ? 10.0F : level.getPathfindingCostFromLightLevels(pos);
|
||||
diff --git a/net/minecraft/world/entity/animal/Ocelot.java b/net/minecraft/world/entity/animal/Ocelot.java
|
||||
index 41c42ecbf6aa233bd82000a4bbba3b186cca6a9d..b06697fd64a8962133f0324b2c03b9e9b4f32086 100644
|
||||
index b05aea388ddadaa5bc28bee9f3f4d7fbf673eaa7..56b9fa9b24a9b5cf510dc6610a1b1bedf3a32d72 100644
|
||||
--- a/net/minecraft/world/entity/animal/Ocelot.java
|
||||
+++ b/net/minecraft/world/entity/animal/Ocelot.java
|
||||
@@ -87,6 +87,13 @@ public class Ocelot extends Animal {
|
||||
@@ -88,6 +88,13 @@ public class Ocelot extends Animal {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -186,10 +186,10 @@ index 41c42ecbf6aa233bd82000a4bbba3b186cca6a9d..b06697fd64a8962133f0324b2c03b9e9
|
||||
return this.entityData.get(DATA_TRUSTING);
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/animal/Panda.java b/net/minecraft/world/entity/animal/Panda.java
|
||||
index 5b07dff937c8873300eabecf1c510cf562fae4f3..450c7be36846bf4e95f84615fca893501415cdbc 100644
|
||||
index ebeed4fab4fff87ac61a3a4ef28443eb4746c3fa..cc1144d44526caa7fc7549ecaf405813b4bad1de 100644
|
||||
--- a/net/minecraft/world/entity/animal/Panda.java
|
||||
+++ b/net/minecraft/world/entity/animal/Panda.java
|
||||
@@ -140,6 +140,13 @@ public class Panda extends Animal {
|
||||
@@ -141,6 +141,13 @@ public class Panda extends Animal {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -204,10 +204,10 @@ index 5b07dff937c8873300eabecf1c510cf562fae4f3..450c7be36846bf4e95f84615fca89350
|
||||
protected boolean canDispenserEquipIntoSlot(EquipmentSlot slot) {
|
||||
return slot == EquipmentSlot.MAINHAND && this.canPickUpLoot();
|
||||
diff --git a/net/minecraft/world/entity/animal/Parrot.java b/net/minecraft/world/entity/animal/Parrot.java
|
||||
index 87de937fd17c2e7e8916f8503b0334e7015bdb8f..9d7e142cc4b9ea32aad7ab17f3fc09a7a3a1d862 100644
|
||||
index 94031cbd5d40c9a5536b1d1c404bbe2666e8ae0a..d69992a1f729ba99f3992920cd2372a04ff60996 100644
|
||||
--- a/net/minecraft/world/entity/animal/Parrot.java
|
||||
+++ b/net/minecraft/world/entity/animal/Parrot.java
|
||||
@@ -194,6 +194,13 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
|
||||
@@ -199,6 +199,13 @@ public class Parrot extends ShoulderRidingEntity implements FlyingAnimal {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -222,10 +222,10 @@ index 87de937fd17c2e7e8916f8503b0334e7015bdb8f..9d7e142cc4b9ea32aad7ab17f3fc09a7
|
||||
@Override
|
||||
public SpawnGroupData finalizeSpawn(
|
||||
diff --git a/net/minecraft/world/entity/animal/Pig.java b/net/minecraft/world/entity/animal/Pig.java
|
||||
index 7df848bd9c4cf98fbd431a8cae16a2df86ec5e2b..801365d71b5b733e2dce54211e08d26d7f45f4d9 100644
|
||||
index 70d5debdf6a7e9b631e21b47e7e35b15c065410b..142581c85e4ee6be2798fc1d412ce6876f394adb 100644
|
||||
--- a/net/minecraft/world/entity/animal/Pig.java
|
||||
+++ b/net/minecraft/world/entity/animal/Pig.java
|
||||
@@ -81,6 +81,13 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
|
||||
@@ -90,6 +90,13 @@ public class Pig extends Animal implements ItemSteerable {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -240,7 +240,7 @@ index 7df848bd9c4cf98fbd431a8cae16a2df86ec5e2b..801365d71b5b733e2dce54211e08d26d
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
diff --git a/net/minecraft/world/entity/animal/PolarBear.java b/net/minecraft/world/entity/animal/PolarBear.java
|
||||
index 913439a769a36521ba59d59cba4d6878d3186254..365ad366bd0077619b0f6b5d26ed41038da0397e 100644
|
||||
index d6f5c2573f5fd072a7eaed39790b43e7a67cf3b8..329115fcd70531c48b352008faef92e10ddc84de 100644
|
||||
--- a/net/minecraft/world/entity/animal/PolarBear.java
|
||||
+++ b/net/minecraft/world/entity/animal/PolarBear.java
|
||||
@@ -124,6 +124,13 @@ public class PolarBear extends Animal implements NeutralMob {
|
||||
@@ -258,10 +258,10 @@ index 913439a769a36521ba59d59cba4d6878d3186254..365ad366bd0077619b0f6b5d26ed4103
|
||||
@Override
|
||||
public AgeableMob getBreedOffspring(ServerLevel level, AgeableMob otherParent) {
|
||||
diff --git a/net/minecraft/world/entity/animal/Rabbit.java b/net/minecraft/world/entity/animal/Rabbit.java
|
||||
index e71161ecc9d4ee3fe29fa3a27d11d63e1a28d1a0..bbdd06002b07699fffebdf6ed8148abdb69c24cc 100644
|
||||
index 8e3dcd912d7631bc7863a576e28f85c8d1cb2818..6c1e23e96352aa777c4e0c7d00f7620aa3f29a32 100644
|
||||
--- a/net/minecraft/world/entity/animal/Rabbit.java
|
||||
+++ b/net/minecraft/world/entity/animal/Rabbit.java
|
||||
@@ -145,6 +145,13 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
@@ -152,6 +152,13 @@ public class Rabbit extends Animal {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -275,29 +275,11 @@ index e71161ecc9d4ee3fe29fa3a27d11d63e1a28d1a0..bbdd06002b07699fffebdf6ed8148abd
|
||||
@Override
|
||||
public void registerGoals() {
|
||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||
diff --git a/net/minecraft/world/entity/animal/Sheep.java b/net/minecraft/world/entity/animal/Sheep.java
|
||||
index b66440f5cfbd714c6d2f5b7f66b4e755602b4521..882c799cb66a2acada33ff24f3adb7eb611f89c1 100644
|
||||
--- a/net/minecraft/world/entity/animal/Sheep.java
|
||||
+++ b/net/minecraft/world/entity/animal/Sheep.java
|
||||
@@ -106,6 +106,13 @@ public class Sheep extends Animal implements Shearable {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
+ // Purpur start - Make entity breeding times configurable
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.level().purpurConfig.sheepBreedingTicks;
|
||||
+ }
|
||||
+ // Purpur end - Make entity breeding times configurable
|
||||
+
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.eatBlockGoal = new EatBlockGoal(this);
|
||||
diff --git a/net/minecraft/world/entity/animal/Turtle.java b/net/minecraft/world/entity/animal/Turtle.java
|
||||
index 4f0fbbb2caeda6d1477d3297fd68f802e4f3a9ca..030414049c6af6f6a6324d56aa7b2f1cf7afdc61 100644
|
||||
index 11772e81d932fae6542a0cb2d283ef91b5bbbd76..57e4cb66fbf29b992a144ca923f2e22983cc1db5 100644
|
||||
--- a/net/minecraft/world/entity/animal/Turtle.java
|
||||
+++ b/net/minecraft/world/entity/animal/Turtle.java
|
||||
@@ -109,6 +109,13 @@ public class Turtle extends Animal {
|
||||
@@ -110,6 +110,13 @@ public class Turtle extends Animal {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -309,9 +291,9 @@ index 4f0fbbb2caeda6d1477d3297fd68f802e4f3a9ca..030414049c6af6f6a6324d56aa7b2f1c
|
||||
+ // Purpur end - Make entity breeding times configurable
|
||||
+
|
||||
public void setHomePos(BlockPos homePos) {
|
||||
this.entityData.set(HOME_POS, homePos);
|
||||
this.homePos = homePos;
|
||||
}
|
||||
@@ -394,8 +401,10 @@ public class Turtle extends Animal {
|
||||
@@ -350,8 +357,10 @@ public class Turtle extends Animal {
|
||||
}
|
||||
|
||||
this.turtle.setHasEgg(true);
|
||||
@@ -324,29 +306,11 @@ index 4f0fbbb2caeda6d1477d3297fd68f802e4f3a9ca..030414049c6af6f6a6324d56aa7b2f1c
|
||||
this.animal.resetLove();
|
||||
this.partner.resetLove();
|
||||
RandomSource random = this.animal.getRandom();
|
||||
diff --git a/net/minecraft/world/entity/animal/Wolf.java b/net/minecraft/world/entity/animal/Wolf.java
|
||||
index afc12968313a408e8a71a20c2c0defde52605c4e..9d79946497cfc92ff11160b86d5064d86916af36 100644
|
||||
--- a/net/minecraft/world/entity/animal/Wolf.java
|
||||
+++ b/net/minecraft/world/entity/animal/Wolf.java
|
||||
@@ -210,6 +210,13 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
+ // Purpur start - Make entity breeding times configurable
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.level().purpurConfig.wolfBreedingTicks;
|
||||
+ }
|
||||
+ // Purpur end - Make entity breeding times configurable
|
||||
+
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||
diff --git a/net/minecraft/world/entity/animal/armadillo/Armadillo.java b/net/minecraft/world/entity/animal/armadillo/Armadillo.java
|
||||
index c10ebb66dec26b6ccc223e98effa0b9a68363626..90bcd8c79cccbcbe7ff3fd2534e0c3450b970bd4 100644
|
||||
index 67a93960b3c6fe5725783ebf9f1c5b57e931f58c..0b4d1e6633ecc2e11606024d085bb9e6cca5a86b 100644
|
||||
--- a/net/minecraft/world/entity/animal/armadillo/Armadillo.java
|
||||
+++ b/net/minecraft/world/entity/animal/armadillo/Armadillo.java
|
||||
@@ -105,6 +105,13 @@ public class Armadillo extends Animal {
|
||||
@@ -106,6 +106,13 @@ public class Armadillo extends Animal {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -361,10 +325,10 @@ index c10ebb66dec26b6ccc223e98effa0b9a68363626..90bcd8c79cccbcbe7ff3fd2534e0c345
|
||||
protected void defineSynchedData(SynchedEntityData.Builder builder) {
|
||||
super.defineSynchedData(builder);
|
||||
diff --git a/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
index f2f09a529e9db88784ff4299fdf3966046c736ab..07eee1f82331a2172aede02219a7eae8e82c7b59 100644
|
||||
index 83b1080765eb49a8a606258bb2db8b1a7daea081..8cf67fe3807ccbe8c9cdebf9d79f1fc5e4f1a817 100644
|
||||
--- a/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
+++ b/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
@@ -140,6 +140,13 @@ public class Axolotl extends Animal implements VariantHolder<Axolotl.Variant>, B
|
||||
@@ -145,6 +145,13 @@ public class Axolotl extends Animal implements Bucketable {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -379,10 +343,10 @@ index f2f09a529e9db88784ff4299fdf3966046c736ab..07eee1f82331a2172aede02219a7eae8
|
||||
public float getWalkTargetValue(BlockPos pos, LevelReader level) {
|
||||
return 0.0F;
|
||||
diff --git a/net/minecraft/world/entity/animal/camel/Camel.java b/net/minecraft/world/entity/animal/camel/Camel.java
|
||||
index 1d7e2358bac193af48dc4b7f5b0295e3bffa152b..1d7ae2a08968860636918e7c66b60139a9d761b4 100644
|
||||
index 6c6ef89aacbc328a2cb2dc05022998dbd79cfaf8..344edef98e13831d1238e5ae155d81b13126a696 100644
|
||||
--- a/net/minecraft/world/entity/animal/camel/Camel.java
|
||||
+++ b/net/minecraft/world/entity/animal/camel/Camel.java
|
||||
@@ -90,6 +90,13 @@ public class Camel extends AbstractHorse {
|
||||
@@ -96,6 +96,13 @@ public class Camel extends AbstractHorse {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -397,10 +361,10 @@ index 1d7e2358bac193af48dc4b7f5b0295e3bffa152b..1d7ae2a08968860636918e7c66b60139
|
||||
public void addAdditionalSaveData(CompoundTag compound) {
|
||||
super.addAdditionalSaveData(compound);
|
||||
diff --git a/net/minecraft/world/entity/animal/frog/Frog.java b/net/minecraft/world/entity/animal/frog/Frog.java
|
||||
index 9a400c8bf2b54aa5fbcbe65b61670cac5fbebf05..143a740ce2e7f9d384b71b4d64e8b8218f60cba7 100644
|
||||
index 054811d807c56018617dc4a8e10af87ed15ad00c..71c09b9b8cc66d1a6f557a685539f9f4c93c0b8b 100644
|
||||
--- a/net/minecraft/world/entity/animal/frog/Frog.java
|
||||
+++ b/net/minecraft/world/entity/animal/frog/Frog.java
|
||||
@@ -165,6 +165,13 @@ public class Frog extends Animal implements VariantHolder<Holder<FrogVariant>> {
|
||||
@@ -164,6 +164,13 @@ public class Frog extends Animal {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -415,10 +379,10 @@ index 9a400c8bf2b54aa5fbcbe65b61670cac5fbebf05..143a740ce2e7f9d384b71b4d64e8b821
|
||||
protected Brain.Provider<Frog> brainProvider() {
|
||||
return Brain.provider(MEMORY_TYPES, SENSOR_TYPES);
|
||||
diff --git a/net/minecraft/world/entity/animal/goat/Goat.java b/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
index 302208b566038a3a352ca867dd70a61887bac104..0a018dbfe3750cf91892d8cfb5c0eac18e83d587 100644
|
||||
index b922d8c37b89a5762c8ed29e6a5fa545f408511e..a04892dce1f904fad3312499352ad56853ea658e 100644
|
||||
--- a/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
+++ b/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
@@ -128,6 +128,13 @@ public class Goat extends Animal {
|
||||
@@ -131,6 +131,13 @@ public class Goat extends Animal {
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
|
||||
@@ -433,7 +397,7 @@ index 302208b566038a3a352ca867dd70a61887bac104..0a018dbfe3750cf91892d8cfb5c0eac1
|
||||
protected Brain.Provider<Goat> brainProvider() {
|
||||
return Brain.provider(MEMORY_TYPES, SENSOR_TYPES);
|
||||
diff --git a/net/minecraft/world/entity/animal/horse/Donkey.java b/net/minecraft/world/entity/animal/horse/Donkey.java
|
||||
index 223f1d109680e3643ab2c8343be22713e89755fd..b977597785df5665176ab2f330633ec61b7c9feb 100644
|
||||
index 3aa12702cd1f4ef160180bc6ba64a6566cbddc9d..9e1100d672bfb712854d23203d0b730b8cc78a3d 100644
|
||||
--- a/net/minecraft/world/entity/animal/horse/Donkey.java
|
||||
+++ b/net/minecraft/world/entity/animal/horse/Donkey.java
|
||||
@@ -40,6 +40,13 @@ public class Donkey extends AbstractChestedHorse {
|
||||
@@ -448,13 +412,13 @@ index 223f1d109680e3643ab2c8343be22713e89755fd..b977597785df5665176ab2f330633ec6
|
||||
+ // Purpur end - Make entity breeding times configurable
|
||||
+
|
||||
@Override
|
||||
protected SoundEvent getAmbientSound() {
|
||||
public SoundEvent getAmbientSound() {
|
||||
return SoundEvents.DONKEY_AMBIENT;
|
||||
diff --git a/net/minecraft/world/entity/animal/horse/Horse.java b/net/minecraft/world/entity/animal/horse/Horse.java
|
||||
index 8bd118e82da9e4d4153de0a3efaf6d69e3c4c540..0339ab08b3029a9ffc102c5b865e411aca2a863c 100644
|
||||
index e0346014de51958976459eeb6677d886e7f261ab..6c1897fadaf93e9a71f0e361a602e6d9475a4f50 100644
|
||||
--- a/net/minecraft/world/entity/animal/horse/Horse.java
|
||||
+++ b/net/minecraft/world/entity/animal/horse/Horse.java
|
||||
@@ -67,6 +67,13 @@ public class Horse extends AbstractHorse implements VariantHolder<Variant> {
|
||||
@@ -70,6 +70,13 @@ public class Horse extends AbstractHorse {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -469,10 +433,10 @@ index 8bd118e82da9e4d4153de0a3efaf6d69e3c4c540..0339ab08b3029a9ffc102c5b865e411a
|
||||
protected void randomizeAttributes(RandomSource random) {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(generateMaxHealth(random::nextInt));
|
||||
diff --git a/net/minecraft/world/entity/animal/horse/Llama.java b/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
index 58e726dd33f572a31b4910b9ff666c4252fb03a9..6efe52edb6909ed2b38210ce6a0334eddc55f261 100644
|
||||
index 10e7724d424cd39c96b91cf3de4bc4524d9311a4..db73d8821b3374341fa77fbbb3308a21abb60db6 100644
|
||||
--- a/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
+++ b/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
@@ -141,6 +141,13 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
@@ -146,6 +146,13 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -487,7 +451,7 @@ index 58e726dd33f572a31b4910b9ff666c4252fb03a9..6efe52edb6909ed2b38210ce6a0334ed
|
||||
return false;
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/animal/horse/Mule.java b/net/minecraft/world/entity/animal/horse/Mule.java
|
||||
index d0d6b511dbd4f992d11f06e7539b0c1034250660..20458799fdcfa16bdd1c22df74b414000b110f82 100644
|
||||
index 0107bb5fc029c5390d73e9a4cd08c13838a2ded5..fe2570ceb96d39ff6598a67a4ac4b4707eb28656 100644
|
||||
--- a/net/minecraft/world/entity/animal/horse/Mule.java
|
||||
+++ b/net/minecraft/world/entity/animal/horse/Mule.java
|
||||
@@ -39,6 +39,13 @@ public class Mule extends AbstractChestedHorse {
|
||||
@@ -502,13 +466,13 @@ index d0d6b511dbd4f992d11f06e7539b0c1034250660..20458799fdcfa16bdd1c22df74b41400
|
||||
+ // Purpur end - Make entity breeding times configurable
|
||||
+
|
||||
@Override
|
||||
protected SoundEvent getAmbientSound() {
|
||||
public SoundEvent getAmbientSound() {
|
||||
return SoundEvents.MULE_AMBIENT;
|
||||
diff --git a/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
index 6cc64c7e2f50a311460cd5d7ffa9545e5d7e0b02..0ce71ab6a28a5fbff9d71793b855c116b31729fc 100644
|
||||
index b7903386ce4648ef577b1d4875866b7c268c888b..39b8b10b950359952c7b149e4fca08d68f1ad8eb 100644
|
||||
--- a/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
+++ b/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
@@ -63,6 +63,13 @@ public class SkeletonHorse extends AbstractHorse {
|
||||
@@ -65,6 +65,13 @@ public class SkeletonHorse extends AbstractHorse {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -523,10 +487,10 @@ index 6cc64c7e2f50a311460cd5d7ffa9545e5d7e0b02..0ce71ab6a28a5fbff9d71793b855c116
|
||||
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0).add(Attributes.MOVEMENT_SPEED, 0.2F);
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/animal/horse/TraderLlama.java b/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
||||
index 715cb8046e1fb9ac929d81709777bf4ae9323d46..870775ce8a1bd09d35bf85551e1af3a6edfefc0e 100644
|
||||
index 4664de247745c5346f1d131b19aac0512d394647..c67f82654897bec94dce1226d5ef2ce10d53e077 100644
|
||||
--- a/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
||||
+++ b/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
||||
@@ -68,6 +68,13 @@ public class TraderLlama extends Llama {
|
||||
@@ -69,6 +69,13 @@ public class TraderLlama extends Llama {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -541,7 +505,7 @@ index 715cb8046e1fb9ac929d81709777bf4ae9323d46..870775ce8a1bd09d35bf85551e1af3a6
|
||||
public boolean isTraderLlama() {
|
||||
return true;
|
||||
diff --git a/net/minecraft/world/entity/animal/horse/ZombieHorse.java b/net/minecraft/world/entity/animal/horse/ZombieHorse.java
|
||||
index 8da61e14f2470dfb191d9dfaf19c713584b8e9b8..cdff0fab8a256c1e06e280500a31d4a99659d1ee 100644
|
||||
index 3d597bd355b6c918ea1bf4b7d537ad4f76e218d2..69b9ae449e58f13bf0950fdfe3f89742af89956e 100644
|
||||
--- a/net/minecraft/world/entity/animal/horse/ZombieHorse.java
|
||||
+++ b/net/minecraft/world/entity/animal/horse/ZombieHorse.java
|
||||
@@ -62,6 +62,13 @@ public class ZombieHorse extends AbstractHorse {
|
||||
@@ -558,8 +522,26 @@ index 8da61e14f2470dfb191d9dfaf19c713584b8e9b8..cdff0fab8a256c1e06e280500a31d4a9
|
||||
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/sheep/Sheep.java b/net/minecraft/world/entity/animal/sheep/Sheep.java
|
||||
index 7d4d13d78da258bdceae82cc57e0aa5a3e06fd7d..625f9b7bb027ccc4495d83349909be59e7a19061 100644
|
||||
--- a/net/minecraft/world/entity/animal/sheep/Sheep.java
|
||||
+++ b/net/minecraft/world/entity/animal/sheep/Sheep.java
|
||||
@@ -109,6 +109,13 @@ public class Sheep extends Animal implements Shearable {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
+ // Purpur start - Make entity breeding times configurable
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.level().purpurConfig.sheepBreedingTicks;
|
||||
+ }
|
||||
+ // Purpur end - Make entity breeding times configurable
|
||||
+
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.eatBlockGoal = new EatBlockGoal(this);
|
||||
diff --git a/net/minecraft/world/entity/animal/sniffer/Sniffer.java b/net/minecraft/world/entity/animal/sniffer/Sniffer.java
|
||||
index a5ff61a3697e2299c96288b6f8d7c6f2511d86d5..11a5da22149a61ca48bbb0a8ed10b71e91a5cc98 100644
|
||||
index fab5a8d0974aab57a1e4a803eb4f3b47a3ee4a07..a21604d3ff3377946cbcbd57ddfa1cbb7e84dac6 100644
|
||||
--- a/net/minecraft/world/entity/animal/sniffer/Sniffer.java
|
||||
+++ b/net/minecraft/world/entity/animal/sniffer/Sniffer.java
|
||||
@@ -113,6 +113,13 @@ public class Sniffer extends Animal {
|
||||
@@ -576,11 +558,29 @@ index a5ff61a3697e2299c96288b6f8d7c6f2511d86d5..11a5da22149a61ca48bbb0a8ed10b71e
|
||||
@Override
|
||||
protected void defineSynchedData(SynchedEntityData.Builder builder) {
|
||||
super.defineSynchedData(builder);
|
||||
diff --git a/net/minecraft/world/entity/animal/wolf/Wolf.java b/net/minecraft/world/entity/animal/wolf/Wolf.java
|
||||
index 601343a604322bae7ef91eecc91da70ee377d8f3..7bbcca12492b114211c71df5cf198da2ac4814f8 100644
|
||||
--- a/net/minecraft/world/entity/animal/wolf/Wolf.java
|
||||
+++ b/net/minecraft/world/entity/animal/wolf/Wolf.java
|
||||
@@ -217,6 +217,13 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
+ // Purpur start - Make entity breeding times configurable
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.level().purpurConfig.wolfBreedingTicks;
|
||||
+ }
|
||||
+ // Purpur end - Make entity breeding times configurable
|
||||
+
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||
diff --git a/net/minecraft/world/entity/monster/Strider.java b/net/minecraft/world/entity/monster/Strider.java
|
||||
index be0dc92bf5ae3da1368a649e9c4e7ff5dbb1c67c..f36e94437b4e21961532ac9ab91767617f9c3c32 100644
|
||||
index 4ea92637677997ab4c98da437394f5682ba2389a..309cdc88d98eaf61691bc1594275250f55b4f30c 100644
|
||||
--- a/net/minecraft/world/entity/monster/Strider.java
|
||||
+++ b/net/minecraft/world/entity/monster/Strider.java
|
||||
@@ -119,6 +119,13 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
|
||||
@@ -117,6 +117,13 @@ public class Strider extends Animal implements ItemSteerable {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -595,10 +595,10 @@ index be0dc92bf5ae3da1368a649e9c4e7ff5dbb1c67c..f36e94437b4e21961532ac9ab9176761
|
||||
EntityType<Strider> entityType, LevelAccessor level, EntitySpawnReason spawnReason, BlockPos pos, RandomSource random
|
||||
) {
|
||||
diff --git a/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
index 54924cd7c84cbcd22ffc0bd37fc24f24e73c18bc..5af04c4d58d59b795c3f43eeb30232ab07a4e8c7 100644
|
||||
index 6b0eb12e9d879f22098eb2294d0d73db6ca266ed..df763444e9935b8f43ea65b3695c715993903fb8 100644
|
||||
--- a/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
+++ b/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
@@ -117,6 +117,13 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
||||
@@ -120,6 +120,13 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: [PATCH] Apply display names from item forms of entities to entities
|
||||
|
||||
|
||||
diff --git a/net/minecraft/world/entity/decoration/ArmorStand.java b/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
index d368b1971b270c44efc849464a100832bc29a679..8c0ab32487c56e2caf42404184f86c9bcf5f8b41 100644
|
||||
index fb3b4e57e98b45adb3a908ddbc2d4ac066e22034..e0489ff30373c214927f34d78787fb85192318b3 100644
|
||||
--- a/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
+++ b/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
@@ -564,6 +564,7 @@ public class ArmorStand extends LivingEntity {
|
||||
@@ -492,6 +492,7 @@ public class ArmorStand extends LivingEntity {
|
||||
|
||||
private org.bukkit.event.entity.EntityDeathEvent brokenByPlayer(ServerLevel level, DamageSource damageSource) { // Paper
|
||||
ItemStack itemStack = new ItemStack(Items.ARMOR_STAND);
|
||||
@@ -18,10 +18,10 @@ index d368b1971b270c44efc849464a100832bc29a679..8c0ab32487c56e2caf42404184f86c9b
|
||||
this.drops.add(new DefaultDrop(itemStack, stack -> Block.popResource(this.level(), this.blockPosition(), stack))); // CraftBukkit - add to drops // Paper - Restore vanilla drops behavior
|
||||
return this.brokenByAnything(level, damageSource); // Paper
|
||||
diff --git a/net/minecraft/world/entity/decoration/ItemFrame.java b/net/minecraft/world/entity/decoration/ItemFrame.java
|
||||
index 65e1d7c5ac94b1cfb921fa009be59d3e5872f0b5..3ee1d8798db666ee8d83556047e40ff217cda732 100644
|
||||
index f9a97000b75db7999b1cbe1f72d680d4d7b803b7..9dfadb5639e840e69274b35f3366322141527104 100644
|
||||
--- a/net/minecraft/world/entity/decoration/ItemFrame.java
|
||||
+++ b/net/minecraft/world/entity/decoration/ItemFrame.java
|
||||
@@ -223,7 +223,11 @@ public class ItemFrame extends HangingEntity {
|
||||
@@ -232,7 +232,11 @@ public class ItemFrame extends HangingEntity {
|
||||
this.removeFramedMap(item);
|
||||
} else {
|
||||
if (dropItem) {
|
||||
@@ -35,10 +35,10 @@ index 65e1d7c5ac94b1cfb921fa009be59d3e5872f0b5..3ee1d8798db666ee8d83556047e40ff2
|
||||
|
||||
if (!item.isEmpty()) {
|
||||
diff --git a/net/minecraft/world/entity/decoration/Painting.java b/net/minecraft/world/entity/decoration/Painting.java
|
||||
index 5b905a4d49c44b04d5795c2bf297f3c69d183d7c..b6429a2bbb6fc1e08610ab20e50f8f0414f0ad26 100644
|
||||
index 3f13bb1ad260d250efe2622297e432dc300e73a0..b1ee059501532cc2df5f0824e5becbd2bc6727b2 100644
|
||||
--- a/net/minecraft/world/entity/decoration/Painting.java
|
||||
+++ b/net/minecraft/world/entity/decoration/Painting.java
|
||||
@@ -162,7 +162,11 @@ public class Painting extends HangingEntity implements VariantHolder<Holder<Pain
|
||||
@@ -179,7 +179,11 @@ public class Painting extends HangingEntity {
|
||||
if (level.getGameRules().getBoolean(GameRules.RULE_DOENTITYDROPS)) {
|
||||
this.playSound(SoundEvents.PAINTING_BREAK, 1.0F, 1.0F);
|
||||
if (!(entity instanceof Player player && player.hasInfiniteMaterials())) {
|
||||
@@ -52,10 +52,10 @@ index 5b905a4d49c44b04d5795c2bf297f3c69d183d7c..b6429a2bbb6fc1e08610ab20e50f8f04
|
||||
}
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/vehicle/AbstractBoat.java b/net/minecraft/world/entity/vehicle/AbstractBoat.java
|
||||
index 4e724a12f13032075aeff7cf71b9ceabd5a7bd88..b1b312e45ed4514eaa6fb3941af64b641220c5bd 100644
|
||||
index abfe3370382c39aeab2cc7832c0ff6ee5b95fa5b..4f61c17e0a4a82773834bc21e00cac6eb75f794e 100644
|
||||
--- a/net/minecraft/world/entity/vehicle/AbstractBoat.java
|
||||
+++ b/net/minecraft/world/entity/vehicle/AbstractBoat.java
|
||||
@@ -879,7 +879,13 @@ public abstract class AbstractBoat extends VehicleEntity implements Leashable {
|
||||
@@ -822,7 +822,13 @@ public abstract class AbstractBoat extends VehicleEntity implements Leashable {
|
||||
|
||||
@Override
|
||||
public final ItemStack getPickResult() {
|
||||
@@ -71,7 +71,7 @@ index 4e724a12f13032075aeff7cf71b9ceabd5a7bd88..b1b312e45ed4514eaa6fb3941af64b64
|
||||
|
||||
public static enum Status {
|
||||
diff --git a/net/minecraft/world/item/ArmorStandItem.java b/net/minecraft/world/item/ArmorStandItem.java
|
||||
index d82e6651999a2650ec8884c4c3d8de4133cb42a4..a26b9fe964c79da57aaa0f755a81934f51a79913 100644
|
||||
index 962483d6f7225f13f121141882262d36dacad8cb..89d4bc00898fd8f6d40cda87c04c5983e2ea223c 100644
|
||||
--- a/net/minecraft/world/item/ArmorStandItem.java
|
||||
+++ b/net/minecraft/world/item/ArmorStandItem.java
|
||||
@@ -51,6 +51,10 @@ public class ArmorStandItem extends Item {
|
||||
@@ -98,14 +98,15 @@ index 13ce174e4f7e406f57a68ea0d3ef0ee3367f3f3b..ca86122e38688b29340cd8413ccf1746
|
||||
return InteractionResult.FAIL;
|
||||
} else {
|
||||
diff --git a/net/minecraft/world/item/HangingEntityItem.java b/net/minecraft/world/item/HangingEntityItem.java
|
||||
index 85980c7e5ad63398e0f0948fb0250f580251fe63..cd9e0398876567afc337db8f6ff0ebb0ee162383 100644
|
||||
index 5f9c166b8ba9e9dcabb7398308e7520a88335eae..e9e3a036290a5facc36cf6a484d03d4d3bfb65a5 100644
|
||||
--- a/net/minecraft/world/item/HangingEntityItem.java
|
||||
+++ b/net/minecraft/world/item/HangingEntityItem.java
|
||||
@@ -62,6 +62,7 @@ public class HangingEntityItem extends Item {
|
||||
CustomData customData = itemInHand.getOrDefault(DataComponents.ENTITY_DATA, CustomData.EMPTY);
|
||||
if (!customData.isEmpty()) {
|
||||
EntityType.updateCustomEntityTag(level, player, hangingEntity, customData);
|
||||
+ if (!level.purpurConfig.persistentDroppableEntityDisplayNames) hangingEntity.setCustomName(null); // Purpur - Apply display names from item forms of entities to entities and vice versa
|
||||
@@ -59,7 +59,7 @@ public class HangingEntityItem extends Item {
|
||||
hangingEntity = new GlowItemFrame(level, blockPos, clickedFace);
|
||||
}
|
||||
|
||||
- EntityType.<HangingEntity>createDefaultStackConfig(level, itemInHand, player).accept(hangingEntity);
|
||||
+ EntityType.<HangingEntity>appendDefaultStackConfig(entity -> {if (!level.purpurConfig.persistentDroppableEntityDisplayNames) entity.setCustomName(null);}, level, itemInHand, player).accept(hangingEntity); // Purpur - Apply display names from item forms of entities to entities and vice versa
|
||||
if (hangingEntity.survives()) {
|
||||
if (!level.isClientSide) {
|
||||
// CraftBukkit start - fire HangingPlaceEvent
|
||||
|
||||
@@ -8,7 +8,7 @@ farm Nether Wart. Reimplemented based on a feature of the carpet-extra
|
||||
mod.
|
||||
|
||||
diff --git a/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java b/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java
|
||||
index 4106549bd4dec1cc47d8765be8f5d119fe33bf56..e98fac58b29f78cb63bd868811cca41e1644e9ac 100644
|
||||
index de89e45ecd4ac4c6db8b74bbe3dd6b4a7cf21671..f15e4cfd8c0ac5e08779dbe6b9aa40bfe9ce4d8f 100644
|
||||
--- a/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java
|
||||
+++ b/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java
|
||||
@@ -32,6 +32,7 @@ public class HarvestFarmland extends Behavior<Villager> {
|
||||
@@ -23,11 +23,11 @@ index 4106549bd4dec1cc47d8765be8f5d119fe33bf56..e98fac58b29f78cb63bd868811cca41e
|
||||
protected boolean checkExtraStartConditions(ServerLevel level, Villager owner) {
|
||||
if (!level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)) {
|
||||
return false;
|
||||
- } else if (owner.getVillagerData().getProfession() != VillagerProfession.FARMER) {
|
||||
+ } else if (owner.getVillagerData().getProfession() != VillagerProfession.FARMER && !(level.purpurConfig.villagerClericsFarmWarts && owner.getVillagerData().getProfession() == VillagerProfession.CLERIC)) { // Purpur - Option for Villager Clerics to farm Nether Wart
|
||||
- } else if (!owner.getVillagerData().profession().is(VillagerProfession.FARMER)) {
|
||||
+ } else if (!owner.getVillagerData().profession().is(VillagerProfession.FARMER) && !(level.purpurConfig.villagerClericsFarmWarts && owner.getVillagerData().profession().is(VillagerProfession.CLERIC))) { // Purpur - Option for Villager Clerics to farm Nether Wart
|
||||
return false;
|
||||
} else {
|
||||
+ if (!this.clericWartFarmer && owner.getVillagerData().getProfession() == VillagerProfession.CLERIC) this.clericWartFarmer = true; // Purpur - Option for Villager Clerics to farm Nether Wart
|
||||
+ if (!this.clericWartFarmer && owner.getVillagerData().profession().is(VillagerProfession.CLERIC)) this.clericWartFarmer = true; // Purpur - Option for Villager Clerics to farm Nether Wart
|
||||
BlockPos.MutableBlockPos mutableBlockPos = owner.blockPosition().mutable();
|
||||
this.validFarmlandAroundVillager.clear();
|
||||
|
||||
@@ -72,7 +72,7 @@ index 4106549bd4dec1cc47d8765be8f5d119fe33bf56..e98fac58b29f78cb63bd868811cca41e
|
||||
1.0F,
|
||||
1.0F
|
||||
diff --git a/net/minecraft/world/entity/ai/behavior/TradeWithVillager.java b/net/minecraft/world/entity/ai/behavior/TradeWithVillager.java
|
||||
index 243ac036f95794e7766aefb4630b635681ae5a5f..4d8523a43d60cd6b4fd5546ffb3a61417b2c475b 100644
|
||||
index 623dd33a85cb67ecb835de18e9aac29f3394ce28..72cca4897f9697573fd6987a5f0d2df52761b8c3 100644
|
||||
--- a/net/minecraft/world/entity/ai/behavior/TradeWithVillager.java
|
||||
+++ b/net/minecraft/world/entity/ai/behavior/TradeWithVillager.java
|
||||
@@ -59,6 +59,12 @@ public class TradeWithVillager extends Behavior<Villager> {
|
||||
@@ -80,7 +80,7 @@ index 243ac036f95794e7766aefb4630b635681ae5a5f..4d8523a43d60cd6b4fd5546ffb3a6141
|
||||
}
|
||||
|
||||
+ // Purpur start - Option for Villager Clerics to farm Nether Wart
|
||||
+ if (level.purpurConfig.villagerClericsFarmWarts && level.purpurConfig.villagerClericFarmersThrowWarts && owner.getVillagerData().getProfession() == VillagerProfession.CLERIC && owner.getInventory().countItem(Items.NETHER_WART) > Items.NETHER_WART.getDefaultMaxStackSize() / 2) {
|
||||
+ if (level.purpurConfig.villagerClericsFarmWarts && level.purpurConfig.villagerClericFarmersThrowWarts && owner.getVillagerData().profession().is(VillagerProfession.CLERIC) && owner.getInventory().countItem(Items.NETHER_WART) > Items.NETHER_WART.getDefaultMaxStackSize() / 2) {
|
||||
+ throwHalfStack(owner, ImmutableSet.of(Items.NETHER_WART), villager);
|
||||
+ }
|
||||
+ // Purpur end - Option for Villager Clerics to farm Nether Wart
|
||||
@@ -89,26 +89,26 @@ index 243ac036f95794e7766aefb4630b635681ae5a5f..4d8523a43d60cd6b4fd5546ffb3a6141
|
||||
throwHalfStack(owner, this.trades, villager);
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java b/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java
|
||||
index 84afd8646b05409c582f29d73f9fea4b09feb603..32779b121322688a4b14e460b1f902ef67770b32 100644
|
||||
index c65f80aadeb27685653f6a4731888c612d4a59d6..bb07aa944ce60ec7db96e2b57bd6c2c862e2f787 100644
|
||||
--- a/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java
|
||||
+++ b/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java
|
||||
@@ -74,8 +74,13 @@ public class VillagerGoalPackages {
|
||||
}
|
||||
|
||||
public static ImmutableList<Pair<Integer, ? extends BehaviorControl<? super Villager>>> getWorkPackage(VillagerProfession profession, float speedModifier) {
|
||||
@@ -79,8 +79,13 @@ public class VillagerGoalPackages {
|
||||
public static ImmutableList<Pair<Integer, ? extends BehaviorControl<? super Villager>>> getWorkPackage(
|
||||
Holder<VillagerProfession> profession, float speedModifier
|
||||
) {
|
||||
+ // Purpur start - Option for Villager Clerics to farm Nether Wart
|
||||
+ return getWorkPackage(profession, speedModifier, false);
|
||||
+ }
|
||||
+ public static ImmutableList<Pair<Integer, ? extends BehaviorControl<? super Villager>>> getWorkPackage(VillagerProfession profession, float speedModifier, boolean clericsFarmWarts) {
|
||||
+ public static ImmutableList<Pair<Integer, ? extends BehaviorControl<? super Villager>>> getWorkPackage(Holder<VillagerProfession> profession, float speedModifier, boolean clericsFarmWarts) {
|
||||
+ // Purpur end - Option for Villager Clerics to farm Nether Wart
|
||||
WorkAtPoi workAtPoi;
|
||||
- if (profession == VillagerProfession.FARMER) {
|
||||
+ if (profession == VillagerProfession.FARMER || (clericsFarmWarts && profession == VillagerProfession.CLERIC)) { // Purpur - Option for Villager Clerics to farm Nether Wart
|
||||
- if (profession.is(VillagerProfession.FARMER)) {
|
||||
+ if (profession.is(VillagerProfession.FARMER) || (clericsFarmWarts && profession.is(VillagerProfession.CLERIC))) { // Purpur - Option for Villager Clerics to farm Nether Wart
|
||||
workAtPoi = new WorkAtComposter();
|
||||
} else {
|
||||
workAtPoi = new WorkAtPoi();
|
||||
diff --git a/net/minecraft/world/entity/ai/sensing/SecondaryPoiSensor.java b/net/minecraft/world/entity/ai/sensing/SecondaryPoiSensor.java
|
||||
index 6b99afb4f237b5d6def98f3e03492975b795bc95..234e9d4aca14bc2a2e138918be1430516d710060 100644
|
||||
index f0583076ef62189508a392a76c3fb6b741bbdde9..dc4a9ddb8479e9d0c4895b19d7d677cdd8ad3faa 100644
|
||||
--- a/net/minecraft/world/entity/ai/sensing/SecondaryPoiSensor.java
|
||||
+++ b/net/minecraft/world/entity/ai/sensing/SecondaryPoiSensor.java
|
||||
@@ -22,6 +22,13 @@ public class SecondaryPoiSensor extends Sensor<Villager> {
|
||||
@@ -117,7 +117,7 @@ index 6b99afb4f237b5d6def98f3e03492975b795bc95..234e9d4aca14bc2a2e138918be143051
|
||||
protected void doTick(ServerLevel level, Villager entity) {
|
||||
+ // Purpur start - Option for Villager Clerics to farm Nether Wart - make sure clerics don't wander to soul sand when the option is off
|
||||
+ Brain<?> brain = entity.getBrain();
|
||||
+ if (!level.purpurConfig.villagerClericsFarmWarts && entity.getVillagerData().getProfession() == net.minecraft.world.entity.npc.VillagerProfession.CLERIC) {
|
||||
+ if (!level.purpurConfig.villagerClericsFarmWarts && entity.getVillagerData().profession().is(net.minecraft.world.entity.npc.VillagerProfession.CLERIC)) {
|
||||
+ brain.eraseMemory(MemoryModuleType.SECONDARY_JOB_SITE);
|
||||
+ return;
|
||||
+ }
|
||||
@@ -135,37 +135,37 @@ index 6b99afb4f237b5d6def98f3e03492975b795bc95..234e9d4aca14bc2a2e138918be143051
|
||||
brain.setMemory(MemoryModuleType.SECONDARY_JOB_SITE, list);
|
||||
} else {
|
||||
diff --git a/net/minecraft/world/entity/npc/Villager.java b/net/minecraft/world/entity/npc/Villager.java
|
||||
index ff07cfe07200be23f17310522d737fca3251a580..017b54e0b8dec8996c90a3c6651867277dd516df 100644
|
||||
index 005af720a6385056f09f939813e97c10a7414a91..2846aca7bad55b56430738baeee9554e34da316c 100644
|
||||
--- a/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -311,7 +311,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -314,7 +314,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
villagerBrain.setSchedule(Schedule.VILLAGER_DEFAULT);
|
||||
villagerBrain.addActivityWithConditions(
|
||||
Activity.WORK,
|
||||
- VillagerGoalPackages.getWorkPackage(profession, 0.5F),
|
||||
+ VillagerGoalPackages.getWorkPackage(profession, 0.5F, this.level().purpurConfig.villagerClericsFarmWarts), // Purpur - Option for Villager Clerics to farm Nether Wart
|
||||
- VillagerGoalPackages.getWorkPackage(holder, 0.5F),
|
||||
+ VillagerGoalPackages.getWorkPackage(holder, 0.5F, this.level().purpurConfig.villagerClericsFarmWarts), // Purpur - Option for Villager Clerics to farm Nether Wart
|
||||
ImmutableSet.of(Pair.of(MemoryModuleType.JOB_SITE, MemoryStatus.VALUE_PRESENT))
|
||||
);
|
||||
}
|
||||
@@ -977,7 +977,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -965,7 +965,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
}
|
||||
|
||||
public boolean hasFarmSeeds() {
|
||||
- return this.getInventory().hasAnyMatching(itemStack -> itemStack.is(ItemTags.VILLAGER_PLANTABLE_SEEDS));
|
||||
+ return this.getInventory().hasAnyMatching(itemStack -> this.level().purpurConfig.villagerClericsFarmWarts && this.getVillagerData().getProfession() == VillagerProfession.CLERIC ? itemStack.is(Items.NETHER_WART) : itemStack.is(ItemTags.VILLAGER_PLANTABLE_SEEDS)); // Purpur - Option for Villager Clerics to farm Nether Wart
|
||||
- return this.getInventory().hasAnyMatching(stack -> stack.is(ItemTags.VILLAGER_PLANTABLE_SEEDS));
|
||||
+ return this.getInventory().hasAnyMatching(stack -> this.level().purpurConfig.villagerClericsFarmWarts && this.getVillagerData().profession().is(VillagerProfession.CLERIC) ? stack.is(Items.NETHER_WART) : stack.is(ItemTags.VILLAGER_PLANTABLE_SEEDS)); // Purpur - Option for Villager Clerics to farm Nether Wart
|
||||
}
|
||||
|
||||
@Override
|
||||
diff --git a/net/minecraft/world/entity/npc/VillagerProfession.java b/net/minecraft/world/entity/npc/VillagerProfession.java
|
||||
index 1ec8ad124c76483d11057eb97fcfb9aebee0c301..f783d058a080408d572938d36ba031f33a08e9af 100644
|
||||
index 0b7fdbc19f8a977be8168bca198c157fbe90044b..abfc2542a486d5a64bf88eac69f7d9587869d3cf 100644
|
||||
--- a/net/minecraft/world/entity/npc/VillagerProfession.java
|
||||
+++ b/net/minecraft/world/entity/npc/VillagerProfession.java
|
||||
@@ -31,7 +31,7 @@ public record VillagerProfession(
|
||||
public static final VillagerProfession ARMORER = register("armorer", PoiTypes.ARMORER, SoundEvents.VILLAGER_WORK_ARMORER);
|
||||
public static final VillagerProfession BUTCHER = register("butcher", PoiTypes.BUTCHER, SoundEvents.VILLAGER_WORK_BUTCHER);
|
||||
public static final VillagerProfession CARTOGRAPHER = register("cartographer", PoiTypes.CARTOGRAPHER, SoundEvents.VILLAGER_WORK_CARTOGRAPHER);
|
||||
- public static final VillagerProfession CLERIC = register("cleric", PoiTypes.CLERIC, SoundEvents.VILLAGER_WORK_CLERIC);
|
||||
+ public static final VillagerProfession CLERIC = register("cleric", PoiTypes.CLERIC, ImmutableSet.of(Items.NETHER_WART), ImmutableSet.of(Blocks.SOUL_SAND), SoundEvents.VILLAGER_WORK_CLERIC); // Purpur - Option for Villager Clerics to farm Nether Wart
|
||||
public static final VillagerProfession FARMER = register(
|
||||
"farmer",
|
||||
PoiTypes.FARMER,
|
||||
@@ -103,7 +103,7 @@ public record VillagerProfession(
|
||||
register(registry, ARMORER, PoiTypes.ARMORER, SoundEvents.VILLAGER_WORK_ARMORER);
|
||||
register(registry, BUTCHER, PoiTypes.BUTCHER, SoundEvents.VILLAGER_WORK_BUTCHER);
|
||||
register(registry, CARTOGRAPHER, PoiTypes.CARTOGRAPHER, SoundEvents.VILLAGER_WORK_CARTOGRAPHER);
|
||||
- register(registry, CLERIC, PoiTypes.CLERIC, SoundEvents.VILLAGER_WORK_CLERIC);
|
||||
+ register(registry, CLERIC, PoiTypes.CLERIC, ImmutableSet.of(Items.NETHER_WART), ImmutableSet.of(Blocks.SOUL_SAND), SoundEvents.VILLAGER_WORK_CLERIC); // Purpur - Option for Villager Clerics to farm Nether Wart
|
||||
register(
|
||||
registry,
|
||||
FARMER,
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add mobGriefing bypass to everything affected
|
||||
|
||||
|
||||
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
|
||||
index 4388a1e3d409a55cffd66fc32cae8753c39dd064..611732d56e5bb71973cb33a41507f61195c4cd2d 100644
|
||||
index 7b635a3f047a7f645322bdd8ce5bfa8350d7a739..2a7434872472b950fe09bfe8f5f334d9964b51d6 100644
|
||||
--- a/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1818,7 +1818,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1905,7 +1905,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
if (this.level() instanceof ServerLevel serverLevel) {
|
||||
boolean var6 = false;
|
||||
if (this.dead && entitySource instanceof WitherBoss) { // Paper
|
||||
@@ -18,10 +18,10 @@ index 4388a1e3d409a55cffd66fc32cae8753c39dd064..611732d56e5bb71973cb33a41507f611
|
||||
BlockState blockState = Blocks.WITHER_ROSE.defaultBlockState();
|
||||
if (this.level().getBlockState(blockPos).isAir() && blockState.canSurvive(this.level(), blockPos)) {
|
||||
diff --git a/net/minecraft/world/entity/Mob.java b/net/minecraft/world/entity/Mob.java
|
||||
index c431f28c3f4f6cec946048f5752c364429af5ba1..d93584c6793818463e8883ffe399bf16b03263a9 100644
|
||||
index ca1d0164c90e695731f05de39c1d2fff947ecfc1..b828524d62a940f89f0c0fa926ef0423019ec212 100644
|
||||
--- a/net/minecraft/world/entity/Mob.java
|
||||
+++ b/net/minecraft/world/entity/Mob.java
|
||||
@@ -648,7 +648,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
||||
@@ -519,7 +519,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
||||
&& this.canPickUpLoot()
|
||||
&& this.isAlive()
|
||||
&& !this.dead
|
||||
@@ -31,7 +31,7 @@ index c431f28c3f4f6cec946048f5752c364429af5ba1..d93584c6793818463e8883ffe399bf16
|
||||
|
||||
for (ItemEntity itemEntity : this.level()
|
||||
diff --git a/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java b/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java
|
||||
index e98fac58b29f78cb63bd868811cca41e1644e9ac..56d49bc71cb0cb0a08ff771991fd77ab774b4b59 100644
|
||||
index f15e4cfd8c0ac5e08779dbe6b9aa40bfe9ce4d8f..d90a616eca474ae940d46cda94e816bddda70183 100644
|
||||
--- a/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java
|
||||
+++ b/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java
|
||||
@@ -49,7 +49,7 @@ public class HarvestFarmland extends Behavior<Villager> {
|
||||
@@ -41,7 +41,7 @@ index e98fac58b29f78cb63bd868811cca41e1644e9ac..56d49bc71cb0cb0a08ff771991fd77ab
|
||||
- if (!level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)) {
|
||||
+ if (!level.purpurConfig.villagerBypassMobGriefing == !level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)) { // Purpur - Add mobGriefing bypass to everything affected
|
||||
return false;
|
||||
} else if (owner.getVillagerData().getProfession() != VillagerProfession.FARMER && !(level.purpurConfig.villagerClericsFarmWarts && owner.getVillagerData().getProfession() == VillagerProfession.CLERIC)) { // Purpur - Option for Villager Clerics to farm Nether Wart
|
||||
} else if (!owner.getVillagerData().profession().is(VillagerProfession.FARMER) && !(level.purpurConfig.villagerClericsFarmWarts && owner.getVillagerData().profession().is(VillagerProfession.CLERIC))) { // Purpur - Option for Villager Clerics to farm Nether Wart
|
||||
return false;
|
||||
diff --git a/net/minecraft/world/entity/ai/goal/BreakDoorGoal.java b/net/minecraft/world/entity/ai/goal/BreakDoorGoal.java
|
||||
index e026e07ca86700c864a3dceda6817fb7b6cb11e9..f1dfe0bf047e7d331b2379a672ff7b8eae4c9c90 100644
|
||||
@@ -57,13 +57,13 @@ index e026e07ca86700c864a3dceda6817fb7b6cb11e9..f1dfe0bf047e7d331b2379a672ff7b8e
|
||||
&& !this.isOpen();
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/ai/goal/EatBlockGoal.java b/net/minecraft/world/entity/ai/goal/EatBlockGoal.java
|
||||
index e84893780b533b1ecb3675606b5c2daf7339b861..65eb4d8001b07cb3f7cda17565eea10a88a9c47c 100644
|
||||
index 7a75415a469bc99f45a5cfaab038181717903f1d..fc244a1fbd401f6ea92e7428b9738939e0cb2b1e 100644
|
||||
--- a/net/minecraft/world/entity/ai/goal/EatBlockGoal.java
|
||||
+++ b/net/minecraft/world/entity/ai/goal/EatBlockGoal.java
|
||||
@@ -67,7 +67,7 @@ public class EatBlockGoal extends Goal {
|
||||
BlockPos blockPos = this.mob.blockPosition();
|
||||
final BlockState blockState = this.level.getBlockState(blockPos); // Paper - fix wrong block state
|
||||
if (IS_TALL_GRASS.test(blockState)) { // Paper - fix wrong block state
|
||||
if (IS_EDIBLE.test(blockState)) { // Paper - fix wrong block state
|
||||
- if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(this.mob, blockPos, blockState.getFluidState().createLegacyBlock(), !getServerLevel(this.level).getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING))) { // CraftBukkit // Paper - fix wrong block state
|
||||
+ if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(this.mob, blockPos, blockState.getFluidState().createLegacyBlock(), !getServerLevel(this.level).purpurConfig.sheepBypassMobGriefing == !getServerLevel(this.level).getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING))) { // CraftBukkit // Paper - fix wrong block state // Purpur - Add mobGriefing bypass to everything affected
|
||||
this.level.destroyBlock(blockPos, false);
|
||||
@@ -79,7 +79,7 @@ index e84893780b533b1ecb3675606b5c2daf7339b861..65eb4d8001b07cb3f7cda17565eea10a
|
||||
this.level.setBlock(blockPos1, Blocks.DIRT.defaultBlockState(), 2);
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/ai/goal/RemoveBlockGoal.java b/net/minecraft/world/entity/ai/goal/RemoveBlockGoal.java
|
||||
index 579ca031d461ed4327fe4fb45c5289565322e64e..95fa516910a3834bbd4db6d11279e13a1f0dac41 100644
|
||||
index 3d40911970caf6f1de2a1ebee1df4c077703226a..9b29c0c676a45de2abdc76e0502ac06ac1e53097 100644
|
||||
--- a/net/minecraft/world/entity/ai/goal/RemoveBlockGoal.java
|
||||
+++ b/net/minecraft/world/entity/ai/goal/RemoveBlockGoal.java
|
||||
@@ -35,7 +35,7 @@ public class RemoveBlockGoal extends MoveToBlockGoal {
|
||||
@@ -92,10 +92,10 @@ index 579ca031d461ed4327fe4fb45c5289565322e64e..95fa516910a3834bbd4db6d11279e13a
|
||||
} else if (this.nextStartTick > 0) {
|
||||
this.nextStartTick--;
|
||||
diff --git a/net/minecraft/world/entity/animal/Fox.java b/net/minecraft/world/entity/animal/Fox.java
|
||||
index 7bc31391b0bd696ce73223d639a96278994010ca..950bf1c834111e00a3f3eda1390da7ede177ae15 100644
|
||||
index 6a531e5d93d42d3dca7a5e49fb2ba14063665d2e..e3631adee6ef690807768c90045c28570982b315 100644
|
||||
--- a/net/minecraft/world/entity/animal/Fox.java
|
||||
+++ b/net/minecraft/world/entity/animal/Fox.java
|
||||
@@ -1038,7 +1038,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Variant> {
|
||||
@@ -1061,7 +1061,7 @@ public class Fox extends Animal {
|
||||
}
|
||||
|
||||
protected void onReachedTarget() {
|
||||
@@ -105,10 +105,10 @@ index 7bc31391b0bd696ce73223d639a96278994010ca..950bf1c834111e00a3f3eda1390da7ed
|
||||
if (blockState.is(Blocks.SWEET_BERRY_BUSH)) {
|
||||
this.pickSweetBerries(blockState);
|
||||
diff --git a/net/minecraft/world/entity/animal/Rabbit.java b/net/minecraft/world/entity/animal/Rabbit.java
|
||||
index bbdd06002b07699fffebdf6ed8148abdb69c24cc..7379def14f3f700fb8a746dc89d89e249e93b7b9 100644
|
||||
index 6c1e23e96352aa777c4e0c7d00f7620aa3f29a32..1c88e12d743325a429cad27928ea1ac43a696e8a 100644
|
||||
--- a/net/minecraft/world/entity/animal/Rabbit.java
|
||||
+++ b/net/minecraft/world/entity/animal/Rabbit.java
|
||||
@@ -620,7 +620,7 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
@@ -647,7 +647,7 @@ public class Rabbit extends Animal {
|
||||
@Override
|
||||
public boolean canUse() {
|
||||
if (this.nextStartTick <= 0) {
|
||||
@@ -118,10 +118,10 @@ index bbdd06002b07699fffebdf6ed8148abdb69c24cc..7379def14f3f700fb8a746dc89d89e24
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/world/entity/animal/SnowGolem.java b/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
index 495284016f0141d34fcda3c1a1799233a5f708cf..0faa2d786a1162f125c531d93a5d1f215f310dfe 100644
|
||||
index 764429b9d20ac105c9ae3b050adf5d3defbd6038..1bf6fdc0149975fefbb73563e0d4861b178459b8 100644
|
||||
--- a/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
+++ b/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
@@ -136,7 +136,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
@@ -135,7 +135,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
this.hurtServer(serverLevel, this.damageSources().onFire().knownCause(org.bukkit.event.entity.EntityDamageEvent.DamageCause.MELTING), 1.0F); // CraftBukkit
|
||||
}
|
||||
|
||||
@@ -131,10 +131,10 @@ index 495284016f0141d34fcda3c1a1799233a5f708cf..0faa2d786a1162f125c531d93a5d1f21
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
index ca900bb646e16c7b4342f23c3ffae786eab28145..724d259d4b793f2043e63dda9022bdfddc4dca38 100644
|
||||
index 793567170b33ba21016b8767598d294fca4acec4..f014b4ca2baf97edf472ce4d8af1209eaf4d53d1 100644
|
||||
--- a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
+++ b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
@@ -547,7 +547,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -543,7 +543,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
BlockPos blockPos = new BlockPos(i, i1, i2);
|
||||
BlockState blockState = level.getBlockState(blockPos);
|
||||
if (!blockState.isAir() && !blockState.is(BlockTags.DRAGON_TRANSPARENT)) {
|
||||
@@ -144,10 +144,10 @@ index ca900bb646e16c7b4342f23c3ffae786eab28145..724d259d4b793f2043e63dda9022bdfd
|
||||
//flag1 = level.removeBlock(blockPos, false) || flag1;
|
||||
flag1 = true;
|
||||
diff --git a/net/minecraft/world/entity/boss/wither/WitherBoss.java b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
index 60e666aa8afe14b519010b6d137a89e3d22f6c81..a325fa87e149e7f354ed4cf3dbb30a002c4ce32a 100644
|
||||
index f0ec9334d9e6bf879568a085db691c46f7c652b6..951de2194f8e669e454edd8678cd254e94d18ab7 100644
|
||||
--- a/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
+++ b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
@@ -493,7 +493,7 @@ public class WitherBoss extends Monster implements RangedAttackMob {
|
||||
@@ -494,7 +494,7 @@ public class WitherBoss extends Monster implements RangedAttackMob {
|
||||
|
||||
if (this.destroyBlocksTick > 0) {
|
||||
this.destroyBlocksTick--;
|
||||
@@ -157,10 +157,10 @@ index 60e666aa8afe14b519010b6d137a89e3d22f6c81..a325fa87e149e7f354ed4cf3dbb30a00
|
||||
int alternativeTarget = Mth.floor(this.getBbWidth() / 2.0F + 1.0F);
|
||||
int floor = Mth.floor(this.getBbHeight());
|
||||
diff --git a/net/minecraft/world/entity/monster/EnderMan.java b/net/minecraft/world/entity/monster/EnderMan.java
|
||||
index f8d6935439b4e672ed655b2a458451d4b1fa8ffd..7b74322aef3d7d45a322abccc71d9168b3c0911b 100644
|
||||
index c01c91db94136700f9501624763e3bd735986a9f..0cae67d67af733b0bc6558f8cc1056b45554e3ce 100644
|
||||
--- a/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -516,7 +516,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -509,7 +509,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
public boolean canUse() {
|
||||
if (!enderman.level().purpurConfig.endermanAllowGriefing) return false; // Purpur - Add enderman and creeper griefing controls
|
||||
return this.enderman.getCarriedBlock() != null
|
||||
@@ -169,7 +169,7 @@ index f8d6935439b4e672ed655b2a458451d4b1fa8ffd..7b74322aef3d7d45a322abccc71d9168
|
||||
&& this.enderman.getRandom().nextInt(reducedTickDelay(2000)) == 0;
|
||||
}
|
||||
|
||||
@@ -666,7 +666,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -659,7 +659,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
public boolean canUse() {
|
||||
if (!enderman.level().purpurConfig.endermanAllowGriefing) return false; // Purpur - Add enderman and creeper griefing controls
|
||||
return this.enderman.getCarriedBlock() == null
|
||||
@@ -179,7 +179,7 @@ index f8d6935439b4e672ed655b2a458451d4b1fa8ffd..7b74322aef3d7d45a322abccc71d9168
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/world/entity/monster/Evoker.java b/net/minecraft/world/entity/monster/Evoker.java
|
||||
index d3d7e11a12af404d83e81888a9a633dfb93412ec..91574baf7ca095eae909e8e7225ad500bde15af2 100644
|
||||
index 5773dd99ad2b014dde6666f4b32a1e6ee024a9fc..b14b72f7bbf6cb65b1515c12bae47187fe1371b5 100644
|
||||
--- a/net/minecraft/world/entity/monster/Evoker.java
|
||||
+++ b/net/minecraft/world/entity/monster/Evoker.java
|
||||
@@ -323,7 +323,7 @@ public class Evoker extends SpellcasterIllager {
|
||||
@@ -192,10 +192,10 @@ index d3d7e11a12af404d83e81888a9a633dfb93412ec..91574baf7ca095eae909e8e7225ad500
|
||||
} else {
|
||||
List<Sheep> nearbyEntities = serverLevel.getNearbyEntities(
|
||||
diff --git a/net/minecraft/world/entity/monster/Ravager.java b/net/minecraft/world/entity/monster/Ravager.java
|
||||
index 36ebfc1102a18e4050eb9a2441d75bafcf3784b8..3449628fb87fd760abd730d84699c3a09c6ec761 100644
|
||||
index 3adf0ec66db61b556a06ffe0fe835b57f8520948..568a0d17600a82109263de715f3d54fc24039452 100644
|
||||
--- a/net/minecraft/world/entity/monster/Ravager.java
|
||||
+++ b/net/minecraft/world/entity/monster/Ravager.java
|
||||
@@ -175,7 +175,7 @@ public class Ravager extends Raider {
|
||||
@@ -178,7 +178,7 @@ public class Ravager extends Raider {
|
||||
|
||||
if (this.level() instanceof ServerLevel serverLevel
|
||||
&& this.horizontalCollision
|
||||
@@ -205,7 +205,7 @@ index 36ebfc1102a18e4050eb9a2441d75bafcf3784b8..3449628fb87fd760abd730d84699c3a0
|
||||
AABB aabb = this.getBoundingBox().inflate(0.2);
|
||||
|
||||
diff --git a/net/minecraft/world/entity/monster/Silverfish.java b/net/minecraft/world/entity/monster/Silverfish.java
|
||||
index d3befe91bc65bbc2bc0d8651b78e8c9576cd0f75..0d3b8b64a23a19d67a1a4a01faaf6649a59f54ad 100644
|
||||
index c200d57841304ba0d7a76fdd9a440fe9f2b25136..ff3761507f2025fd1e652afee03a18de3508676a 100644
|
||||
--- a/net/minecraft/world/entity/monster/Silverfish.java
|
||||
+++ b/net/minecraft/world/entity/monster/Silverfish.java
|
||||
@@ -170,7 +170,7 @@ public class Silverfish extends Monster {
|
||||
@@ -227,10 +227,10 @@ index d3befe91bc65bbc2bc0d8651b78e8c9576cd0f75..0d3b8b64a23a19d67a1a4a01faaf6649
|
||||
continue;
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/monster/piglin/Piglin.java b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
index 897c57263ab7347987b289016a71d11f693bc8b2..d923a424e2b33b7d4e9e4ecdce8e0a8c825038de 100644
|
||||
index b37038568b83db1602dca06aa06d72c4c4978cdd..8d37820522b12f2e513ca38c6ccdbb6ef3c2fc71 100644
|
||||
--- a/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
+++ b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
@@ -473,7 +473,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||
@@ -449,7 +449,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||
|
||||
@Override
|
||||
public boolean wantsToPickUp(ServerLevel level, ItemStack stack) {
|
||||
@@ -240,10 +240,10 @@ index 897c57263ab7347987b289016a71d11f693bc8b2..d923a424e2b33b7d4e9e4ecdce8e0a8c
|
||||
|
||||
protected boolean canReplaceCurrentItem(ItemStack candidate) {
|
||||
diff --git a/net/minecraft/world/entity/projectile/LargeFireball.java b/net/minecraft/world/entity/projectile/LargeFireball.java
|
||||
index 4a752ace041228f095af7b1b4878a03c5ed2381f..3e8b5d042eddb817dee2504ff9aa263f6195b1c7 100644
|
||||
index db1b5bce212a5147be82504469f1fa9660812ebc..b97ea6fea26182945b6360644f17d172166574d3 100644
|
||||
--- a/net/minecraft/world/entity/projectile/LargeFireball.java
|
||||
+++ b/net/minecraft/world/entity/projectile/LargeFireball.java
|
||||
@@ -18,20 +18,20 @@ public class LargeFireball extends Fireball {
|
||||
@@ -19,20 +19,20 @@ public class LargeFireball extends Fireball {
|
||||
|
||||
public LargeFireball(EntityType<? extends LargeFireball> entityType, Level level) {
|
||||
super(entityType, level);
|
||||
@@ -266,12 +266,12 @@ index 4a752ace041228f095af7b1b4878a03c5ed2381f..3e8b5d042eddb817dee2504ff9aa263f
|
||||
+ boolean _boolean = serverLevel.purpurConfig.fireballsBypassMobGriefing ^ serverLevel.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING); // Purpur - Add mobGriefing bypass to everything affected
|
||||
// CraftBukkit start - fire ExplosionPrimeEvent
|
||||
org.bukkit.event.entity.ExplosionPrimeEvent event = new org.bukkit.event.entity.ExplosionPrimeEvent((org.bukkit.entity.Explosive) this.getBukkitEntity());
|
||||
this.level().getCraftServer().getPluginManager().callEvent(event);
|
||||
if (event.callEvent()) {
|
||||
diff --git a/net/minecraft/world/entity/projectile/Projectile.java b/net/minecraft/world/entity/projectile/Projectile.java
|
||||
index ad0bb896d6ea669ce88bfe6490319e8ba7a29001..843f1396a6567672e5e8002d7e48fb18cf39d5de 100644
|
||||
index 4487c03183d20a187d391dd124abb7b926508b5b..3f0fe1190f5ec11efb148d481e0ed5d97f177969 100644
|
||||
--- a/net/minecraft/world/entity/projectile/Projectile.java
|
||||
+++ b/net/minecraft/world/entity/projectile/Projectile.java
|
||||
@@ -454,7 +454,7 @@ public abstract class Projectile extends Entity implements TraceableEntity {
|
||||
@@ -466,7 +466,7 @@ public abstract class Projectile extends Entity implements TraceableEntity {
|
||||
@Override
|
||||
public boolean mayInteract(ServerLevel level, BlockPos pos) {
|
||||
Entity owner = this.getOwner();
|
||||
@@ -294,10 +294,10 @@ index 8c84cea43fc0e42a576004663670977eac99f1a6..808aa5dcb27c87b6ba5c1eee63948606
|
||||
// CraftBukkit end
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/raid/Raider.java b/net/minecraft/world/entity/raid/Raider.java
|
||||
index 8270d76a753bfd26a4c8ef6610bee5c24ee59cfe..c06b589e669b055a26f662df60070d5908256220 100644
|
||||
index e81ae747fe95c22321fc69791a6509d601826fd6..77bb3aa7ff042aab6464aac55c846cb9082e5b97 100644
|
||||
--- a/net/minecraft/world/entity/raid/Raider.java
|
||||
+++ b/net/minecraft/world/entity/raid/Raider.java
|
||||
@@ -399,7 +399,7 @@ public abstract class Raider extends PatrollingMonster {
|
||||
@@ -400,7 +400,7 @@ public abstract class Raider extends PatrollingMonster {
|
||||
}
|
||||
|
||||
private boolean cannotPickUpBanner() {
|
||||
@@ -307,12 +307,12 @@ index 8270d76a753bfd26a4c8ef6610bee5c24ee59cfe..c06b589e669b055a26f662df60070d59
|
||||
return true;
|
||||
} else if (this.mob.getCurrentRaid().isOver()) {
|
||||
diff --git a/net/minecraft/world/level/block/CropBlock.java b/net/minecraft/world/level/block/CropBlock.java
|
||||
index b43f16297ac4441d78d0dc1fadb555698b0c3f6d..27f0c5c886a3f8b14ef9a00e2aaaabf4bf09c7db 100644
|
||||
index b370b955ac8636275dfada4f38a7ca10297f7dac..275eabf64977cdf262de55124c3e5f88d8667213 100644
|
||||
--- a/net/minecraft/world/level/block/CropBlock.java
|
||||
+++ b/net/minecraft/world/level/block/CropBlock.java
|
||||
@@ -182,7 +182,7 @@ public class CropBlock extends BushBlock implements BonemealableBlock {
|
||||
@@ -169,7 +169,7 @@ public class CropBlock extends VegetationBlock implements BonemealableBlock {
|
||||
@Override
|
||||
protected void entityInside(BlockState state, Level level, BlockPos pos, Entity entity) {
|
||||
protected void entityInside(BlockState state, Level level, BlockPos pos, Entity entity, InsideBlockEffectApplier effectApplier) {
|
||||
if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(level, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent
|
||||
- if (level instanceof ServerLevel serverLevel && entity instanceof Ravager && serverLevel.purpurConfig.ravagerGriefableBlocks.contains(serverLevel.getBlockState(pos).getBlock()) && org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.AIR.defaultBlockState(), !serverLevel.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING))) { // CraftBukkit // Purpur - Configurable ravager griefable blocks list
|
||||
+ if (level instanceof ServerLevel serverLevel && entity instanceof Ravager && serverLevel.purpurConfig.ravagerGriefableBlocks.contains(serverLevel.getBlockState(pos).getBlock()) && org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.AIR.defaultBlockState(), !serverLevel.purpurConfig.ravagerBypassMobGriefing == !serverLevel.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING))) { // CraftBukkit // Purpur - Configurable ravager griefable blocks list // Purpur - Add mobGriefing bypass to everything affected
|
||||
@@ -320,36 +320,36 @@ index b43f16297ac4441d78d0dc1fadb555698b0c3f6d..27f0c5c886a3f8b14ef9a00e2aaaabf4
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/world/level/block/FarmBlock.java b/net/minecraft/world/level/block/FarmBlock.java
|
||||
index 6ab9a1188ce60e114ef35e393d9f2f46d490af83..9a7ca836e54cc3f58001c85f0079747f4d4941ad 100644
|
||||
index ba3b8b1e0c646c09e0b3566d632f2735c1ed9051..35c9a20116b971d184181d0dcb1e52c84f480383 100644
|
||||
--- a/net/minecraft/world/level/block/FarmBlock.java
|
||||
+++ b/net/minecraft/world/level/block/FarmBlock.java
|
||||
@@ -114,7 +114,7 @@ public class FarmBlock extends Block {
|
||||
if (level instanceof ServerLevel serverLevel
|
||||
&& (serverLevel.purpurConfig.farmlandTrampleHeight >= 0D ? fallDistance >= serverLevel.purpurConfig.farmlandTrampleHeight : level.random.nextFloat() < fallDistance - 0.5F) // // Purpur - Configurable farmland trample height
|
||||
&& (serverLevel.purpurConfig.farmlandTrampleHeight >= 0D ? fallDistance >= serverLevel.purpurConfig.farmlandTrampleHeight : level.random.nextFloat() < fallDistance - 0.5) // Purpur - Configurable farmland trample height
|
||||
&& entity instanceof LivingEntity
|
||||
- && (entity instanceof Player || serverLevel.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING))
|
||||
+ && (entity instanceof Player || serverLevel.purpurConfig.farmlandBypassMobGriefing ^ serverLevel.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING))
|
||||
+ && (entity instanceof Player || serverLevel.purpurConfig.farmlandBypassMobGriefing ^ serverLevel.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)) // Purpur - Add mobGriefing bypass to everything affected
|
||||
&& entity.getBbWidth() * entity.getBbWidth() * entity.getBbHeight() > 0.512F) {
|
||||
// CraftBukkit start - Interact soil
|
||||
org.bukkit.event.Cancellable cancellable;
|
||||
diff --git a/net/minecraft/world/level/block/PowderSnowBlock.java b/net/minecraft/world/level/block/PowderSnowBlock.java
|
||||
index 9c0ded7ae7e3a520704033a866f80743ae85d772..4f3646961beb877520e257e11224c3045467d351 100644
|
||||
index 248ac9bc820a96fc7653471308b18834fc735a77..5c6ebde129289f2f7feb44dc1083aa030f55fbff 100644
|
||||
--- a/net/minecraft/world/level/block/PowderSnowBlock.java
|
||||
+++ b/net/minecraft/world/level/block/PowderSnowBlock.java
|
||||
@@ -84,7 +84,7 @@ public class PowderSnowBlock extends Block implements BucketPickup {
|
||||
// CraftBukkit - move down
|
||||
&& entity.mayInteract(serverLevel, pos)) {
|
||||
// CraftBukkit start
|
||||
- if (!org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.AIR.defaultBlockState(), !(serverLevel.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) || entity instanceof Player))) {
|
||||
+ if (!org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.AIR.defaultBlockState(), !(serverLevel.purpurConfig.powderSnowBypassMobGriefing ^ serverLevel.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) || entity instanceof Player))) {
|
||||
return;
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -89,7 +89,7 @@ public class PowderSnowBlock extends Block implements BucketPickup {
|
||||
// CraftBukkit - move down
|
||||
&& entity1.mayInteract(serverLevel, blockPos)) {
|
||||
// CraftBukkit start
|
||||
- if (!org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(entity1, pos, Blocks.AIR.defaultBlockState(), !(serverLevel.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) || entity1 instanceof Player))) {
|
||||
+ if (!org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(entity1, pos, Blocks.AIR.defaultBlockState(), !(serverLevel.purpurConfig.powderSnowBypassMobGriefing ^ serverLevel.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) || entity1 instanceof Player))) { // Purpur - Add mobGriefing bypass to everything affected
|
||||
return;
|
||||
}
|
||||
// CraftBukkit end
|
||||
diff --git a/net/minecraft/world/level/block/TurtleEggBlock.java b/net/minecraft/world/level/block/TurtleEggBlock.java
|
||||
index c97d5bd7b4c1b6f8eccbe2d123292e913a285ef2..a3a093d95306baac22e5cf720f5b14f733b548d4 100644
|
||||
index 31851c5404ba3e60c8e8063c6bd0fa94acac6375..4cafcf185dcc0f6c1a380c40d3b654055b492a9a 100644
|
||||
--- a/net/minecraft/world/level/block/TurtleEggBlock.java
|
||||
+++ b/net/minecraft/world/level/block/TurtleEggBlock.java
|
||||
@@ -216,7 +216,7 @@ public class TurtleEggBlock extends Block {
|
||||
@@ -213,7 +213,7 @@ public class TurtleEggBlock extends Block {
|
||||
// Purpur end - Option to disable turtle egg trampling with feather falling
|
||||
if (entity instanceof Player) return true;
|
||||
|
||||
|
||||
@@ -17,11 +17,11 @@ You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
diff --git a/net/minecraft/world/level/block/EndGatewayBlock.java b/net/minecraft/world/level/block/EndGatewayBlock.java
|
||||
index 84a1bd5e40e635962d795506861447851e443eee..54abeb142e119edd1c1d1c263821b95b1f05c388 100644
|
||||
index 68914268ca9350a6c1d794e011e1f9a8aecd609c..8e53b45dbf740de6c6fe499ef424d11b2b15f9d8 100644
|
||||
--- a/net/minecraft/world/level/block/EndGatewayBlock.java
|
||||
+++ b/net/minecraft/world/level/block/EndGatewayBlock.java
|
||||
@@ -98,6 +98,13 @@ public class EndGatewayBlock extends BaseEntityBlock implements Portal {
|
||||
org.bukkit.event.entity.EntityPortalEnterEvent event = new org.bukkit.event.entity.EntityPortalEnterEvent(entity.getBukkitEntity(), new org.bukkit.Location(level.getWorld(), pos.getX(), pos.getY(), pos.getZ()), org.bukkit.PortalType.END_GATEWAY); // Paper - add portal type
|
||||
@@ -99,6 +99,13 @@ public class EndGatewayBlock extends BaseEntityBlock implements Portal {
|
||||
org.bukkit.event.entity.EntityPortalEnterEvent event = new org.bukkit.event.entity.EntityPortalEnterEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.util.CraftLocation.toBukkit(pos, level), org.bukkit.PortalType.END_GATEWAY); // Paper - add portal type
|
||||
if (!event.callEvent()) return;
|
||||
// Paper end - call EntityPortalEnterEvent
|
||||
+ // Purpur start - Add EntityTeleportHinderedEvent
|
||||
@@ -35,11 +35,11 @@ index 84a1bd5e40e635962d795506861447851e443eee..54abeb142e119edd1c1d1c263821b95b
|
||||
TheEndGatewayBlockEntity.triggerCooldown(level, pos, state, theEndGatewayBlockEntity);
|
||||
}
|
||||
diff --git a/net/minecraft/world/level/block/EndPortalBlock.java b/net/minecraft/world/level/block/EndPortalBlock.java
|
||||
index 01cddd7001b4a7f99c1b1d147fac904d3064d733..7e60bcadd2d343e00fc554dba0b85c9191f7efb6 100644
|
||||
index cf2b105c98a3b22b9bea59cbafcd598657dc92b5..65d3477ed32c3f0db58aab6ab87d8f1721cbe876 100644
|
||||
--- a/net/minecraft/world/level/block/EndPortalBlock.java
|
||||
+++ b/net/minecraft/world/level/block/EndPortalBlock.java
|
||||
@@ -58,6 +58,13 @@ public class EndPortalBlock extends BaseEntityBlock implements Portal {
|
||||
protected void entityInside(BlockState state, Level level, BlockPos pos, Entity entity) {
|
||||
@@ -59,6 +59,13 @@ public class EndPortalBlock extends BaseEntityBlock implements Portal {
|
||||
protected void entityInside(BlockState state, Level level, BlockPos pos, Entity entity, InsideBlockEffectApplier effectApplier) {
|
||||
if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(level, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent
|
||||
if (entity.canUsePortal(false)) {
|
||||
+ // Purpur start - Add EntityTeleportHinderedEvent
|
||||
@@ -50,14 +50,14 @@ index 01cddd7001b4a7f99c1b1d147fac904d3064d733..7e60bcadd2d343e00fc554dba0b85c91
|
||||
+ }
|
||||
+ // Purpur end - Add EntityTeleportHinderedEvent
|
||||
// CraftBukkit start - Entity in portal
|
||||
org.bukkit.event.entity.EntityPortalEnterEvent event = new org.bukkit.event.entity.EntityPortalEnterEvent(entity.getBukkitEntity(), new org.bukkit.Location(level.getWorld(), pos.getX(), pos.getY(), pos.getZ()), org.bukkit.PortalType.ENDER); // Paper - add portal type
|
||||
org.bukkit.event.entity.EntityPortalEnterEvent event = new org.bukkit.event.entity.EntityPortalEnterEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.util.CraftLocation.toBukkit(pos, level), org.bukkit.PortalType.ENDER); // Paper - add portal type
|
||||
level.getCraftServer().getPluginManager().callEvent(event);
|
||||
diff --git a/net/minecraft/world/level/block/NetherPortalBlock.java b/net/minecraft/world/level/block/NetherPortalBlock.java
|
||||
index 006444811c00a8820bddaf75950e794271efdd82..eb659209008209c0930770e5f9671a3d7a4abae6 100644
|
||||
index fa0d6baa40c6052c993d870d124af911e8621f0a..1c58af94050b75cd8f405a201448c822792e594a 100644
|
||||
--- a/net/minecraft/world/level/block/NetherPortalBlock.java
|
||||
+++ b/net/minecraft/world/level/block/NetherPortalBlock.java
|
||||
@@ -117,6 +117,13 @@ public class NetherPortalBlock extends Block implements Portal {
|
||||
protected void entityInside(BlockState state, Level level, BlockPos pos, Entity entity) {
|
||||
@@ -118,6 +118,13 @@ public class NetherPortalBlock extends Block implements Portal {
|
||||
protected void entityInside(BlockState state, Level level, BlockPos pos, Entity entity, InsideBlockEffectApplier effectApplier) {
|
||||
if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(level, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent
|
||||
if (entity.canUsePortal(false)) {
|
||||
+ // Purpur start - Add EntityTeleportHinderedEvent
|
||||
@@ -68,5 +68,5 @@ index 006444811c00a8820bddaf75950e794271efdd82..eb659209008209c0930770e5f9671a3d
|
||||
+ }
|
||||
+ // Purpur end - Add EntityTeleportHinderedEvent
|
||||
// CraftBukkit start - Entity in portal
|
||||
org.bukkit.event.entity.EntityPortalEnterEvent event = new org.bukkit.event.entity.EntityPortalEnterEvent(entity.getBukkitEntity(), new org.bukkit.Location(level.getWorld(), pos.getX(), pos.getY(), pos.getZ()), org.bukkit.PortalType.NETHER); // Paper - add portal type
|
||||
org.bukkit.event.entity.EntityPortalEnterEvent event = new org.bukkit.event.entity.EntityPortalEnterEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.util.CraftLocation.toBukkit(pos, level), org.bukkit.PortalType.NETHER); // Paper - add portal type
|
||||
level.getCraftServer().getPluginManager().callEvent(event);
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Toggle for water sensitive mob damage
|
||||
|
||||
|
||||
diff --git a/net/minecraft/world/entity/GlowSquid.java b/net/minecraft/world/entity/GlowSquid.java
|
||||
index 898b1e01026ec1f44cfe60e9f18a997c86e30594..e717c063c8f9623b8c4b4ea3843d05fd79af3653 100644
|
||||
index b6f52326f52ce2885ece346944a321d7c924a470..fe6f29c5e663daea017b19aaafaddda40b4c22bb 100644
|
||||
--- a/net/minecraft/world/entity/GlowSquid.java
|
||||
+++ b/net/minecraft/world/entity/GlowSquid.java
|
||||
@@ -52,6 +52,13 @@ public class GlowSquid extends Squid {
|
||||
@@ -53,6 +53,13 @@ public class GlowSquid extends Squid {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -23,10 +23,10 @@ index 898b1e01026ec1f44cfe60e9f18a997c86e30594..e717c063c8f9623b8c4b4ea3843d05fd
|
||||
protected ParticleOptions getInkParticle() {
|
||||
return ParticleTypes.GLOW_SQUID_INK;
|
||||
diff --git a/net/minecraft/world/entity/ambient/Bat.java b/net/minecraft/world/entity/ambient/Bat.java
|
||||
index ecbec552e5cd1935f57872d2fb502d3e9743e3d8..4fa526496265a85b637136f0fd0692ef4f570ad6 100644
|
||||
index 581894f58df1df4b50aa537252cb4be6bbcebf80..4d44b35ee34eb256b9aff9d74b1cb9ae1ac9503f 100644
|
||||
--- a/net/minecraft/world/entity/ambient/Bat.java
|
||||
+++ b/net/minecraft/world/entity/ambient/Bat.java
|
||||
@@ -109,6 +109,13 @@ public class Bat extends AmbientCreature {
|
||||
@@ -110,6 +110,13 @@ public class Bat extends AmbientCreature {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -41,10 +41,10 @@ index ecbec552e5cd1935f57872d2fb502d3e9743e3d8..4fa526496265a85b637136f0fd0692ef
|
||||
public boolean isFlapping() {
|
||||
return !this.isResting() && this.tickCount % 10.0F == 0.0F;
|
||||
diff --git a/net/minecraft/world/entity/animal/Bee.java b/net/minecraft/world/entity/animal/Bee.java
|
||||
index 31854506641874bed3306b9688d71e5c47fd9e35..950988bf89f36e8555605d370bb039fe89c66fc7 100644
|
||||
index afe7fd92348e6a2a26f8f258373b0c57bb5f4f3f..8da974e98f2207d76e8962eda54c75d0356ecc6f 100644
|
||||
--- a/net/minecraft/world/entity/animal/Bee.java
|
||||
+++ b/net/minecraft/world/entity/animal/Bee.java
|
||||
@@ -177,7 +177,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
@@ -181,7 +181,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
// Paper end - Fix MC-167279
|
||||
this.lookControl = new Bee.BeeLookControl(this);
|
||||
this.setPathfindingMalus(PathType.DANGER_FIRE, -1.0F);
|
||||
@@ -68,10 +68,10 @@ index 31854506641874bed3306b9688d71e5c47fd9e35..950988bf89f36e8555605d370bb039fe
|
||||
public int getRemainingPersistentAngerTime() {
|
||||
return this.entityData.get(DATA_REMAINING_ANGER_TIME);
|
||||
diff --git a/net/minecraft/world/entity/animal/Cat.java b/net/minecraft/world/entity/animal/Cat.java
|
||||
index 584568cef949cee24aa7850d2ff99d47cd089a6e..b41ca04043e65f107edaebc49d398650898e35fb 100644
|
||||
index 75a63c8e8917f20b389f8194ae3089ff41e9d0ff..1d758dd3ee0834fcf9ebf737bc7a016b881145e5 100644
|
||||
--- a/net/minecraft/world/entity/animal/Cat.java
|
||||
+++ b/net/minecraft/world/entity/animal/Cat.java
|
||||
@@ -133,6 +133,13 @@ public class Cat extends TamableAnimal implements VariantHolder<Holder<CatVarian
|
||||
@@ -131,6 +131,13 @@ public class Cat extends TamableAnimal {
|
||||
}
|
||||
// Purpur end - Make entity breeding times configurable
|
||||
|
||||
@@ -84,12 +84,12 @@ index 584568cef949cee24aa7850d2ff99d47cd089a6e..b41ca04043e65f107edaebc49d398650
|
||||
+
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.temptGoal = new Cat.CatTemptGoal(this, 0.6, itemStack -> itemStack.is(ItemTags.CAT_FOOD), true);
|
||||
this.temptGoal = new Cat.CatTemptGoal(this, 0.6, stack -> stack.is(ItemTags.CAT_FOOD), true);
|
||||
diff --git a/net/minecraft/world/entity/animal/Chicken.java b/net/minecraft/world/entity/animal/Chicken.java
|
||||
index 39ad1729ef03fc35a6365ee215be214eccfd959a..2364596156c21e82879f5bf4fd873b9d90b1c308 100644
|
||||
index ef808c4462387bb73466b33d1c3156796fea251b..3faa8ac614b6d2f8f90c7092900aa24aa976c0ac 100644
|
||||
--- a/net/minecraft/world/entity/animal/Chicken.java
|
||||
+++ b/net/minecraft/world/entity/animal/Chicken.java
|
||||
@@ -88,6 +88,13 @@ public class Chicken extends Animal {
|
||||
@@ -108,6 +108,13 @@ public class Chicken extends Animal {
|
||||
}
|
||||
// Purpur end - Make entity breeding times configurable
|
||||
|
||||
@@ -104,7 +104,7 @@ index 39ad1729ef03fc35a6365ee215be214eccfd959a..2364596156c21e82879f5bf4fd873b9d
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
diff --git a/net/minecraft/world/entity/animal/Cod.java b/net/minecraft/world/entity/animal/Cod.java
|
||||
index 434e1fabf2e360a8f5f4eefed96e3883aa786d10..ac7259cfc8428131f90956d7f76f2227049ffae3 100644
|
||||
index ed52fbbf93e7a238d0f45981f8629ba8613bf3d4..6128ed595cb97cc11c1a0e1e1673b3af8e428fb8 100644
|
||||
--- a/net/minecraft/world/entity/animal/Cod.java
|
||||
+++ b/net/minecraft/world/entity/animal/Cod.java
|
||||
@@ -32,6 +32,13 @@ public class Cod extends AbstractSchoolingFish {
|
||||
@@ -122,10 +122,10 @@ index 434e1fabf2e360a8f5f4eefed96e3883aa786d10..ac7259cfc8428131f90956d7f76f2227
|
||||
public ItemStack getBucketItemStack() {
|
||||
return new ItemStack(Items.COD_BUCKET);
|
||||
diff --git a/net/minecraft/world/entity/animal/Cow.java b/net/minecraft/world/entity/animal/Cow.java
|
||||
index e4965300eb41512d03a0b111422c98627cf29a54..a8c76fcbbaa4afd2d0bd568874995b91d8d67c03 100644
|
||||
index 0f4f732d9501df42e0d42fe978692c4b0e3d8f0b..4bc6d0eb56b4674e2ac0f13010521314a95e0096 100644
|
||||
--- a/net/minecraft/world/entity/animal/Cow.java
|
||||
+++ b/net/minecraft/world/entity/animal/Cow.java
|
||||
@@ -70,6 +70,13 @@ public class Cow extends Animal {
|
||||
@@ -60,6 +60,13 @@ public class Cow extends AbstractCow {
|
||||
}
|
||||
// Purpur end - Make entity breeding times configurable
|
||||
|
||||
@@ -137,13 +137,13 @@ index e4965300eb41512d03a0b111422c98627cf29a54..a8c76fcbbaa4afd2d0bd568874995b91
|
||||
+ // Purpur end - Toggle for water sensitive mob damage
|
||||
+
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
protected void defineSynchedData(SynchedEntityData.Builder builder) {
|
||||
super.defineSynchedData(builder);
|
||||
diff --git a/net/minecraft/world/entity/animal/Dolphin.java b/net/minecraft/world/entity/animal/Dolphin.java
|
||||
index 5b764c686e8759a7b04a7b50708c69629be02c04..e104058b3c01bea4cc8a77de2ad4378465903b34 100644
|
||||
index 932ec7ed4ec102f64fa977835d2c7ebe23afa6e3..4f3777ee9cf7a67d5e2f489dbcf40ec2a1ed13cd 100644
|
||||
--- a/net/minecraft/world/entity/animal/Dolphin.java
|
||||
+++ b/net/minecraft/world/entity/animal/Dolphin.java
|
||||
@@ -156,6 +156,13 @@ public class Dolphin extends AgeableWaterCreature {
|
||||
@@ -158,6 +158,13 @@ public class Dolphin extends AgeableWaterCreature {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -158,10 +158,10 @@ index 5b764c686e8759a7b04a7b50708c69629be02c04..e104058b3c01bea4cc8a77de2ad43784
|
||||
@Override
|
||||
public SpawnGroupData finalizeSpawn(
|
||||
diff --git a/net/minecraft/world/entity/animal/Fox.java b/net/minecraft/world/entity/animal/Fox.java
|
||||
index 950bf1c834111e00a3f3eda1390da7ede177ae15..59695ebc6758cbbc444f23ffdf2f7d66cff54430 100644
|
||||
index e3631adee6ef690807768c90045c28570982b315..98cb5c75bb4397914271f81aeace045105a9572e 100644
|
||||
--- a/net/minecraft/world/entity/animal/Fox.java
|
||||
+++ b/net/minecraft/world/entity/animal/Fox.java
|
||||
@@ -182,6 +182,13 @@ public class Fox extends Animal implements VariantHolder<Fox.Variant> {
|
||||
@@ -194,6 +194,13 @@ public class Fox extends Animal {
|
||||
}
|
||||
// Purpur end - Make entity breeding times configurable
|
||||
|
||||
@@ -176,10 +176,10 @@ index 950bf1c834111e00a3f3eda1390da7ede177ae15..59695ebc6758cbbc444f23ffdf2f7d66
|
||||
protected void defineSynchedData(SynchedEntityData.Builder builder) {
|
||||
super.defineSynchedData(builder);
|
||||
diff --git a/net/minecraft/world/entity/animal/IronGolem.java b/net/minecraft/world/entity/animal/IronGolem.java
|
||||
index 37a353cbb0e9b16e0fc92bd1bc8194cb4cd3c13a..23108729ce65ef8b7b215b82f29347513cfd4ebf 100644
|
||||
index fd0d1abcb34862fc7a812f1e3d96969a5c917352..498302a20b783f2208417b56716f4fc4f18bc333 100644
|
||||
--- a/net/minecraft/world/entity/animal/IronGolem.java
|
||||
+++ b/net/minecraft/world/entity/animal/IronGolem.java
|
||||
@@ -98,6 +98,13 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
@@ -99,6 +99,13 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -194,10 +194,10 @@ index 37a353cbb0e9b16e0fc92bd1bc8194cb4cd3c13a..23108729ce65ef8b7b215b82f2934751
|
||||
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/MushroomCow.java b/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
index a64b609bf5ce38a252bfa1bcff869f88e14389b5..5e9795f447e88a42909730d383eaa36acfaf18f5 100644
|
||||
index 24313a5dd5f5be39677ac8080ecf56703c751923..114d893f74dfb4422380cad649b7f3708c29c1c3 100644
|
||||
--- a/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
+++ b/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
@@ -86,6 +86,13 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
@@ -92,6 +92,13 @@ public class MushroomCow extends AbstractCow implements Shearable {
|
||||
}
|
||||
// Purpur end - Make entity breeding times configurable
|
||||
|
||||
@@ -212,10 +212,10 @@ index a64b609bf5ce38a252bfa1bcff869f88e14389b5..5e9795f447e88a42909730d383eaa36a
|
||||
public float getWalkTargetValue(BlockPos pos, LevelReader level) {
|
||||
return level.getBlockState(pos.below()).is(Blocks.MYCELIUM) ? 10.0F : level.getPathfindingCostFromLightLevels(pos);
|
||||
diff --git a/net/minecraft/world/entity/animal/Ocelot.java b/net/minecraft/world/entity/animal/Ocelot.java
|
||||
index b06697fd64a8962133f0324b2c03b9e9b4f32086..91677415ba66c8de448a26ac4e6afe6bbbad4fa8 100644
|
||||
index 56b9fa9b24a9b5cf510dc6610a1b1bedf3a32d72..47429374bee47c98216a0eb6dbe65df5fcc0e117 100644
|
||||
--- a/net/minecraft/world/entity/animal/Ocelot.java
|
||||
+++ b/net/minecraft/world/entity/animal/Ocelot.java
|
||||
@@ -94,6 +94,13 @@ public class Ocelot extends Animal {
|
||||
@@ -95,6 +95,13 @@ public class Ocelot extends Animal {
|
||||
}
|
||||
// Purpur end - Make entity breeding times configurable
|
||||
|
||||
@@ -230,10 +230,10 @@ index b06697fd64a8962133f0324b2c03b9e9b4f32086..91677415ba66c8de448a26ac4e6afe6b
|
||||
return this.entityData.get(DATA_TRUSTING);
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/animal/Panda.java b/net/minecraft/world/entity/animal/Panda.java
|
||||
index 450c7be36846bf4e95f84615fca893501415cdbc..d5d2b9656ec22536ccd9ddb0ebe48a19939d7cc6 100644
|
||||
index cc1144d44526caa7fc7549ecaf405813b4bad1de..85929b3f4503033d17ec7fd42746c5f071a3fd6f 100644
|
||||
--- a/net/minecraft/world/entity/animal/Panda.java
|
||||
+++ b/net/minecraft/world/entity/animal/Panda.java
|
||||
@@ -147,6 +147,13 @@ public class Panda extends Animal {
|
||||
@@ -148,6 +148,13 @@ public class Panda extends Animal {
|
||||
}
|
||||
// Purpur end - Make entity breeding times configurable
|
||||
|
||||
@@ -248,10 +248,10 @@ index 450c7be36846bf4e95f84615fca893501415cdbc..d5d2b9656ec22536ccd9ddb0ebe48a19
|
||||
protected boolean canDispenserEquipIntoSlot(EquipmentSlot slot) {
|
||||
return slot == EquipmentSlot.MAINHAND && this.canPickUpLoot();
|
||||
diff --git a/net/minecraft/world/entity/animal/Parrot.java b/net/minecraft/world/entity/animal/Parrot.java
|
||||
index 9d7e142cc4b9ea32aad7ab17f3fc09a7a3a1d862..7e4caeaaebb7018d4909de185a00044f83e9605a 100644
|
||||
index d69992a1f729ba99f3992920cd2372a04ff60996..c1d4bcbc3bad5f2fcaecd4007db7318a07a63324 100644
|
||||
--- a/net/minecraft/world/entity/animal/Parrot.java
|
||||
+++ b/net/minecraft/world/entity/animal/Parrot.java
|
||||
@@ -201,6 +201,13 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
|
||||
@@ -206,6 +206,13 @@ public class Parrot extends ShoulderRidingEntity implements FlyingAnimal {
|
||||
}
|
||||
// Purpur end - Make entity breeding times configurable
|
||||
|
||||
@@ -266,10 +266,10 @@ index 9d7e142cc4b9ea32aad7ab17f3fc09a7a3a1d862..7e4caeaaebb7018d4909de185a00044f
|
||||
@Override
|
||||
public SpawnGroupData finalizeSpawn(
|
||||
diff --git a/net/minecraft/world/entity/animal/Pig.java b/net/minecraft/world/entity/animal/Pig.java
|
||||
index 801365d71b5b733e2dce54211e08d26d7f45f4d9..26d88130191eba161099309071d67c8db3eaa815 100644
|
||||
index 142581c85e4ee6be2798fc1d412ce6876f394adb..4618ea2c4d815c07cd94b7bd279167836a116aa7 100644
|
||||
--- a/net/minecraft/world/entity/animal/Pig.java
|
||||
+++ b/net/minecraft/world/entity/animal/Pig.java
|
||||
@@ -88,6 +88,13 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
|
||||
@@ -97,6 +97,13 @@ public class Pig extends Animal implements ItemSteerable {
|
||||
}
|
||||
// Purpur end - Make entity breeding times configurable
|
||||
|
||||
@@ -284,7 +284,7 @@ index 801365d71b5b733e2dce54211e08d26d7f45f4d9..26d88130191eba161099309071d67c8d
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
diff --git a/net/minecraft/world/entity/animal/PolarBear.java b/net/minecraft/world/entity/animal/PolarBear.java
|
||||
index 365ad366bd0077619b0f6b5d26ed41038da0397e..a7d3509e744344c5694706d0cd1cb047bd34bae1 100644
|
||||
index 329115fcd70531c48b352008faef92e10ddc84de..f9d34a8242043ba61dcebb669754d9da0480eb13 100644
|
||||
--- a/net/minecraft/world/entity/animal/PolarBear.java
|
||||
+++ b/net/minecraft/world/entity/animal/PolarBear.java
|
||||
@@ -131,6 +131,13 @@ public class PolarBear extends Animal implements NeutralMob {
|
||||
@@ -302,10 +302,10 @@ index 365ad366bd0077619b0f6b5d26ed41038da0397e..a7d3509e744344c5694706d0cd1cb047
|
||||
@Override
|
||||
public AgeableMob getBreedOffspring(ServerLevel level, AgeableMob otherParent) {
|
||||
diff --git a/net/minecraft/world/entity/animal/Pufferfish.java b/net/minecraft/world/entity/animal/Pufferfish.java
|
||||
index e3c20694fc41b8a0a9d5170560be00fb55a4ad86..d40460676b6e57564455084d6f0c6eb6b6fd003e 100644
|
||||
index bed7d937f02d1fbc8fdd277a2d0524e79b19f707..09977f4ce3545f076be26d173f40fc261fe3c515 100644
|
||||
--- a/net/minecraft/world/entity/animal/Pufferfish.java
|
||||
+++ b/net/minecraft/world/entity/animal/Pufferfish.java
|
||||
@@ -64,6 +64,13 @@ public class Pufferfish extends AbstractFish {
|
||||
@@ -65,6 +65,13 @@ public class Pufferfish extends AbstractFish {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -320,10 +320,10 @@ index e3c20694fc41b8a0a9d5170560be00fb55a4ad86..d40460676b6e57564455084d6f0c6eb6
|
||||
protected void defineSynchedData(SynchedEntityData.Builder builder) {
|
||||
super.defineSynchedData(builder);
|
||||
diff --git a/net/minecraft/world/entity/animal/Rabbit.java b/net/minecraft/world/entity/animal/Rabbit.java
|
||||
index 7379def14f3f700fb8a746dc89d89e249e93b7b9..9c0ff4d4af5db81973c36c278ae32bf76ef5d558 100644
|
||||
index 1c88e12d743325a429cad27928ea1ac43a696e8a..de2ffef11b50f3bde03785f6cb13c97c437288e5 100644
|
||||
--- a/net/minecraft/world/entity/animal/Rabbit.java
|
||||
+++ b/net/minecraft/world/entity/animal/Rabbit.java
|
||||
@@ -152,6 +152,13 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
@@ -159,6 +159,13 @@ public class Rabbit extends Animal {
|
||||
}
|
||||
// Purpur end - Make entity breeding times configurable
|
||||
|
||||
@@ -338,10 +338,10 @@ index 7379def14f3f700fb8a746dc89d89e249e93b7b9..9c0ff4d4af5db81973c36c278ae32bf7
|
||||
public void registerGoals() {
|
||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||
diff --git a/net/minecraft/world/entity/animal/Salmon.java b/net/minecraft/world/entity/animal/Salmon.java
|
||||
index 93eb3cc3605f694337c1604e2db63fed04693617..8bd4b2b29438bff65ed00a42bbc9639111af181f 100644
|
||||
index 8559e7e8c5163eb55b997521dca2e96b5ae3c9bc..78f83edd809a72bf5a2f908d8d5e3b1755541a29 100644
|
||||
--- a/net/minecraft/world/entity/animal/Salmon.java
|
||||
+++ b/net/minecraft/world/entity/animal/Salmon.java
|
||||
@@ -54,6 +54,13 @@ public class Salmon extends AbstractSchoolingFish implements VariantHolder<Salmo
|
||||
@@ -57,6 +57,13 @@ public class Salmon extends AbstractSchoolingFish {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -355,29 +355,11 @@ index 93eb3cc3605f694337c1604e2db63fed04693617..8bd4b2b29438bff65ed00a42bbc96391
|
||||
@Override
|
||||
public int getMaxSchoolSize() {
|
||||
return 5;
|
||||
diff --git a/net/minecraft/world/entity/animal/Sheep.java b/net/minecraft/world/entity/animal/Sheep.java
|
||||
index 882c799cb66a2acada33ff24f3adb7eb611f89c1..05d955ed33f1c3e0960657c584f4aa1bc96cfe86 100644
|
||||
--- a/net/minecraft/world/entity/animal/Sheep.java
|
||||
+++ b/net/minecraft/world/entity/animal/Sheep.java
|
||||
@@ -113,6 +113,13 @@ public class Sheep extends Animal implements Shearable {
|
||||
}
|
||||
// Purpur end - Make entity breeding times configurable
|
||||
|
||||
+ // Purpur start - Toggle for water sensitive mob damage
|
||||
+ @Override
|
||||
+ public boolean isSensitiveToWater() {
|
||||
+ return this.level().purpurConfig.sheepTakeDamageFromWater;
|
||||
+ }
|
||||
+ // Purpur end - Toggle for water sensitive mob damage
|
||||
+
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.eatBlockGoal = new EatBlockGoal(this);
|
||||
diff --git a/net/minecraft/world/entity/animal/SnowGolem.java b/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
index 6ee73b798ab306f7c828c9f06ca5b1a96bd96139..dbf3e4db27477afada86e02063a486f7cec573b5 100644
|
||||
index 1bf6fdc0149975fefbb73563e0d4861b178459b8..2af4ba00c9f48d3ab9063eda8abb3d15c1bb0929 100644
|
||||
--- a/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
+++ b/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
@@ -125,7 +125,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
@@ -124,7 +124,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
|
||||
@Override
|
||||
public boolean isSensitiveToWater() {
|
||||
@@ -387,7 +369,7 @@ index 6ee73b798ab306f7c828c9f06ca5b1a96bd96139..dbf3e4db27477afada86e02063a486f7
|
||||
|
||||
@Override
|
||||
diff --git a/net/minecraft/world/entity/animal/Squid.java b/net/minecraft/world/entity/animal/Squid.java
|
||||
index 0391ff403391bfe13b907a8b1aae9057474f695b..e9ba9d84177e9c27b9c7c5e6274dfb031f6643c7 100644
|
||||
index 2a0dc779ec2a53a4feb4d2d665cf9d820113ba04..2108cbddc9a880347ff36fc4ce8b56e8215b9eac 100644
|
||||
--- a/net/minecraft/world/entity/animal/Squid.java
|
||||
+++ b/net/minecraft/world/entity/animal/Squid.java
|
||||
@@ -99,6 +99,13 @@ public class Squid extends AgeableWaterCreature {
|
||||
@@ -405,10 +387,10 @@ index 0391ff403391bfe13b907a8b1aae9057474f695b..e9ba9d84177e9c27b9c7c5e6274dfb03
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new Squid.SquidRandomMovementGoal(this));
|
||||
diff --git a/net/minecraft/world/entity/animal/TropicalFish.java b/net/minecraft/world/entity/animal/TropicalFish.java
|
||||
index 6246a86f7f77dff37e36bd9dff964878134e9c70..7a7b1df65d49ae77ab7d8a20ed9277947b7e5471 100644
|
||||
index 946874b3146bd7b226b4cb07110eec57c2968bb7..70afdcbd9d12f323ababde628e1422d1a1b82210 100644
|
||||
--- a/net/minecraft/world/entity/animal/TropicalFish.java
|
||||
+++ b/net/minecraft/world/entity/animal/TropicalFish.java
|
||||
@@ -86,6 +86,13 @@ public class TropicalFish extends AbstractSchoolingFish implements VariantHolder
|
||||
@@ -95,6 +95,13 @@ public class TropicalFish extends AbstractSchoolingFish {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -423,10 +405,10 @@ index 6246a86f7f77dff37e36bd9dff964878134e9c70..7a7b1df65d49ae77ab7d8a20ed927794
|
||||
return "entity.minecraft.tropical_fish.predefined." + variantId;
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/animal/Turtle.java b/net/minecraft/world/entity/animal/Turtle.java
|
||||
index edbccb7ca27aa8a1917eb8b35b3ba8600c91111a..cf297f766340b4ff8ecaf80a9a13b2899a9870e6 100644
|
||||
index 57e4cb66fbf29b992a144ca923f2e22983cc1db5..f99c135a1b99a52c72388cdcc6c46933eb7ba75b 100644
|
||||
--- a/net/minecraft/world/entity/animal/Turtle.java
|
||||
+++ b/net/minecraft/world/entity/animal/Turtle.java
|
||||
@@ -116,6 +116,13 @@ public class Turtle extends Animal {
|
||||
@@ -117,6 +117,13 @@ public class Turtle extends Animal {
|
||||
}
|
||||
// Purpur end - Make entity breeding times configurable
|
||||
|
||||
@@ -438,31 +420,13 @@ index edbccb7ca27aa8a1917eb8b35b3ba8600c91111a..cf297f766340b4ff8ecaf80a9a13b289
|
||||
+ // Purpur end - Toggle for water sensitive mob damage
|
||||
+
|
||||
public void setHomePos(BlockPos homePos) {
|
||||
this.entityData.set(HOME_POS, homePos);
|
||||
this.homePos = homePos;
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/animal/Wolf.java b/net/minecraft/world/entity/animal/Wolf.java
|
||||
index 9d79946497cfc92ff11160b86d5064d86916af36..8b5eaabe77dcf8851b874b82a2d7f64180ac613b 100644
|
||||
--- a/net/minecraft/world/entity/animal/Wolf.java
|
||||
+++ b/net/minecraft/world/entity/animal/Wolf.java
|
||||
@@ -217,6 +217,13 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol
|
||||
}
|
||||
// Purpur end - Make entity breeding times configurable
|
||||
|
||||
+ // Purpur start - Toggle for water sensitive mob damage
|
||||
+ @Override
|
||||
+ public boolean isSensitiveToWater() {
|
||||
+ return this.level().purpurConfig.wolfTakeDamageFromWater;
|
||||
+ }
|
||||
+ // Purpur end - Toggle for water sensitive mob damage
|
||||
+
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||
diff --git a/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
index 07eee1f82331a2172aede02219a7eae8e82c7b59..ee426f8a52c9ff5519641ace0f36a38a36ecd24b 100644
|
||||
index 8cf67fe3807ccbe8c9cdebf9d79f1fc5e4f1a817..da48db578931eb04ba7f2f1fbf26b6fb5bea617a 100644
|
||||
--- a/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
+++ b/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
@@ -147,6 +147,13 @@ public class Axolotl extends Animal implements VariantHolder<Axolotl.Variant>, B
|
||||
@@ -152,6 +152,13 @@ public class Axolotl extends Animal implements Bucketable {
|
||||
}
|
||||
// Purpur end - Make entity breeding times configurable
|
||||
|
||||
@@ -477,10 +441,10 @@ index 07eee1f82331a2172aede02219a7eae8e82c7b59..ee426f8a52c9ff5519641ace0f36a38a
|
||||
public float getWalkTargetValue(BlockPos pos, LevelReader level) {
|
||||
return 0.0F;
|
||||
diff --git a/net/minecraft/world/entity/animal/goat/Goat.java b/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
index 0a018dbfe3750cf91892d8cfb5c0eac18e83d587..0c357ffacfe4dd982a58e6cf2338c7e6b24610f5 100644
|
||||
index a04892dce1f904fad3312499352ad56853ea658e..47de7e4710234676358378fb5fa9a6b034662e42 100644
|
||||
--- a/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
+++ b/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
@@ -135,6 +135,13 @@ public class Goat extends Animal {
|
||||
@@ -138,6 +138,13 @@ public class Goat extends Animal {
|
||||
}
|
||||
// Purpur end - Make entity breeding times configurable
|
||||
|
||||
@@ -495,7 +459,7 @@ index 0a018dbfe3750cf91892d8cfb5c0eac18e83d587..0c357ffacfe4dd982a58e6cf2338c7e6
|
||||
protected Brain.Provider<Goat> brainProvider() {
|
||||
return Brain.provider(MEMORY_TYPES, SENSOR_TYPES);
|
||||
diff --git a/net/minecraft/world/entity/animal/horse/Donkey.java b/net/minecraft/world/entity/animal/horse/Donkey.java
|
||||
index b977597785df5665176ab2f330633ec61b7c9feb..1db6ccdc6c83c704aa84a46ee2751a17125bf457 100644
|
||||
index 9e1100d672bfb712854d23203d0b730b8cc78a3d..9b17b1acf63fddb5f5b6cdf95283ae8f619a8120 100644
|
||||
--- a/net/minecraft/world/entity/animal/horse/Donkey.java
|
||||
+++ b/net/minecraft/world/entity/animal/horse/Donkey.java
|
||||
@@ -47,6 +47,13 @@ public class Donkey extends AbstractChestedHorse {
|
||||
@@ -510,13 +474,13 @@ index b977597785df5665176ab2f330633ec61b7c9feb..1db6ccdc6c83c704aa84a46ee2751a17
|
||||
+ // Purpur end - Toggle for water sensitive mob damage
|
||||
+
|
||||
@Override
|
||||
protected SoundEvent getAmbientSound() {
|
||||
public SoundEvent getAmbientSound() {
|
||||
return SoundEvents.DONKEY_AMBIENT;
|
||||
diff --git a/net/minecraft/world/entity/animal/horse/Horse.java b/net/minecraft/world/entity/animal/horse/Horse.java
|
||||
index 0339ab08b3029a9ffc102c5b865e411aca2a863c..f257d549570918381925cef98734fc0aa605f8f2 100644
|
||||
index 6c1897fadaf93e9a71f0e361a602e6d9475a4f50..8754c3d6fd06bd2c834fe06e238afa330b24e547 100644
|
||||
--- a/net/minecraft/world/entity/animal/horse/Horse.java
|
||||
+++ b/net/minecraft/world/entity/animal/horse/Horse.java
|
||||
@@ -74,6 +74,13 @@ public class Horse extends AbstractHorse implements VariantHolder<Variant> {
|
||||
@@ -77,6 +77,13 @@ public class Horse extends AbstractHorse {
|
||||
}
|
||||
// Purpur end - Make entity breeding times configurable
|
||||
|
||||
@@ -531,10 +495,10 @@ index 0339ab08b3029a9ffc102c5b865e411aca2a863c..f257d549570918381925cef98734fc0a
|
||||
protected void randomizeAttributes(RandomSource random) {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(generateMaxHealth(random::nextInt));
|
||||
diff --git a/net/minecraft/world/entity/animal/horse/Llama.java b/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
index 6efe52edb6909ed2b38210ce6a0334eddc55f261..872a54186a20fd855fe7981f3ff1c867f4c64d19 100644
|
||||
index db73d8821b3374341fa77fbbb3308a21abb60db6..2e776404e65c5dc6040d00a1ed8b5ce0df7badc0 100644
|
||||
--- a/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
+++ b/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
@@ -148,6 +148,13 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
@@ -153,6 +153,13 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
|
||||
}
|
||||
// Purpur end - Make entity breeding times configurable
|
||||
|
||||
@@ -549,7 +513,7 @@ index 6efe52edb6909ed2b38210ce6a0334eddc55f261..872a54186a20fd855fe7981f3ff1c867
|
||||
return false;
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/animal/horse/Mule.java b/net/minecraft/world/entity/animal/horse/Mule.java
|
||||
index 20458799fdcfa16bdd1c22df74b414000b110f82..2f7459791f1766ac8e4842610bf64a3eb2d3b256 100644
|
||||
index fe2570ceb96d39ff6598a67a4ac4b4707eb28656..14a17d4b33b276f28e45ce06de06793a73a50916 100644
|
||||
--- a/net/minecraft/world/entity/animal/horse/Mule.java
|
||||
+++ b/net/minecraft/world/entity/animal/horse/Mule.java
|
||||
@@ -46,6 +46,13 @@ public class Mule extends AbstractChestedHorse {
|
||||
@@ -564,13 +528,13 @@ index 20458799fdcfa16bdd1c22df74b414000b110f82..2f7459791f1766ac8e4842610bf64a3e
|
||||
+ // Purpur end - Toggle for water sensitive mob damage
|
||||
+
|
||||
@Override
|
||||
protected SoundEvent getAmbientSound() {
|
||||
public SoundEvent getAmbientSound() {
|
||||
return SoundEvents.MULE_AMBIENT;
|
||||
diff --git a/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
index 0ce71ab6a28a5fbff9d71793b855c116b31729fc..43937544a38e33657b36e76c8fb7ed6bedb7de4c 100644
|
||||
index 39b8b10b950359952c7b149e4fca08d68f1ad8eb..f1a131b9fe4fce78cf34e04eefc886a844a50e72 100644
|
||||
--- a/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
+++ b/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
@@ -70,6 +70,13 @@ public class SkeletonHorse extends AbstractHorse {
|
||||
@@ -72,6 +72,13 @@ public class SkeletonHorse extends AbstractHorse {
|
||||
}
|
||||
// Purpur end - Make entity breeding times configurable
|
||||
|
||||
@@ -585,10 +549,10 @@ index 0ce71ab6a28a5fbff9d71793b855c116b31729fc..43937544a38e33657b36e76c8fb7ed6b
|
||||
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0).add(Attributes.MOVEMENT_SPEED, 0.2F);
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/animal/horse/TraderLlama.java b/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
||||
index 870775ce8a1bd09d35bf85551e1af3a6edfefc0e..8b7eab2e9e77bcf3423602692bd87a933dd2867b 100644
|
||||
index c67f82654897bec94dce1226d5ef2ce10d53e077..4cd4bfd57285808f4bda7e7dd2ddeda36dd13af0 100644
|
||||
--- a/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
||||
+++ b/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
||||
@@ -75,6 +75,13 @@ public class TraderLlama extends Llama {
|
||||
@@ -76,6 +76,13 @@ public class TraderLlama extends Llama {
|
||||
}
|
||||
// Purpur end - Make entity breeding times configurable
|
||||
|
||||
@@ -603,7 +567,7 @@ index 870775ce8a1bd09d35bf85551e1af3a6edfefc0e..8b7eab2e9e77bcf3423602692bd87a93
|
||||
public boolean isTraderLlama() {
|
||||
return true;
|
||||
diff --git a/net/minecraft/world/entity/animal/horse/ZombieHorse.java b/net/minecraft/world/entity/animal/horse/ZombieHorse.java
|
||||
index cdff0fab8a256c1e06e280500a31d4a99659d1ee..a2642457d3c24a13a8becb4d743c42e64b5a4923 100644
|
||||
index 69b9ae449e58f13bf0950fdfe3f89742af89956e..e78fac0a5e37d53afbc200f015adab60b3bfc9da 100644
|
||||
--- a/net/minecraft/world/entity/animal/horse/ZombieHorse.java
|
||||
+++ b/net/minecraft/world/entity/animal/horse/ZombieHorse.java
|
||||
@@ -69,6 +69,13 @@ public class ZombieHorse extends AbstractHorse {
|
||||
@@ -620,11 +584,47 @@ index cdff0fab8a256c1e06e280500a31d4a99659d1ee..a2642457d3c24a13a8becb4d743c42e6
|
||||
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/sheep/Sheep.java b/net/minecraft/world/entity/animal/sheep/Sheep.java
|
||||
index 625f9b7bb027ccc4495d83349909be59e7a19061..1ecfda9a5222d7c175108edbbff552ea036e0321 100644
|
||||
--- a/net/minecraft/world/entity/animal/sheep/Sheep.java
|
||||
+++ b/net/minecraft/world/entity/animal/sheep/Sheep.java
|
||||
@@ -116,6 +116,13 @@ public class Sheep extends Animal implements Shearable {
|
||||
}
|
||||
// Purpur end - Make entity breeding times configurable
|
||||
|
||||
+ // Purpur start - Toggle for water sensitive mob damage
|
||||
+ @Override
|
||||
+ public boolean isSensitiveToWater() {
|
||||
+ return this.level().purpurConfig.sheepTakeDamageFromWater;
|
||||
+ }
|
||||
+ // Purpur end - Toggle for water sensitive mob damage
|
||||
+
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.eatBlockGoal = new EatBlockGoal(this);
|
||||
diff --git a/net/minecraft/world/entity/animal/wolf/Wolf.java b/net/minecraft/world/entity/animal/wolf/Wolf.java
|
||||
index 7bbcca12492b114211c71df5cf198da2ac4814f8..50fe10588a5cd7b263993db9a52309f332d47a3b 100644
|
||||
--- a/net/minecraft/world/entity/animal/wolf/Wolf.java
|
||||
+++ b/net/minecraft/world/entity/animal/wolf/Wolf.java
|
||||
@@ -224,6 +224,13 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
}
|
||||
// Purpur end - Make entity breeding times configurable
|
||||
|
||||
+ // Purpur start - Toggle for water sensitive mob damage
|
||||
+ @Override
|
||||
+ public boolean isSensitiveToWater() {
|
||||
+ return this.level().purpurConfig.wolfTakeDamageFromWater;
|
||||
+ }
|
||||
+ // Purpur end - Toggle for water sensitive mob damage
|
||||
+
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||
diff --git a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
index 724d259d4b793f2043e63dda9022bdfddc4dca38..b2a0ba6faa117ad781aaa3e6932482d4d9c8a789 100644
|
||||
index f014b4ca2baf97edf472ce4d8af1209eaf4d53d1..b782ddd14d68717c387754300fc1be69d05df66f 100644
|
||||
--- a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
+++ b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
@@ -170,6 +170,13 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -171,6 +171,13 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -639,10 +639,10 @@ index 724d259d4b793f2043e63dda9022bdfddc4dca38..b2a0ba6faa117ad781aaa3e6932482d4
|
||||
return Mob.createMobAttributes().add(Attributes.MAX_HEALTH, 200.0);
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/boss/wither/WitherBoss.java b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
index a325fa87e149e7f354ed4cf3dbb30a002c4ce32a..7a3688e6cad1bbb0a47d8f3d0218bd777a0ab033 100644
|
||||
index 951de2194f8e669e454edd8678cd254e94d18ab7..5862384e096d0a97a9a92a921f704e441243e38a 100644
|
||||
--- a/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
+++ b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
@@ -219,6 +219,13 @@ public class WitherBoss extends Monster implements RangedAttackMob {
|
||||
@@ -220,6 +220,13 @@ public class WitherBoss extends Monster implements RangedAttackMob {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -657,7 +657,7 @@ index a325fa87e149e7f354ed4cf3dbb30a002c4ce32a..7a3688e6cad1bbb0a47d8f3d0218bd77
|
||||
protected PathNavigation createNavigation(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 ece9e3e18c60d5ca9b4a8bd8899556c90cc8d039..1ea964b3a3b9403ad3a500bf1c4b8d69a529d16a 100644
|
||||
index 1636e2809701013a18700ac17807fe7ecf191aa5..2bd645e163ca7b118beec5194e5c0b00e6dff563 100644
|
||||
--- a/net/minecraft/world/entity/monster/Blaze.java
|
||||
+++ b/net/minecraft/world/entity/monster/Blaze.java
|
||||
@@ -34,7 +34,7 @@ public class Blaze extends Monster {
|
||||
@@ -697,10 +697,10 @@ index 64eecd8d1acd318743800c1daa77cd97097a0f7c..420fe0d01d0b173a6a541f77e1aaca3f
|
||||
public boolean doHurtTarget(ServerLevel level, Entity source) {
|
||||
if (super.doHurtTarget(level, source)) {
|
||||
diff --git a/net/minecraft/world/entity/monster/Creeper.java b/net/minecraft/world/entity/monster/Creeper.java
|
||||
index 31ede62a19321970d26f302399a60947b8d88b37..6d9995d5f38b2f94a2d3362da7861b3e90e4fb6f 100644
|
||||
index 53a7390c61b9ada8784eae0c9b4e78ee85c68317..67f99138834011d12f429cf7ff6fdb7c6bd06262 100644
|
||||
--- a/net/minecraft/world/entity/monster/Creeper.java
|
||||
+++ b/net/minecraft/world/entity/monster/Creeper.java
|
||||
@@ -267,6 +267,13 @@ public class Creeper extends Monster {
|
||||
@@ -264,6 +264,13 @@ public class Creeper extends Monster {
|
||||
}
|
||||
// Purpur end - Config to make Creepers explode on death
|
||||
|
||||
@@ -712,10 +712,10 @@ index 31ede62a19321970d26f302399a60947b8d88b37..6d9995d5f38b2f94a2d3362da7861b3e
|
||||
+ // Purpur end - Toggle for water sensitive mob damage
|
||||
+
|
||||
@Override
|
||||
protected SoundEvent getHurtSound(DamageSource damageSource) {
|
||||
public SoundEvent getHurtSound(DamageSource damageSource) {
|
||||
return SoundEvents.CREEPER_HURT;
|
||||
diff --git a/net/minecraft/world/entity/monster/Drowned.java b/net/minecraft/world/entity/monster/Drowned.java
|
||||
index 83fc978a94be4655e8c47ee634b8cd280d2a6fde..0a1a78e65b6472b713835262b5937bc7ea67b95c 100644
|
||||
index 2004595c51564d863aee65fc47541014ea184e10..3dae0020a506527e1e556945da5334de54bdabee 100644
|
||||
--- a/net/minecraft/world/entity/monster/Drowned.java
|
||||
+++ b/net/minecraft/world/entity/monster/Drowned.java
|
||||
@@ -122,6 +122,13 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
||||
@@ -733,7 +733,7 @@ index 83fc978a94be4655e8c47ee634b8cd280d2a6fde..0a1a78e65b6472b713835262b5937bc7
|
||||
protected void addBehaviourGoals() {
|
||||
this.goalSelector.addGoal(1, new Drowned.DrownedGoToWaterGoal(this, 1.0));
|
||||
diff --git a/net/minecraft/world/entity/monster/ElderGuardian.java b/net/minecraft/world/entity/monster/ElderGuardian.java
|
||||
index 148ae4bca77874545a2a05fb7f29f9ac284feff6..2b1d33f4938b978c5b04ede7562bdecb5fbd2245 100644
|
||||
index 15f037dbd9bafc8a978911dfa04c42f3c19dc7fd..27dd75a64af375ce498224bfd7ed4799ed586d9c 100644
|
||||
--- a/net/minecraft/world/entity/monster/ElderGuardian.java
|
||||
+++ b/net/minecraft/world/entity/monster/ElderGuardian.java
|
||||
@@ -51,6 +51,13 @@ public class ElderGuardian extends Guardian {
|
||||
@@ -751,10 +751,10 @@ index 148ae4bca77874545a2a05fb7f29f9ac284feff6..2b1d33f4938b978c5b04ede7562bdecb
|
||||
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 7b74322aef3d7d45a322abccc71d9168b3c0911b..6fccfb243c26c27b665df57e5e19eb3350c52ddf 100644
|
||||
index 0cae67d67af733b0bc6558f8cc1056b45554e3ce..10b505712791d10e9b36cc6cfffeb590c74284e5 100644
|
||||
--- a/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -87,7 +87,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -88,7 +88,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
|
||||
public EnderMan(EntityType<? extends EnderMan> entityType, Level level) {
|
||||
super(entityType, level);
|
||||
@@ -763,7 +763,7 @@ index 7b74322aef3d7d45a322abccc71d9168b3c0911b..6fccfb243c26c27b665df57e5e19eb33
|
||||
}
|
||||
|
||||
// Purpur start - Ridables
|
||||
@@ -294,7 +294,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -285,7 +285,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
|
||||
@Override
|
||||
public boolean isSensitiveToWater() {
|
||||
@@ -773,10 +773,10 @@ index 7b74322aef3d7d45a322abccc71d9168b3c0911b..6fccfb243c26c27b665df57e5e19eb33
|
||||
|
||||
@Override
|
||||
diff --git a/net/minecraft/world/entity/monster/Endermite.java b/net/minecraft/world/entity/monster/Endermite.java
|
||||
index 2ea45eba13d0b0ea2d3c1d1a3666d6e2e027a3ef..38e3b3ed2c003fe7bbb476f7bf9a882ea2de792a 100644
|
||||
index a3095f2a5ff162d502502ad2ed0a485daba86962..c4bfd0fb0fbee4fa72e4cf17931c95831daaf73f 100644
|
||||
--- a/net/minecraft/world/entity/monster/Endermite.java
|
||||
+++ b/net/minecraft/world/entity/monster/Endermite.java
|
||||
@@ -70,6 +70,13 @@ public class Endermite extends Monster {
|
||||
@@ -71,6 +71,13 @@ public class Endermite extends Monster {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -791,7 +791,7 @@ index 2ea45eba13d0b0ea2d3c1d1a3666d6e2e027a3ef..38e3b3ed2c003fe7bbb476f7bf9a882e
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||
diff --git a/net/minecraft/world/entity/monster/Evoker.java b/net/minecraft/world/entity/monster/Evoker.java
|
||||
index 91574baf7ca095eae909e8e7225ad500bde15af2..61ed6606948cc5f8af543eb9ae05f9aeb4e73b89 100644
|
||||
index b14b72f7bbf6cb65b1515c12bae47187fe1371b5..e1debcc5d859961a9d9893fa5ffbe67deea35f6d 100644
|
||||
--- a/net/minecraft/world/entity/monster/Evoker.java
|
||||
+++ b/net/minecraft/world/entity/monster/Evoker.java
|
||||
@@ -75,6 +75,13 @@ public class Evoker extends SpellcasterIllager {
|
||||
@@ -809,10 +809,10 @@ index 91574baf7ca095eae909e8e7225ad500bde15af2..61ed6606948cc5f8af543eb9ae05f9ae
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/net/minecraft/world/entity/monster/Ghast.java b/net/minecraft/world/entity/monster/Ghast.java
|
||||
index c5987f50b343ded580b3d3f264498d3893433f92..68debfa8c6d0fc3ff536d2b4d89c131fd6aca935 100644
|
||||
index a55d588709bbf04d4267bd991fb3be0daaba34d4..4864009a9e531d37f9c3747a042d8ea1ed6ccbf7 100644
|
||||
--- a/net/minecraft/world/entity/monster/Ghast.java
|
||||
+++ b/net/minecraft/world/entity/monster/Ghast.java
|
||||
@@ -84,6 +84,13 @@ public class Ghast extends FlyingMob implements Enemy {
|
||||
@@ -85,6 +85,13 @@ public class Ghast extends FlyingMob implements Enemy {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -845,7 +845,7 @@ index 73da18c4b54e250c434fd75971ef0a8f7c8cf6a3..009b8a8b1b9aabc0aef1c12a0c0f65f9
|
||||
return Monster.createMonsterAttributes().add(Attributes.MAX_HEALTH, 100.0).add(Attributes.MOVEMENT_SPEED, 0.5).add(Attributes.ATTACK_DAMAGE, 50.0);
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/monster/Guardian.java b/net/minecraft/world/entity/monster/Guardian.java
|
||||
index 546a4fe6d038d04c0be500e76ff4aebb02c3681a..819679a224ffe33e03d8e6b429c8e31b67c769fa 100644
|
||||
index 2b03af6e0f378d855c42fa688d0cd2bc8480102b..9868117ecf0a3b36f81086297c639f6f274e0055 100644
|
||||
--- a/net/minecraft/world/entity/monster/Guardian.java
|
||||
+++ b/net/minecraft/world/entity/monster/Guardian.java
|
||||
@@ -98,6 +98,13 @@ public class Guardian extends Monster {
|
||||
@@ -863,7 +863,7 @@ index 546a4fe6d038d04c0be500e76ff4aebb02c3681a..819679a224ffe33e03d8e6b429c8e31b
|
||||
protected void registerGoals() {
|
||||
MoveTowardsRestrictionGoal moveTowardsRestrictionGoal = new MoveTowardsRestrictionGoal(this, 1.0);
|
||||
diff --git a/net/minecraft/world/entity/monster/Husk.java b/net/minecraft/world/entity/monster/Husk.java
|
||||
index 7a8951f93e65c6df145e30d44b9d928dd0c39189..31eef2869945d9de565d627cac3fc1a5db380a2a 100644
|
||||
index 75cb1db5584c04e442583ab2f50a26132ed48bfb..9baec22561093d64157d93449e84c23b3f238b39 100644
|
||||
--- a/net/minecraft/world/entity/monster/Husk.java
|
||||
+++ b/net/minecraft/world/entity/monster/Husk.java
|
||||
@@ -67,6 +67,13 @@ public class Husk extends Zombie {
|
||||
@@ -881,7 +881,7 @@ index 7a8951f93e65c6df145e30d44b9d928dd0c39189..31eef2869945d9de565d627cac3fc1a5
|
||||
EntityType<Husk> entityType, ServerLevelAccessor level, EntitySpawnReason spawnReason, BlockPos pos, RandomSource random
|
||||
) {
|
||||
diff --git a/net/minecraft/world/entity/monster/Illusioner.java b/net/minecraft/world/entity/monster/Illusioner.java
|
||||
index 1d1cf8748e3fba2e2963ad2fa153fbfe990f5087..ad661f2bf8957644605b52a469d6a7cf8e064398 100644
|
||||
index 09804a8c789bff4f40277c2697c3f9aed00c4d15..553a8f0f5b895f3d8528f10efdc918466e4f4d87 100644
|
||||
--- a/net/minecraft/world/entity/monster/Illusioner.java
|
||||
+++ b/net/minecraft/world/entity/monster/Illusioner.java
|
||||
@@ -84,6 +84,13 @@ public class Illusioner extends SpellcasterIllager implements RangedAttackMob {
|
||||
@@ -899,7 +899,7 @@ index 1d1cf8748e3fba2e2963ad2fa153fbfe990f5087..ad661f2bf8957644605b52a469d6a7cf
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/net/minecraft/world/entity/monster/MagmaCube.java b/net/minecraft/world/entity/monster/MagmaCube.java
|
||||
index 2c6b0fd46d9ed6a8d1ca7e90ebf596dd3f310f0e..bf26f5f6017c60d5991d5f6c87da2acbd95ef5bb 100644
|
||||
index bb1364c4a220cc93f7ac01cbaa617561de4cd2e3..da90b7dc79aa6d01e88c1250fff662ba1b001dc3 100644
|
||||
--- a/net/minecraft/world/entity/monster/MagmaCube.java
|
||||
+++ b/net/minecraft/world/entity/monster/MagmaCube.java
|
||||
@@ -68,6 +68,13 @@ public class MagmaCube extends Slime {
|
||||
@@ -917,10 +917,10 @@ index 2c6b0fd46d9ed6a8d1ca7e90ebf596dd3f310f0e..bf26f5f6017c60d5991d5f6c87da2acb
|
||||
return Monster.createMonsterAttributes().add(Attributes.MOVEMENT_SPEED, 0.2F);
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/monster/Phantom.java b/net/minecraft/world/entity/monster/Phantom.java
|
||||
index 4cc1c8d8967b1e9ee5b0b1c50d887f3de3e8a882..32b7c34d3c68dcfa936b628b2d038524204129a3 100644
|
||||
index eaa5f2db1bc6b01ef6a508cc5a60ff1e252c2360..409e98d0981aa8be0d35bc5c93f7130a9ce16860 100644
|
||||
--- a/net/minecraft/world/entity/monster/Phantom.java
|
||||
+++ b/net/minecraft/world/entity/monster/Phantom.java
|
||||
@@ -139,6 +139,13 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -140,6 +140,13 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
}
|
||||
// Purpur end - Phantoms attracted to crystals and crystals shoot phantoms
|
||||
|
||||
@@ -935,7 +935,7 @@ index 4cc1c8d8967b1e9ee5b0b1c50d887f3de3e8a882..32b7c34d3c68dcfa936b628b2d038524
|
||||
public boolean isFlapping() {
|
||||
return (this.getUniqueFlapTickOffset() + this.tickCount) % TICKS_PER_FLAP == 0;
|
||||
diff --git a/net/minecraft/world/entity/monster/Pillager.java b/net/minecraft/world/entity/monster/Pillager.java
|
||||
index 9586aa3f3eb61fb0c1224df9d0104da69d7fa6bb..869a1007de13f3f5d757968d0f84cbf43786c870 100644
|
||||
index eb4fcf0e78c39a4b94b7edb733694a87e3103552..4c41e7e0a164779bf1d6765fdb750dcd60acd104 100644
|
||||
--- a/net/minecraft/world/entity/monster/Pillager.java
|
||||
+++ b/net/minecraft/world/entity/monster/Pillager.java
|
||||
@@ -88,6 +88,13 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
|
||||
@@ -953,10 +953,10 @@ index 9586aa3f3eb61fb0c1224df9d0104da69d7fa6bb..869a1007de13f3f5d757968d0f84cbf4
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/net/minecraft/world/entity/monster/Ravager.java b/net/minecraft/world/entity/monster/Ravager.java
|
||||
index 3449628fb87fd760abd730d84699c3a09c6ec761..3d9eae0403875a99c25ccb47888dc591f051e744 100644
|
||||
index 568a0d17600a82109263de715f3d54fc24039452..0b6550c3abad0eb00af4f303725045a8aa3dc4b1 100644
|
||||
--- a/net/minecraft/world/entity/monster/Ravager.java
|
||||
+++ b/net/minecraft/world/entity/monster/Ravager.java
|
||||
@@ -97,6 +97,13 @@ public class Ravager extends Raider {
|
||||
@@ -100,6 +100,13 @@ public class Ravager extends Raider {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -971,10 +971,10 @@ index 3449628fb87fd760abd730d84699c3a09c6ec761..3d9eae0403875a99c25ccb47888dc591
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/net/minecraft/world/entity/monster/Shulker.java b/net/minecraft/world/entity/monster/Shulker.java
|
||||
index 03db684c122a07176aa1365550da935cdb66a1b9..c26e4858a14571d58e439cabd5f2593da4ee2634 100644
|
||||
index 2b19edafe00be425427f47cac045bf301e3caa39..c9dab7d6b1afe8749022d99aa988782c75270561 100644
|
||||
--- a/net/minecraft/world/entity/monster/Shulker.java
|
||||
+++ b/net/minecraft/world/entity/monster/Shulker.java
|
||||
@@ -129,6 +129,13 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
@@ -134,6 +134,13 @@ public class Shulker extends AbstractGolem implements Enemy {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -989,7 +989,7 @@ index 03db684c122a07176aa1365550da935cdb66a1b9..c26e4858a14571d58e439cabd5f2593d
|
||||
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 0d3b8b64a23a19d67a1a4a01faaf6649a59f54ad..52f18edfe4525b2626f86a5b5847c74feb96e519 100644
|
||||
index ff3761507f2025fd1e652afee03a18de3508676a..af33bd8c472f7e7bfdab52558bac379166ff2253 100644
|
||||
--- a/net/minecraft/world/entity/monster/Silverfish.java
|
||||
+++ b/net/minecraft/world/entity/monster/Silverfish.java
|
||||
@@ -66,6 +66,13 @@ public class Silverfish extends Monster {
|
||||
@@ -1007,10 +1007,10 @@ index 0d3b8b64a23a19d67a1a4a01faaf6649a59f54ad..52f18edfe4525b2626f86a5b5847c74f
|
||||
protected void registerGoals() {
|
||||
this.friendsGoal = new Silverfish.SilverfishWakeUpFriendsGoal(this);
|
||||
diff --git a/net/minecraft/world/entity/monster/Skeleton.java b/net/minecraft/world/entity/monster/Skeleton.java
|
||||
index ccd8a9867acd76e5a00d43e55e1fe64d8259de10..29ef7a09c42590df7a8cd7f0874a8eb995b77cc8 100644
|
||||
index 54941e5f93579db512472d324a48a9b272787b91..4b0a27dc94313b021e56bef61671f95a31074dc7 100644
|
||||
--- a/net/minecraft/world/entity/monster/Skeleton.java
|
||||
+++ b/net/minecraft/world/entity/monster/Skeleton.java
|
||||
@@ -49,6 +49,13 @@ public class Skeleton extends AbstractSkeleton {
|
||||
@@ -50,6 +50,13 @@ public class Skeleton extends AbstractSkeleton {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -1025,10 +1025,10 @@ index ccd8a9867acd76e5a00d43e55e1fe64d8259de10..29ef7a09c42590df7a8cd7f0874a8eb9
|
||||
protected void defineSynchedData(SynchedEntityData.Builder builder) {
|
||||
super.defineSynchedData(builder);
|
||||
diff --git a/net/minecraft/world/entity/monster/Slime.java b/net/minecraft/world/entity/monster/Slime.java
|
||||
index a6613f006521cbe93fee2eff3c348913b5939969..ed0a242bf99cf03340c882fc56f8c09e77dffd37 100644
|
||||
index 015af82ab82c3676a7b80c01b83eaf61ee28b61b..f44e9f04e083d48e4a90d8d8e8b5cc199bf9f351 100644
|
||||
--- a/net/minecraft/world/entity/monster/Slime.java
|
||||
+++ b/net/minecraft/world/entity/monster/Slime.java
|
||||
@@ -132,6 +132,13 @@ public class Slime extends Mob implements Enemy {
|
||||
@@ -133,6 +133,13 @@ public class Slime extends Mob implements Enemy {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -1043,7 +1043,7 @@ index a6613f006521cbe93fee2eff3c348913b5939969..ed0a242bf99cf03340c882fc56f8c09e
|
||||
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/Spider.java b/net/minecraft/world/entity/monster/Spider.java
|
||||
index 38d75a0a024fa1e7b12bfc5e3ab0ec8bb98cb17a..825245ca739d18fdb3d53e608159a2d065d02100 100644
|
||||
index c2bcf769a85a28616472b050cd09d3d6cc60e81f..e7bd63256979e41670772c3c5293c9a637593541 100644
|
||||
--- a/net/minecraft/world/entity/monster/Spider.java
|
||||
+++ b/net/minecraft/world/entity/monster/Spider.java
|
||||
@@ -75,6 +75,13 @@ public class Spider extends Monster {
|
||||
@@ -1061,7 +1061,7 @@ index 38d75a0a024fa1e7b12bfc5e3ab0ec8bb98cb17a..825245ca739d18fdb3d53e608159a2d0
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||
diff --git a/net/minecraft/world/entity/monster/Stray.java b/net/minecraft/world/entity/monster/Stray.java
|
||||
index 0323456fca18450c22bf3999df97ff148a89e4c5..17c168310de052ecd0894f7ceb92bab3856eefed 100644
|
||||
index b5465b552c5aea7603a54cfdeafe451bfaf38bf2..e4ae604d4d0756edc9418634d9958338997c8203 100644
|
||||
--- a/net/minecraft/world/entity/monster/Stray.java
|
||||
+++ b/net/minecraft/world/entity/monster/Stray.java
|
||||
@@ -46,6 +46,13 @@ public class Stray extends AbstractSkeleton {
|
||||
@@ -1079,10 +1079,10 @@ index 0323456fca18450c22bf3999df97ff148a89e4c5..17c168310de052ecd0894f7ceb92bab3
|
||||
EntityType<Stray> entityType, ServerLevelAccessor level, EntitySpawnReason spawnReason, BlockPos pos, RandomSource random
|
||||
) {
|
||||
diff --git a/net/minecraft/world/entity/monster/Strider.java b/net/minecraft/world/entity/monster/Strider.java
|
||||
index f36e94437b4e21961532ac9ab91767617f9c3c32..d01bc46d77340b10b23d0c0d50bddc37657028c8 100644
|
||||
index 309cdc88d98eaf61691bc1594275250f55b4f30c..7b19d64d6b1d61922a2368e38f2b31a42ea29a1a 100644
|
||||
--- a/net/minecraft/world/entity/monster/Strider.java
|
||||
+++ b/net/minecraft/world/entity/monster/Strider.java
|
||||
@@ -88,7 +88,7 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
|
||||
@@ -86,7 +86,7 @@ public class Strider extends Animal implements ItemSteerable {
|
||||
public Strider(EntityType<? extends Strider> entityType, Level level) {
|
||||
super(entityType, level);
|
||||
this.blocksBuilding = true;
|
||||
@@ -1091,7 +1091,7 @@ index f36e94437b4e21961532ac9ab91767617f9c3c32..d01bc46d77340b10b23d0c0d50bddc37
|
||||
this.setPathfindingMalus(PathType.LAVA, 0.0F);
|
||||
this.setPathfindingMalus(PathType.DANGER_FIRE, 0.0F);
|
||||
this.setPathfindingMalus(PathType.DAMAGE_FIRE, 0.0F);
|
||||
@@ -403,7 +403,7 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
|
||||
@@ -389,7 +389,7 @@ public class Strider extends Animal implements ItemSteerable {
|
||||
|
||||
@Override
|
||||
public boolean isSensitiveToWater() {
|
||||
@@ -1101,7 +1101,7 @@ index f36e94437b4e21961532ac9ab91767617f9c3c32..d01bc46d77340b10b23d0c0d50bddc37
|
||||
|
||||
@Override
|
||||
diff --git a/net/minecraft/world/entity/monster/Vex.java b/net/minecraft/world/entity/monster/Vex.java
|
||||
index f0fe810d4ee2387b6b37c391e0c2feaa52b05c05..20f78e3a37f4c7257b32f2279a6404415aa00e2c 100644
|
||||
index 43de5ca497f5e3ac3d64345cb998f392852e6e3b..bc8727a4ae3f1f30f4de5ab81a79c15a8153e34a 100644
|
||||
--- a/net/minecraft/world/entity/monster/Vex.java
|
||||
+++ b/net/minecraft/world/entity/monster/Vex.java
|
||||
@@ -110,6 +110,13 @@ public class Vex extends Monster implements TraceableEntity {
|
||||
@@ -1119,10 +1119,10 @@ index f0fe810d4ee2387b6b37c391e0c2feaa52b05c05..20f78e3a37f4c7257b32f2279a640441
|
||||
public boolean isFlapping() {
|
||||
return this.tickCount % TICKS_PER_FLAP == 0;
|
||||
diff --git a/net/minecraft/world/entity/monster/Vindicator.java b/net/minecraft/world/entity/monster/Vindicator.java
|
||||
index 0fc1b458101ba9d98d25c9637337caf0949bb893..5f68d73460adfac2ead57d168156a2784af979ae 100644
|
||||
index 01a5357d5359394b61f2456fdee8bf3aadf0ca32..50da0e9246f50be6073e26c8fa042fe2b4eabb32 100644
|
||||
--- a/net/minecraft/world/entity/monster/Vindicator.java
|
||||
+++ b/net/minecraft/world/entity/monster/Vindicator.java
|
||||
@@ -80,6 +80,13 @@ public class Vindicator extends AbstractIllager {
|
||||
@@ -81,6 +81,13 @@ public class Vindicator extends AbstractIllager {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -1137,7 +1137,7 @@ index 0fc1b458101ba9d98d25c9637337caf0949bb893..5f68d73460adfac2ead57d168156a278
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/net/minecraft/world/entity/monster/Witch.java b/net/minecraft/world/entity/monster/Witch.java
|
||||
index ff8380246f6c6c805b222a91ac6a1eb0d130558d..96ba35f3530ab405a960c79955699666deb6b845 100644
|
||||
index 2ff6ae7e1c809fa6607cf4d8685ba9b8ac46064c..e90ac2c977555793ee8c25f04ec3c33b0332d312 100644
|
||||
--- a/net/minecraft/world/entity/monster/Witch.java
|
||||
+++ b/net/minecraft/world/entity/monster/Witch.java
|
||||
@@ -81,6 +81,13 @@ public class Witch extends Raider implements RangedAttackMob {
|
||||
@@ -1155,7 +1155,7 @@ index ff8380246f6c6c805b222a91ac6a1eb0d130558d..96ba35f3530ab405a960c79955699666
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/net/minecraft/world/entity/monster/WitherSkeleton.java b/net/minecraft/world/entity/monster/WitherSkeleton.java
|
||||
index 3342f2d92830049837636ff10b5e52f0d85fbd2c..a4dc9b7fbde19b08eb389dc42df21aa5df94e703 100644
|
||||
index 213530a2378411db2bc597ba7e0bb68cfdb3ebc9..ef2a7fdc8abe05b7718b71e23556258aba392c75 100644
|
||||
--- a/net/minecraft/world/entity/monster/WitherSkeleton.java
|
||||
+++ b/net/minecraft/world/entity/monster/WitherSkeleton.java
|
||||
@@ -59,6 +59,13 @@ public class WitherSkeleton extends AbstractSkeleton {
|
||||
@@ -1173,10 +1173,10 @@ index 3342f2d92830049837636ff10b5e52f0d85fbd2c..a4dc9b7fbde19b08eb389dc42df21aa5
|
||||
protected void registerGoals() {
|
||||
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, AbstractPiglin.class, true));
|
||||
diff --git a/net/minecraft/world/entity/monster/Zoglin.java b/net/minecraft/world/entity/monster/Zoglin.java
|
||||
index 132b38d717ac3c5acc64a5ec519f345ac57021d8..79a4a3f4e10e1f9c1a6100060a95636075fc8236 100644
|
||||
index 9f5db385dabb01bda033aecaebd1d9b7c9e2ed0b..7cb2bc8b126a0027216ec4afd7f6e54fe328b8be 100644
|
||||
--- a/net/minecraft/world/entity/monster/Zoglin.java
|
||||
+++ b/net/minecraft/world/entity/monster/Zoglin.java
|
||||
@@ -110,6 +110,13 @@ public class Zoglin extends Monster implements HoglinBase {
|
||||
@@ -111,6 +111,13 @@ public class Zoglin extends Monster implements HoglinBase {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -1191,10 +1191,10 @@ index 132b38d717ac3c5acc64a5ec519f345ac57021d8..79a4a3f4e10e1f9c1a6100060a956360
|
||||
protected Brain.Provider<Zoglin> brainProvider() {
|
||||
return Brain.provider(MEMORY_TYPES, SENSOR_TYPES);
|
||||
diff --git a/net/minecraft/world/entity/monster/Zombie.java b/net/minecraft/world/entity/monster/Zombie.java
|
||||
index 63446c874e7153dcfb99133145c8b5311d7d86cd..bb8c37c8348172947efe14d48ed9ae203409affa 100644
|
||||
index 02073d4374580278829e680b875d596844213e78..7f9ee637f443f55ae901d1a0aebedd8f7411996d 100644
|
||||
--- a/net/minecraft/world/entity/monster/Zombie.java
|
||||
+++ b/net/minecraft/world/entity/monster/Zombie.java
|
||||
@@ -139,6 +139,13 @@ public class Zombie extends Monster {
|
||||
@@ -143,6 +143,13 @@ public class Zombie extends Monster {
|
||||
}
|
||||
// Purpur end - Configurable jockey options
|
||||
|
||||
@@ -1209,10 +1209,10 @@ index 63446c874e7153dcfb99133145c8b5311d7d86cd..bb8c37c8348172947efe14d48ed9ae20
|
||||
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/ZombieVillager.java b/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||
index f1e9bf75c50f353bd377051be82a391f97d952fd..94b9abc765b78a40a7ecbf4cbd775b778d49c815 100644
|
||||
index 6bd633390df582e0b1999f5c67cd76e2b23a04eb..c6e460c21af6145321cad527112adc15e9f30d8d 100644
|
||||
--- a/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||
+++ b/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||
@@ -124,6 +124,13 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
||||
@@ -123,6 +123,13 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
||||
}
|
||||
// Purpur end - Configurable jockey options
|
||||
|
||||
@@ -1227,7 +1227,7 @@ index f1e9bf75c50f353bd377051be82a391f97d952fd..94b9abc765b78a40a7ecbf4cbd775b77
|
||||
protected void defineSynchedData(SynchedEntityData.Builder builder) {
|
||||
super.defineSynchedData(builder);
|
||||
diff --git a/net/minecraft/world/entity/monster/ZombifiedPiglin.java b/net/minecraft/world/entity/monster/ZombifiedPiglin.java
|
||||
index 9603589e0501feee900cd21b04eb84b02bb45de2..09c991d8e344f11bc84dea453042ee35c39e580e 100644
|
||||
index a8916a8fe5bed57e7b1f755a20e15bed544567fb..34e259b95abfc514e07584a699ecc80de0014250 100644
|
||||
--- a/net/minecraft/world/entity/monster/ZombifiedPiglin.java
|
||||
+++ b/net/minecraft/world/entity/monster/ZombifiedPiglin.java
|
||||
@@ -105,6 +105,13 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
|
||||
@@ -1245,10 +1245,10 @@ index 9603589e0501feee900cd21b04eb84b02bb45de2..09c991d8e344f11bc84dea453042ee35
|
||||
public void setPersistentAngerTarget(@Nullable UUID target) {
|
||||
this.persistentAngerTarget = target;
|
||||
diff --git a/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
index 5af04c4d58d59b795c3f43eeb30232ab07a4e8c7..9b82be9ec52fd4bc3b85e8289e7e8f9b79b74b9a 100644
|
||||
index df763444e9935b8f43ea65b3695c715993903fb8..ee2cd8bfb74dead58f77f9755f306aa7166285fd 100644
|
||||
--- a/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
+++ b/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
@@ -124,6 +124,13 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
||||
@@ -127,6 +127,13 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
||||
}
|
||||
// Purpur end - Make entity breeding times configurable
|
||||
|
||||
@@ -1263,10 +1263,10 @@ index 5af04c4d58d59b795c3f43eeb30232ab07a4e8c7..9b82be9ec52fd4bc3b85e8289e7e8f9b
|
||||
public void setTimeInOverworld(int timeInOverworld) {
|
||||
this.timeInOverworld = timeInOverworld;
|
||||
diff --git a/net/minecraft/world/entity/monster/piglin/Piglin.java b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
index d923a424e2b33b7d4e9e4ecdce8e0a8c825038de..55ebfa5df06a59203248514d10dced9660ebf215 100644
|
||||
index 8d37820522b12f2e513ca38c6ccdbb6ef3c2fc71..0059e926f09317e056f3f722c4ca775c43bc0b86 100644
|
||||
--- a/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
+++ b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
@@ -176,6 +176,13 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||
@@ -161,6 +161,13 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -1281,7 +1281,7 @@ index d923a424e2b33b7d4e9e4ecdce8e0a8c825038de..55ebfa5df06a59203248514d10dced96
|
||||
public void addAdditionalSaveData(CompoundTag compound) {
|
||||
super.addAdditionalSaveData(compound);
|
||||
diff --git a/net/minecraft/world/entity/monster/piglin/PiglinBrute.java b/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
|
||||
index eb82252cd87797927e153974b9280b5eaa251080..2237681f298113bda0556699e19e880f4b04a853 100644
|
||||
index f52aba35ee7e202074cda8fb4dfd6a7d9ded1f09..f4893cc54d7f144025da0057beedb3a974c80dc1 100644
|
||||
--- a/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
|
||||
+++ b/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
|
||||
@@ -90,6 +90,13 @@ public class PiglinBrute extends AbstractPiglin {
|
||||
@@ -1299,10 +1299,10 @@ index eb82252cd87797927e153974b9280b5eaa251080..2237681f298113bda0556699e19e880f
|
||||
return Monster.createMonsterAttributes()
|
||||
.add(Attributes.MAX_HEALTH, 50.0)
|
||||
diff --git a/net/minecraft/world/entity/npc/Villager.java b/net/minecraft/world/entity/npc/Villager.java
|
||||
index 017b54e0b8dec8996c90a3c6651867277dd516df..97e5bb0cc335b23211e78044919282bfabad26a5 100644
|
||||
index 2846aca7bad55b56430738baeee9554e34da316c..654935f2994c588c8545c21d6de839711c55cdfc 100644
|
||||
--- a/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -278,6 +278,13 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -281,6 +281,13 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -1317,10 +1317,10 @@ index 017b54e0b8dec8996c90a3c6651867277dd516df..97e5bb0cc335b23211e78044919282bf
|
||||
public Brain<Villager> getBrain() {
|
||||
return (Brain<Villager>)super.getBrain();
|
||||
diff --git a/net/minecraft/world/entity/npc/WanderingTrader.java b/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
index 4ba2921dd99f674344fe3371332c9b23365d3aa2..8046a2d640e7c4d59cb5b9c6dff3bf5f026c7153 100644
|
||||
index e726893a3ddf49bdfd2d190477bccf6e33de1847..7ad6a8479a0bdda570ac286220eacd0ba8642111 100644
|
||||
--- a/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
+++ b/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
@@ -107,6 +107,13 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
@@ -97,6 +97,13 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
}
|
||||
// Purpur end - Villagers follow emerald blocks
|
||||
|
||||
|
||||
@@ -6,19 +6,19 @@ Subject: [PATCH] API for any mob to burn daylight
|
||||
Co-authored by: Encode42 <me@encode42.dev>
|
||||
|
||||
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
|
||||
index 680a7b609db5de96742a8042d0f9ab5e0a8a8e7f..3709efe15b30e4140ba677ffdcd4634b06e34d7d 100644
|
||||
index d4e989889ed21e3900062eed142f26a9bdaaa8d9..66c4047a35be22803b38a9249b74ae32dcb98748 100644
|
||||
--- a/net/minecraft/world/entity/Entity.java
|
||||
+++ b/net/minecraft/world/entity/Entity.java
|
||||
@@ -531,6 +531,24 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -414,6 +414,24 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
}
|
||||
// Purpur end - Add canSaveToDisk to Entity
|
||||
|
||||
+ // Purpur start - copied from Mob - API for any mob to burn daylight
|
||||
+ public boolean isSunBurnTick() {
|
||||
+ if (this.level().isDay() && !this.level().isClientSide) {
|
||||
+ if (this.level().isBrightOutside() && !this.level().isClientSide) {
|
||||
+ float lightLevelDependentMagicValue = this.getLightLevelDependentMagicValue();
|
||||
+ BlockPos blockPos = BlockPos.containing(this.getX(), this.getEyeY(), this.getZ());
|
||||
+ boolean flag = this.isInWaterRainOrBubble() || this.isInPowderSnow || this.wasInPowderSnow;
|
||||
+ boolean flag = this.isInWaterOrRain() || this.isInPowderSnow || this.wasInPowderSnow;
|
||||
+ if (lightLevelDependentMagicValue > 0.5F
|
||||
+ && this.random.nextFloat() * 30.0F < (lightLevelDependentMagicValue - 0.4F) * 2.0F
|
||||
+ && !flag
|
||||
@@ -35,40 +35,35 @@ index 680a7b609db5de96742a8042d0f9ab5e0a8a8e7f..3709efe15b30e4140ba677ffdcd4634b
|
||||
this.type = entityType;
|
||||
this.level = level;
|
||||
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
|
||||
index cef0c2bd5c010e9ca6a8f42f2def832c244eae31..c5a5bd367478c32672fbf5ec237bef432814e553 100644
|
||||
index 2a7434872472b950fe09bfe8f5f334d9964b51d6..a92ef9269b59305334ed1a8f1b253493e2223306 100644
|
||||
--- a/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -301,6 +301,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
public org.bukkit.craftbukkit.entity.CraftLivingEntity getBukkitLivingEntity() { return (org.bukkit.craftbukkit.entity.CraftLivingEntity) super.getBukkitEntity(); } // Paper
|
||||
@@ -273,6 +273,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
public boolean silentDeath = false; // Paper - mark entity as dying silently for cancellable death event
|
||||
public net.kyori.adventure.util.TriState frictionState = net.kyori.adventure.util.TriState.NOT_SET; // Paper - Friction API
|
||||
public int shieldBlockingDelay = this.level().paperConfig().misc.shieldBlockingDelay; // Paper - Make shield blocking delay configurable
|
||||
+ protected boolean shouldBurnInDay = false; public boolean shouldBurnInDay() { return this.shouldBurnInDay; } public void setShouldBurnInDay(boolean shouldBurnInDay) { this.shouldBurnInDay = shouldBurnInDay; } // Purpur - API for any mob to burn daylight
|
||||
// CraftBukkit end
|
||||
|
||||
@Override
|
||||
public float getBukkitYaw() {
|
||||
@@ -809,6 +810,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
});
|
||||
protected LivingEntity(EntityType<? extends LivingEntity> entityType, Level level) {
|
||||
@@ -768,6 +769,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.getSleepingPos().ifPresent(pos -> compound.store("sleeping_pos", BlockPos.CODEC, pos));
|
||||
DataResult<Tag> dataResult = this.brain.serializeStart(NbtOps.INSTANCE);
|
||||
dataResult.resultOrPartial(LOGGER::error).ifPresent(brain -> compound.put("Brain", brain));
|
||||
dataResult.resultOrPartial(LOGGER::error).ifPresent(tag -> compound.put("Brain", tag));
|
||||
+ compound.putBoolean("Purpur.ShouldBurnInDay", this.shouldBurnInDay); // Purpur - API for any mob to burn daylight
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -892,6 +894,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
if (compound.contains("Brain", 10)) {
|
||||
this.brain = this.makeBrain(new Dynamic<>(NbtOps.INSTANCE, compound.get("Brain")));
|
||||
}
|
||||
+
|
||||
+ // Purpur start - API for any mob to burn daylight
|
||||
+ if (compound.contains("Purpur.ShouldBurnInDay")) {
|
||||
+ this.shouldBurnInDay = compound.getBoolean("Purpur.ShouldBurnInDay");
|
||||
+ }
|
||||
+ // Purpur end - API for any mob to burn daylight
|
||||
}
|
||||
|
||||
// CraftBukkit start
|
||||
@@ -3599,6 +3607,32 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
if (this.level() instanceof ServerLevel serverLevel && this.isSensitiveToWater() && this.isInWaterRainOrBubble()) {
|
||||
if (this.lastHurtByPlayer != null) {
|
||||
this.lastHurtByPlayer.store(compound, "last_hurt_by_player");
|
||||
compound.putInt("last_hurt_by_player_memory_time", this.lastHurtByPlayerMemoryTime);
|
||||
@@ -891,6 +893,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
} // Paper - The sleeping pos will always also set the actual pos, so a desync suggests something is wrong
|
||||
}, this::clearSleepingPos);
|
||||
compound.getCompound("Brain").ifPresent(compoundTag -> this.brain = this.makeBrain(new Dynamic<>(NbtOps.INSTANCE, compoundTag)));
|
||||
+ this.shouldBurnInDay = compound.getBooleanOr("Purpur.ShouldBurnInDay", false); // Purpur - API for any mob to burn daylight
|
||||
this.lastHurtByPlayer = EntityReference.read(compound, "last_hurt_by_player");
|
||||
this.lastHurtByPlayerMemoryTime = compound.getIntOr("last_hurt_by_player_memory_time", 0);
|
||||
this.lastHurtByMob = EntityReference.read(compound, "last_hurt_by_mob");
|
||||
@@ -3615,6 +3618,32 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
if (this.level() instanceof ServerLevel serverLevel && this.isSensitiveToWater() && this.isInWaterOrRain()) {
|
||||
this.hurtServer(serverLevel, this.damageSources().drown(), 1.0F);
|
||||
}
|
||||
+
|
||||
@@ -99,19 +94,19 @@ index cef0c2bd5c010e9ca6a8f42f2def832c244eae31..c5a5bd367478c32672fbf5ec237bef43
|
||||
+ // Purpur end - copied from Zombie - API for any mob to burn daylight
|
||||
}
|
||||
|
||||
public boolean isSensitiveToWater() {
|
||||
protected void applyInput() {
|
||||
diff --git a/net/minecraft/world/entity/Mob.java b/net/minecraft/world/entity/Mob.java
|
||||
index 0b14919c8d7c153d2715abb286e1b466945e86fc..bc22d67bba9b1ebb6bef84f5326375100d24461d 100644
|
||||
index b828524d62a940f89f0c0fa926ef0423019ec212..e9344f61a943d610dfabe4918c227ddba166f17f 100644
|
||||
--- a/net/minecraft/world/entity/Mob.java
|
||||
+++ b/net/minecraft/world/entity/Mob.java
|
||||
@@ -1657,19 +1657,8 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
||||
@@ -1531,19 +1531,8 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
||||
}
|
||||
|
||||
public boolean isSunBurnTick() {
|
||||
- if (this.level().isDay() && !this.level().isClientSide) {
|
||||
- if (this.level().isBrightOutside() && !this.level().isClientSide) {
|
||||
- float lightLevelDependentMagicValue = this.getLightLevelDependentMagicValue();
|
||||
- BlockPos blockPos = BlockPos.containing(this.getX(), this.getEyeY(), this.getZ());
|
||||
- boolean flag = this.isInWaterRainOrBubble() || this.isInPowderSnow || this.wasInPowderSnow;
|
||||
- boolean flag = this.isInWaterOrRain() || this.isInPowderSnow || this.wasInPowderSnow;
|
||||
- if (lightLevelDependentMagicValue > 0.5F
|
||||
- && this.random.nextFloat() * 30.0F < (lightLevelDependentMagicValue - 0.4F) * 2.0F
|
||||
- && !flag
|
||||
@@ -127,7 +122,7 @@ index 0b14919c8d7c153d2715abb286e1b466945e86fc..bc22d67bba9b1ebb6bef84f532637510
|
||||
|
||||
@Override
|
||||
diff --git a/net/minecraft/world/entity/monster/AbstractSkeleton.java b/net/minecraft/world/entity/monster/AbstractSkeleton.java
|
||||
index e186aee80b052b7fc4bfe02763010bfb2d55ea35..223739818e9ac6c9fe396b82bce53a3ab029610a 100644
|
||||
index 0a5de00d41c59528e9f85a7cf82363c45e24d2bc..185edd9878f5193c44b75a126e8182caade7e943 100644
|
||||
--- a/net/minecraft/world/entity/monster/AbstractSkeleton.java
|
||||
+++ b/net/minecraft/world/entity/monster/AbstractSkeleton.java
|
||||
@@ -64,11 +64,12 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo
|
||||
@@ -173,16 +168,15 @@ index e186aee80b052b7fc4bfe02763010bfb2d55ea35..223739818e9ac6c9fe396b82bce53a3a
|
||||
super.aiStep();
|
||||
}
|
||||
|
||||
@@ -243,7 +224,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo
|
||||
@@ -242,14 +223,14 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo
|
||||
public void readAdditionalSaveData(CompoundTag compound) {
|
||||
super.readAdditionalSaveData(compound);
|
||||
this.reassessWeaponGoal();
|
||||
// Paper start - shouldBurnInDay API
|
||||
- if (compound.contains("Paper.ShouldBurnInDay")) {
|
||||
+ if (false && compound.contains("Paper.ShouldBurnInDay")) { // Purpur - implemented in LivingEntity - API for any mob to burn daylight
|
||||
this.shouldBurnInDay = compound.getBoolean("Paper.ShouldBurnInDay");
|
||||
}
|
||||
// Paper end - shouldBurnInDay API
|
||||
@@ -252,7 +233,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo
|
||||
- this.shouldBurnInDay = compound.getBooleanOr("Paper.ShouldBurnInDay", true); // Paper - shouldBurnInDay API
|
||||
+ //this.shouldBurnInDay = compound.getBooleanOr("Paper.ShouldBurnInDay", true); // Paper - shouldBurnInDay API // Purpur - implemented in LivingEntity - API for any mob to burn daylight
|
||||
}
|
||||
|
||||
// Paper start - shouldBurnInDay API
|
||||
@Override
|
||||
public void addAdditionalSaveData(final net.minecraft.nbt.CompoundTag nbt) {
|
||||
super.addAdditionalSaveData(nbt);
|
||||
@@ -192,7 +186,7 @@ index e186aee80b052b7fc4bfe02763010bfb2d55ea35..223739818e9ac6c9fe396b82bce53a3a
|
||||
// Paper end - shouldBurnInDay API
|
||||
|
||||
diff --git a/net/minecraft/world/entity/monster/Husk.java b/net/minecraft/world/entity/monster/Husk.java
|
||||
index 31eef2869945d9de565d627cac3fc1a5db380a2a..e618e716cb5ff3a3c5d284e985455694cc0edde0 100644
|
||||
index 9baec22561093d64157d93449e84c23b3f238b39..3f331215ef49c52fa3a53bcf744159d2221111f5 100644
|
||||
--- a/net/minecraft/world/entity/monster/Husk.java
|
||||
+++ b/net/minecraft/world/entity/monster/Husk.java
|
||||
@@ -19,6 +19,7 @@ import net.minecraft.world.level.ServerLevelAccessor;
|
||||
@@ -213,10 +207,10 @@ index 31eef2869945d9de565d627cac3fc1a5db380a2a..e618e716cb5ff3a3c5d284e985455694
|
||||
|
||||
@Override
|
||||
diff --git a/net/minecraft/world/entity/monster/Phantom.java b/net/minecraft/world/entity/monster/Phantom.java
|
||||
index 32b7c34d3c68dcfa936b628b2d038524204129a3..41ae39349c6f7e6c5d0187257a72782c5dc4c8eb 100644
|
||||
index 409e98d0981aa8be0d35bc5c93f7130a9ce16860..c2bc638b0029ac46cf388187ca74545060a54914 100644
|
||||
--- a/net/minecraft/world/entity/monster/Phantom.java
|
||||
+++ b/net/minecraft/world/entity/monster/Phantom.java
|
||||
@@ -60,6 +60,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -61,6 +61,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
this.xpReward = 5;
|
||||
this.moveControl = new Phantom.PhantomMoveControl(this);
|
||||
this.lookControl = new Phantom.PhantomLookControl(this);
|
||||
@@ -224,7 +218,7 @@ index 32b7c34d3c68dcfa936b628b2d038524204129a3..41ae39349c6f7e6c5d0187257a72782c
|
||||
}
|
||||
|
||||
// Purpur start - Ridables
|
||||
@@ -146,6 +147,16 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -147,6 +148,16 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -241,7 +235,7 @@ index 32b7c34d3c68dcfa936b628b2d038524204129a3..41ae39349c6f7e6c5d0187257a72782c
|
||||
@Override
|
||||
public boolean isFlapping() {
|
||||
return (this.getUniqueFlapTickOffset() + this.tickCount) % TICKS_PER_FLAP == 0;
|
||||
@@ -261,15 +272,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -262,15 +273,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
|
||||
@Override
|
||||
public void aiStep() {
|
||||
@@ -258,31 +252,31 @@ index 32b7c34d3c68dcfa936b628b2d038524204129a3..41ae39349c6f7e6c5d0187257a72782c
|
||||
super.aiStep();
|
||||
}
|
||||
|
||||
@@ -299,7 +302,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
if (compound.hasUUID("Paper.SpawningEntity")) {
|
||||
this.spawningEntity = compound.getUUID("Paper.SpawningEntity");
|
||||
}
|
||||
- if (compound.contains("Paper.ShouldBurnInDay")) {
|
||||
+ if (false && compound.contains("Paper.ShouldBurnInDay")) { // Purpur - implemented in LivingEntity - API for any mob to burn daylight
|
||||
this.shouldBurnInDay = compound.getBoolean("Paper.ShouldBurnInDay");
|
||||
}
|
||||
@@ -294,7 +297,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
this.setPhantomSize(compound.getIntOr("size", 0));
|
||||
// Paper start
|
||||
this.spawningEntity = compound.read("Paper.SpawningEntity", net.minecraft.core.UUIDUtil.CODEC).orElse(null);
|
||||
- this.shouldBurnInDay = compound.getBooleanOr("Paper.ShouldBurnInDay", true);
|
||||
+ //this.shouldBurnInDay = compound.getBooleanOr("Paper.ShouldBurnInDay", true); // Purpur - implemented in LivingEntity - API for any mob to burn daylight
|
||||
// Paper end
|
||||
@@ -316,7 +319,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
if (this.spawningEntity != null) {
|
||||
compound.putUUID("Paper.SpawningEntity", this.spawningEntity);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -305,7 +308,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
compound.putInt("size", this.getPhantomSize());
|
||||
// Paper start
|
||||
compound.storeNullable("Paper.SpawningEntity", net.minecraft.core.UUIDUtil.CODEC, this.spawningEntity);
|
||||
- compound.putBoolean("Paper.ShouldBurnInDay", this.shouldBurnInDay);
|
||||
+ //compound.putBoolean("Paper.ShouldBurnInDay", this.shouldBurnInDay); // Purpur - implemented in LivingEntity - API for any mob to burn daylight
|
||||
// Paper end
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/world/entity/monster/Zombie.java b/net/minecraft/world/entity/monster/Zombie.java
|
||||
index bb8c37c8348172947efe14d48ed9ae203409affa..b1da45df27f02395d793e7eafe576f5f92aa3a7b 100644
|
||||
index 7f9ee637f443f55ae901d1a0aebedd8f7411996d..aed6db357f5b4550407a424a5b83c590044568ee 100644
|
||||
--- a/net/minecraft/world/entity/monster/Zombie.java
|
||||
+++ b/net/minecraft/world/entity/monster/Zombie.java
|
||||
@@ -89,11 +89,12 @@ public class Zombie extends Monster {
|
||||
private boolean canBreakDoors;
|
||||
private int inWaterTime;
|
||||
@@ -93,11 +93,12 @@ public class Zombie extends Monster {
|
||||
private boolean canBreakDoors = false;
|
||||
private int inWaterTime = 0;
|
||||
public int conversionTime;
|
||||
- private boolean shouldBurnInDay = true; // Paper - Add more Zombie API
|
||||
+ //private boolean shouldBurnInDay = true; // Paper - Add more Zombie API // Purpur - implemented in LivingEntity - API for any mob to burn daylight
|
||||
@@ -294,7 +288,7 @@ index bb8c37c8348172947efe14d48ed9ae203409affa..b1da45df27f02395d793e7eafe576f5f
|
||||
}
|
||||
|
||||
public Zombie(Level level) {
|
||||
@@ -290,29 +291,7 @@ public class Zombie extends Monster {
|
||||
@@ -294,29 +295,7 @@ public class Zombie extends Monster {
|
||||
|
||||
@Override
|
||||
public void aiStep() {
|
||||
@@ -325,7 +319,7 @@ index bb8c37c8348172947efe14d48ed9ae203409affa..b1da45df27f02395d793e7eafe576f5f
|
||||
super.aiStep();
|
||||
}
|
||||
|
||||
@@ -371,6 +350,7 @@ public class Zombie extends Monster {
|
||||
@@ -375,6 +354,7 @@ public class Zombie extends Monster {
|
||||
// CraftBukkit end
|
||||
}
|
||||
|
||||
@@ -333,7 +327,7 @@ index bb8c37c8348172947efe14d48ed9ae203409affa..b1da45df27f02395d793e7eafe576f5f
|
||||
public boolean isSunSensitive() {
|
||||
return this.shouldBurnInDay; // Paper - Add more Zombie API
|
||||
}
|
||||
@@ -509,7 +489,7 @@ public class Zombie extends Monster {
|
||||
@@ -512,7 +492,7 @@ public class Zombie extends Monster {
|
||||
compound.putBoolean("CanBreakDoors", this.canBreakDoors());
|
||||
compound.putInt("InWaterTime", this.isInWater() ? this.inWaterTime : -1);
|
||||
compound.putInt("DrownedConversionTime", this.isUnderWaterConverting() ? this.conversionTime : -1);
|
||||
@@ -342,12 +336,12 @@ index bb8c37c8348172947efe14d48ed9ae203409affa..b1da45df27f02395d793e7eafe576f5f
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -522,7 +502,7 @@ public class Zombie extends Monster {
|
||||
this.startUnderWaterConversion(compound.getInt("DrownedConversionTime"));
|
||||
@@ -527,7 +507,7 @@ public class Zombie extends Monster {
|
||||
} else {
|
||||
this.getEntityData().set(DATA_DROWNED_CONVERSION_ID, false);
|
||||
}
|
||||
// Paper start - Add more Zombie API
|
||||
- if (compound.contains("Paper.ShouldBurnInDay")) {
|
||||
+ if (false && compound.contains("Paper.ShouldBurnInDay")) { // Purpur - implemented in LivingEntity - API for any mob to burn daylight
|
||||
this.shouldBurnInDay = compound.getBoolean("Paper.ShouldBurnInDay");
|
||||
}
|
||||
// Paper end - Add more Zombie API
|
||||
- this.shouldBurnInDay = compound.getBooleanOr("Paper.ShouldBurnInDay", true); // Paper - Add more Zombie API
|
||||
+ //this.shouldBurnInDay = compound.getBooleanOr("Paper.ShouldBurnInDay", true); // Paper - Add more Zombie API // Purpur - implemented in LivingEntity - API for any mob to burn daylight
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -4,20 +4,33 @@ Date: Mon, 30 Aug 2021 22:49:53 -0500
|
||||
Subject: [PATCH] Cows naturally aggressive to players chance
|
||||
|
||||
|
||||
diff --git a/net/minecraft/world/entity/ai/attributes/DefaultAttributes.java b/net/minecraft/world/entity/ai/attributes/DefaultAttributes.java
|
||||
index 46022a0aabc9c319deeb75913d356eeb74f1a12c..9952eed6a8ac31c757d5c27e043b85d7a949b481 100644
|
||||
--- a/net/minecraft/world/entity/ai/attributes/DefaultAttributes.java
|
||||
+++ b/net/minecraft/world/entity/ai/attributes/DefaultAttributes.java
|
||||
@@ -126,7 +126,7 @@ public class DefaultAttributes {
|
||||
.put(EntityType.IRON_GOLEM, IronGolem.createAttributes().build())
|
||||
.put(EntityType.LLAMA, Llama.createAttributes().build())
|
||||
.put(EntityType.MAGMA_CUBE, MagmaCube.createAttributes().build())
|
||||
- .put(EntityType.MOOSHROOM, Cow.createAttributes().build())
|
||||
+ .put(EntityType.MOOSHROOM, net.minecraft.world.entity.animal.AbstractCow.createAttributes().build()) // Purpur - Cows naturally aggressive to players chance
|
||||
.put(EntityType.MULE, AbstractChestedHorse.createBaseChestedHorseAttributes().build())
|
||||
.put(EntityType.OCELOT, Ocelot.createAttributes().build())
|
||||
.put(EntityType.PANDA, Panda.createAttributes().build())
|
||||
diff --git a/net/minecraft/world/entity/animal/Cow.java b/net/minecraft/world/entity/animal/Cow.java
|
||||
index a8c76fcbbaa4afd2d0bd568874995b91d8d67c03..b62c4449047da36d8b4d4b87d03c77906d12dc31 100644
|
||||
index 4bc6d0eb56b4674e2ac0f13010521314a95e0096..34700b4e599efa6fb9ea8c1d0da26bd7fe8fb9eb 100644
|
||||
--- a/net/minecraft/world/entity/animal/Cow.java
|
||||
+++ b/net/minecraft/world/entity/animal/Cow.java
|
||||
@@ -32,6 +32,8 @@ import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
@@ -22,6 +22,8 @@ import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.level.ServerLevelAccessor;
|
||||
|
||||
public class Cow extends Animal {
|
||||
public class Cow extends AbstractCow {
|
||||
+ private boolean isNaturallyAggressiveToPlayers; // Purpur - Cows naturally aggressive to players chance
|
||||
+
|
||||
private static final EntityDimensions BABY_DIMENSIONS = EntityType.COW.getDimensions().scale(0.5F).withEyeHeight(0.665F);
|
||||
private static final EntityDataAccessor<Holder<CowVariant>> DATA_VARIANT_ID = SynchedEntityData.defineId(Cow.class, EntityDataSerializers.COW_VARIANT);
|
||||
|
||||
public Cow(EntityType<? extends Cow> entityType, Level level) {
|
||||
@@ -60,6 +62,7 @@ public class Cow extends Animal {
|
||||
@@ -50,6 +52,7 @@ public class Cow extends AbstractCow {
|
||||
public void initAttributes() {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.cowMaxHealth);
|
||||
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.cowScale);
|
||||
@@ -25,7 +38,7 @@ index a8c76fcbbaa4afd2d0bd568874995b91d8d67c03..b62c4449047da36d8b4d4b87d03c7790
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -77,17 +80,27 @@ public class Cow extends Animal {
|
||||
@@ -67,6 +70,21 @@ public class Cow extends AbstractCow {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -37,28 +50,26 @@ index a8c76fcbbaa4afd2d0bd568874995b91d8d67c03..b62c4449047da36d8b4d4b87d03c7790
|
||||
+ }
|
||||
+ // Purpur end - Cows naturally aggressive to players chance
|
||||
+
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
|
||||
this.goalSelector.addGoal(1, new PanicGoal(this, 2.0));
|
||||
+ @Override
|
||||
+ protected void registerGoals() {
|
||||
+ super.registerGoals();
|
||||
+ this.goalSelector.addGoal(1, new net.minecraft.world.entity.ai.goal.MeleeAttackGoal(this, 1.2000000476837158D, true)); // Purpur - Cows naturally aggressive to players chance
|
||||
this.goalSelector.addGoal(2, new BreedGoal(this, 1.0));
|
||||
this.goalSelector.addGoal(3, new TemptGoal(this, 1.25, itemStack -> level().purpurConfig.cowFeedMushrooms > 0 && (itemStack.is(net.minecraft.world.level.block.Blocks.RED_MUSHROOM.asItem()) || itemStack.is(net.minecraft.world.level.block.Blocks.BROWN_MUSHROOM.asItem())) || itemStack.is(ItemTags.COW_FOOD), false)); // Purpur - Cows eat mushrooms
|
||||
this.goalSelector.addGoal(4, new FollowParentGoal(this, 1.25));
|
||||
this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 1.0));
|
||||
this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F));
|
||||
this.goalSelector.addGoal(7, new RandomLookAroundGoal(this));
|
||||
+ this.targetSelector.addGoal(0, new net.minecraft.world.entity.ai.goal.target.NearestAttackableTargetGoal<>(this, Player.class, 10, true, false, (ignored, ignored2) -> isNaturallyAggressiveToPlayers)); // Purpur - Cows naturally aggressive to players chance
|
||||
}
|
||||
|
||||
+ this.targetSelector.addGoal(0, new net.minecraft.world.entity.ai.goal.target.NearestAttackableTargetGoal<>(this, net.minecraft.world.entity.player.Player.class, 10, true, false, (ignored, ignored2) -> isNaturallyAggressiveToPlayers)); // Purpur - Cows naturally aggressive to players chance
|
||||
+ }
|
||||
+
|
||||
@Override
|
||||
@@ -96,7 +109,7 @@ public class Cow extends Animal {
|
||||
}
|
||||
|
||||
public static AttributeSupplier.Builder createAttributes() {
|
||||
- return Animal.createAnimalAttributes().add(Attributes.MAX_HEALTH, 10.0).add(Attributes.MOVEMENT_SPEED, 0.2F);
|
||||
+ return Animal.createAnimalAttributes().add(Attributes.MAX_HEALTH, 10.0).add(Attributes.MOVEMENT_SPEED, 0.2F).add(Attributes.ATTACK_DAMAGE, 0.0D); // Purpur - Cows naturally aggressive to players chance
|
||||
protected void defineSynchedData(SynchedEntityData.Builder builder) {
|
||||
super.defineSynchedData(builder);
|
||||
@@ -79,6 +97,12 @@ public class Cow extends AbstractCow {
|
||||
VariantUtils.writeVariant(compound, this.getVariant());
|
||||
}
|
||||
|
||||
+ // Purpur start - Cows naturally aggressive to players chance
|
||||
+ public static net.minecraft.world.entity.ai.attributes.AttributeSupplier.Builder createAttributes() {
|
||||
+ return AbstractCow.createAttributes().add(net.minecraft.world.entity.ai.attributes.Attributes.ATTACK_DAMAGE, 0.0D);
|
||||
+ }
|
||||
+ // Purpur end - Cows naturally aggressive to players chance
|
||||
+
|
||||
@Override
|
||||
public void readAdditionalSaveData(CompoundTag compound) {
|
||||
super.readAdditionalSaveData(compound);
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Mobs always drop experience
|
||||
|
||||
|
||||
diff --git a/net/minecraft/world/entity/GlowSquid.java b/net/minecraft/world/entity/GlowSquid.java
|
||||
index e717c063c8f9623b8c4b4ea3843d05fd79af3653..b982d4b7bdf39fcaf5f22cc889467d7b953e3a8e 100644
|
||||
index fe6f29c5e663daea017b19aaafaddda40b4c22bb..745f73e1f80d9c433630e31769b404eeeb63cb88 100644
|
||||
--- a/net/minecraft/world/entity/GlowSquid.java
|
||||
+++ b/net/minecraft/world/entity/GlowSquid.java
|
||||
@@ -59,6 +59,13 @@ public class GlowSquid extends Squid {
|
||||
@@ -60,6 +60,13 @@ public class GlowSquid extends Squid {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -23,10 +23,10 @@ index e717c063c8f9623b8c4b4ea3843d05fd79af3653..b982d4b7bdf39fcaf5f22cc889467d7b
|
||||
protected ParticleOptions getInkParticle() {
|
||||
return ParticleTypes.GLOW_SQUID_INK;
|
||||
diff --git a/net/minecraft/world/entity/ambient/Bat.java b/net/minecraft/world/entity/ambient/Bat.java
|
||||
index 4fa526496265a85b637136f0fd0692ef4f570ad6..4ac052a78841939a53dac2afb575cb115581e249 100644
|
||||
index 4d44b35ee34eb256b9aff9d74b1cb9ae1ac9503f..46aaba94e7b6bde26ad3b61fcf5e0aa07fed7987 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 {
|
||||
@@ -117,6 +117,13 @@ public class Bat extends AmbientCreature {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -41,7 +41,7 @@ index 4fa526496265a85b637136f0fd0692ef4f570ad6..4ac052a78841939a53dac2afb575cb11
|
||||
public boolean isFlapping() {
|
||||
return !this.isResting() && this.tickCount % 10.0F == 0.0F;
|
||||
diff --git a/net/minecraft/world/entity/animal/Bee.java b/net/minecraft/world/entity/animal/Bee.java
|
||||
index 950988bf89f36e8555605d370bb039fe89c66fc7..d5727999eb67ff30dbf47865d59452483338e170 100644
|
||||
index 8da974e98f2207d76e8962eda54c75d0356ecc6f..531d18c5a47eb4676c3dd9b5353f8f9d49b17b54 100644
|
||||
--- a/net/minecraft/world/entity/animal/Bee.java
|
||||
+++ b/net/minecraft/world/entity/animal/Bee.java
|
||||
@@ -494,6 +494,13 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
@@ -59,10 +59,10 @@ index 950988bf89f36e8555605d370bb039fe89c66fc7..d5727999eb67ff30dbf47865d5945248
|
||||
public int getRemainingPersistentAngerTime() {
|
||||
return this.entityData.get(DATA_REMAINING_ANGER_TIME);
|
||||
diff --git a/net/minecraft/world/entity/animal/Cat.java b/net/minecraft/world/entity/animal/Cat.java
|
||||
index b41ca04043e65f107edaebc49d398650898e35fb..edd796fd34e43d66a48104201d885756fdd968c3 100644
|
||||
index 1d758dd3ee0834fcf9ebf737bc7a016b881145e5..db536a60f3f370d163e4429865634b449f4c0cfb 100644
|
||||
--- a/net/minecraft/world/entity/animal/Cat.java
|
||||
+++ b/net/minecraft/world/entity/animal/Cat.java
|
||||
@@ -140,6 +140,13 @@ public class Cat extends TamableAnimal implements VariantHolder<Holder<CatVarian
|
||||
@@ -138,6 +138,13 @@ public class Cat extends TamableAnimal {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -75,12 +75,12 @@ index b41ca04043e65f107edaebc49d398650898e35fb..edd796fd34e43d66a48104201d885756
|
||||
+
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.temptGoal = new Cat.CatTemptGoal(this, 0.6, itemStack -> itemStack.is(ItemTags.CAT_FOOD), true);
|
||||
this.temptGoal = new Cat.CatTemptGoal(this, 0.6, stack -> stack.is(ItemTags.CAT_FOOD), true);
|
||||
diff --git a/net/minecraft/world/entity/animal/Chicken.java b/net/minecraft/world/entity/animal/Chicken.java
|
||||
index 2364596156c21e82879f5bf4fd873b9d90b1c308..4d0b172a9d54b1524c8052051859c7178774bef7 100644
|
||||
index 3faa8ac614b6d2f8f90c7092900aa24aa976c0ac..75cccc11019c5c6587d441e2c759d351dcb56153 100644
|
||||
--- a/net/minecraft/world/entity/animal/Chicken.java
|
||||
+++ b/net/minecraft/world/entity/animal/Chicken.java
|
||||
@@ -95,6 +95,13 @@ public class Chicken extends Animal {
|
||||
@@ -115,6 +115,13 @@ public class Chicken extends Animal {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -95,7 +95,7 @@ index 2364596156c21e82879f5bf4fd873b9d90b1c308..4d0b172a9d54b1524c8052051859c717
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
diff --git a/net/minecraft/world/entity/animal/Cod.java b/net/minecraft/world/entity/animal/Cod.java
|
||||
index ac7259cfc8428131f90956d7f76f2227049ffae3..b259de78198e0e3df9e5901019283ad246c8e044 100644
|
||||
index 6128ed595cb97cc11c1a0e1e1673b3af8e428fb8..7e08573cba6efcd78fcce37bccc2923f374f3c44 100644
|
||||
--- a/net/minecraft/world/entity/animal/Cod.java
|
||||
+++ b/net/minecraft/world/entity/animal/Cod.java
|
||||
@@ -39,6 +39,13 @@ public class Cod extends AbstractSchoolingFish {
|
||||
@@ -113,10 +113,10 @@ index ac7259cfc8428131f90956d7f76f2227049ffae3..b259de78198e0e3df9e5901019283ad2
|
||||
public ItemStack getBucketItemStack() {
|
||||
return new ItemStack(Items.COD_BUCKET);
|
||||
diff --git a/net/minecraft/world/entity/animal/Cow.java b/net/minecraft/world/entity/animal/Cow.java
|
||||
index b62c4449047da36d8b4d4b87d03c77906d12dc31..a0297ac3ba520122ed2095d6008c057d749b731e 100644
|
||||
index 34700b4e599efa6fb9ea8c1d0da26bd7fe8fb9eb..4a68181d200c26485f290216f9e52b79965215eb 100644
|
||||
--- a/net/minecraft/world/entity/animal/Cow.java
|
||||
+++ b/net/minecraft/world/entity/animal/Cow.java
|
||||
@@ -88,6 +88,13 @@ public class Cow extends Animal {
|
||||
@@ -78,6 +78,13 @@ public class Cow extends AbstractCow {
|
||||
}
|
||||
// Purpur end - Cows naturally aggressive to players chance
|
||||
|
||||
@@ -129,12 +129,12 @@ index b62c4449047da36d8b4d4b87d03c77906d12dc31..a0297ac3ba520122ed2095d6008c057d
|
||||
+
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
super.registerGoals();
|
||||
diff --git a/net/minecraft/world/entity/animal/Dolphin.java b/net/minecraft/world/entity/animal/Dolphin.java
|
||||
index e104058b3c01bea4cc8a77de2ad4378465903b34..7003b532182737a745491e397a967b72e6b308aa 100644
|
||||
index 4f3777ee9cf7a67d5e2f489dbcf40ec2a1ed13cd..87ba416479df56bad5d13c01e96e92e45b7802a3 100644
|
||||
--- a/net/minecraft/world/entity/animal/Dolphin.java
|
||||
+++ b/net/minecraft/world/entity/animal/Dolphin.java
|
||||
@@ -163,6 +163,13 @@ public class Dolphin extends AgeableWaterCreature {
|
||||
@@ -165,6 +165,13 @@ public class Dolphin extends AgeableWaterCreature {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -149,10 +149,10 @@ index e104058b3c01bea4cc8a77de2ad4378465903b34..7003b532182737a745491e397a967b72
|
||||
@Override
|
||||
public SpawnGroupData finalizeSpawn(
|
||||
diff --git a/net/minecraft/world/entity/animal/Fox.java b/net/minecraft/world/entity/animal/Fox.java
|
||||
index 59695ebc6758cbbc444f23ffdf2f7d66cff54430..90452f0945e761077608692877677f522d38bccd 100644
|
||||
index 98cb5c75bb4397914271f81aeace045105a9572e..fcda990a5575288b39f6aa16b0ec48d2a57542e9 100644
|
||||
--- a/net/minecraft/world/entity/animal/Fox.java
|
||||
+++ b/net/minecraft/world/entity/animal/Fox.java
|
||||
@@ -189,6 +189,13 @@ public class Fox extends Animal implements VariantHolder<Fox.Variant> {
|
||||
@@ -201,6 +201,13 @@ public class Fox extends Animal {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -167,10 +167,10 @@ index 59695ebc6758cbbc444f23ffdf2f7d66cff54430..90452f0945e761077608692877677f52
|
||||
protected void defineSynchedData(SynchedEntityData.Builder builder) {
|
||||
super.defineSynchedData(builder);
|
||||
diff --git a/net/minecraft/world/entity/animal/IronGolem.java b/net/minecraft/world/entity/animal/IronGolem.java
|
||||
index 23108729ce65ef8b7b215b82f29347513cfd4ebf..ccadc9a151e258ff2c74c65c374b1f09d56d10ec 100644
|
||||
index 498302a20b783f2208417b56716f4fc4f18bc333..21ed6bfcba6ea58663dc8e932814c1ac084d0402 100644
|
||||
--- a/net/minecraft/world/entity/animal/IronGolem.java
|
||||
+++ b/net/minecraft/world/entity/animal/IronGolem.java
|
||||
@@ -105,6 +105,13 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
@@ -106,6 +106,13 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -185,10 +185,10 @@ index 23108729ce65ef8b7b215b82f29347513cfd4ebf..ccadc9a151e258ff2c74c65c374b1f09
|
||||
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/MushroomCow.java b/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
index 5e9795f447e88a42909730d383eaa36acfaf18f5..3bcd119757dfc579df790fcc8919a3636bafa7fe 100644
|
||||
index 114d893f74dfb4422380cad649b7f3708c29c1c3..07c89507b13d44dfc7903570e0d8c834e91866b7 100644
|
||||
--- a/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
+++ b/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
@@ -93,6 +93,13 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
@@ -99,6 +99,13 @@ public class MushroomCow extends AbstractCow implements Shearable {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -203,10 +203,10 @@ index 5e9795f447e88a42909730d383eaa36acfaf18f5..3bcd119757dfc579df790fcc8919a363
|
||||
public float getWalkTargetValue(BlockPos pos, LevelReader level) {
|
||||
return level.getBlockState(pos.below()).is(Blocks.MYCELIUM) ? 10.0F : level.getPathfindingCostFromLightLevels(pos);
|
||||
diff --git a/net/minecraft/world/entity/animal/Ocelot.java b/net/minecraft/world/entity/animal/Ocelot.java
|
||||
index 91677415ba66c8de448a26ac4e6afe6bbbad4fa8..681f1256d8bbedc7731fd2906a7f439da4333552 100644
|
||||
index 47429374bee47c98216a0eb6dbe65df5fcc0e117..dcfa57bc691e997969bc9fef1983088322e4e4e4 100644
|
||||
--- a/net/minecraft/world/entity/animal/Ocelot.java
|
||||
+++ b/net/minecraft/world/entity/animal/Ocelot.java
|
||||
@@ -101,6 +101,13 @@ public class Ocelot extends Animal {
|
||||
@@ -102,6 +102,13 @@ public class Ocelot extends Animal {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -221,10 +221,10 @@ index 91677415ba66c8de448a26ac4e6afe6bbbad4fa8..681f1256d8bbedc7731fd2906a7f439d
|
||||
return this.entityData.get(DATA_TRUSTING);
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/animal/Panda.java b/net/minecraft/world/entity/animal/Panda.java
|
||||
index d5d2b9656ec22536ccd9ddb0ebe48a19939d7cc6..0a6a3060f3690ab2d8439d66e6fd6f0c5dc20688 100644
|
||||
index 85929b3f4503033d17ec7fd42746c5f071a3fd6f..99d99d59ec0eb13dc40bc88bd70ad884bb9e2859 100644
|
||||
--- a/net/minecraft/world/entity/animal/Panda.java
|
||||
+++ b/net/minecraft/world/entity/animal/Panda.java
|
||||
@@ -154,6 +154,13 @@ public class Panda extends Animal {
|
||||
@@ -155,6 +155,13 @@ public class Panda extends Animal {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -239,10 +239,10 @@ index d5d2b9656ec22536ccd9ddb0ebe48a19939d7cc6..0a6a3060f3690ab2d8439d66e6fd6f0c
|
||||
protected boolean canDispenserEquipIntoSlot(EquipmentSlot slot) {
|
||||
return slot == EquipmentSlot.MAINHAND && this.canPickUpLoot();
|
||||
diff --git a/net/minecraft/world/entity/animal/Parrot.java b/net/minecraft/world/entity/animal/Parrot.java
|
||||
index 7e4caeaaebb7018d4909de185a00044f83e9605a..d2c3bfcdafe7ae1937f8bd8f12f9ac4170445e9a 100644
|
||||
index c1d4bcbc3bad5f2fcaecd4007db7318a07a63324..1b8350a09a9f2a708c8cd1b0669828912f1e4214 100644
|
||||
--- a/net/minecraft/world/entity/animal/Parrot.java
|
||||
+++ b/net/minecraft/world/entity/animal/Parrot.java
|
||||
@@ -208,6 +208,13 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
|
||||
@@ -213,6 +213,13 @@ public class Parrot extends ShoulderRidingEntity implements FlyingAnimal {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -257,10 +257,10 @@ index 7e4caeaaebb7018d4909de185a00044f83e9605a..d2c3bfcdafe7ae1937f8bd8f12f9ac41
|
||||
@Override
|
||||
public SpawnGroupData finalizeSpawn(
|
||||
diff --git a/net/minecraft/world/entity/animal/Pig.java b/net/minecraft/world/entity/animal/Pig.java
|
||||
index 26d88130191eba161099309071d67c8db3eaa815..1a504a3d887f5294c5a2fec3f4bc6654d380996e 100644
|
||||
index 4618ea2c4d815c07cd94b7bd279167836a116aa7..ca1657a468469c51cf8dc75bf295b78ac9ce6518 100644
|
||||
--- a/net/minecraft/world/entity/animal/Pig.java
|
||||
+++ b/net/minecraft/world/entity/animal/Pig.java
|
||||
@@ -95,6 +95,13 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
|
||||
@@ -104,6 +104,13 @@ public class Pig extends Animal implements ItemSteerable {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -275,7 +275,7 @@ index 26d88130191eba161099309071d67c8db3eaa815..1a504a3d887f5294c5a2fec3f4bc6654
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
diff --git a/net/minecraft/world/entity/animal/PolarBear.java b/net/minecraft/world/entity/animal/PolarBear.java
|
||||
index a7d3509e744344c5694706d0cd1cb047bd34bae1..026e64bf743aa79ba6409fa5cd4374b368f98caa 100644
|
||||
index f9d34a8242043ba61dcebb669754d9da0480eb13..ab08e5e589dac3341c006876378903f7cf1db25f 100644
|
||||
--- a/net/minecraft/world/entity/animal/PolarBear.java
|
||||
+++ b/net/minecraft/world/entity/animal/PolarBear.java
|
||||
@@ -138,6 +138,13 @@ public class PolarBear extends Animal implements NeutralMob {
|
||||
@@ -293,10 +293,10 @@ index a7d3509e744344c5694706d0cd1cb047bd34bae1..026e64bf743aa79ba6409fa5cd4374b3
|
||||
@Override
|
||||
public AgeableMob getBreedOffspring(ServerLevel level, AgeableMob otherParent) {
|
||||
diff --git a/net/minecraft/world/entity/animal/Pufferfish.java b/net/minecraft/world/entity/animal/Pufferfish.java
|
||||
index d40460676b6e57564455084d6f0c6eb6b6fd003e..5889a9ceb54a354a79f33c9e4fc338cbf912ddda 100644
|
||||
index 09977f4ce3545f076be26d173f40fc261fe3c515..3b815f3ad9068eb2bdf93eac1c1aff38dffdb850 100644
|
||||
--- a/net/minecraft/world/entity/animal/Pufferfish.java
|
||||
+++ b/net/minecraft/world/entity/animal/Pufferfish.java
|
||||
@@ -71,6 +71,13 @@ public class Pufferfish extends AbstractFish {
|
||||
@@ -72,6 +72,13 @@ public class Pufferfish extends AbstractFish {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -311,10 +311,10 @@ index d40460676b6e57564455084d6f0c6eb6b6fd003e..5889a9ceb54a354a79f33c9e4fc338cb
|
||||
protected void defineSynchedData(SynchedEntityData.Builder builder) {
|
||||
super.defineSynchedData(builder);
|
||||
diff --git a/net/minecraft/world/entity/animal/Rabbit.java b/net/minecraft/world/entity/animal/Rabbit.java
|
||||
index 9c0ff4d4af5db81973c36c278ae32bf76ef5d558..da5b32a17283e540615373097acc511d928aeff5 100644
|
||||
index de2ffef11b50f3bde03785f6cb13c97c437288e5..38e2698c5084f0c14c7fde5de542ed61a7cb7f1d 100644
|
||||
--- a/net/minecraft/world/entity/animal/Rabbit.java
|
||||
+++ b/net/minecraft/world/entity/animal/Rabbit.java
|
||||
@@ -159,6 +159,13 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
@@ -166,6 +166,13 @@ public class Rabbit extends Animal {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -329,10 +329,10 @@ index 9c0ff4d4af5db81973c36c278ae32bf76ef5d558..da5b32a17283e540615373097acc511d
|
||||
public void registerGoals() {
|
||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||
diff --git a/net/minecraft/world/entity/animal/Salmon.java b/net/minecraft/world/entity/animal/Salmon.java
|
||||
index 8bd4b2b29438bff65ed00a42bbc9639111af181f..5da2f14770aebb2286c3e8cbd9622a89a33e0e20 100644
|
||||
index 78f83edd809a72bf5a2f908d8d5e3b1755541a29..25811130990e680174a0e930a6d066ad2d580f60 100644
|
||||
--- a/net/minecraft/world/entity/animal/Salmon.java
|
||||
+++ b/net/minecraft/world/entity/animal/Salmon.java
|
||||
@@ -61,6 +61,13 @@ public class Salmon extends AbstractSchoolingFish implements VariantHolder<Salmo
|
||||
@@ -64,6 +64,13 @@ public class Salmon extends AbstractSchoolingFish {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -346,29 +346,11 @@ index 8bd4b2b29438bff65ed00a42bbc9639111af181f..5da2f14770aebb2286c3e8cbd9622a89
|
||||
@Override
|
||||
public int getMaxSchoolSize() {
|
||||
return 5;
|
||||
diff --git a/net/minecraft/world/entity/animal/Sheep.java b/net/minecraft/world/entity/animal/Sheep.java
|
||||
index 05d955ed33f1c3e0960657c584f4aa1bc96cfe86..c1760dda7b42471982e4ad78b6150b54a654ebf7 100644
|
||||
--- a/net/minecraft/world/entity/animal/Sheep.java
|
||||
+++ b/net/minecraft/world/entity/animal/Sheep.java
|
||||
@@ -120,6 +120,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/SnowGolem.java b/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
index dbf3e4db27477afada86e02063a486f7cec573b5..1b9d4562b73ecdf783ecdaf4f4eff9037a4387e6 100644
|
||||
index 2af4ba00c9f48d3ab9063eda8abb3d15c1bb0929..ed7492af66a2ad678fe7a19f779ab7c4fb3dd8ae 100644
|
||||
--- a/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
+++ b/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
@@ -86,6 +86,13 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
@@ -87,6 +87,13 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -383,7 +365,7 @@ index dbf3e4db27477afada86e02063a486f7cec573b5..1b9d4562b73ecdf783ecdaf4f4eff903
|
||||
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/Squid.java b/net/minecraft/world/entity/animal/Squid.java
|
||||
index e9ba9d84177e9c27b9c7c5e6274dfb031f6643c7..0a103e6f3f6b0ec05c5d22b1258eb6e2f776e7dd 100644
|
||||
index 2108cbddc9a880347ff36fc4ce8b56e8215b9eac..8371f3892e50150db018f0b265986ffab37f21e7 100644
|
||||
--- a/net/minecraft/world/entity/animal/Squid.java
|
||||
+++ b/net/minecraft/world/entity/animal/Squid.java
|
||||
@@ -106,6 +106,13 @@ public class Squid extends AgeableWaterCreature {
|
||||
@@ -401,10 +383,10 @@ index e9ba9d84177e9c27b9c7c5e6274dfb031f6643c7..0a103e6f3f6b0ec05c5d22b1258eb6e2
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new Squid.SquidRandomMovementGoal(this));
|
||||
diff --git a/net/minecraft/world/entity/animal/TropicalFish.java b/net/minecraft/world/entity/animal/TropicalFish.java
|
||||
index 7a7b1df65d49ae77ab7d8a20ed9277947b7e5471..41074e7847583583331ef8d685a9f9b85ddf0243 100644
|
||||
index 70afdcbd9d12f323ababde628e1422d1a1b82210..f3c7e8b244eb7ba3d99cc0d29e388bab8e743351 100644
|
||||
--- a/net/minecraft/world/entity/animal/TropicalFish.java
|
||||
+++ b/net/minecraft/world/entity/animal/TropicalFish.java
|
||||
@@ -93,6 +93,13 @@ public class TropicalFish extends AbstractSchoolingFish implements VariantHolder
|
||||
@@ -102,6 +102,13 @@ public class TropicalFish extends AbstractSchoolingFish {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -419,10 +401,10 @@ index 7a7b1df65d49ae77ab7d8a20ed9277947b7e5471..41074e7847583583331ef8d685a9f9b8
|
||||
return "entity.minecraft.tropical_fish.predefined." + variantId;
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/animal/Turtle.java b/net/minecraft/world/entity/animal/Turtle.java
|
||||
index cf297f766340b4ff8ecaf80a9a13b2899a9870e6..bc6acbc801e5b371859e731b8419736324e81bf0 100644
|
||||
index f99c135a1b99a52c72388cdcc6c46933eb7ba75b..c84f63f064a7769761f75cdedaceacde858b9b4e 100644
|
||||
--- a/net/minecraft/world/entity/animal/Turtle.java
|
||||
+++ b/net/minecraft/world/entity/animal/Turtle.java
|
||||
@@ -123,6 +123,13 @@ public class Turtle extends Animal {
|
||||
@@ -124,6 +124,13 @@ public class Turtle extends Animal {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -434,31 +416,13 @@ index cf297f766340b4ff8ecaf80a9a13b2899a9870e6..bc6acbc801e5b371859e731b84197363
|
||||
+ // Purpur end - Mobs always drop experience
|
||||
+
|
||||
public void setHomePos(BlockPos homePos) {
|
||||
this.entityData.set(HOME_POS, homePos);
|
||||
this.homePos = homePos;
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/animal/Wolf.java b/net/minecraft/world/entity/animal/Wolf.java
|
||||
index 8b5eaabe77dcf8851b874b82a2d7f64180ac613b..ef6c0bf20ad18c050cdeb02ddd6c007dfcf1d6b3 100644
|
||||
--- a/net/minecraft/world/entity/animal/Wolf.java
|
||||
+++ b/net/minecraft/world/entity/animal/Wolf.java
|
||||
@@ -224,6 +224,13 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol
|
||||
}
|
||||
// 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/animal/axolotl/Axolotl.java b/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
index ee426f8a52c9ff5519641ace0f36a38a36ecd24b..eb74d8313fd3cc15a33330fe7bafaca4f0a5a368 100644
|
||||
index da48db578931eb04ba7f2f1fbf26b6fb5bea617a..c5aac98efa518696381b4018b3504ebb323bb6b4 100644
|
||||
--- a/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
+++ b/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
@@ -154,6 +154,13 @@ public class Axolotl extends Animal implements VariantHolder<Axolotl.Variant>, B
|
||||
@@ -159,6 +159,13 @@ public class Axolotl extends Animal implements Bucketable {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -473,10 +437,10 @@ index ee426f8a52c9ff5519641ace0f36a38a36ecd24b..eb74d8313fd3cc15a33330fe7bafaca4
|
||||
public float getWalkTargetValue(BlockPos pos, LevelReader level) {
|
||||
return 0.0F;
|
||||
diff --git a/net/minecraft/world/entity/animal/goat/Goat.java b/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
index 0c357ffacfe4dd982a58e6cf2338c7e6b24610f5..6f106f10466440f8e65e04511f67d48f082d703f 100644
|
||||
index 47de7e4710234676358378fb5fa9a6b034662e42..5eb656a33cb6ca8a93125c27cd7db175d35b80c3 100644
|
||||
--- a/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
+++ b/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
@@ -142,6 +142,13 @@ public class Goat extends Animal {
|
||||
@@ -145,6 +145,13 @@ public class Goat extends Animal {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -491,7 +455,7 @@ index 0c357ffacfe4dd982a58e6cf2338c7e6b24610f5..6f106f10466440f8e65e04511f67d48f
|
||||
protected Brain.Provider<Goat> brainProvider() {
|
||||
return Brain.provider(MEMORY_TYPES, SENSOR_TYPES);
|
||||
diff --git a/net/minecraft/world/entity/animal/horse/Donkey.java b/net/minecraft/world/entity/animal/horse/Donkey.java
|
||||
index 1db6ccdc6c83c704aa84a46ee2751a17125bf457..3e0181578a6f2d22d1da3776abf30bf97d124620 100644
|
||||
index 9b17b1acf63fddb5f5b6cdf95283ae8f619a8120..0783d41a6c4622b03d9d368c1af949af1292dcb7 100644
|
||||
--- a/net/minecraft/world/entity/animal/horse/Donkey.java
|
||||
+++ b/net/minecraft/world/entity/animal/horse/Donkey.java
|
||||
@@ -54,6 +54,13 @@ public class Donkey extends AbstractChestedHorse {
|
||||
@@ -506,13 +470,13 @@ index 1db6ccdc6c83c704aa84a46ee2751a17125bf457..3e0181578a6f2d22d1da3776abf30bf9
|
||||
+ // Purpur end - Mobs always drop experience
|
||||
+
|
||||
@Override
|
||||
protected SoundEvent getAmbientSound() {
|
||||
public SoundEvent getAmbientSound() {
|
||||
return SoundEvents.DONKEY_AMBIENT;
|
||||
diff --git a/net/minecraft/world/entity/animal/horse/Horse.java b/net/minecraft/world/entity/animal/horse/Horse.java
|
||||
index f257d549570918381925cef98734fc0aa605f8f2..be0d636ca894c5995f28f59c196cd8e56dd228c4 100644
|
||||
index 8754c3d6fd06bd2c834fe06e238afa330b24e547..206f911d1184a22f401d217f713495e6e85263be 100644
|
||||
--- a/net/minecraft/world/entity/animal/horse/Horse.java
|
||||
+++ b/net/minecraft/world/entity/animal/horse/Horse.java
|
||||
@@ -81,6 +81,13 @@ public class Horse extends AbstractHorse implements VariantHolder<Variant> {
|
||||
@@ -84,6 +84,13 @@ public class Horse extends AbstractHorse {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -527,10 +491,10 @@ index f257d549570918381925cef98734fc0aa605f8f2..be0d636ca894c5995f28f59c196cd8e5
|
||||
protected void randomizeAttributes(RandomSource random) {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(generateMaxHealth(random::nextInt));
|
||||
diff --git a/net/minecraft/world/entity/animal/horse/Llama.java b/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
index 872a54186a20fd855fe7981f3ff1c867f4c64d19..c21d558a6a3a61d6c54b8163f8cb4963846b2c26 100644
|
||||
index 2e776404e65c5dc6040d00a1ed8b5ce0df7badc0..e300a1284fd98791871ba1780bb7352cd848766a 100644
|
||||
--- a/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
+++ b/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
@@ -155,6 +155,13 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
@@ -160,6 +160,13 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -545,7 +509,7 @@ index 872a54186a20fd855fe7981f3ff1c867f4c64d19..c21d558a6a3a61d6c54b8163f8cb4963
|
||||
return false;
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/animal/horse/Mule.java b/net/minecraft/world/entity/animal/horse/Mule.java
|
||||
index 2f7459791f1766ac8e4842610bf64a3eb2d3b256..3c56961efa743edba8a9a613b992d0afcd9ae415 100644
|
||||
index 14a17d4b33b276f28e45ce06de06793a73a50916..6e0b1c83a6a03d12296e0e3b2c805b64d8378abd 100644
|
||||
--- a/net/minecraft/world/entity/animal/horse/Mule.java
|
||||
+++ b/net/minecraft/world/entity/animal/horse/Mule.java
|
||||
@@ -53,6 +53,13 @@ public class Mule extends AbstractChestedHorse {
|
||||
@@ -560,13 +524,13 @@ index 2f7459791f1766ac8e4842610bf64a3eb2d3b256..3c56961efa743edba8a9a613b992d0af
|
||||
+ // Purpur end - Mobs always drop experience
|
||||
+
|
||||
@Override
|
||||
protected SoundEvent getAmbientSound() {
|
||||
public SoundEvent getAmbientSound() {
|
||||
return SoundEvents.MULE_AMBIENT;
|
||||
diff --git a/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
index 43937544a38e33657b36e76c8fb7ed6bedb7de4c..d5ee5b816efc1b3b17b94227f8ea05ab7a2ccad7 100644
|
||||
index f1a131b9fe4fce78cf34e04eefc886a844a50e72..b02ca00ff18484947aa2f4ff90ab9dda2196a679 100644
|
||||
--- a/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
+++ b/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
@@ -77,6 +77,13 @@ public class SkeletonHorse extends AbstractHorse {
|
||||
@@ -79,6 +79,13 @@ public class SkeletonHorse extends AbstractHorse {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -581,10 +545,10 @@ index 43937544a38e33657b36e76c8fb7ed6bedb7de4c..d5ee5b816efc1b3b17b94227f8ea05ab
|
||||
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0).add(Attributes.MOVEMENT_SPEED, 0.2F);
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/animal/horse/TraderLlama.java b/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
||||
index 8b7eab2e9e77bcf3423602692bd87a933dd2867b..8faeb84f1c48b6a713867a1b95fed6402654fabb 100644
|
||||
index 4cd4bfd57285808f4bda7e7dd2ddeda36dd13af0..6c6cc0261123ba6a78c8f509715c738d629de253 100644
|
||||
--- a/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
||||
+++ b/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
||||
@@ -82,6 +82,13 @@ public class TraderLlama extends Llama {
|
||||
@@ -83,6 +83,13 @@ public class TraderLlama extends Llama {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -599,7 +563,7 @@ index 8b7eab2e9e77bcf3423602692bd87a933dd2867b..8faeb84f1c48b6a713867a1b95fed640
|
||||
public boolean isTraderLlama() {
|
||||
return true;
|
||||
diff --git a/net/minecraft/world/entity/animal/horse/ZombieHorse.java b/net/minecraft/world/entity/animal/horse/ZombieHorse.java
|
||||
index a2642457d3c24a13a8becb4d743c42e64b5a4923..4a9c0242b5c01d1adda281058658134e7982e8c7 100644
|
||||
index e78fac0a5e37d53afbc200f015adab60b3bfc9da..e59172ea2fafbab673dc3e9bdc25055f3d8f85ee 100644
|
||||
--- a/net/minecraft/world/entity/animal/horse/ZombieHorse.java
|
||||
+++ b/net/minecraft/world/entity/animal/horse/ZombieHorse.java
|
||||
@@ -76,6 +76,13 @@ public class ZombieHorse extends AbstractHorse {
|
||||
@@ -616,11 +580,47 @@ index a2642457d3c24a13a8becb4d743c42e64b5a4923..4a9c0242b5c01d1adda281058658134e
|
||||
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/sheep/Sheep.java b/net/minecraft/world/entity/animal/sheep/Sheep.java
|
||||
index 1ecfda9a5222d7c175108edbbff552ea036e0321..c53ab665a0c87d342adbe395c87e15a3f5f49708 100644
|
||||
--- a/net/minecraft/world/entity/animal/sheep/Sheep.java
|
||||
+++ b/net/minecraft/world/entity/animal/sheep/Sheep.java
|
||||
@@ -123,6 +123,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/wolf/Wolf.java b/net/minecraft/world/entity/animal/wolf/Wolf.java
|
||||
index 50fe10588a5cd7b263993db9a52309f332d47a3b..31a08b898cc5ea7d38ddbc045dd911ff18d8c56f 100644
|
||||
--- a/net/minecraft/world/entity/animal/wolf/Wolf.java
|
||||
+++ b/net/minecraft/world/entity/animal/wolf/Wolf.java
|
||||
@@ -231,6 +231,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 7a3688e6cad1bbb0a47d8f3d0218bd777a0ab033..2d9f64cddbec782de1775ec6da67b16203e3fd90 100644
|
||||
index 5862384e096d0a97a9a92a921f704e441243e38a..bbcb03548052b28bd622d7d8ce161ccaed1ed386 100644
|
||||
--- a/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
+++ b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
@@ -226,6 +226,13 @@ public class WitherBoss extends Monster implements RangedAttackMob {
|
||||
@@ -227,6 +227,13 @@ public class WitherBoss extends Monster implements RangedAttackMob {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -635,7 +635,7 @@ index 7a3688e6cad1bbb0a47d8f3d0218bd777a0ab033..2d9f64cddbec782de1775ec6da67b162
|
||||
protected PathNavigation createNavigation(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 1ea964b3a3b9403ad3a500bf1c4b8d69a529d16a..79f5f0dbf95ed72dd031495c75675d7b6c7dfc34 100644
|
||||
index 2bd645e163ca7b118beec5194e5c0b00e6dff563..fa21b7dba208d5ba6ecf1d2b68965bb50642b53a 100644
|
||||
--- a/net/minecraft/world/entity/monster/Blaze.java
|
||||
+++ b/net/minecraft/world/entity/monster/Blaze.java
|
||||
@@ -83,6 +83,13 @@ public class Blaze extends Monster {
|
||||
@@ -671,10 +671,10 @@ index 420fe0d01d0b173a6a541f77e1aaca3f3bb565e7..7eca4b751d900c6d6ee34993c3e23681
|
||||
public boolean doHurtTarget(ServerLevel level, Entity source) {
|
||||
if (super.doHurtTarget(level, source)) {
|
||||
diff --git a/net/minecraft/world/entity/monster/Creeper.java b/net/minecraft/world/entity/monster/Creeper.java
|
||||
index 6d9995d5f38b2f94a2d3362da7861b3e90e4fb6f..a85b64799faa860367cded67a264b436cd46f049 100644
|
||||
index 67f99138834011d12f429cf7ff6fdb7c6bd06262..567e1bc0bb2e96f831206e70612dfe8bcb825b74 100644
|
||||
--- a/net/minecraft/world/entity/monster/Creeper.java
|
||||
+++ b/net/minecraft/world/entity/monster/Creeper.java
|
||||
@@ -274,6 +274,13 @@ public class Creeper extends Monster {
|
||||
@@ -271,6 +271,13 @@ public class Creeper extends Monster {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -686,10 +686,10 @@ index 6d9995d5f38b2f94a2d3362da7861b3e90e4fb6f..a85b64799faa860367cded67a264b436
|
||||
+ // Purpur end - Mobs always drop experience
|
||||
+
|
||||
@Override
|
||||
protected SoundEvent getHurtSound(DamageSource damageSource) {
|
||||
public SoundEvent getHurtSound(DamageSource damageSource) {
|
||||
return SoundEvents.CREEPER_HURT;
|
||||
diff --git a/net/minecraft/world/entity/monster/Drowned.java b/net/minecraft/world/entity/monster/Drowned.java
|
||||
index 0a1a78e65b6472b713835262b5937bc7ea67b95c..6c73245b8d04f194e72165aa0000ca79a95db59d 100644
|
||||
index 3dae0020a506527e1e556945da5334de54bdabee..b85d1e196d2bf61ac4896205afb08eba89c4397e 100644
|
||||
--- a/net/minecraft/world/entity/monster/Drowned.java
|
||||
+++ b/net/minecraft/world/entity/monster/Drowned.java
|
||||
@@ -129,6 +129,13 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
||||
@@ -707,7 +707,7 @@ index 0a1a78e65b6472b713835262b5937bc7ea67b95c..6c73245b8d04f194e72165aa0000ca79
|
||||
protected void addBehaviourGoals() {
|
||||
this.goalSelector.addGoal(1, new Drowned.DrownedGoToWaterGoal(this, 1.0));
|
||||
diff --git a/net/minecraft/world/entity/monster/ElderGuardian.java b/net/minecraft/world/entity/monster/ElderGuardian.java
|
||||
index 2b1d33f4938b978c5b04ede7562bdecb5fbd2245..358021a6eb936ac43e29c7c2c92c71e9cae6ab93 100644
|
||||
index 27dd75a64af375ce498224bfd7ed4799ed586d9c..a708692a71014aabc1fc842837e1c0a82fd3a343 100644
|
||||
--- a/net/minecraft/world/entity/monster/ElderGuardian.java
|
||||
+++ b/net/minecraft/world/entity/monster/ElderGuardian.java
|
||||
@@ -58,6 +58,13 @@ public class ElderGuardian extends Guardian {
|
||||
@@ -725,10 +725,10 @@ index 2b1d33f4938b978c5b04ede7562bdecb5fbd2245..358021a6eb936ac43e29c7c2c92c71e9
|
||||
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 6fccfb243c26c27b665df57e5e19eb3350c52ddf..78b1619afa2062638fbfe21b9978f634be1aaf62 100644
|
||||
index 10b505712791d10e9b36cc6cfffeb590c74284e5..46e4440a4e0d6a6ff4fdd56687fe40324641ef49 100644
|
||||
--- a/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -115,6 +115,13 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -116,6 +116,13 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
}
|
||||
// Purpur end - Configurable entity base attributes
|
||||
|
||||
@@ -743,10 +743,10 @@ index 6fccfb243c26c27b665df57e5e19eb3350c52ddf..78b1619afa2062638fbfe21b9978f634
|
||||
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 38e3b3ed2c003fe7bbb476f7bf9a882ea2de792a..441f7d3cfa1e9896a065dae51d871901ac4330e3 100644
|
||||
index c4bfd0fb0fbee4fa72e4cf17931c95831daaf73f..7d3932dcb263500357e9aad28881229418a0d458 100644
|
||||
--- a/net/minecraft/world/entity/monster/Endermite.java
|
||||
+++ b/net/minecraft/world/entity/monster/Endermite.java
|
||||
@@ -77,6 +77,13 @@ public class Endermite extends Monster {
|
||||
@@ -78,6 +78,13 @@ public class Endermite extends Monster {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -761,7 +761,7 @@ index 38e3b3ed2c003fe7bbb476f7bf9a882ea2de792a..441f7d3cfa1e9896a065dae51d871901
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||
diff --git a/net/minecraft/world/entity/monster/Evoker.java b/net/minecraft/world/entity/monster/Evoker.java
|
||||
index 61ed6606948cc5f8af543eb9ae05f9aeb4e73b89..5c32406d00ec20516649d7a219a5b3c27c8945aa 100644
|
||||
index e1debcc5d859961a9d9893fa5ffbe67deea35f6d..f32fa187ba6b16f1e8b1f308dc9073f808d52d86 100644
|
||||
--- a/net/minecraft/world/entity/monster/Evoker.java
|
||||
+++ b/net/minecraft/world/entity/monster/Evoker.java
|
||||
@@ -82,6 +82,13 @@ public class Evoker extends SpellcasterIllager {
|
||||
@@ -779,10 +779,10 @@ index 61ed6606948cc5f8af543eb9ae05f9aeb4e73b89..5c32406d00ec20516649d7a219a5b3c2
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/net/minecraft/world/entity/monster/Ghast.java b/net/minecraft/world/entity/monster/Ghast.java
|
||||
index 68debfa8c6d0fc3ff536d2b4d89c131fd6aca935..a9d92e857c5d05da6f2a5b6264590efe235061a7 100644
|
||||
index 4864009a9e531d37f9c3747a042d8ea1ed6ccbf7..c2e6e2f4a2c1e72521f0afd1664d9ba02ef08d7d 100644
|
||||
--- a/net/minecraft/world/entity/monster/Ghast.java
|
||||
+++ b/net/minecraft/world/entity/monster/Ghast.java
|
||||
@@ -91,6 +91,13 @@ public class Ghast extends FlyingMob implements Enemy {
|
||||
@@ -92,6 +92,13 @@ public class Ghast extends FlyingMob implements Enemy {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -815,7 +815,7 @@ index 009b8a8b1b9aabc0aef1c12a0c0f65f9ccfcd306..3f575abee4c8933d1642400d134b0fc9
|
||||
return Monster.createMonsterAttributes().add(Attributes.MAX_HEALTH, 100.0).add(Attributes.MOVEMENT_SPEED, 0.5).add(Attributes.ATTACK_DAMAGE, 50.0);
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/monster/Guardian.java b/net/minecraft/world/entity/monster/Guardian.java
|
||||
index 819679a224ffe33e03d8e6b429c8e31b67c769fa..60278b2491f644b70ef96b2e14e1f07bb341a0f1 100644
|
||||
index 9868117ecf0a3b36f81086297c639f6f274e0055..3ba8da3bd04774fb3131fdbd2aa0bd6c9f31c817 100644
|
||||
--- a/net/minecraft/world/entity/monster/Guardian.java
|
||||
+++ b/net/minecraft/world/entity/monster/Guardian.java
|
||||
@@ -105,6 +105,13 @@ public class Guardian extends Monster {
|
||||
@@ -833,7 +833,7 @@ index 819679a224ffe33e03d8e6b429c8e31b67c769fa..60278b2491f644b70ef96b2e14e1f07b
|
||||
protected void registerGoals() {
|
||||
MoveTowardsRestrictionGoal moveTowardsRestrictionGoal = new MoveTowardsRestrictionGoal(this, 1.0);
|
||||
diff --git a/net/minecraft/world/entity/monster/Husk.java b/net/minecraft/world/entity/monster/Husk.java
|
||||
index e618e716cb5ff3a3c5d284e985455694cc0edde0..a5bfc6f5caba1da8cfcb345524e05e8676672cb0 100644
|
||||
index 3f331215ef49c52fa3a53bcf744159d2221111f5..a4ce65911a5d778f60bcedb3acd9fe59a5094c96 100644
|
||||
--- a/net/minecraft/world/entity/monster/Husk.java
|
||||
+++ b/net/minecraft/world/entity/monster/Husk.java
|
||||
@@ -75,6 +75,13 @@ public class Husk extends Zombie {
|
||||
@@ -851,7 +851,7 @@ index e618e716cb5ff3a3c5d284e985455694cc0edde0..a5bfc6f5caba1da8cfcb345524e05e86
|
||||
EntityType<Husk> entityType, ServerLevelAccessor level, EntitySpawnReason spawnReason, BlockPos pos, RandomSource random
|
||||
) {
|
||||
diff --git a/net/minecraft/world/entity/monster/Illusioner.java b/net/minecraft/world/entity/monster/Illusioner.java
|
||||
index ad661f2bf8957644605b52a469d6a7cf8e064398..9686658b90e886d6236f553d7406771814d18672 100644
|
||||
index 553a8f0f5b895f3d8528f10efdc918466e4f4d87..b8ada9ebd0d8d4ca0e8eb7e6084a0057f4758ea4 100644
|
||||
--- a/net/minecraft/world/entity/monster/Illusioner.java
|
||||
+++ b/net/minecraft/world/entity/monster/Illusioner.java
|
||||
@@ -91,6 +91,13 @@ public class Illusioner extends SpellcasterIllager implements RangedAttackMob {
|
||||
@@ -869,7 +869,7 @@ index ad661f2bf8957644605b52a469d6a7cf8e064398..9686658b90e886d6236f553d74067718
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/net/minecraft/world/entity/monster/MagmaCube.java b/net/minecraft/world/entity/monster/MagmaCube.java
|
||||
index bf26f5f6017c60d5991d5f6c87da2acbd95ef5bb..312d4a3d312b5c326d6ca13ccfc48171e18f4370 100644
|
||||
index da90b7dc79aa6d01e88c1250fff662ba1b001dc3..7ef0f84d4c449a8991683ca66d7b16ca21ef4cdf 100644
|
||||
--- a/net/minecraft/world/entity/monster/MagmaCube.java
|
||||
+++ b/net/minecraft/world/entity/monster/MagmaCube.java
|
||||
@@ -75,6 +75,13 @@ public class MagmaCube extends Slime {
|
||||
@@ -887,10 +887,10 @@ index bf26f5f6017c60d5991d5f6c87da2acbd95ef5bb..312d4a3d312b5c326d6ca13ccfc48171
|
||||
return Monster.createMonsterAttributes().add(Attributes.MOVEMENT_SPEED, 0.2F);
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/monster/Phantom.java b/net/minecraft/world/entity/monster/Phantom.java
|
||||
index 41ae39349c6f7e6c5d0187257a72782c5dc4c8eb..3c105d164acd9e45de2335ef28ddecf3fa48d267 100644
|
||||
index c2bc638b0029ac46cf388187ca74545060a54914..2e1e7cf0fe1bc25437cf2f429ff33b4263b1a6f1 100644
|
||||
--- a/net/minecraft/world/entity/monster/Phantom.java
|
||||
+++ b/net/minecraft/world/entity/monster/Phantom.java
|
||||
@@ -157,6 +157,13 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -158,6 +158,13 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
public void setShouldBurnInDay(boolean shouldBurnInDay) { this.shouldBurnInDay = shouldBurnInDay; }
|
||||
// Purpur end - API for any mob to burn daylight
|
||||
|
||||
@@ -905,7 +905,7 @@ index 41ae39349c6f7e6c5d0187257a72782c5dc4c8eb..3c105d164acd9e45de2335ef28ddecf3
|
||||
public boolean isFlapping() {
|
||||
return (this.getUniqueFlapTickOffset() + this.tickCount) % TICKS_PER_FLAP == 0;
|
||||
diff --git a/net/minecraft/world/entity/monster/Pillager.java b/net/minecraft/world/entity/monster/Pillager.java
|
||||
index 869a1007de13f3f5d757968d0f84cbf43786c870..a57d869cdc6a05124237933437aa2d26ff72cab3 100644
|
||||
index 4c41e7e0a164779bf1d6765fdb750dcd60acd104..3d12b509a9b57f0326ec48eed93b2962f6f0e493 100644
|
||||
--- a/net/minecraft/world/entity/monster/Pillager.java
|
||||
+++ b/net/minecraft/world/entity/monster/Pillager.java
|
||||
@@ -95,6 +95,13 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
|
||||
@@ -923,10 +923,10 @@ index 869a1007de13f3f5d757968d0f84cbf43786c870..a57d869cdc6a05124237933437aa2d26
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/net/minecraft/world/entity/monster/Ravager.java b/net/minecraft/world/entity/monster/Ravager.java
|
||||
index 3d9eae0403875a99c25ccb47888dc591f051e744..ce5cd032203839887a29008c2a1420c6bb6f4fee 100644
|
||||
index 0b6550c3abad0eb00af4f303725045a8aa3dc4b1..56b844a8252c7f7ece12db98775230134e1898d6 100644
|
||||
--- a/net/minecraft/world/entity/monster/Ravager.java
|
||||
+++ b/net/minecraft/world/entity/monster/Ravager.java
|
||||
@@ -104,6 +104,13 @@ public class Ravager extends Raider {
|
||||
@@ -107,6 +107,13 @@ public class Ravager extends Raider {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -941,10 +941,10 @@ index 3d9eae0403875a99c25ccb47888dc591f051e744..ce5cd032203839887a29008c2a1420c6
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/net/minecraft/world/entity/monster/Shulker.java b/net/minecraft/world/entity/monster/Shulker.java
|
||||
index c26e4858a14571d58e439cabd5f2593da4ee2634..a006300aea2cbb05400550f1c79e872d095384f8 100644
|
||||
index c9dab7d6b1afe8749022d99aa988782c75270561..56401c993d9a4c41b0782831a8b857646bf18f88 100644
|
||||
--- a/net/minecraft/world/entity/monster/Shulker.java
|
||||
+++ b/net/minecraft/world/entity/monster/Shulker.java
|
||||
@@ -136,6 +136,13 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
@@ -141,6 +141,13 @@ public class Shulker extends AbstractGolem implements Enemy {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -959,7 +959,7 @@ index c26e4858a14571d58e439cabd5f2593da4ee2634..a006300aea2cbb05400550f1c79e872d
|
||||
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 52f18edfe4525b2626f86a5b5847c74feb96e519..465b0578435ff3fb028f860e84ba934fa71f61f2 100644
|
||||
index af33bd8c472f7e7bfdab52558bac379166ff2253..a6d6cb3e122488328ff980ed5902caff5490671b 100644
|
||||
--- a/net/minecraft/world/entity/monster/Silverfish.java
|
||||
+++ b/net/minecraft/world/entity/monster/Silverfish.java
|
||||
@@ -73,6 +73,13 @@ public class Silverfish extends Monster {
|
||||
@@ -977,10 +977,10 @@ index 52f18edfe4525b2626f86a5b5847c74feb96e519..465b0578435ff3fb028f860e84ba934f
|
||||
protected void registerGoals() {
|
||||
this.friendsGoal = new Silverfish.SilverfishWakeUpFriendsGoal(this);
|
||||
diff --git a/net/minecraft/world/entity/monster/Skeleton.java b/net/minecraft/world/entity/monster/Skeleton.java
|
||||
index 29ef7a09c42590df7a8cd7f0874a8eb995b77cc8..7018471a465724e4a1d67fe18bb602176cddd522 100644
|
||||
index 4b0a27dc94313b021e56bef61671f95a31074dc7..724432786e280d41479b06d30d4be4fa91dabb49 100644
|
||||
--- a/net/minecraft/world/entity/monster/Skeleton.java
|
||||
+++ b/net/minecraft/world/entity/monster/Skeleton.java
|
||||
@@ -56,6 +56,13 @@ public class Skeleton extends AbstractSkeleton {
|
||||
@@ -57,6 +57,13 @@ public class Skeleton extends AbstractSkeleton {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -995,10 +995,10 @@ index 29ef7a09c42590df7a8cd7f0874a8eb995b77cc8..7018471a465724e4a1d67fe18bb60217
|
||||
protected void defineSynchedData(SynchedEntityData.Builder builder) {
|
||||
super.defineSynchedData(builder);
|
||||
diff --git a/net/minecraft/world/entity/monster/Slime.java b/net/minecraft/world/entity/monster/Slime.java
|
||||
index ed0a242bf99cf03340c882fc56f8c09e77dffd37..240a54b210e23d5b79e6bcaf3806aa454668135d 100644
|
||||
index f44e9f04e083d48e4a90d8d8e8b5cc199bf9f351..7b6db084a483b4a9c2f292c5ed6e4c7550344c50 100644
|
||||
--- a/net/minecraft/world/entity/monster/Slime.java
|
||||
+++ b/net/minecraft/world/entity/monster/Slime.java
|
||||
@@ -139,6 +139,13 @@ public class Slime extends Mob implements Enemy {
|
||||
@@ -140,6 +140,13 @@ public class Slime extends Mob implements Enemy {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -1013,7 +1013,7 @@ index ed0a242bf99cf03340c882fc56f8c09e77dffd37..240a54b210e23d5b79e6bcaf3806aa45
|
||||
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/Spider.java b/net/minecraft/world/entity/monster/Spider.java
|
||||
index 825245ca739d18fdb3d53e608159a2d065d02100..ece8d81e29709a1c0cb5c7b55b1193b630ecb113 100644
|
||||
index e7bd63256979e41670772c3c5293c9a637593541..7c50ed0b7bd0d7138b80613ea08519ae457f49a3 100644
|
||||
--- a/net/minecraft/world/entity/monster/Spider.java
|
||||
+++ b/net/minecraft/world/entity/monster/Spider.java
|
||||
@@ -82,6 +82,13 @@ public class Spider extends Monster {
|
||||
@@ -1031,7 +1031,7 @@ index 825245ca739d18fdb3d53e608159a2d065d02100..ece8d81e29709a1c0cb5c7b55b1193b6
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||
diff --git a/net/minecraft/world/entity/monster/Stray.java b/net/minecraft/world/entity/monster/Stray.java
|
||||
index 17c168310de052ecd0894f7ceb92bab3856eefed..fdaa01c8bbaf9e613462e41f508fdc96b3467e03 100644
|
||||
index e4ae604d4d0756edc9418634d9958338997c8203..e69a5c552d2f57bc373cb2b89690a7dd9c2faefc 100644
|
||||
--- a/net/minecraft/world/entity/monster/Stray.java
|
||||
+++ b/net/minecraft/world/entity/monster/Stray.java
|
||||
@@ -53,6 +53,13 @@ public class Stray extends AbstractSkeleton {
|
||||
@@ -1049,10 +1049,10 @@ index 17c168310de052ecd0894f7ceb92bab3856eefed..fdaa01c8bbaf9e613462e41f508fdc96
|
||||
EntityType<Stray> entityType, ServerLevelAccessor level, EntitySpawnReason spawnReason, BlockPos pos, RandomSource random
|
||||
) {
|
||||
diff --git a/net/minecraft/world/entity/monster/Strider.java b/net/minecraft/world/entity/monster/Strider.java
|
||||
index d01bc46d77340b10b23d0c0d50bddc37657028c8..241526239bdbd5d9276f85e7fca46a7051f46a25 100644
|
||||
index 7b19d64d6b1d61922a2368e38f2b31a42ea29a1a..69b3cd61d49e41ab5fdb861043b012b1f60f8995 100644
|
||||
--- a/net/minecraft/world/entity/monster/Strider.java
|
||||
+++ b/net/minecraft/world/entity/monster/Strider.java
|
||||
@@ -126,6 +126,13 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
|
||||
@@ -124,6 +124,13 @@ public class Strider extends Animal implements ItemSteerable {
|
||||
}
|
||||
// Purpur end - Make entity breeding times configurable
|
||||
|
||||
@@ -1067,7 +1067,7 @@ index d01bc46d77340b10b23d0c0d50bddc37657028c8..241526239bdbd5d9276f85e7fca46a70
|
||||
EntityType<Strider> entityType, LevelAccessor level, EntitySpawnReason spawnReason, BlockPos pos, RandomSource random
|
||||
) {
|
||||
diff --git a/net/minecraft/world/entity/monster/Vex.java b/net/minecraft/world/entity/monster/Vex.java
|
||||
index 20f78e3a37f4c7257b32f2279a6404415aa00e2c..0d9dd9919b2b9902137df861bcac8057e4b741de 100644
|
||||
index bc8727a4ae3f1f30f4de5ab81a79c15a8153e34a..96069c066f6f8fd822e05b264741205ce1077b03 100644
|
||||
--- a/net/minecraft/world/entity/monster/Vex.java
|
||||
+++ b/net/minecraft/world/entity/monster/Vex.java
|
||||
@@ -117,6 +117,13 @@ public class Vex extends Monster implements TraceableEntity {
|
||||
@@ -1085,10 +1085,10 @@ index 20f78e3a37f4c7257b32f2279a6404415aa00e2c..0d9dd9919b2b9902137df861bcac8057
|
||||
public boolean isFlapping() {
|
||||
return this.tickCount % TICKS_PER_FLAP == 0;
|
||||
diff --git a/net/minecraft/world/entity/monster/Vindicator.java b/net/minecraft/world/entity/monster/Vindicator.java
|
||||
index 5f68d73460adfac2ead57d168156a2784af979ae..b584f71440a81ac09d24e59763a21e857f290e5a 100644
|
||||
index 50da0e9246f50be6073e26c8fa042fe2b4eabb32..8ba772d9f5f53dc0dea269c5089e742f20dbc308 100644
|
||||
--- a/net/minecraft/world/entity/monster/Vindicator.java
|
||||
+++ b/net/minecraft/world/entity/monster/Vindicator.java
|
||||
@@ -87,6 +87,13 @@ public class Vindicator extends AbstractIllager {
|
||||
@@ -88,6 +88,13 @@ public class Vindicator extends AbstractIllager {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -1103,7 +1103,7 @@ index 5f68d73460adfac2ead57d168156a2784af979ae..b584f71440a81ac09d24e59763a21e85
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/net/minecraft/world/entity/monster/Witch.java b/net/minecraft/world/entity/monster/Witch.java
|
||||
index 96ba35f3530ab405a960c79955699666deb6b845..e4353c64732067198f082cdd266c1f1ee1fe4f4e 100644
|
||||
index e90ac2c977555793ee8c25f04ec3c33b0332d312..4b253ae8149f5d9505c5140a00a96d8c8850b1c4 100644
|
||||
--- a/net/minecraft/world/entity/monster/Witch.java
|
||||
+++ b/net/minecraft/world/entity/monster/Witch.java
|
||||
@@ -88,6 +88,13 @@ public class Witch extends Raider implements RangedAttackMob {
|
||||
@@ -1121,7 +1121,7 @@ index 96ba35f3530ab405a960c79955699666deb6b845..e4353c64732067198f082cdd266c1f1e
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/net/minecraft/world/entity/monster/WitherSkeleton.java b/net/minecraft/world/entity/monster/WitherSkeleton.java
|
||||
index a4dc9b7fbde19b08eb389dc42df21aa5df94e703..ff2596f69d00b36c65872ab2e27e5d44a6ffa3e1 100644
|
||||
index ef2a7fdc8abe05b7718b71e23556258aba392c75..b3f5b2e3e2cfc378de948c0e186727d5687c0e98 100644
|
||||
--- a/net/minecraft/world/entity/monster/WitherSkeleton.java
|
||||
+++ b/net/minecraft/world/entity/monster/WitherSkeleton.java
|
||||
@@ -66,6 +66,13 @@ public class WitherSkeleton extends AbstractSkeleton {
|
||||
@@ -1139,10 +1139,10 @@ index a4dc9b7fbde19b08eb389dc42df21aa5df94e703..ff2596f69d00b36c65872ab2e27e5d44
|
||||
protected void registerGoals() {
|
||||
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, AbstractPiglin.class, true));
|
||||
diff --git a/net/minecraft/world/entity/monster/Zoglin.java b/net/minecraft/world/entity/monster/Zoglin.java
|
||||
index 79a4a3f4e10e1f9c1a6100060a95636075fc8236..d2a67f3e1c971f737e58567dae23fa70e9d942ea 100644
|
||||
index 7cb2bc8b126a0027216ec4afd7f6e54fe328b8be..bdf52bfe661d4c0ad6c5a28254302f8f0021c09b 100644
|
||||
--- a/net/minecraft/world/entity/monster/Zoglin.java
|
||||
+++ b/net/minecraft/world/entity/monster/Zoglin.java
|
||||
@@ -117,6 +117,13 @@ public class Zoglin extends Monster implements HoglinBase {
|
||||
@@ -118,6 +118,13 @@ public class Zoglin extends Monster implements HoglinBase {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -1157,10 +1157,10 @@ index 79a4a3f4e10e1f9c1a6100060a95636075fc8236..d2a67f3e1c971f737e58567dae23fa70
|
||||
protected Brain.Provider<Zoglin> brainProvider() {
|
||||
return Brain.provider(MEMORY_TYPES, SENSOR_TYPES);
|
||||
diff --git a/net/minecraft/world/entity/monster/Zombie.java b/net/minecraft/world/entity/monster/Zombie.java
|
||||
index b1da45df27f02395d793e7eafe576f5f92aa3a7b..7af71c777dca26cd94b1807a2a77ea0d30e92976 100644
|
||||
index aed6db357f5b4550407a424a5b83c590044568ee..783f8b9a05939b9f42fc77065f6347e3c6ddf8f5 100644
|
||||
--- a/net/minecraft/world/entity/monster/Zombie.java
|
||||
+++ b/net/minecraft/world/entity/monster/Zombie.java
|
||||
@@ -147,6 +147,13 @@ public class Zombie extends Monster {
|
||||
@@ -151,6 +151,13 @@ public class Zombie extends Monster {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -1175,10 +1175,10 @@ index b1da45df27f02395d793e7eafe576f5f92aa3a7b..7af71c777dca26cd94b1807a2a77ea0d
|
||||
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/ZombieVillager.java b/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||
index 94b9abc765b78a40a7ecbf4cbd775b778d49c815..1ca0514732916d325c4a76d73120aaf613c3f780 100644
|
||||
index c6e460c21af6145321cad527112adc15e9f30d8d..ae5939c940bdd93977fa882360fc31e46479554f 100644
|
||||
--- a/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||
+++ b/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||
@@ -131,6 +131,13 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
||||
@@ -130,6 +130,13 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -1193,7 +1193,7 @@ index 94b9abc765b78a40a7ecbf4cbd775b778d49c815..1ca0514732916d325c4a76d73120aaf6
|
||||
protected void defineSynchedData(SynchedEntityData.Builder builder) {
|
||||
super.defineSynchedData(builder);
|
||||
diff --git a/net/minecraft/world/entity/monster/ZombifiedPiglin.java b/net/minecraft/world/entity/monster/ZombifiedPiglin.java
|
||||
index 09c991d8e344f11bc84dea453042ee35c39e580e..fddbbffafea275dad187b7908386cf4c05c86743 100644
|
||||
index 34e259b95abfc514e07584a699ecc80de0014250..39489c8a347031fb4f73faca46039786e35762ac 100644
|
||||
--- a/net/minecraft/world/entity/monster/ZombifiedPiglin.java
|
||||
+++ b/net/minecraft/world/entity/monster/ZombifiedPiglin.java
|
||||
@@ -112,6 +112,13 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
|
||||
@@ -1211,10 +1211,10 @@ index 09c991d8e344f11bc84dea453042ee35c39e580e..fddbbffafea275dad187b7908386cf4c
|
||||
public void setPersistentAngerTarget(@Nullable UUID target) {
|
||||
this.persistentAngerTarget = target;
|
||||
diff --git a/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
index 9b82be9ec52fd4bc3b85e8289e7e8f9b79b74b9a..28f3bc31b4c093e426ae141edeee61a12a444ba1 100644
|
||||
index ee2cd8bfb74dead58f77f9755f306aa7166285fd..252a6469cab202bcc612b4d52a5027c615029a21 100644
|
||||
--- a/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
+++ b/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
@@ -131,6 +131,13 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
||||
@@ -134,6 +134,13 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -1229,10 +1229,10 @@ index 9b82be9ec52fd4bc3b85e8289e7e8f9b79b74b9a..28f3bc31b4c093e426ae141edeee61a1
|
||||
public void setTimeInOverworld(int timeInOverworld) {
|
||||
this.timeInOverworld = timeInOverworld;
|
||||
diff --git a/net/minecraft/world/entity/monster/piglin/Piglin.java b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
index 55ebfa5df06a59203248514d10dced9660ebf215..f0d78cf5fe2c39add9a673471103c352cce72a45 100644
|
||||
index 0059e926f09317e056f3f722c4ca775c43bc0b86..54ab9593b39051d47f1dd8bddf210064768382be 100644
|
||||
--- a/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
+++ b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
@@ -183,6 +183,13 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||
@@ -168,6 +168,13 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -1247,7 +1247,7 @@ index 55ebfa5df06a59203248514d10dced9660ebf215..f0d78cf5fe2c39add9a673471103c352
|
||||
public void addAdditionalSaveData(CompoundTag compound) {
|
||||
super.addAdditionalSaveData(compound);
|
||||
diff --git a/net/minecraft/world/entity/monster/piglin/PiglinBrute.java b/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
|
||||
index 2237681f298113bda0556699e19e880f4b04a853..4984b9864b63f92bc939b530253e871ca94a3277 100644
|
||||
index f4893cc54d7f144025da0057beedb3a974c80dc1..70ee15527fa6f30783d6a58bb767b18124f25c53 100644
|
||||
--- a/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
|
||||
+++ b/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
|
||||
@@ -97,6 +97,13 @@ public class PiglinBrute extends AbstractPiglin {
|
||||
@@ -1265,10 +1265,10 @@ index 2237681f298113bda0556699e19e880f4b04a853..4984b9864b63f92bc939b530253e871c
|
||||
return Monster.createMonsterAttributes()
|
||||
.add(Attributes.MAX_HEALTH, 50.0)
|
||||
diff --git a/net/minecraft/world/entity/npc/Villager.java b/net/minecraft/world/entity/npc/Villager.java
|
||||
index 97e5bb0cc335b23211e78044919282bfabad26a5..16fbe4e6521cd4f6baa8f5dd590da0fc749f6585 100644
|
||||
index 654935f2994c588c8545c21d6de839711c55cdfc..5b52bbac242a7fbb8eaea7e41b7265a1a859ff7c 100644
|
||||
--- a/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -285,6 +285,13 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -288,6 +288,13 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
@@ -1283,10 +1283,10 @@ index 97e5bb0cc335b23211e78044919282bfabad26a5..16fbe4e6521cd4f6baa8f5dd590da0fc
|
||||
public Brain<Villager> getBrain() {
|
||||
return (Brain<Villager>)super.getBrain();
|
||||
diff --git a/net/minecraft/world/entity/npc/WanderingTrader.java b/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
index 8046a2d640e7c4d59cb5b9c6dff3bf5f026c7153..c3fbcc7956a64d49466874776f257ba27f55f2a4 100644
|
||||
index 7ad6a8479a0bdda570ac286220eacd0ba8642111..776e4d001bc6e6d419eb4392dc85bf4594e57058 100644
|
||||
--- a/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
+++ b/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
@@ -114,6 +114,13 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
@@ -104,6 +104,13 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
}
|
||||
// Purpur end - Toggle for water sensitive mob damage
|
||||
|
||||
|
||||
Reference in New Issue
Block a user