Entity lifespan

This commit is contained in:
William Blake Galbreath
2020-07-11 19:42:25 -05:00
parent fb64f9a068
commit 2c61ef3e92
2 changed files with 198 additions and 77 deletions

View File

@@ -0,0 +1,121 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Sat, 11 Jul 2020 19:41:34 -0500
Subject: [PATCH] Entity lifespan
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index 8def5fbfb4..d447eb7960 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -53,7 +53,7 @@ public abstract class EntityInsentient extends EntityLiving {
private NBTTagCompound bF;
private BlockPosition bG;
private float bH;
-
+ public int ticksSinceLastInteraction; // Purpur
public boolean aware = true; // CraftBukkit
protected EntityInsentient(EntityTypes<? extends EntityInsentient> entitytypes, World world) {
@@ -203,6 +203,7 @@ public abstract class EntityInsentient extends EntityLiving {
entityliving = null;
}
}
+ if (entityliving instanceof EntityPlayer) this.ticksSinceLastInteraction = 0; // Purpur
this.goalTarget = entityliving;
return true;
// CraftBukkit end
@@ -246,10 +247,35 @@ public abstract class EntityInsentient extends EntityLiving {
this.eJ();
this.F();
}
-
+ incrementTicksSinceLastInteraction(); // Purpur
this.world.getMethodProfiler().exit();
}
+ // Purpur start
+ private void incrementTicksSinceLastInteraction() {
+ ++ticksSinceLastInteraction;
+ if (hasRider()) {
+ ticksSinceLastInteraction = 0;
+ return;
+ }
+ if (world.purpurConfig.entityLifeSpan <= 0) {
+ return; // feature disabled
+ }
+ if (!isTypeNotPersistent(0) || isPersistent() || isSpecialPersistence() || hasCustomName()) {
+ return; // mob persistent
+ }
+ if (ticksSinceLastInteraction > world.purpurConfig.entityLifeSpan) {
+ this.dead = true;
+ }
+ }
+
+ @Override
+ public boolean damageEntity(DamageSource damagesource, float f) {
+ if (damagesource.getEntity() instanceof EntityPlayer) this.ticksSinceLastInteraction = 0; // Purpur
+ return super.damageEntity(damagesource, f);
+ }
+ // Purpur end
+
@Override
protected void c(DamageSource damagesource) {
this.eJ();
@@ -423,6 +449,7 @@ public abstract class EntityInsentient extends EntityLiving {
}
nbttagcompound.setBoolean("Bukkit.Aware", this.aware); // CraftBukkit
+ nbttagcompound.setInt("Purpur.ticksSinceLastInteraction", ticksSinceLastInteraction); // Purpur
}
@Override
@@ -493,6 +520,11 @@ public abstract class EntityInsentient extends EntityLiving {
this.aware = nbttagcompound.getBoolean("Bukkit.Aware");
}
// CraftBukkit end
+ // Purpur start
+ if (nbttagcompound.hasKey("Purpur.ticksSinceLastInteraction")) {
+ ticksSinceLastInteraction = nbttagcompound.getInt("Purpur.ticksSinceLastInteraction");
+ }
+ // Purpur end
}
@Override
@@ -1513,7 +1545,7 @@ public abstract class EntityInsentient extends EntityLiving {
this.a((EntityLiving) this, entity);
this.z(entity);
}
-
+ if (entity instanceof EntityPlayer) this.ticksSinceLastInteraction = 0; // Purpur
return flag;
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 06814b92a4..a823143ad0 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -2131,6 +2131,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
boolean triggerLeashUpdate = itemInHand != null && itemInHand.getItem() == Items.LEAD && entity instanceof EntityInsentient;
Item origItem = this.player.inventory.getItemInHand() == null ? null : this.player.inventory.getItemInHand().getItem();
PlayerInteractEntityEvent event;
+ if (entity instanceof EntityInsentient) ((EntityInsentient) entity).ticksSinceLastInteraction = 0; // Purpur
if (packetplayinuseentity.b() == PacketPlayInUseEntity.EnumEntityUseAction.INTERACT) {
event = new PlayerInteractEntityEvent((Player) this.getPlayer(), entity.getBukkitEntity(), (packetplayinuseentity.c() == EnumHand.OFF_HAND) ? EquipmentSlot.OFF_HAND : EquipmentSlot.HAND);
} else {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 2f5bc77e03..4e8a6992ab 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -101,6 +101,11 @@ public class PurpurWorldConfig {
}
}
+ public int entityLifeSpan = 0;
+ private void entitySettings() {
+ entityLifeSpan = getInt("gameplay-mechanics.entity-lifespan", entityLifeSpan);
+ }
+
public List<Item> itemImmuneToExplosion = new ArrayList<>();
public List<Item> itemImmuneToFire = new ArrayList<>();
private void itemSettings() {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Ridables
diff --git a/src/main/java/net/minecraft/server/ControllerMove.java b/src/main/java/net/minecraft/server/ControllerMove.java diff --git a/src/main/java/net/minecraft/server/ControllerMove.java b/src/main/java/net/minecraft/server/ControllerMove.java
index ac6f9d9e5..d874b177b 100644 index ac6f9d9e52..d874b177b4 100644
--- a/src/main/java/net/minecraft/server/ControllerMove.java --- a/src/main/java/net/minecraft/server/ControllerMove.java
+++ b/src/main/java/net/minecraft/server/ControllerMove.java +++ b/src/main/java/net/minecraft/server/ControllerMove.java
@@ -6,9 +6,9 @@ public class ControllerMove { @@ -6,9 +6,9 @@ public class ControllerMove {
@@ -22,7 +22,7 @@ index ac6f9d9e5..d874b177b 100644
public ControllerMove(EntityInsentient entityinsentient) { public ControllerMove(EntityInsentient entityinsentient) {
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 2d4981631..d14e4b1ee 100644 index 2d49816311..d14e4b1eef 100644
--- a/src/main/java/net/minecraft/server/Entity.java --- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java
@@ -80,7 +80,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -80,7 +80,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -147,7 +147,7 @@ index 2d4981631..d14e4b1ee 100644
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/net/minecraft/server/EntityCat.java b/src/main/java/net/minecraft/server/EntityCat.java diff --git a/src/main/java/net/minecraft/server/EntityCat.java b/src/main/java/net/minecraft/server/EntityCat.java
index 20497c396..cef2787eb 100644 index 20497c3962..cef2787eb8 100644
--- a/src/main/java/net/minecraft/server/EntityCat.java --- a/src/main/java/net/minecraft/server/EntityCat.java
+++ b/src/main/java/net/minecraft/server/EntityCat.java +++ b/src/main/java/net/minecraft/server/EntityCat.java
@@ -41,6 +41,25 @@ public class EntityCat extends EntityTameableAnimal { @@ -41,6 +41,25 @@ public class EntityCat extends EntityTameableAnimal {
@@ -227,7 +227,7 @@ index 20497c396..cef2787eb 100644
@Override @Override
diff --git a/src/main/java/net/minecraft/server/EntityCaveSpider.java b/src/main/java/net/minecraft/server/EntityCaveSpider.java diff --git a/src/main/java/net/minecraft/server/EntityCaveSpider.java b/src/main/java/net/minecraft/server/EntityCaveSpider.java
index 346b77083..eca1cbd7f 100644 index 346b77083c..eca1cbd7f7 100644
--- a/src/main/java/net/minecraft/server/EntityCaveSpider.java --- a/src/main/java/net/minecraft/server/EntityCaveSpider.java
+++ b/src/main/java/net/minecraft/server/EntityCaveSpider.java +++ b/src/main/java/net/minecraft/server/EntityCaveSpider.java
@@ -8,6 +8,18 @@ public class EntityCaveSpider extends EntitySpider { @@ -8,6 +8,18 @@ public class EntityCaveSpider extends EntitySpider {
@@ -250,7 +250,7 @@ index 346b77083..eca1cbd7f 100644
return EntitySpider.eL().a(GenericAttributes.MAX_HEALTH, 12.0D); return EntitySpider.eL().a(GenericAttributes.MAX_HEALTH, 12.0D);
} }
diff --git a/src/main/java/net/minecraft/server/EntityChicken.java b/src/main/java/net/minecraft/server/EntityChicken.java diff --git a/src/main/java/net/minecraft/server/EntityChicken.java b/src/main/java/net/minecraft/server/EntityChicken.java
index 137eada65..e772d90ae 100644 index 137eada653..e772d90aec 100644
--- a/src/main/java/net/minecraft/server/EntityChicken.java --- a/src/main/java/net/minecraft/server/EntityChicken.java
+++ b/src/main/java/net/minecraft/server/EntityChicken.java +++ b/src/main/java/net/minecraft/server/EntityChicken.java
@@ -18,6 +18,16 @@ public class EntityChicken extends EntityAnimal { @@ -18,6 +18,16 @@ public class EntityChicken extends EntityAnimal {
@@ -287,7 +287,7 @@ index 137eada65..e772d90ae 100644
} else { } else {
this.goalSelector.a(1, new PathfinderGoalPanic(this, 1.4D)); this.goalSelector.a(1, new PathfinderGoalPanic(this, 1.4D));
diff --git a/src/main/java/net/minecraft/server/EntityComplexPart.java b/src/main/java/net/minecraft/server/EntityComplexPart.java diff --git a/src/main/java/net/minecraft/server/EntityComplexPart.java b/src/main/java/net/minecraft/server/EntityComplexPart.java
index 920f4c767..7fec83387 100644 index 920f4c7671..7fec83387a 100644
--- a/src/main/java/net/minecraft/server/EntityComplexPart.java --- a/src/main/java/net/minecraft/server/EntityComplexPart.java
+++ b/src/main/java/net/minecraft/server/EntityComplexPart.java +++ b/src/main/java/net/minecraft/server/EntityComplexPart.java
@@ -47,4 +47,11 @@ public class EntityComplexPart extends Entity { @@ -47,4 +47,11 @@ public class EntityComplexPart extends Entity {
@@ -303,7 +303,7 @@ index 920f4c767..7fec83387 100644
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/net/minecraft/server/EntityCow.java b/src/main/java/net/minecraft/server/EntityCow.java diff --git a/src/main/java/net/minecraft/server/EntityCow.java b/src/main/java/net/minecraft/server/EntityCow.java
index d6baddb9d..69537c627 100644 index d6baddb9d3..69537c6278 100644
--- a/src/main/java/net/minecraft/server/EntityCow.java --- a/src/main/java/net/minecraft/server/EntityCow.java
+++ b/src/main/java/net/minecraft/server/EntityCow.java +++ b/src/main/java/net/minecraft/server/EntityCow.java
@@ -11,9 +11,22 @@ public class EntityCow extends EntityAnimal { @@ -11,9 +11,22 @@ public class EntityCow extends EntityAnimal {
@@ -387,7 +387,7 @@ index d6baddb9d..69537c627 100644
this.world.addEntity(mooshroom); this.world.addEntity(mooshroom);
this.die(); this.die();
diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java
index 2d5aab9e2..c387b3f56 100644 index 2d5aab9e24..c387b3f56a 100644
--- a/src/main/java/net/minecraft/server/EntityCreeper.java --- a/src/main/java/net/minecraft/server/EntityCreeper.java
+++ b/src/main/java/net/minecraft/server/EntityCreeper.java +++ b/src/main/java/net/minecraft/server/EntityCreeper.java
@@ -18,12 +18,27 @@ public class EntityCreeper extends EntityMonster { @@ -18,12 +18,27 @@ public class EntityCreeper extends EntityMonster {
@@ -505,7 +505,7 @@ index 2d5aab9e2..c387b3f56 100644
} }
// Paper end // Paper end
diff --git a/src/main/java/net/minecraft/server/EntityDrowned.java b/src/main/java/net/minecraft/server/EntityDrowned.java diff --git a/src/main/java/net/minecraft/server/EntityDrowned.java b/src/main/java/net/minecraft/server/EntityDrowned.java
index 6fc8d1213..7879b70c5 100644 index 6fc8d1213a..7879b70c5c 100644
--- a/src/main/java/net/minecraft/server/EntityDrowned.java --- a/src/main/java/net/minecraft/server/EntityDrowned.java
+++ b/src/main/java/net/minecraft/server/EntityDrowned.java +++ b/src/main/java/net/minecraft/server/EntityDrowned.java
@@ -20,6 +20,16 @@ public class EntityDrowned extends EntityZombie implements IRangedEntity { @@ -20,6 +20,16 @@ public class EntityDrowned extends EntityZombie implements IRangedEntity {
@@ -561,7 +561,7 @@ index 6fc8d1213..7879b70c5 100644
@Override @Override
diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java
index 245fc38de..a1c6679f0 100644 index 245fc38def..a1c6679f0d 100644
--- a/src/main/java/net/minecraft/server/EntityEnderman.java --- a/src/main/java/net/minecraft/server/EntityEnderman.java
+++ b/src/main/java/net/minecraft/server/EntityEnderman.java +++ b/src/main/java/net/minecraft/server/EntityEnderman.java
@@ -30,9 +30,22 @@ public class EntityEnderman extends EntityMonster implements IEntityAngerable { @@ -30,9 +30,22 @@ public class EntityEnderman extends EntityMonster implements IEntityAngerable {
@@ -629,7 +629,7 @@ index 245fc38de..a1c6679f0 100644
@Override @Override
diff --git a/src/main/java/net/minecraft/server/EntityEndermite.java b/src/main/java/net/minecraft/server/EntityEndermite.java diff --git a/src/main/java/net/minecraft/server/EntityEndermite.java b/src/main/java/net/minecraft/server/EntityEndermite.java
index a85489d56..24d68bbb5 100644 index a85489d56b..24d68bbb55 100644
--- a/src/main/java/net/minecraft/server/EntityEndermite.java --- a/src/main/java/net/minecraft/server/EntityEndermite.java
+++ b/src/main/java/net/minecraft/server/EntityEndermite.java +++ b/src/main/java/net/minecraft/server/EntityEndermite.java
@@ -12,14 +12,28 @@ public class EntityEndermite extends EntityMonster { @@ -12,14 +12,28 @@ public class EntityEndermite extends EntityMonster {
@@ -663,7 +663,7 @@ index a85489d56..24d68bbb5 100644
} }
diff --git a/src/main/java/net/minecraft/server/EntityEvoker.java b/src/main/java/net/minecraft/server/EntityEvoker.java diff --git a/src/main/java/net/minecraft/server/EntityEvoker.java b/src/main/java/net/minecraft/server/EntityEvoker.java
index c37c2930e..843e39239 100644 index c37c2930e7..843e392395 100644
--- a/src/main/java/net/minecraft/server/EntityEvoker.java --- a/src/main/java/net/minecraft/server/EntityEvoker.java
+++ b/src/main/java/net/minecraft/server/EntityEvoker.java +++ b/src/main/java/net/minecraft/server/EntityEvoker.java
@@ -12,10 +12,23 @@ public class EntityEvoker extends EntityIllagerWizard { @@ -12,10 +12,23 @@ public class EntityEvoker extends EntityIllagerWizard {
@@ -723,7 +723,7 @@ index c37c2930e..843e39239 100644
@Override @Override
diff --git a/src/main/java/net/minecraft/server/EntityFish.java b/src/main/java/net/minecraft/server/EntityFish.java diff --git a/src/main/java/net/minecraft/server/EntityFish.java b/src/main/java/net/minecraft/server/EntityFish.java
index db1ede61c..d1803eca2 100644 index db1ede61c5..d1803eca27 100644
--- a/src/main/java/net/minecraft/server/EntityFish.java --- a/src/main/java/net/minecraft/server/EntityFish.java
+++ b/src/main/java/net/minecraft/server/EntityFish.java +++ b/src/main/java/net/minecraft/server/EntityFish.java
@@ -75,7 +75,7 @@ public abstract class EntityFish extends EntityWaterAnimal { @@ -75,7 +75,7 @@ public abstract class EntityFish extends EntityWaterAnimal {
@@ -736,7 +736,7 @@ index db1ede61c..d1803eca2 100644
} }
diff --git a/src/main/java/net/minecraft/server/EntityFox.java b/src/main/java/net/minecraft/server/EntityFox.java diff --git a/src/main/java/net/minecraft/server/EntityFox.java b/src/main/java/net/minecraft/server/EntityFox.java
index 90b01adbe..26de8c3ad 100644 index 90b01adbec..26de8c3ad6 100644
--- a/src/main/java/net/minecraft/server/EntityFox.java --- a/src/main/java/net/minecraft/server/EntityFox.java
+++ b/src/main/java/net/minecraft/server/EntityFox.java +++ b/src/main/java/net/minecraft/server/EntityFox.java
@@ -55,6 +55,39 @@ public class EntityFox extends EntityAnimal { @@ -55,6 +55,39 @@ public class EntityFox extends EntityAnimal {
@@ -860,7 +860,7 @@ index 90b01adbe..26de8c3ad 100644
} }
diff --git a/src/main/java/net/minecraft/server/EntityGiantZombie.java b/src/main/java/net/minecraft/server/EntityGiantZombie.java diff --git a/src/main/java/net/minecraft/server/EntityGiantZombie.java b/src/main/java/net/minecraft/server/EntityGiantZombie.java
index 143041003..d7c5a3153 100644 index 143041003d..d7c5a3153e 100644
--- a/src/main/java/net/minecraft/server/EntityGiantZombie.java --- a/src/main/java/net/minecraft/server/EntityGiantZombie.java
+++ b/src/main/java/net/minecraft/server/EntityGiantZombie.java +++ b/src/main/java/net/minecraft/server/EntityGiantZombie.java
@@ -11,16 +11,28 @@ public class EntityGiantZombie extends EntityMonster { @@ -11,16 +11,28 @@ public class EntityGiantZombie extends EntityMonster {
@@ -893,7 +893,7 @@ index 143041003..d7c5a3153 100644
this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true)); this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true));
this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillager.class, false)); this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillager.class, false));
diff --git a/src/main/java/net/minecraft/server/EntityHoglin.java b/src/main/java/net/minecraft/server/EntityHoglin.java diff --git a/src/main/java/net/minecraft/server/EntityHoglin.java b/src/main/java/net/minecraft/server/EntityHoglin.java
index be8b07a7d..4f98c1d2a 100644 index be8b07a7d7..4f98c1d2ab 100644
--- a/src/main/java/net/minecraft/server/EntityHoglin.java --- a/src/main/java/net/minecraft/server/EntityHoglin.java
+++ b/src/main/java/net/minecraft/server/EntityHoglin.java +++ b/src/main/java/net/minecraft/server/EntityHoglin.java
@@ -21,6 +21,18 @@ public class EntityHoglin extends EntityAnimal implements IMonster, IOglin { @@ -21,6 +21,18 @@ public class EntityHoglin extends EntityAnimal implements IMonster, IOglin {
@@ -924,7 +924,7 @@ index be8b07a7d..4f98c1d2a 100644
this.world.getMethodProfiler().exit(); this.world.getMethodProfiler().exit();
HoglinAI.a(this); HoglinAI.a(this);
diff --git a/src/main/java/net/minecraft/server/EntityHorse.java b/src/main/java/net/minecraft/server/EntityHorse.java diff --git a/src/main/java/net/minecraft/server/EntityHorse.java b/src/main/java/net/minecraft/server/EntityHorse.java
index adf414b47..a6c2119be 100644 index adf414b479..a6c2119be9 100644
--- a/src/main/java/net/minecraft/server/EntityHorse.java --- a/src/main/java/net/minecraft/server/EntityHorse.java
+++ b/src/main/java/net/minecraft/server/EntityHorse.java +++ b/src/main/java/net/minecraft/server/EntityHorse.java
@@ -12,6 +12,13 @@ public class EntityHorse extends EntityHorseAbstract { @@ -12,6 +12,13 @@ public class EntityHorse extends EntityHorseAbstract {
@@ -942,7 +942,7 @@ index adf414b47..a6c2119be 100644
protected void eL() { protected void eL() {
this.getAttributeInstance(GenericAttributes.MAX_HEALTH).setValue((double) this.fq()); this.getAttributeInstance(GenericAttributes.MAX_HEALTH).setValue((double) this.fq());
diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
index c9ab80ccd..2fa462855 100644 index c9ab80ccd1..2fa4628557 100644
--- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java --- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java +++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
@@ -39,12 +39,27 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven @@ -39,12 +39,27 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
@@ -982,7 +982,7 @@ index c9ab80ccd..2fa462855 100644
} }
diff --git a/src/main/java/net/minecraft/server/EntityHorseDonkey.java b/src/main/java/net/minecraft/server/EntityHorseDonkey.java diff --git a/src/main/java/net/minecraft/server/EntityHorseDonkey.java b/src/main/java/net/minecraft/server/EntityHorseDonkey.java
index d349e8a34..01672ed63 100644 index d349e8a34b..01672ed635 100644
--- a/src/main/java/net/minecraft/server/EntityHorseDonkey.java --- a/src/main/java/net/minecraft/server/EntityHorseDonkey.java
+++ b/src/main/java/net/minecraft/server/EntityHorseDonkey.java +++ b/src/main/java/net/minecraft/server/EntityHorseDonkey.java
@@ -8,6 +8,13 @@ public class EntityHorseDonkey extends EntityHorseChestedAbstract { @@ -8,6 +8,13 @@ public class EntityHorseDonkey extends EntityHorseChestedAbstract {
@@ -1000,7 +1000,7 @@ index d349e8a34..01672ed63 100644
protected SoundEffect getSoundAmbient() { protected SoundEffect getSoundAmbient() {
super.getSoundAmbient(); super.getSoundAmbient();
diff --git a/src/main/java/net/minecraft/server/EntityHorseMule.java b/src/main/java/net/minecraft/server/EntityHorseMule.java diff --git a/src/main/java/net/minecraft/server/EntityHorseMule.java b/src/main/java/net/minecraft/server/EntityHorseMule.java
index 5105418c4..4d45976d7 100644 index 5105418c42..4d45976d7c 100644
--- a/src/main/java/net/minecraft/server/EntityHorseMule.java --- a/src/main/java/net/minecraft/server/EntityHorseMule.java
+++ b/src/main/java/net/minecraft/server/EntityHorseMule.java +++ b/src/main/java/net/minecraft/server/EntityHorseMule.java
@@ -8,6 +8,13 @@ public class EntityHorseMule extends EntityHorseChestedAbstract { @@ -8,6 +8,13 @@ public class EntityHorseMule extends EntityHorseChestedAbstract {
@@ -1018,7 +1018,7 @@ index 5105418c4..4d45976d7 100644
protected SoundEffect getSoundAmbient() { protected SoundEffect getSoundAmbient() {
super.getSoundAmbient(); super.getSoundAmbient();
diff --git a/src/main/java/net/minecraft/server/EntityHorseSkeleton.java b/src/main/java/net/minecraft/server/EntityHorseSkeleton.java diff --git a/src/main/java/net/minecraft/server/EntityHorseSkeleton.java b/src/main/java/net/minecraft/server/EntityHorseSkeleton.java
index 43e605f68..ca8f73c75 100644 index 43e605f682..ca8f73c752 100644
--- a/src/main/java/net/minecraft/server/EntityHorseSkeleton.java --- a/src/main/java/net/minecraft/server/EntityHorseSkeleton.java
+++ b/src/main/java/net/minecraft/server/EntityHorseSkeleton.java +++ b/src/main/java/net/minecraft/server/EntityHorseSkeleton.java
@@ -12,6 +12,18 @@ public class EntityHorseSkeleton extends EntityHorseAbstract { @@ -12,6 +12,18 @@ public class EntityHorseSkeleton extends EntityHorseAbstract {
@@ -1059,7 +1059,7 @@ index 43e605f68..ca8f73c75 100644
@Override @Override
diff --git a/src/main/java/net/minecraft/server/EntityHorseZombie.java b/src/main/java/net/minecraft/server/EntityHorseZombie.java diff --git a/src/main/java/net/minecraft/server/EntityHorseZombie.java b/src/main/java/net/minecraft/server/EntityHorseZombie.java
index 0cbdccf4c..19a21ff98 100644 index 0cbdccf4c5..19a21ff98d 100644
--- a/src/main/java/net/minecraft/server/EntityHorseZombie.java --- a/src/main/java/net/minecraft/server/EntityHorseZombie.java
+++ b/src/main/java/net/minecraft/server/EntityHorseZombie.java +++ b/src/main/java/net/minecraft/server/EntityHorseZombie.java
@@ -8,6 +8,18 @@ public class EntityHorseZombie extends EntityHorseAbstract { @@ -8,6 +8,18 @@ public class EntityHorseZombie extends EntityHorseAbstract {
@@ -1089,7 +1089,7 @@ index 0cbdccf4c..19a21ff98 100644
+ protected void eW() { if (world.purpurConfig.zombieHorseCanSwim) goalSelector.a(0, new PathfinderGoalFloat(this)); } // Purpur + protected void eW() { if (world.purpurConfig.zombieHorseCanSwim) goalSelector.a(0, new PathfinderGoalFloat(this)); } // Purpur
} }
diff --git a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java diff --git a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java
index 0e23aa91d..892ba2e59 100644 index 0e23aa91d5..892ba2e59a 100644
--- a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java --- a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java
+++ b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java +++ b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java
@@ -20,6 +20,16 @@ public class EntityIllagerIllusioner extends EntityIllagerWizard implements IRan @@ -20,6 +20,16 @@ public class EntityIllagerIllusioner extends EntityIllagerWizard implements IRan
@@ -1126,7 +1126,7 @@ index 0e23aa91d..892ba2e59 100644
this.targetSelector.a(2, (new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true)).a(300)); this.targetSelector.a(2, (new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true)).a(300));
this.targetSelector.a(3, (new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, false)).a(300)); this.targetSelector.a(3, (new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, false)).a(300));
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index 8def5fbfb..fe6ff7793 100644 index d447eb7960..d789cf12b3 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java --- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -67,8 +67,8 @@ public abstract class EntityInsentient extends EntityLiving { @@ -67,8 +67,8 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -1140,7 +1140,7 @@ index 8def5fbfb..fe6ff7793 100644
this.bp = new ControllerJump(this); this.bp = new ControllerJump(this);
this.c = this.r(); this.c = this.r();
this.navigation = this.b(world); this.navigation = this.b(world);
@@ -520,18 +520,22 @@ public abstract class EntityInsentient extends EntityLiving { @@ -552,18 +552,22 @@ public abstract class EntityInsentient extends EntityLiving {
return super.do_(); return super.do_();
} }
@@ -1163,7 +1163,7 @@ index 8def5fbfb..fe6ff7793 100644
@Override @Override
public void n(float f) { public void n(float f) {
super.n(f); super.n(f);
@@ -1200,7 +1204,7 @@ public abstract class EntityInsentient extends EntityLiving { @@ -1232,7 +1236,7 @@ public abstract class EntityInsentient extends EntityLiving {
protected void a(EntityHuman entityhuman, EntityInsentient entityinsentient) {} protected void a(EntityHuman entityhuman, EntityInsentient entityinsentient) {}
protected EnumInteractionResult b(EntityHuman entityhuman, EnumHand enumhand) { protected EnumInteractionResult b(EntityHuman entityhuman, EnumHand enumhand) {
@@ -1172,7 +1172,7 @@ index 8def5fbfb..fe6ff7793 100644
} }
public boolean ew() { public boolean ew() {
@@ -1559,4 +1563,42 @@ public abstract class EntityInsentient extends EntityLiving { @@ -1591,4 +1595,42 @@ public abstract class EntityInsentient extends EntityLiving {
this.world.getServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), UnleashReason.UNKNOWN)); // CraftBukkit this.world.getServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), UnleashReason.UNKNOWN)); // CraftBukkit
this.unleash(true, false); this.unleash(true, false);
} }
@@ -1216,7 +1216,7 @@ index 8def5fbfb..fe6ff7793 100644
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/net/minecraft/server/EntityIronGolem.java b/src/main/java/net/minecraft/server/EntityIronGolem.java diff --git a/src/main/java/net/minecraft/server/EntityIronGolem.java b/src/main/java/net/minecraft/server/EntityIronGolem.java
index ab0731c2a..2da50ef49 100644 index ab0731c2a0..2da50ef495 100644
--- a/src/main/java/net/minecraft/server/EntityIronGolem.java --- a/src/main/java/net/minecraft/server/EntityIronGolem.java
+++ b/src/main/java/net/minecraft/server/EntityIronGolem.java +++ b/src/main/java/net/minecraft/server/EntityIronGolem.java
@@ -22,9 +22,22 @@ public class EntityIronGolem extends EntityGolem implements IEntityAngerable { @@ -22,9 +22,22 @@ public class EntityIronGolem extends EntityGolem implements IEntityAngerable {
@@ -1267,7 +1267,7 @@ index ab0731c2a..2da50ef49 100644
float f1 = 1.0F + (this.random.nextFloat() - this.random.nextFloat()) * 0.2F; float f1 = 1.0F + (this.random.nextFloat() - this.random.nextFloat()) * 0.2F;
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index cb9fdfd11..22b13896d 100644 index cb9fdfd114..22b13896d0 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java --- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -458,7 +458,7 @@ public abstract class EntityLiving extends Entity { @@ -458,7 +458,7 @@ public abstract class EntityLiving extends Entity {
@@ -1289,7 +1289,7 @@ index cb9fdfd11..22b13896d 100644
if (this.hasEffect(MobEffects.JUMP)) { if (this.hasEffect(MobEffects.JUMP)) {
diff --git a/src/main/java/net/minecraft/server/EntityLlama.java b/src/main/java/net/minecraft/server/EntityLlama.java diff --git a/src/main/java/net/minecraft/server/EntityLlama.java b/src/main/java/net/minecraft/server/EntityLlama.java
index cf3192085..15efaffe2 100644 index cf31920850..15efaffe24 100644
--- a/src/main/java/net/minecraft/server/EntityLlama.java --- a/src/main/java/net/minecraft/server/EntityLlama.java
+++ b/src/main/java/net/minecraft/server/EntityLlama.java +++ b/src/main/java/net/minecraft/server/EntityLlama.java
@@ -18,7 +18,46 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn @@ -18,7 +18,46 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
@@ -1365,7 +1365,7 @@ index cf3192085..15efaffe2 100644
return i == -1 ? null : EnumColor.fromColorIndex(i); return i == -1 ? null : EnumColor.fromColorIndex(i);
diff --git a/src/main/java/net/minecraft/server/EntityLlamaTrader.java b/src/main/java/net/minecraft/server/EntityLlamaTrader.java diff --git a/src/main/java/net/minecraft/server/EntityLlamaTrader.java b/src/main/java/net/minecraft/server/EntityLlamaTrader.java
index 11008c432..de8ce2fd3 100644 index 11008c4323..de8ce2fd39 100644
--- a/src/main/java/net/minecraft/server/EntityLlamaTrader.java --- a/src/main/java/net/minecraft/server/EntityLlamaTrader.java
+++ b/src/main/java/net/minecraft/server/EntityLlamaTrader.java +++ b/src/main/java/net/minecraft/server/EntityLlamaTrader.java
@@ -11,6 +11,23 @@ public class EntityLlamaTrader extends EntityLlama { @@ -11,6 +11,23 @@ public class EntityLlamaTrader extends EntityLlama {
@@ -1393,7 +1393,7 @@ index 11008c432..de8ce2fd3 100644
protected EntityLlama fA() { protected EntityLlama fA() {
return (EntityLlama) EntityTypes.TRADER_LLAMA.a(this.world); return (EntityLlama) EntityTypes.TRADER_LLAMA.a(this.world);
diff --git a/src/main/java/net/minecraft/server/EntityMushroomCow.java b/src/main/java/net/minecraft/server/EntityMushroomCow.java diff --git a/src/main/java/net/minecraft/server/EntityMushroomCow.java b/src/main/java/net/minecraft/server/EntityMushroomCow.java
index ecbdc65ec..a36e7d182 100644 index ecbdc65ec5..a36e7d182f 100644
--- a/src/main/java/net/minecraft/server/EntityMushroomCow.java --- a/src/main/java/net/minecraft/server/EntityMushroomCow.java
+++ b/src/main/java/net/minecraft/server/EntityMushroomCow.java +++ b/src/main/java/net/minecraft/server/EntityMushroomCow.java
@@ -20,6 +20,18 @@ public class EntityMushroomCow extends EntityCow implements IShearable { @@ -20,6 +20,18 @@ public class EntityMushroomCow extends EntityCow implements IShearable {
@@ -1434,7 +1434,7 @@ index ecbdc65ec..a36e7d182 100644
Pair<MobEffectList, Integer> pair = (Pair) optional.get(); Pair<MobEffectList, Integer> pair = (Pair) optional.get();
diff --git a/src/main/java/net/minecraft/server/EntityOcelot.java b/src/main/java/net/minecraft/server/EntityOcelot.java diff --git a/src/main/java/net/minecraft/server/EntityOcelot.java b/src/main/java/net/minecraft/server/EntityOcelot.java
index 9c1f019f9..366acbfd9 100644 index 9c1f019f91..366acbfd91 100644
--- a/src/main/java/net/minecraft/server/EntityOcelot.java --- a/src/main/java/net/minecraft/server/EntityOcelot.java
+++ b/src/main/java/net/minecraft/server/EntityOcelot.java +++ b/src/main/java/net/minecraft/server/EntityOcelot.java
@@ -16,6 +16,18 @@ public class EntityOcelot extends EntityAnimal { @@ -16,6 +16,18 @@ public class EntityOcelot extends EntityAnimal {
@@ -1472,7 +1472,7 @@ index 9c1f019f9..366acbfd9 100644
this.targetSelector.a(1, new PathfinderGoalNearestAttackableTarget<>(this, EntityTurtle.class, 10, false, false, EntityTurtle.bv)); this.targetSelector.a(1, new PathfinderGoalNearestAttackableTarget<>(this, EntityTurtle.class, 10, false, false, EntityTurtle.bv));
} }
diff --git a/src/main/java/net/minecraft/server/EntityPanda.java b/src/main/java/net/minecraft/server/EntityPanda.java diff --git a/src/main/java/net/minecraft/server/EntityPanda.java b/src/main/java/net/minecraft/server/EntityPanda.java
index 42df0d74e..a0d00288f 100644 index 42df0d74ee..a0d00288fc 100644
--- a/src/main/java/net/minecraft/server/EntityPanda.java --- a/src/main/java/net/minecraft/server/EntityPanda.java
+++ b/src/main/java/net/minecraft/server/EntityPanda.java +++ b/src/main/java/net/minecraft/server/EntityPanda.java
@@ -46,6 +46,27 @@ public class EntityPanda extends EntityAnimal { @@ -46,6 +46,27 @@ public class EntityPanda extends EntityAnimal {
@@ -1608,7 +1608,7 @@ index 42df0d74e..a0d00288f 100644
} }
} }
diff --git a/src/main/java/net/minecraft/server/EntityPig.java b/src/main/java/net/minecraft/server/EntityPig.java diff --git a/src/main/java/net/minecraft/server/EntityPig.java b/src/main/java/net/minecraft/server/EntityPig.java
index cf2df391a..9bd4cdf13 100644 index cf2df391a9..9bd4cdf138 100644
--- a/src/main/java/net/minecraft/server/EntityPig.java --- a/src/main/java/net/minecraft/server/EntityPig.java
+++ b/src/main/java/net/minecraft/server/EntityPig.java +++ b/src/main/java/net/minecraft/server/EntityPig.java
@@ -19,9 +19,22 @@ public class EntityPig extends EntityAnimal implements ISteerable, ISaddleable { @@ -19,9 +19,22 @@ public class EntityPig extends EntityAnimal implements ISteerable, ISaddleable {
@@ -1635,7 +1635,7 @@ index cf2df391a..9bd4cdf13 100644
this.goalSelector.a(3, new PathfinderGoalBreed(this, 1.0D)); this.goalSelector.a(3, new PathfinderGoalBreed(this, 1.0D));
this.goalSelector.a(4, new PathfinderGoalTempt(this, 1.2D, RecipeItemStack.a(Items.CARROT_ON_A_STICK), false)); this.goalSelector.a(4, new PathfinderGoalTempt(this, 1.2D, RecipeItemStack.a(Items.CARROT_ON_A_STICK), false));
diff --git a/src/main/java/net/minecraft/server/EntityPigZombie.java b/src/main/java/net/minecraft/server/EntityPigZombie.java diff --git a/src/main/java/net/minecraft/server/EntityPigZombie.java b/src/main/java/net/minecraft/server/EntityPigZombie.java
index fdd13b2ba..7f378df36 100644 index fdd13b2ba6..7f378df36a 100644
--- a/src/main/java/net/minecraft/server/EntityPigZombie.java --- a/src/main/java/net/minecraft/server/EntityPigZombie.java
+++ b/src/main/java/net/minecraft/server/EntityPigZombie.java +++ b/src/main/java/net/minecraft/server/EntityPigZombie.java
@@ -22,6 +22,16 @@ public class EntityPigZombie extends EntityZombie implements IEntityAngerable { @@ -22,6 +22,16 @@ public class EntityPigZombie extends EntityZombie implements IEntityAngerable {
@@ -1656,7 +1656,7 @@ index fdd13b2ba..7f378df36 100644
public boolean jockeyOnlyBaby() { public boolean jockeyOnlyBaby() {
return world.purpurConfig.zombifiedPiglinJockeyOnlyBaby; return world.purpurConfig.zombifiedPiglinJockeyOnlyBaby;
diff --git a/src/main/java/net/minecraft/server/EntityPiglin.java b/src/main/java/net/minecraft/server/EntityPiglin.java diff --git a/src/main/java/net/minecraft/server/EntityPiglin.java b/src/main/java/net/minecraft/server/EntityPiglin.java
index 63fa1581e..4809a8dce 100644 index 63fa1581eb..4809a8dced 100644
--- a/src/main/java/net/minecraft/server/EntityPiglin.java --- a/src/main/java/net/minecraft/server/EntityPiglin.java
+++ b/src/main/java/net/minecraft/server/EntityPiglin.java +++ b/src/main/java/net/minecraft/server/EntityPiglin.java
@@ -31,6 +31,18 @@ public class EntityPiglin extends EntityMonster implements ICrossbow { @@ -31,6 +31,18 @@ public class EntityPiglin extends EntityMonster implements ICrossbow {
@@ -1687,7 +1687,7 @@ index 63fa1581e..4809a8dce 100644
this.world.getMethodProfiler().exit(); this.world.getMethodProfiler().exit();
PiglinAI.b(this); PiglinAI.b(this);
diff --git a/src/main/java/net/minecraft/server/EntityPillager.java b/src/main/java/net/minecraft/server/EntityPillager.java diff --git a/src/main/java/net/minecraft/server/EntityPillager.java b/src/main/java/net/minecraft/server/EntityPillager.java
index f73c30ae4..537f09465 100644 index f73c30ae49..537f094654 100644
--- a/src/main/java/net/minecraft/server/EntityPillager.java --- a/src/main/java/net/minecraft/server/EntityPillager.java
+++ b/src/main/java/net/minecraft/server/EntityPillager.java +++ b/src/main/java/net/minecraft/server/EntityPillager.java
@@ -13,15 +13,29 @@ public class EntityPillager extends EntityIllagerAbstract implements ICrossbow { @@ -13,15 +13,29 @@ public class EntityPillager extends EntityIllagerAbstract implements ICrossbow {
@@ -1721,7 +1721,7 @@ index f73c30ae4..537f09465 100644
this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true)); this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true));
this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, false)); this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, false));
diff --git a/src/main/java/net/minecraft/server/EntityPolarBear.java b/src/main/java/net/minecraft/server/EntityPolarBear.java diff --git a/src/main/java/net/minecraft/server/EntityPolarBear.java b/src/main/java/net/minecraft/server/EntityPolarBear.java
index c26fd0e18..395b39826 100644 index c26fd0e186..395b398263 100644
--- a/src/main/java/net/minecraft/server/EntityPolarBear.java --- a/src/main/java/net/minecraft/server/EntityPolarBear.java
+++ b/src/main/java/net/minecraft/server/EntityPolarBear.java +++ b/src/main/java/net/minecraft/server/EntityPolarBear.java
@@ -16,12 +16,34 @@ public class EntityPolarBear extends EntityAnimal implements IEntityAngerable { @@ -16,12 +16,34 @@ public class EntityPolarBear extends EntityAnimal implements IEntityAngerable {
@@ -1796,7 +1796,7 @@ index c26fd0e18..395b39826 100644
} }
diff --git a/src/main/java/net/minecraft/server/EntityRabbit.java b/src/main/java/net/minecraft/server/EntityRabbit.java diff --git a/src/main/java/net/minecraft/server/EntityRabbit.java b/src/main/java/net/minecraft/server/EntityRabbit.java
index 42145a89c..572ddd663 100644 index 42145a89c4..572ddd6638 100644
--- a/src/main/java/net/minecraft/server/EntityRabbit.java --- a/src/main/java/net/minecraft/server/EntityRabbit.java
+++ b/src/main/java/net/minecraft/server/EntityRabbit.java +++ b/src/main/java/net/minecraft/server/EntityRabbit.java
@@ -60,7 +60,7 @@ public class EntityRabbit extends EntityAnimal { @@ -60,7 +60,7 @@ public class EntityRabbit extends EntityAnimal {
@@ -1809,7 +1809,7 @@ index 42145a89c..572ddd663 100644
double d0 = this.moveController.c(); double d0 = this.moveController.c();
diff --git a/src/main/java/net/minecraft/server/EntityRavager.java b/src/main/java/net/minecraft/server/EntityRavager.java diff --git a/src/main/java/net/minecraft/server/EntityRavager.java b/src/main/java/net/minecraft/server/EntityRavager.java
index 9734845c1..1e1615d9f 100644 index 9734845c16..1e1615d9ff 100644
--- a/src/main/java/net/minecraft/server/EntityRavager.java --- a/src/main/java/net/minecraft/server/EntityRavager.java
+++ b/src/main/java/net/minecraft/server/EntityRavager.java +++ b/src/main/java/net/minecraft/server/EntityRavager.java
@@ -20,14 +20,28 @@ public class EntityRavager extends EntityRaider { @@ -20,14 +20,28 @@ public class EntityRavager extends EntityRaider {
@@ -1842,7 +1842,7 @@ index 9734845c1..1e1615d9f 100644
this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true)); this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true));
this.targetSelector.a(4, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, true)); this.targetSelector.a(4, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, true));
diff --git a/src/main/java/net/minecraft/server/EntitySheep.java b/src/main/java/net/minecraft/server/EntitySheep.java diff --git a/src/main/java/net/minecraft/server/EntitySheep.java b/src/main/java/net/minecraft/server/EntitySheep.java
index a5532e49e..e785087d7 100644 index a5532e49e7..e785087d7b 100644
--- a/src/main/java/net/minecraft/server/EntitySheep.java --- a/src/main/java/net/minecraft/server/EntitySheep.java
+++ b/src/main/java/net/minecraft/server/EntitySheep.java +++ b/src/main/java/net/minecraft/server/EntitySheep.java
@@ -56,10 +56,23 @@ public class EntitySheep extends EntityAnimal implements IShearable { @@ -56,10 +56,23 @@ public class EntitySheep extends EntityAnimal implements IShearable {
@@ -1870,7 +1870,7 @@ index a5532e49e..e785087d7 100644
this.goalSelector.a(2, new PathfinderGoalBreed(this, 1.0D)); this.goalSelector.a(2, new PathfinderGoalBreed(this, 1.0D));
this.goalSelector.a(3, new PathfinderGoalTempt(this, 1.1D, RecipeItemStack.a(Items.WHEAT), false)); this.goalSelector.a(3, new PathfinderGoalTempt(this, 1.1D, RecipeItemStack.a(Items.WHEAT), false));
diff --git a/src/main/java/net/minecraft/server/EntityShulker.java b/src/main/java/net/minecraft/server/EntityShulker.java diff --git a/src/main/java/net/minecraft/server/EntityShulker.java b/src/main/java/net/minecraft/server/EntityShulker.java
index afc4cf496..0456236b4 100644 index afc4cf4960..0456236b43 100644
--- a/src/main/java/net/minecraft/server/EntityShulker.java --- a/src/main/java/net/minecraft/server/EntityShulker.java
+++ b/src/main/java/net/minecraft/server/EntityShulker.java +++ b/src/main/java/net/minecraft/server/EntityShulker.java
@@ -29,12 +29,26 @@ public class EntityShulker extends EntityGolem implements IMonster { @@ -29,12 +29,26 @@ public class EntityShulker extends EntityGolem implements IMonster {
@@ -1910,7 +1910,7 @@ index afc4cf496..0456236b4 100644
@Override @Override
public boolean a() { public boolean a() {
diff --git a/src/main/java/net/minecraft/server/EntitySilverfish.java b/src/main/java/net/minecraft/server/EntitySilverfish.java diff --git a/src/main/java/net/minecraft/server/EntitySilverfish.java b/src/main/java/net/minecraft/server/EntitySilverfish.java
index 29c0a9c36..730b2eb33 100644 index 29c0a9c36a..730b2eb330 100644
--- a/src/main/java/net/minecraft/server/EntitySilverfish.java --- a/src/main/java/net/minecraft/server/EntitySilverfish.java
+++ b/src/main/java/net/minecraft/server/EntitySilverfish.java +++ b/src/main/java/net/minecraft/server/EntitySilverfish.java
@@ -11,13 +11,27 @@ public class EntitySilverfish extends EntityMonster { @@ -11,13 +11,27 @@ public class EntitySilverfish extends EntityMonster {
@@ -1950,7 +1950,7 @@ index 29c0a9c36..730b2eb33 100644
public void g() { public void g() {
diff --git a/src/main/java/net/minecraft/server/EntitySkeleton.java b/src/main/java/net/minecraft/server/EntitySkeleton.java diff --git a/src/main/java/net/minecraft/server/EntitySkeleton.java b/src/main/java/net/minecraft/server/EntitySkeleton.java
index 104f594cd..9f665cf72 100644 index 104f594cde..9f665cf728 100644
--- a/src/main/java/net/minecraft/server/EntitySkeleton.java --- a/src/main/java/net/minecraft/server/EntitySkeleton.java
+++ b/src/main/java/net/minecraft/server/EntitySkeleton.java +++ b/src/main/java/net/minecraft/server/EntitySkeleton.java
@@ -6,6 +6,18 @@ public class EntitySkeleton extends EntitySkeletonAbstract { @@ -6,6 +6,18 @@ public class EntitySkeleton extends EntitySkeletonAbstract {
@@ -1973,7 +1973,7 @@ index 104f594cd..9f665cf72 100644
protected SoundEffect getSoundAmbient() { protected SoundEffect getSoundAmbient() {
return SoundEffects.ENTITY_SKELETON_AMBIENT; return SoundEffects.ENTITY_SKELETON_AMBIENT;
diff --git a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java diff --git a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java
index 84f83d48a..e2aa9e96c 100644 index 84f83d48a8..e2aa9e96ca 100644
--- a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java --- a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java
+++ b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java +++ b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java
@@ -28,12 +28,14 @@ public abstract class EntitySkeletonAbstract extends EntityMonster implements IR @@ -28,12 +28,14 @@ public abstract class EntitySkeletonAbstract extends EntityMonster implements IR
@@ -1992,7 +1992,7 @@ index 84f83d48a..e2aa9e96c 100644
this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true)); this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true));
this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityIronGolem.class, true)); this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityIronGolem.class, true));
diff --git a/src/main/java/net/minecraft/server/EntitySkeletonStray.java b/src/main/java/net/minecraft/server/EntitySkeletonStray.java diff --git a/src/main/java/net/minecraft/server/EntitySkeletonStray.java b/src/main/java/net/minecraft/server/EntitySkeletonStray.java
index 6cfc0ece3..c0ca1c76c 100644 index 6cfc0ece39..c0ca1c76c7 100644
--- a/src/main/java/net/minecraft/server/EntitySkeletonStray.java --- a/src/main/java/net/minecraft/server/EntitySkeletonStray.java
+++ b/src/main/java/net/minecraft/server/EntitySkeletonStray.java +++ b/src/main/java/net/minecraft/server/EntitySkeletonStray.java
@@ -8,6 +8,18 @@ public class EntitySkeletonStray extends EntitySkeletonAbstract { @@ -8,6 +8,18 @@ public class EntitySkeletonStray extends EntitySkeletonAbstract {
@@ -2015,7 +2015,7 @@ index 6cfc0ece3..c0ca1c76c 100644
return c(entitytypes, generatoraccess, enummobspawn, blockposition, random) && (enummobspawn == EnumMobSpawn.SPAWNER || generatoraccess.f(blockposition)); return c(entitytypes, generatoraccess, enummobspawn, blockposition, random) && (enummobspawn == EnumMobSpawn.SPAWNER || generatoraccess.f(blockposition));
} }
diff --git a/src/main/java/net/minecraft/server/EntitySkeletonWither.java b/src/main/java/net/minecraft/server/EntitySkeletonWither.java diff --git a/src/main/java/net/minecraft/server/EntitySkeletonWither.java b/src/main/java/net/minecraft/server/EntitySkeletonWither.java
index f415775ea..a8e76d49e 100644 index f415775ead..a8e76d49e7 100644
--- a/src/main/java/net/minecraft/server/EntitySkeletonWither.java --- a/src/main/java/net/minecraft/server/EntitySkeletonWither.java
+++ b/src/main/java/net/minecraft/server/EntitySkeletonWither.java +++ b/src/main/java/net/minecraft/server/EntitySkeletonWither.java
@@ -9,6 +9,18 @@ public class EntitySkeletonWither extends EntitySkeletonAbstract { @@ -9,6 +9,18 @@ public class EntitySkeletonWither extends EntitySkeletonAbstract {
@@ -2038,7 +2038,7 @@ index f415775ea..a8e76d49e 100644
protected void initPathfinder() { protected void initPathfinder() {
this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityPiglin.class, true)); this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityPiglin.class, true));
diff --git a/src/main/java/net/minecraft/server/EntitySlime.java b/src/main/java/net/minecraft/server/EntitySlime.java diff --git a/src/main/java/net/minecraft/server/EntitySlime.java b/src/main/java/net/minecraft/server/EntitySlime.java
index a4642cc73..ecf2059b0 100644 index a4642cc739..ecf2059b00 100644
--- a/src/main/java/net/minecraft/server/EntitySlime.java --- a/src/main/java/net/minecraft/server/EntitySlime.java
+++ b/src/main/java/net/minecraft/server/EntitySlime.java +++ b/src/main/java/net/minecraft/server/EntitySlime.java
@@ -324,7 +324,7 @@ public class EntitySlime extends EntityInsentient implements IMonster { @@ -324,7 +324,7 @@ public class EntitySlime extends EntityInsentient implements IMonster {
@@ -2051,7 +2051,7 @@ index a4642cc73..ecf2059b0 100644
this.setMot(vec3d.x, (double) this.dI(), vec3d.z); this.setMot(vec3d.x, (double) this.dI(), vec3d.z);
diff --git a/src/main/java/net/minecraft/server/EntitySnowman.java b/src/main/java/net/minecraft/server/EntitySnowman.java diff --git a/src/main/java/net/minecraft/server/EntitySnowman.java b/src/main/java/net/minecraft/server/EntitySnowman.java
index dfe615814..a9c44967b 100644 index dfe615814d..a9c44967b2 100644
--- a/src/main/java/net/minecraft/server/EntitySnowman.java --- a/src/main/java/net/minecraft/server/EntitySnowman.java
+++ b/src/main/java/net/minecraft/server/EntitySnowman.java +++ b/src/main/java/net/minecraft/server/EntitySnowman.java
@@ -13,13 +13,27 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt @@ -13,13 +13,27 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt
@@ -2110,7 +2110,7 @@ index dfe615814..a9c44967b 100644
} }
diff --git a/src/main/java/net/minecraft/server/EntitySpider.java b/src/main/java/net/minecraft/server/EntitySpider.java diff --git a/src/main/java/net/minecraft/server/EntitySpider.java b/src/main/java/net/minecraft/server/EntitySpider.java
index f6a677200..be1189d57 100644 index f6a6772002..be1189d57c 100644
--- a/src/main/java/net/minecraft/server/EntitySpider.java --- a/src/main/java/net/minecraft/server/EntitySpider.java
+++ b/src/main/java/net/minecraft/server/EntitySpider.java +++ b/src/main/java/net/minecraft/server/EntitySpider.java
@@ -11,14 +11,28 @@ public class EntitySpider extends EntityMonster { @@ -11,14 +11,28 @@ public class EntitySpider extends EntityMonster {
@@ -2143,7 +2143,7 @@ index f6a677200..be1189d57 100644
this.targetSelector.a(2, new EntitySpider.PathfinderGoalSpiderNearestAttackableTarget<>(this, EntityHuman.class)); this.targetSelector.a(2, new EntitySpider.PathfinderGoalSpiderNearestAttackableTarget<>(this, EntityHuman.class));
this.targetSelector.a(3, new EntitySpider.PathfinderGoalSpiderNearestAttackableTarget<>(this, EntityIronGolem.class)); this.targetSelector.a(3, new EntitySpider.PathfinderGoalSpiderNearestAttackableTarget<>(this, EntityIronGolem.class));
diff --git a/src/main/java/net/minecraft/server/EntityStrider.java b/src/main/java/net/minecraft/server/EntityStrider.java diff --git a/src/main/java/net/minecraft/server/EntityStrider.java b/src/main/java/net/minecraft/server/EntityStrider.java
index c123e9fe9..4cb4f60fd 100644 index c123e9fe97..4cb4f60fd4 100644
--- a/src/main/java/net/minecraft/server/EntityStrider.java --- a/src/main/java/net/minecraft/server/EntityStrider.java
+++ b/src/main/java/net/minecraft/server/EntityStrider.java +++ b/src/main/java/net/minecraft/server/EntityStrider.java
@@ -28,6 +28,18 @@ public class EntityStrider extends EntityAnimal implements ISteerable, ISaddleab @@ -28,6 +28,18 @@ public class EntityStrider extends EntityAnimal implements ISteerable, ISaddleab
@@ -2183,7 +2183,7 @@ index c123e9fe9..4cb4f60fd 100644
if (flag && !this.isSilent()) { if (flag && !this.isSilent()) {
this.world.playSound((EntityHuman) null, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_STRIDER_EAT, this.getSoundCategory(), 1.0F, 1.0F + (this.random.nextFloat() - this.random.nextFloat()) * 0.2F); this.world.playSound((EntityHuman) null, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_STRIDER_EAT, this.getSoundCategory(), 1.0F, 1.0F + (this.random.nextFloat() - this.random.nextFloat()) * 0.2F);
diff --git a/src/main/java/net/minecraft/server/EntityTameableAnimal.java b/src/main/java/net/minecraft/server/EntityTameableAnimal.java diff --git a/src/main/java/net/minecraft/server/EntityTameableAnimal.java b/src/main/java/net/minecraft/server/EntityTameableAnimal.java
index 9b0d937f0..0b0cca4e3 100644 index 9b0d937f06..0b0cca4e35 100644
--- a/src/main/java/net/minecraft/server/EntityTameableAnimal.java --- a/src/main/java/net/minecraft/server/EntityTameableAnimal.java
+++ b/src/main/java/net/minecraft/server/EntityTameableAnimal.java +++ b/src/main/java/net/minecraft/server/EntityTameableAnimal.java
@@ -130,6 +130,7 @@ public abstract class EntityTameableAnimal extends EntityAnimal { @@ -130,6 +130,7 @@ public abstract class EntityTameableAnimal extends EntityAnimal {
@@ -2195,7 +2195,7 @@ index 9b0d937f0..0b0cca4e3 100644
return entityliving == this.getOwner(); return entityliving == this.getOwner();
} }
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
index 86de40d15..903940feb 100644 index 86de40d15b..903940feb6 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java --- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -75,8 +75,19 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation @@ -75,8 +75,19 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -2219,7 +2219,7 @@ index 86de40d15..903940feb 100644
} }
diff --git a/src/main/java/net/minecraft/server/EntityVillagerTrader.java b/src/main/java/net/minecraft/server/EntityVillagerTrader.java diff --git a/src/main/java/net/minecraft/server/EntityVillagerTrader.java b/src/main/java/net/minecraft/server/EntityVillagerTrader.java
index 9985afb12..2f59c1c91 100644 index 9985afb124..2f59c1c91a 100644
--- a/src/main/java/net/minecraft/server/EntityVillagerTrader.java --- a/src/main/java/net/minecraft/server/EntityVillagerTrader.java
+++ b/src/main/java/net/minecraft/server/EntityVillagerTrader.java +++ b/src/main/java/net/minecraft/server/EntityVillagerTrader.java
@@ -23,6 +23,7 @@ public class EntityVillagerTrader extends EntityVillagerAbstract { @@ -23,6 +23,7 @@ public class EntityVillagerTrader extends EntityVillagerAbstract {
@@ -2248,7 +2248,7 @@ index 9985afb12..2f59c1c91 100644
public boolean a(EntityHuman entityhuman) { public boolean a(EntityHuman entityhuman) {
return world.purpurConfig.villagerTraderCanBeLeashed && !this.isLeashed(); return world.purpurConfig.villagerTraderCanBeLeashed && !this.isLeashed();
diff --git a/src/main/java/net/minecraft/server/EntityVindicator.java b/src/main/java/net/minecraft/server/EntityVindicator.java diff --git a/src/main/java/net/minecraft/server/EntityVindicator.java b/src/main/java/net/minecraft/server/EntityVindicator.java
index 58315906b..958f86481 100644 index 58315906b6..958f86481a 100644
--- a/src/main/java/net/minecraft/server/EntityVindicator.java --- a/src/main/java/net/minecraft/server/EntityVindicator.java
+++ b/src/main/java/net/minecraft/server/EntityVindicator.java +++ b/src/main/java/net/minecraft/server/EntityVindicator.java
@@ -17,14 +17,28 @@ public class EntityVindicator extends EntityIllagerAbstract { @@ -17,14 +17,28 @@ public class EntityVindicator extends EntityIllagerAbstract {
@@ -2281,7 +2281,7 @@ index 58315906b..958f86481 100644
this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true)); this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true));
this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, true)); this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, true));
diff --git a/src/main/java/net/minecraft/server/EntityWitch.java b/src/main/java/net/minecraft/server/EntityWitch.java diff --git a/src/main/java/net/minecraft/server/EntityWitch.java b/src/main/java/net/minecraft/server/EntityWitch.java
index e8d8935b8..0f6ec6bc6 100644 index e8d8935b8e..0f6ec6bc60 100644
--- a/src/main/java/net/minecraft/server/EntityWitch.java --- a/src/main/java/net/minecraft/server/EntityWitch.java
+++ b/src/main/java/net/minecraft/server/EntityWitch.java +++ b/src/main/java/net/minecraft/server/EntityWitch.java
@@ -24,6 +24,18 @@ public class EntityWitch extends EntityRaider implements IRangedEntity { @@ -24,6 +24,18 @@ public class EntityWitch extends EntityRaider implements IRangedEntity {
@@ -2317,7 +2317,7 @@ index e8d8935b8..0f6ec6bc6 100644
this.targetSelector.a(2, this.by); this.targetSelector.a(2, this.by);
this.targetSelector.a(3, this.bz); this.targetSelector.a(3, this.bz);
diff --git a/src/main/java/net/minecraft/server/EntityWolf.java b/src/main/java/net/minecraft/server/EntityWolf.java diff --git a/src/main/java/net/minecraft/server/EntityWolf.java b/src/main/java/net/minecraft/server/EntityWolf.java
index 5b519fa39..927d30825 100644 index 5b519fa394..927d308254 100644
--- a/src/main/java/net/minecraft/server/EntityWolf.java --- a/src/main/java/net/minecraft/server/EntityWolf.java
+++ b/src/main/java/net/minecraft/server/EntityWolf.java +++ b/src/main/java/net/minecraft/server/EntityWolf.java
@@ -33,9 +33,27 @@ public class EntityWolf extends EntityTameableAnimal implements IEntityAngerable @@ -33,9 +33,27 @@ public class EntityWolf extends EntityTameableAnimal implements IEntityAngerable
@@ -2357,7 +2357,7 @@ index 5b519fa39..927d30825 100644
this.targetSelector.a(2, new PathfinderGoalOwnerHurtTarget(this)); this.targetSelector.a(2, new PathfinderGoalOwnerHurtTarget(this));
this.targetSelector.a(3, (new PathfinderGoalHurtByTarget(this, new Class[0])).a(new Class[0])); // CraftBukkit - decompile error this.targetSelector.a(3, (new PathfinderGoalHurtByTarget(this, new Class[0])).a(new Class[0])); // CraftBukkit - decompile error
diff --git a/src/main/java/net/minecraft/server/EntityZoglin.java b/src/main/java/net/minecraft/server/EntityZoglin.java diff --git a/src/main/java/net/minecraft/server/EntityZoglin.java b/src/main/java/net/minecraft/server/EntityZoglin.java
index 28adbbebd..c0b5476ff 100644 index 28adbbebd1..c0b5476ff7 100644
--- a/src/main/java/net/minecraft/server/EntityZoglin.java --- a/src/main/java/net/minecraft/server/EntityZoglin.java
+++ b/src/main/java/net/minecraft/server/EntityZoglin.java +++ b/src/main/java/net/minecraft/server/EntityZoglin.java
@@ -21,6 +21,18 @@ public class EntityZoglin extends EntityMonster implements IMonster, IOglin { @@ -21,6 +21,18 @@ public class EntityZoglin extends EntityMonster implements IMonster, IOglin {
@@ -2422,7 +2422,7 @@ index 28adbbebd..c0b5476ff 100644
this.eM(); this.eM();
} }
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
index 9f117b20e..5189795ce 100644 index 9f117b20e2..5189795ce6 100644
--- a/src/main/java/net/minecraft/server/EntityZombie.java --- a/src/main/java/net/minecraft/server/EntityZombie.java
+++ b/src/main/java/net/minecraft/server/EntityZombie.java +++ b/src/main/java/net/minecraft/server/EntityZombie.java
@@ -46,6 +46,16 @@ public class EntityZombie extends EntityMonster { @@ -46,6 +46,16 @@ public class EntityZombie extends EntityMonster {
@@ -2455,7 +2455,7 @@ index 9f117b20e..5189795ce 100644
} }
diff --git a/src/main/java/net/minecraft/server/EntityZombieHusk.java b/src/main/java/net/minecraft/server/EntityZombieHusk.java diff --git a/src/main/java/net/minecraft/server/EntityZombieHusk.java b/src/main/java/net/minecraft/server/EntityZombieHusk.java
index 2daff8562..1130a7712 100644 index 2daff85620..1130a7712d 100644
--- a/src/main/java/net/minecraft/server/EntityZombieHusk.java --- a/src/main/java/net/minecraft/server/EntityZombieHusk.java
+++ b/src/main/java/net/minecraft/server/EntityZombieHusk.java +++ b/src/main/java/net/minecraft/server/EntityZombieHusk.java
@@ -9,6 +9,16 @@ public class EntityZombieHusk extends EntityZombie { @@ -9,6 +9,16 @@ public class EntityZombieHusk extends EntityZombie {
@@ -2476,7 +2476,7 @@ index 2daff8562..1130a7712 100644
public boolean jockeyOnlyBaby() { public boolean jockeyOnlyBaby() {
return world.purpurConfig.huskJockeyOnlyBaby; return world.purpurConfig.huskJockeyOnlyBaby;
diff --git a/src/main/java/net/minecraft/server/EntityZombieVillager.java b/src/main/java/net/minecraft/server/EntityZombieVillager.java diff --git a/src/main/java/net/minecraft/server/EntityZombieVillager.java b/src/main/java/net/minecraft/server/EntityZombieVillager.java
index cd796f5b8..cd12e5c74 100644 index cd796f5b86..cd12e5c74d 100644
--- a/src/main/java/net/minecraft/server/EntityZombieVillager.java --- a/src/main/java/net/minecraft/server/EntityZombieVillager.java
+++ b/src/main/java/net/minecraft/server/EntityZombieVillager.java +++ b/src/main/java/net/minecraft/server/EntityZombieVillager.java
@@ -28,6 +28,16 @@ public class EntityZombieVillager extends EntityZombie implements VillagerDataHo @@ -28,6 +28,16 @@ public class EntityZombieVillager extends EntityZombie implements VillagerDataHo
@@ -2497,7 +2497,7 @@ index cd796f5b8..cd12e5c74 100644
public boolean jockeyOnlyBaby() { public boolean jockeyOnlyBaby() {
return world.purpurConfig.zombieVillagerJockeyOnlyBaby; return world.purpurConfig.zombieVillagerJockeyOnlyBaby;
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 494d36085..9cde3693c 100644 index 494d36085e..9cde3693c5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -132,10 +132,12 @@ public class PurpurConfig { @@ -132,10 +132,12 @@ public class PurpurConfig {
@@ -2514,10 +2514,10 @@ index 494d36085..9cde3693c 100644
public static String serverModName = "Purpur"; public static String serverModName = "Purpur";
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 2f5bc77e0..103c494a9 100644 index 4e8a6992ab..87b8630315 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -266,36 +266,68 @@ public class PurpurWorldConfig { @@ -271,36 +271,68 @@ public class PurpurWorldConfig {
turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts); turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
} }
@@ -2586,7 +2586,7 @@ index 2f5bc77e0..103c494a9 100644
drownedJockeyOnlyBaby = getBoolean("mobs.drowned.jockey.only-babies", drownedJockeyOnlyBaby); drownedJockeyOnlyBaby = getBoolean("mobs.drowned.jockey.only-babies", drownedJockeyOnlyBaby);
drownedJockeyChance = getDouble("mobs.drowned.jockey.chance", drownedJockeyChance); drownedJockeyChance = getDouble("mobs.drowned.jockey.chance", drownedJockeyChance);
drownedJockeyTryExistingChickens = getBoolean("mobs.drowned.jockey.try-existing-chickens", drownedJockeyTryExistingChickens); drownedJockeyTryExistingChickens = getBoolean("mobs.drowned.jockey.try-existing-chickens", drownedJockeyTryExistingChickens);
@@ -310,16 +342,40 @@ public class PurpurWorldConfig { @@ -315,16 +347,40 @@ public class PurpurWorldConfig {
enderDragonMaxHealth = getDouble("mobs.ender_dragon.max-health", enderDragonMaxHealth); enderDragonMaxHealth = getDouble("mobs.ender_dragon.max-health", enderDragonMaxHealth);
} }
@@ -2627,7 +2627,7 @@ index 2f5bc77e0..103c494a9 100644
public float giantStepHeight = 2.0F; public float giantStepHeight = 2.0F;
public float giantJumpHeight = 1.0F; public float giantJumpHeight = 1.0F;
public double giantMaxHealth = 100.0D; public double giantMaxHealth = 100.0D;
@@ -328,6 +384,8 @@ public class PurpurWorldConfig { @@ -333,6 +389,8 @@ public class PurpurWorldConfig {
public boolean giantHaveAI = false; public boolean giantHaveAI = false;
public boolean giantHaveHostileAI = false; public boolean giantHaveHostileAI = false;
private void giantSettings() { private void giantSettings() {
@@ -2636,7 +2636,7 @@ index 2f5bc77e0..103c494a9 100644
giantStepHeight = (float) getDouble("mobs.giant.step-height", giantStepHeight); giantStepHeight = (float) getDouble("mobs.giant.step-height", giantStepHeight);
giantJumpHeight = (float) getDouble("mobs.giant.jump-height", giantJumpHeight); giantJumpHeight = (float) getDouble("mobs.giant.jump-height", giantJumpHeight);
giantMaxHealth = getDouble("mobs.giant.max-health", giantMaxHealth); giantMaxHealth = getDouble("mobs.giant.max-health", giantMaxHealth);
@@ -337,29 +395,93 @@ public class PurpurWorldConfig { @@ -342,29 +400,93 @@ public class PurpurWorldConfig {
giantHaveHostileAI = getBoolean("mobs.giant.have-hostile-ai", giantHaveHostileAI); giantHaveHostileAI = getBoolean("mobs.giant.have-hostile-ai", giantHaveHostileAI);
} }
@@ -2730,7 +2730,7 @@ index 2f5bc77e0..103c494a9 100644
public double phantomAttackedByCrystalRadius = 0.0D; public double phantomAttackedByCrystalRadius = 0.0D;
public float phantomAttackedByCrystalDamage = 1.0F; public float phantomAttackedByCrystalDamage = 1.0F;
public double phantomOrbitCrystalRadius = 0.0D; public double phantomOrbitCrystalRadius = 0.0D;
@@ -393,14 +515,36 @@ public class PurpurWorldConfig { @@ -398,14 +520,36 @@ public class PurpurWorldConfig {
phantomSpawnMaxPerAttempt = getInt("mobs.phantom.spawn.per-attempt.max", phantomSpawnMaxPerAttempt); phantomSpawnMaxPerAttempt = getInt("mobs.phantom.spawn.per-attempt.max", phantomSpawnMaxPerAttempt);
} }
@@ -2767,7 +2767,7 @@ index 2f5bc77e0..103c494a9 100644
polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString); polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString);
Item item = IRegistry.ITEM.get(new MinecraftKey(polarBearBreedableItemString)); Item item = IRegistry.ITEM.get(new MinecraftKey(polarBearBreedableItemString));
if (item != Items.AIR) polarBearBreedableItem = item; if (item != Items.AIR) polarBearBreedableItem = item;
@@ -413,13 +557,84 @@ public class PurpurWorldConfig { @@ -418,13 +562,84 @@ public class PurpurWorldConfig {
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller); rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
} }
@@ -2852,7 +2852,7 @@ index 2f5bc77e0..103c494a9 100644
public int villagerBrainTicks = 1; public int villagerBrainTicks = 1;
public boolean villagerUseBrainTicksOnlyWhenLagging = true; public boolean villagerUseBrainTicksOnlyWhenLagging = true;
public boolean villagerCanBeLeashed = false; public boolean villagerCanBeLeashed = false;
@@ -428,6 +643,8 @@ public class PurpurWorldConfig { @@ -433,6 +648,8 @@ public class PurpurWorldConfig {
public int villagerSpawnIronGolemRadius = 0; public int villagerSpawnIronGolemRadius = 0;
public int villagerSpawnIronGolemLimit = 0; public int villagerSpawnIronGolemLimit = 0;
private void villagerSettings() { private void villagerSettings() {
@@ -2861,7 +2861,7 @@ index 2f5bc77e0..103c494a9 100644
villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks); villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks);
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging); villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
@@ -437,47 +654,99 @@ public class PurpurWorldConfig { @@ -442,47 +659,99 @@ public class PurpurWorldConfig {
villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit); villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);
} }
@@ -2963,7 +2963,7 @@ index 2f5bc77e0..103c494a9 100644
zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens); zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens);
diff --git a/src/main/java/net/pl3x/purpur/controller/ControllerLookWASD.java b/src/main/java/net/pl3x/purpur/controller/ControllerLookWASD.java diff --git a/src/main/java/net/pl3x/purpur/controller/ControllerLookWASD.java b/src/main/java/net/pl3x/purpur/controller/ControllerLookWASD.java
new file mode 100644 new file mode 100644
index 000000000..828e1b873 index 0000000000..828e1b8730
--- /dev/null --- /dev/null
+++ b/src/main/java/net/pl3x/purpur/controller/ControllerLookWASD.java +++ b/src/main/java/net/pl3x/purpur/controller/ControllerLookWASD.java
@@ -0,0 +1,75 @@ @@ -0,0 +1,75 @@
@@ -3044,7 +3044,7 @@ index 000000000..828e1b873
+} +}
diff --git a/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASD.java b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASD.java diff --git a/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASD.java b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASD.java
new file mode 100644 new file mode 100644
index 000000000..6086f6311 index 0000000000..6086f63119
--- /dev/null --- /dev/null
+++ b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASD.java +++ b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASD.java
@@ -0,0 +1,86 @@ @@ -0,0 +1,86 @@
@@ -3136,7 +3136,7 @@ index 000000000..6086f6311
+} +}
diff --git a/src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHasRider.java b/src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHasRider.java diff --git a/src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHasRider.java b/src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHasRider.java
new file mode 100644 new file mode 100644
index 000000000..68acd09a6 index 0000000000..68acd09a6e
--- /dev/null --- /dev/null
+++ b/src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHasRider.java +++ b/src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHasRider.java
@@ -0,0 +1,21 @@ @@ -0,0 +1,21 @@
@@ -3163,7 +3163,7 @@ index 000000000..68acd09a6
+} +}
diff --git a/src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHorseHasRider.java b/src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHorseHasRider.java diff --git a/src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHorseHasRider.java b/src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHorseHasRider.java
new file mode 100644 new file mode 100644
index 000000000..c0ead608e index 0000000000..c0ead608ed
--- /dev/null --- /dev/null
+++ b/src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHorseHasRider.java +++ b/src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHorseHasRider.java
@@ -0,0 +1,18 @@ @@ -0,0 +1,18 @@
@@ -3186,7 +3186,7 @@ index 000000000..c0ead608e
+ } + }
+} +}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index 6f18a7898..8c300692f 100644 index 6f18a78980..8c300692fa 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1127,4 +1127,26 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -1127,4 +1127,26 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {