From ff4ffaa06665c3b58fc14f492e4705a7f098b576 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Fri, 20 Mar 2020 00:16:07 -0500 Subject: [PATCH] Add dolphin spit --- patches/server/0004-decompile-fixes.patch | 18 +- patches/server/0006-Ridables.patch | 398 ++++++++++++++++-- patches/server/0011-Give-giants-AI.patch | 10 +- .../server/0012-Illusioners-AI-settings.patch | 8 +- .../0013-Zombie-horse-naturally-spawn.patch | 6 +- ...bit-naturally-spawn-toast-and-killer.patch | 8 +- patches/server/0018-Cows-eat-mushrooms.patch | 12 +- .../server/0020-Pigs-give-saddle-back.patch | 8 +- ...oms-do-not-spawn-on-creative-players.patch | 8 +- ...0022-Phantoms-only-attack-insomniacs.patch | 10 +- ...ed-to-crystals-and-crystals-shoot-ph.patch | 18 +- ...24-Snowman-drop-and-put-back-pumpkin.patch | 8 +- .../0025-Ender-dragon-always-drop-egg.patch | 8 +- ...26-Ender-dragon-always-drop-full-exp.patch | 8 +- .../server/0030-Make-Iron-Golems-Swim.patch | 8 +- .../server/0032-Controllable-Minecarts.patch | 8 +- .../0041-Fix-pig-zombies-MC-56653.patch | 8 +- .../server/0045-Tulips-change-fox-type.patch | 10 +- ...rd-limit-for-pillager-outpost-spawns.patch | 8 +- .../0049-Add-EntityPortalReadyEvent.patch | 8 +- .../0050-Implement-elytra-settings.patch | 16 +- ...nt-configurable-villager-brain-ticks.patch | 8 +- ...n-for-zombies-targetting-turtle-eggs.patch | 8 +- ...-should-not-bypass-cramming-gamerule.patch | 10 +- ...geEvent-not-firing-for-all-use-cases.patch | 6 +- ...0088-Villagers-follow-emerald-blocks.patch | 6 +- .../0091-Allow-leashing-villagers.patch | 8 +- ...urable-search-radius-for-villagers-t.patch | 8 +- ...-skeleton-takes-wither-damage-option.patch | 6 +- ...o-disable-saving-projectiles-to-disk.patch | 10 +- .../server/0100-Add-item-entity-options.patch | 8 +- ...0103-Fix-the-dead-lagging-the-server.patch | 8 +- 32 files changed, 517 insertions(+), 163 deletions(-) diff --git a/patches/server/0004-decompile-fixes.patch b/patches/server/0004-decompile-fixes.patch index f5e59fdce..e6efac3d9 100644 --- a/patches/server/0004-decompile-fixes.patch +++ b/patches/server/0004-decompile-fixes.patch @@ -1,4 +1,4 @@ -From 78df18c4d04fbb1762b3561c4470429cf8f2aa13 Mon Sep 17 00:00:00 2001 +From 4eec81267bdf6837911ae4baa03e43d2985f230d Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Thu, 27 Feb 2020 13:39:06 -0600 Subject: [PATCH] decompile-fixes @@ -87,8 +87,9 @@ Subject: [PATCH] decompile-fixes .../net/minecraft/server/EntityParrot.java | 4 +-- .../net/minecraft/server/EntitySheep.java | 6 ++--- .../net/minecraft/server/EntityWitch.java | 4 +-- + .../java/net/minecraft/server/MathHelper.java | 2 +- .../server/WorldGenFeatureConfigured.java | 2 +- - 84 files changed, 223 insertions(+), 229 deletions(-) + 85 files changed, 224 insertions(+), 230 deletions(-) diff --git a/src/main/java/net/minecraft/server/BiomeBambooJungle.java b/src/main/java/net/minecraft/server/BiomeBambooJungle.java index de831ed87e..9c38f8907a 100644 @@ -1545,6 +1546,19 @@ index 7b6b1ad17b..1432d3f6bf 100644 this.targetSelector.a(2, this.bz); this.targetSelector.a(3, this.bA); } +diff --git a/src/main/java/net/minecraft/server/MathHelper.java b/src/main/java/net/minecraft/server/MathHelper.java +index 38b79b5b10..c4aa38ddf1 100644 +--- a/src/main/java/net/minecraft/server/MathHelper.java ++++ b/src/main/java/net/minecraft/server/MathHelper.java +@@ -7,7 +7,7 @@ import java.util.function.IntPredicate; + public class MathHelper { + + public static final float a = c(2.0F); +- private static final float[] b = (float[]) SystemUtils.a((Object) (new float[65536]), (afloat) -> { ++ private static final float[] b = SystemUtils.a((new float[65536]), (afloat) -> { // Purpur - decompile error + for (int i = 0; i < afloat.length; ++i) { + afloat[i] = (float) Math.sin((double) i * 3.141592653589793D * 2.0D / 65536.0D); + } diff --git a/src/main/java/net/minecraft/server/WorldGenFeatureConfigured.java b/src/main/java/net/minecraft/server/WorldGenFeatureConfigured.java index de8f1874af..73402f2b5a 100644 --- a/src/main/java/net/minecraft/server/WorldGenFeatureConfigured.java diff --git a/patches/server/0006-Ridables.patch b/patches/server/0006-Ridables.patch index cd8bc6169..04f182c0e 100644 --- a/patches/server/0006-Ridables.patch +++ b/patches/server/0006-Ridables.patch @@ -1,12 +1,14 @@ -From c485c84bef3d7371965e13ba58101a79149016c3 Mon Sep 17 00:00:00 2001 +From b3e0e8e52c442500c89de8a0e66adf5e1fc2e5bb Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Thu, 6 Feb 2020 19:53:59 -0600 Subject: [PATCH] Ridables --- + .../net/minecraft/server/AxisAlignedBB.java | 2 + .../server/ControllerLookDolphin.java | 4 +- .../net/minecraft/server/ControllerMove.java | 6 +- - .../java/net/minecraft/server/Entity.java | 63 +- + .../net/minecraft/server/DamageSource.java | 3 + + .../java/net/minecraft/server/Entity.java | 69 +- .../net/minecraft/server/EntityAgeable.java | 2 +- .../java/net/minecraft/server/EntityBat.java | 54 ++ .../java/net/minecraft/server/EntityBee.java | 118 +++- @@ -18,7 +20,7 @@ Subject: [PATCH] Ridables .../minecraft/server/EntityComplexPart.java | 7 + .../java/net/minecraft/server/EntityCow.java | 18 + .../net/minecraft/server/EntityCreeper.java | 76 +++ - .../net/minecraft/server/EntityDolphin.java | 40 +- + .../net/minecraft/server/EntityDolphin.java | 78 ++- .../net/minecraft/server/EntityDrowned.java | 24 +- .../minecraft/server/EntityEnderDragon.java | 87 ++- .../net/minecraft/server/EntityEnderman.java | 33 +- @@ -40,7 +42,7 @@ Subject: [PATCH] Ridables .../server/EntityIllagerIllusioner.java | 19 + .../minecraft/server/EntityInsentient.java | 48 +- .../net/minecraft/server/EntityIronGolem.java | 23 +- - .../net/minecraft/server/EntityLiving.java | 19 +- + .../net/minecraft/server/EntityLiving.java | 21 +- .../net/minecraft/server/EntityLlama.java | 54 +- .../minecraft/server/EntityLlamaTrader.java | 13 + .../net/minecraft/server/EntityMagmaCube.java | 17 + @@ -84,26 +86,50 @@ Subject: [PATCH] Ridables .../server/EntityZombieVillager.java | 17 + .../java/net/minecraft/server/FoodInfo.java | 1 + .../java/net/minecraft/server/ItemDye.java | 1 + + .../java/net/minecraft/server/MathHelper.java | 2 + .../net/minecraft/server/PathfinderGoal.java | 1 + .../minecraft/server/PathfinderGoalSwell.java | 5 +- - src/main/java/net/minecraft/server/Vec3D.java | 1 + - src/main/java/net/minecraft/server/World.java | 6 + - .../net/pl3x/purpur/PurpurWorldConfig.java | 585 ++++++++++++++++++ + .../minecraft/server/ProjectileHelper.java | 1 + + src/main/java/net/minecraft/server/Vec3D.java | 3 + + src/main/java/net/minecraft/server/World.java | 7 + + .../net/pl3x/purpur/PurpurWorldConfig.java | 591 ++++++++++++++++++ .../purpur/controller/ControllerLookWASD.java | 75 +++ .../purpur/controller/ControllerMoveWASD.java | 86 +++ .../controller/ControllerMoveWASDFlying.java | 53 ++ .../ControllerMoveWASDFlyingWithSpacebar.java | 61 ++ .../controller/ControllerMoveWASDWater.java | 43 ++ + .../net/pl3x/purpur/entity/DolphinSpit.java | 119 ++++ .../pathfinder/PathfinderGoalHasRider.java | 21 + .../craftbukkit/entity/CraftEntity.java | 27 + - 92 files changed, 3222 insertions(+), 201 deletions(-) + 97 files changed, 3402 insertions(+), 203 deletions(-) create mode 100644 src/main/java/net/pl3x/purpur/controller/ControllerLookWASD.java create mode 100644 src/main/java/net/pl3x/purpur/controller/ControllerMoveWASD.java create mode 100644 src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDFlying.java create mode 100644 src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDFlyingWithSpacebar.java create mode 100644 src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDWater.java + create mode 100644 src/main/java/net/pl3x/purpur/entity/DolphinSpit.java create mode 100644 src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHasRider.java +diff --git a/src/main/java/net/minecraft/server/AxisAlignedBB.java b/src/main/java/net/minecraft/server/AxisAlignedBB.java +index 1a3234bb47..71ac371f40 100644 +--- a/src/main/java/net/minecraft/server/AxisAlignedBB.java ++++ b/src/main/java/net/minecraft/server/AxisAlignedBB.java +@@ -104,6 +104,7 @@ public class AxisAlignedBB { + return new AxisAlignedBB(d3, d4, d5, d6, d7, d8); + } + ++ public AxisAlignedBB expandTowards(Vec3D vec3d) { return a(vec3d); } // Purpur - OBFHELPER + public AxisAlignedBB a(Vec3D vec3d) { + return this.b(vec3d.x, vec3d.y, vec3d.z); + } +@@ -155,6 +156,7 @@ public class AxisAlignedBB { + return new AxisAlignedBB(d3, d4, d5, d6, d7, d8); + } + ++ public AxisAlignedBB expand(double size) { return g(size); } // Purpur - OBFHELPER + public AxisAlignedBB g(double d0) { + return this.grow(d0, d0, d0); + } diff --git a/src/main/java/net/minecraft/server/ControllerLookDolphin.java b/src/main/java/net/minecraft/server/ControllerLookDolphin.java index 1d9ba04daa..2bade947ee 100644 --- a/src/main/java/net/minecraft/server/ControllerLookDolphin.java @@ -142,8 +168,33 @@ index a5c4cbb67f..efe6afde9b 100644 protected ControllerMove.Operation h; public ControllerMove(EntityInsentient entityinsentient) { +diff --git a/src/main/java/net/minecraft/server/DamageSource.java b/src/main/java/net/minecraft/server/DamageSource.java +index 816d301f1c..f7344d3aec 100644 +--- a/src/main/java/net/minecraft/server/DamageSource.java ++++ b/src/main/java/net/minecraft/server/DamageSource.java +@@ -57,6 +57,7 @@ public class DamageSource { + return new EntityDamageSource("mob", entityliving); + } + ++ public static DamageSource indirectMobAttack(Entity entity, EntityLiving entityliving) { return a(entity, entityliving); } // Purpur - OBFHELPER + public static DamageSource a(Entity entity, EntityLiving entityliving) { + return new EntityDamageSourceIndirect("mob", entity, entityliving); + } +@@ -101,10 +102,12 @@ public class DamageSource { + return new DamageSourceNetherBed(); + } + ++ public boolean isProjectile() { return b(); } // Purpur - OBFHELPER + public boolean b() { + return this.C; + } + ++ public DamageSource setProjectile() { return c(); } // Purpur - OBFHELPER + public DamageSource c() { + this.C = true; + return this; diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 181f1742ac..8343be49d1 100644 +index 181f1742ac..30fff1a466 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -78,7 +78,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -182,7 +233,34 @@ index 181f1742ac..8343be49d1 100644 private float headHeight; // CraftBukkit start public boolean persist = true; -@@ -1384,6 +1384,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -913,6 +913,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke + return vec3d1; + } + ++ public static double getHorizontalDistanceSqr(Vec3D vec3d) { return b(vec3d); } // Purpur - OBFHELPER + public static double b(Vec3D vec3d) { + return vec3d.x * vec3d.x + vec3d.z * vec3d.z; + } +@@ -1239,6 +1240,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke + return flag; + } + ++ public boolean isInBubbleColumn() { return l(); } // Purpur - OBFHELPER + private boolean l() { + return this.world.getType(new BlockPosition(this)).getBlock() == Blocks.BUBBLE_COLUMN; + } +@@ -1252,8 +1254,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke + return this.isInWater() || this.isInRain() || this.l(); + } + ++ public boolean isInWaterOrBubbleColumn() { return az(); } // Purpur - OBFHELPER + public boolean az() { +- return this.isInWater() || this.l(); ++ return this.isInWater() || this.isInBubbleColumn(); // Purpur + } + + public boolean aA() { +@@ -1384,6 +1387,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return this.inLava; } @@ -190,7 +268,7 @@ index 181f1742ac..8343be49d1 100644 public void a(float f, Vec3D vec3d) { Vec3D vec3d1 = a(vec3d, f, this.yaw); -@@ -2212,7 +2213,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2212,7 +2216,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } else { this.passengers.add(entity); } @@ -205,7 +283,7 @@ index 181f1742ac..8343be49d1 100644 } return true; // CraftBukkit } -@@ -2247,6 +2254,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2247,6 +2257,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return false; } // Spigot end @@ -218,7 +296,15 @@ index 181f1742ac..8343be49d1 100644 this.passengers.remove(entity); entity.j = 60; } -@@ -2633,6 +2646,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2415,6 +2431,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke + this.setFlag(4, flag); + } + ++ public boolean isGlowing() { return bt(); } // Purpur - OBFHELPER + public boolean bt() { + return this.glowing || this.world.isClientSide && this.getFlag(6); + } +@@ -2633,6 +2650,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke public void setHeadRotation(float f) {} @@ -226,7 +312,7 @@ index 181f1742ac..8343be49d1 100644 public void l(float f) {} public boolean bA() { -@@ -3478,4 +3492,43 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -3478,4 +3496,43 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke void accept(Entity entity, double d0, double d1, double d2); } @@ -992,10 +1078,31 @@ index 45dfc8104a..48fd8e716b 100644 + // Purpur end } diff --git a/src/main/java/net/minecraft/server/EntityDolphin.java b/src/main/java/net/minecraft/server/EntityDolphin.java -index ce78586ea0..e5c914eb14 100644 +index ce78586ea0..81570b37bb 100644 --- a/src/main/java/net/minecraft/server/EntityDolphin.java +++ b/src/main/java/net/minecraft/server/EntityDolphin.java -@@ -23,6 +23,23 @@ public class EntityDolphin extends EntityWaterAnimal { +@@ -1,5 +1,12 @@ + package net.minecraft.server; + ++// Purpur start ++import net.pl3x.purpur.entity.DolphinSpit; ++import org.bukkit.Location; ++import org.bukkit.craftbukkit.entity.CraftPlayer; ++import org.bukkit.util.Vector; ++// Purpur end ++ + import java.util.EnumSet; + import java.util.List; + import java.util.Random; +@@ -15,6 +22,7 @@ public class EntityDolphin extends EntityWaterAnimal { + public static final Predicate b = (entityitem) -> { + return !entityitem.p() && entityitem.isAlive() && entityitem.isInWater(); + }; ++ private int spitCooldown; // Purpur + + public EntityDolphin(EntityTypes entitytypes, World world) { + super(entitytypes, world); +@@ -23,6 +31,50 @@ public class EntityDolphin extends EntityWaterAnimal { this.setCanPickupLoot(true); } @@ -1014,12 +1121,39 @@ index ce78586ea0..e5c914eb14 100644 + public boolean requireShiftToMount() { + return world.purpurConfig.dolphinRequireShiftToMount; + } ++ ++ @Override ++ public boolean onSpacebar() { ++ if (spitCooldown == 0 && hasRider()) { ++ spitCooldown = world.purpurConfig.dolphinSpitCooldown; ++ if (!hasRider()) { ++ return false; ++ } ++ ++ CraftPlayer player = (CraftPlayer) getRider().getBukkitEntity(); ++ if (!player.hasPermission("allow.special.dolphin")) { ++ return false; ++ } ++ ++ Location loc = player.getEyeLocation(); ++ loc.setPitch(loc.getPitch() - 10); ++ Vector target = loc.getDirection().normalize().multiply(10).add(loc.toVector()); ++ ++ DolphinSpit spit = new DolphinSpit(world, this); ++ spit.shoot(target.getX() - locX(), target.getY() - locY(), target.getZ() - locZ(), world.purpurConfig.dolphinSpitSpeed, 5.0F); ++ ++ world.addEntity(spit); ++ playSound(SoundEffects.ENTITY_DOLPHIN_ATTACK, 1.0F, 1.0F + (random.nextFloat() - random.nextFloat()) * 0.2F); ++ return true; ++ } ++ return false; ++ } + // Purpur end + @Nullable @Override public GroupDataEntity prepare(GeneratorAccess generatoraccess, DifficultyDamageScaler difficultydamagescaler, EnumMobSpawn enummobspawn, @Nullable GroupDataEntity groupdataentity, @Nullable NBTTagCompound nbttagcompound) { -@@ -97,6 +114,7 @@ public class EntityDolphin extends EntityWaterAnimal { +@@ -97,6 +149,7 @@ public class EntityDolphin extends EntityWaterAnimal { protected void initPathfinder() { this.goalSelector.a(0, new PathfinderGoalBreath(this)); this.goalSelector.a(0, new PathfinderGoalWater(this)); @@ -1027,7 +1161,7 @@ index ce78586ea0..e5c914eb14 100644 this.goalSelector.a(1, new EntityDolphin.b(this)); this.goalSelector.a(2, new EntityDolphin.c(this, 4.0D)); this.goalSelector.a(4, new PathfinderGoalRandomSwim(this, 1.0D, 10)); -@@ -107,6 +125,7 @@ public class EntityDolphin extends EntityWaterAnimal { +@@ -107,6 +160,7 @@ public class EntityDolphin extends EntityWaterAnimal { this.goalSelector.a(8, new EntityDolphin.d()); this.goalSelector.a(8, new PathfinderGoalFollowBoat(this)); this.goalSelector.a(9, new PathfinderGoalAvoidTarget<>(this, EntityGuardian.class, 8.0F, 1.0D, 1.0D)); @@ -1035,7 +1169,7 @@ index ce78586ea0..e5c914eb14 100644 this.targetSelector.a(1, (new PathfinderGoalHurtByTarget(this, new Class[]{EntityGuardian.class})).a(new Class[0])); // CraftBukkit - decompile error } -@@ -163,7 +182,7 @@ public class EntityDolphin extends EntityWaterAnimal { +@@ -163,7 +217,7 @@ public class EntityDolphin extends EntityWaterAnimal { @Override protected boolean n(Entity entity) { @@ -1044,7 +1178,17 @@ index ce78586ea0..e5c914eb14 100644 } @Override -@@ -459,7 +478,7 @@ public class EntityDolphin extends EntityWaterAnimal { +@@ -196,6 +250,9 @@ public class EntityDolphin extends EntityWaterAnimal { + @Override + public void tick() { + super.tick(); ++ if (spitCooldown > 0) { ++ spitCooldown--; ++ } + if (!this.isNoAI()) { + if (this.ay()) { + this.b(2400); +@@ -459,7 +516,7 @@ public class EntityDolphin extends EntityWaterAnimal { private int b; @@ -1053,7 +1197,7 @@ index ce78586ea0..e5c914eb14 100644 @Override public boolean a() { -@@ -527,7 +546,7 @@ public class EntityDolphin extends EntityWaterAnimal { +@@ -527,7 +584,7 @@ public class EntityDolphin extends EntityWaterAnimal { } } @@ -1062,7 +1206,7 @@ index ce78586ea0..e5c914eb14 100644 private final EntityDolphin i; -@@ -537,7 +556,20 @@ public class EntityDolphin extends EntityWaterAnimal { +@@ -537,7 +594,20 @@ public class EntityDolphin extends EntityWaterAnimal { } @Override @@ -2337,9 +2481,18 @@ index 7f6a567760..288a043fbd 100644 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 -index ad474500e2..17ff8a9fc3 100644 +index ad474500e2..4049ab0273 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java +@@ -75,7 +75,7 @@ public abstract class EntityLiving extends Entity { + public int maxNoDamageTicks; + public final float aG; + public final float aH; +- public float aI; ++ public float aI; public float getBodyRotation() { return aI; } // Purpur - OBFHELPER + public float aJ; + public float aK; + public float aL; @@ -92,9 +92,9 @@ public abstract class EntityLiving extends Entity { protected int aW; protected int getKillCount() { return this.aW; } // Paper - OBFHELPER public float lastDamage; @@ -4874,6 +5027,26 @@ index da49f6e5ae..7b5d602649 100644 public EnumColor d() { return this.b; } +diff --git a/src/main/java/net/minecraft/server/MathHelper.java b/src/main/java/net/minecraft/server/MathHelper.java +index c4aa38ddf1..3d52a396e6 100644 +--- a/src/main/java/net/minecraft/server/MathHelper.java ++++ b/src/main/java/net/minecraft/server/MathHelper.java +@@ -263,6 +263,7 @@ public class MathHelper { + return (d0 - d1) / (d2 - d1); + } + ++ public static double atan2(double d0, double d1) { return d(d0, d1); } // Purpur - OBFHELPER + public static double d(double d0, double d1) { + double d2 = d1 * d1 + d0 * d0; + +@@ -407,6 +408,7 @@ public class MathHelper { + return i; + } + ++ public static float lerp(float f, float f1, float f2) { return g(f, f1, f2); } // Purpur - OBFHELPER + public static float g(float f, float f1, float f2) { + return f1 + f * (f2 - f1); + } diff --git a/src/main/java/net/minecraft/server/PathfinderGoal.java b/src/main/java/net/minecraft/server/PathfinderGoal.java index 738c510706..2fddbb3ef1 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoal.java @@ -4909,11 +5082,39 @@ index e07c7674a5..3c077b6870 100644 if (this.b == null) { this.a.a(-1); } else if (this.a.h((Entity) this.b) > 49.0D) { +diff --git a/src/main/java/net/minecraft/server/ProjectileHelper.java b/src/main/java/net/minecraft/server/ProjectileHelper.java +index 1b796ba5b3..7dbe3500e9 100644 +--- a/src/main/java/net/minecraft/server/ProjectileHelper.java ++++ b/src/main/java/net/minecraft/server/ProjectileHelper.java +@@ -15,6 +15,7 @@ public final class ProjectileHelper { + }, entity.getBoundingBox().a(entity.getMot()).g(1.0D)); + } + ++ public static MovingObjectPosition getHitResult(Entity entity, AxisAlignedBB aabb, Predicate predicate, RayTrace.BlockCollisionOption option, boolean flag) { return a(entity, aabb, predicate, option, flag); } // Purpur - OBFHELPER + public static MovingObjectPosition a(Entity entity, AxisAlignedBB axisalignedbb, Predicate predicate, RayTrace.BlockCollisionOption raytrace_blockcollisionoption, boolean flag) { + return a(entity, flag, false, (Entity) null, raytrace_blockcollisionoption, false, predicate, axisalignedbb); + } diff --git a/src/main/java/net/minecraft/server/Vec3D.java b/src/main/java/net/minecraft/server/Vec3D.java -index 0c7f094e54..212af252be 100644 +index 0c7f094e54..62a0810062 100644 --- a/src/main/java/net/minecraft/server/Vec3D.java +++ b/src/main/java/net/minecraft/server/Vec3D.java -@@ -89,6 +89,7 @@ public class Vec3D implements IPosition { +@@ -27,6 +27,7 @@ public class Vec3D implements IPosition { + return new Vec3D(vec3d.x - this.x, vec3d.y - this.y, vec3d.z - this.z); + } + ++ public Vec3D normalize() { return d(); } // Purpur - OBFHELPER + public Vec3D d() { + double d0 = (double) MathHelper.sqrt(this.x * this.x + this.y * this.y + this.z * this.z); + +@@ -81,6 +82,7 @@ public class Vec3D implements IPosition { + return d3 * d3 + d4 * d4 + d5 * d5; + } + ++ public Vec3D scale(double scale) { return a(scale); } // Purpur - OBFHELPER + public Vec3D a(double d0) { + return this.d(d0, d0, d0); + } +@@ -89,6 +91,7 @@ public class Vec3D implements IPosition { return this.d(vec3d.x, vec3d.y, vec3d.z); } @@ -4922,10 +5123,18 @@ index 0c7f094e54..212af252be 100644 return new Vec3D(this.x * d0, this.y * d1, this.z * d2); } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 5afd548aa0..afd5940e77 100644 +index 5afd548aa0..0cf3a64fcf 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1601,4 +1601,10 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -987,6 +987,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { + } + } + ++ public boolean containsMaterial(AxisAlignedBB aabb, Material mat) { return a(aabb, mat); } // Purpur - OBFHELPER + public boolean a(AxisAlignedBB axisalignedbb, Material material) { + int i = MathHelper.floor(axisalignedbb.minX); + int j = MathHelper.f(axisalignedbb.maxX); +@@ -1601,4 +1602,10 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @Override public BiomeManager d() { return this.biomeManager; } @@ -4937,10 +5146,10 @@ index 5afd548aa0..afd5940e77 100644 + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index eda37fa43f..ad96353afd 100644 +index eda37fa43f..fafbea673e 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -64,4 +64,589 @@ public class PurpurWorldConfig { +@@ -64,4 +64,595 @@ public class PurpurWorldConfig { PurpurConfig.config.addDefault("world-settings.default." + path, def); return PurpurConfig.config.getString("world-settings." + worldName + "." + path, PurpurConfig.config.getString("world-settings.default." + path)); } @@ -5037,10 +5246,16 @@ index eda37fa43f..ad96353afd 100644 + public boolean dolphinRidable = false; + public boolean dolphinRidableInWater = false; + public boolean dolphinRequireShiftToMount = true; ++ public int dolphinSpitCooldown = 20; ++ public float dolphinSpitSpeed = 1.0F; ++ public float dolphinSpitDamage = 2.0F; + private void dolphinSettings() { + dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); + dolphinRidableInWater = getBoolean("mobs.dolphin.ridable-in-water", dolphinRidableInWater); + dolphinRequireShiftToMount = getBoolean("mobs.dolphin.require-shift-to-mount", dolphinRequireShiftToMount); ++ dolphinSpitCooldown = getInt("mobs.dolphin.spit.cooldown", dolphinSpitCooldown); ++ dolphinSpitSpeed = (float) getDouble("mobs.dolphin.spit.speed", dolphinSpitSpeed); ++ dolphinSpitDamage = (float) getDouble("mobs.dolphin.spit.damage", dolphinSpitDamage); + } + + public boolean donkeyRidableInWater = false; @@ -5878,6 +6093,131 @@ index 0000000000..e75e580670 + setStrafe(entity.getStrafe()); + } +} +diff --git a/src/main/java/net/pl3x/purpur/entity/DolphinSpit.java b/src/main/java/net/pl3x/purpur/entity/DolphinSpit.java +new file mode 100644 +index 0000000000..7189cc569f +--- /dev/null ++++ b/src/main/java/net/pl3x/purpur/entity/DolphinSpit.java +@@ -0,0 +1,119 @@ ++package net.pl3x.purpur.entity; ++ ++import net.minecraft.server.DamageSource; ++import net.minecraft.server.Entity; ++import net.minecraft.server.EntityDolphin; ++import net.minecraft.server.EntityLiving; ++import net.minecraft.server.EntityLlamaSpit; ++import net.minecraft.server.EntityTypes; ++import net.minecraft.server.IProjectile; ++import net.minecraft.server.Material; ++import net.minecraft.server.MathHelper; ++import net.minecraft.server.MovingObjectPosition; ++import net.minecraft.server.MovingObjectPositionEntity; ++import net.minecraft.server.NBTTagCompound; ++import net.minecraft.server.Packet; ++import net.minecraft.server.PacketPlayOutSpawnEntity; ++import net.minecraft.server.Particles; ++import net.minecraft.server.ProjectileHelper; ++import net.minecraft.server.RayTrace; ++import net.minecraft.server.Vec3D; ++import net.minecraft.server.World; ++import net.minecraft.server.WorldServer; ++import org.bukkit.craftbukkit.event.CraftEventFactory; ++ ++public class DolphinSpit extends EntityLlamaSpit implements IProjectile { ++ public EntityLiving dolphin; ++ public int ticksLived; ++ ++ public DolphinSpit(EntityTypes entitytypes, World world) { ++ super(entitytypes, world); ++ } ++ ++ public DolphinSpit(World world, EntityDolphin dolphin) { ++ this(EntityTypes.LLAMA_SPIT, world); ++ this.dolphin = dolphin; ++ ++ setPosition(dolphin.locX() - (double) (dolphin.getWidth() + 1.0F) * 0.5D * (double) MathHelper.sin(dolphin.getBodyRotation() * ((float) Math.PI / 180F)), dolphin.getHeadY() - (double) 0.1F, dolphin.locZ() + (double) (dolphin.getWidth() + 1.0F) * 0.5D * (double) MathHelper.cos(dolphin.getBodyRotation() * ((float) Math.PI / 180F))); ++ } ++ ++ @Override ++ public boolean canSaveToDisk() { ++ return false; ++ } ++ ++ @Override ++ public void tick() { ++ setFlag(6, isGlowing()); ++ entityBaseTick(); ++ ++ Vec3D mot = getMot(); ++ ++ MovingObjectPosition hitResult = ProjectileHelper.getHitResult(this, getBoundingBox().expandTowards(mot).expand(1.0D), (entity) -> !entity.isSpectator() && entity != dolphin && entity != dolphin.getRider(), RayTrace.BlockCollisionOption.OUTLINE, true); ++ if (hitResult != null) { ++ onHit(hitResult); ++ } ++ ++ mot = mot.scale(0.99F); ++ setMot(mot); ++ setPosition(locX() + mot.x, locY() + mot.y, locZ() + mot.z); ++ ++ for (int i = 0; i < 5; i++) { ++ ((WorldServer) world).sendParticles(null, Particles.BUBBLE, ++ locX() + random.nextFloat() / 2 - 0.25F, ++ locY() + random.nextFloat() / 2 - 0.25F, ++ locZ() + random.nextFloat() / 2 - 0.25F, ++ 1, 0, 0, 0, 0, true); ++ } ++ ++ if (++ticksLived > 20) { ++ die(); ++ } ++ } ++ ++ @Override ++ public void shoot(double x, double y, double z, float speed, float inaccuracy) { ++ setMot(new Vec3D(x, y, z).normalize().add( ++ random.nextGaussian() * (double) 0.0075F * (double) inaccuracy, ++ random.nextGaussian() * (double) 0.0075F * (double) inaccuracy, ++ random.nextGaussian() * (double) 0.0075F * (double) inaccuracy) ++ .scale(speed)); ++ } ++ ++ public void onHit(MovingObjectPosition rayTrace) { ++ CraftEventFactory.callProjectileHitEvent(this, rayTrace); ++ ++ switch (rayTrace.getType()) { ++ case BLOCK: ++ die(); ++ break; ++ case ENTITY: ++ if (dolphin != null) { ++ Entity entity = ((MovingObjectPositionEntity) rayTrace).getEntity(); ++ entity.damageEntity(DamageSource.indirectMobAttack(this, dolphin).setProjectile(), world.purpurConfig.dolphinSpitDamage); ++ } ++ die(); ++ } ++ } ++ ++ @Override ++ public void a(MovingObjectPosition movingobjectposition) { ++ } ++ ++ @Override ++ protected void initDatawatcher() { ++ } ++ ++ @Override ++ protected void a(NBTTagCompound nbttagcompound) { ++ } ++ ++ @Override ++ protected void b(NBTTagCompound nbttagcompound) { ++ } ++ ++ @Override ++ public Packet L() { ++ return new PacketPlayOutSpawnEntity(this); ++ } ++} 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 index 0000000000..6e50344c07 diff --git a/patches/server/0011-Give-giants-AI.patch b/patches/server/0011-Give-giants-AI.patch index 623f9f915..aa82f36ad 100644 --- a/patches/server/0011-Give-giants-AI.patch +++ b/patches/server/0011-Give-giants-AI.patch @@ -1,4 +1,4 @@ -From dace65f4318c5f01cbec9bedb20ff439dd433269 Mon Sep 17 00:00:00 2001 +From 99c20d329c4f6dba4ca3674effb9600c66684fac Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sun, 12 May 2019 00:43:12 -0500 Subject: [PATCH] Give giants AI @@ -10,7 +10,7 @@ Subject: [PATCH] Give giants AI 3 files changed, 55 insertions(+), 4 deletions(-) diff --git a/src/main/java/net/minecraft/server/EntityGiantZombie.java b/src/main/java/net/minecraft/server/EntityGiantZombie.java -index ff8a41a53..4296aaa07 100644 +index ff8a41a539..4296aaa074 100644 --- a/src/main/java/net/minecraft/server/EntityGiantZombie.java +++ b/src/main/java/net/minecraft/server/EntityGiantZombie.java @@ -23,6 +23,45 @@ public class EntityGiantZombie extends EntityMonster { @@ -78,7 +78,7 @@ index ff8a41a53..4296aaa07 100644 } } diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index 240bbee36..3ef4f8db4 100644 +index 240bbee360..3ef4f8db46 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -874,6 +874,7 @@ public abstract class EntityInsentient extends EntityLiving { @@ -98,10 +98,10 @@ index 240bbee36..3ef4f8db4 100644 float f = difficultydamagescaler.d(); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index ad96353af..22a8f2da3 100644 +index fafbea673e..b5d9fc76b6 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -249,12 +249,22 @@ public class PurpurWorldConfig { +@@ -255,12 +255,22 @@ public class PurpurWorldConfig { public boolean giantRequireShiftToMount = true; public float giantStepHeight = 2.0F; public float giantJumpHeight = 1.0F; diff --git a/patches/server/0012-Illusioners-AI-settings.patch b/patches/server/0012-Illusioners-AI-settings.patch index 0f872df8d..beae70648 100644 --- a/patches/server/0012-Illusioners-AI-settings.patch +++ b/patches/server/0012-Illusioners-AI-settings.patch @@ -1,4 +1,4 @@ -From 486038e64497bd1f139a23d2bdc0bc2145bdcb0e Mon Sep 17 00:00:00 2001 +From 3e1e3d6787211042f3d69085b3ba3edc59cfb904 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Fri, 5 Jul 2019 11:09:25 -0500 Subject: [PATCH] Illusioners AI settings @@ -9,7 +9,7 @@ Subject: [PATCH] Illusioners AI settings 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java -index 3e6722cfc..13545a8ef 100644 +index 3e6722cfce..13545a8efe 100644 --- a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java +++ b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java @@ -58,9 +58,9 @@ public class EntityIllagerIllusioner extends EntityIllagerWizard implements IRan @@ -26,10 +26,10 @@ index 3e6722cfc..13545a8ef 100644 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 22a8f2da3..ce17384c1 100644 +index b5d9fc76b6..749fa33e55 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -293,10 +293,16 @@ public class PurpurWorldConfig { +@@ -299,10 +299,16 @@ public class PurpurWorldConfig { public boolean illusionerRidable = false; public boolean illusionerRidableInWater = false; public boolean illusionerRequireShiftToMount = true; diff --git a/patches/server/0013-Zombie-horse-naturally-spawn.patch b/patches/server/0013-Zombie-horse-naturally-spawn.patch index 7256c00f2..cba7cb8f2 100644 --- a/patches/server/0013-Zombie-horse-naturally-spawn.patch +++ b/patches/server/0013-Zombie-horse-naturally-spawn.patch @@ -1,4 +1,4 @@ -From c5f15c41693d0d4c58c5e42fb342857b4423c5ca Mon Sep 17 00:00:00 2001 +From ccda13385828a4232674fa9e3d4896a1490c2745 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sun, 7 Jul 2019 19:52:16 -0500 Subject: [PATCH] Zombie horse naturally spawn @@ -38,10 +38,10 @@ index ef021bca36..3e5dc93dff 100644 this.strikeLightning(new EntityLightning(this, (double) blockposition.getX() + 0.5D, (double) blockposition.getY(), (double) blockposition.getZ() + 0.5D, flag1), org.bukkit.event.weather.LightningStrikeEvent.Cause.WEATHER); // CraftBukkit diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index ce17384c1d..300622e50d 100644 +index 749fa33e55..1a8b8de8dd 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -643,9 +643,11 @@ public class PurpurWorldConfig { +@@ -649,9 +649,11 @@ public class PurpurWorldConfig { public boolean zombieHorseCanSwim = false; public boolean zombieHorseRidableInWater = false; diff --git a/patches/server/0015-Rabbit-naturally-spawn-toast-and-killer.patch b/patches/server/0015-Rabbit-naturally-spawn-toast-and-killer.patch index 325dc1a23..00bd80e53 100644 --- a/patches/server/0015-Rabbit-naturally-spawn-toast-and-killer.patch +++ b/patches/server/0015-Rabbit-naturally-spawn-toast-and-killer.patch @@ -1,4 +1,4 @@ -From e87ff84c6adb7dab20e66a16de4ff8bea997c582 Mon Sep 17 00:00:00 2001 +From bee73c93e9351532bf2778c1950d85fc34da5be8 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 31 Aug 2019 17:47:11 -0500 Subject: [PATCH] Rabbit naturally spawn toast and killer @@ -9,7 +9,7 @@ Subject: [PATCH] Rabbit naturally spawn toast and killer 2 files changed, 18 insertions(+) diff --git a/src/main/java/net/minecraft/server/EntityRabbit.java b/src/main/java/net/minecraft/server/EntityRabbit.java -index 9040ab1c5..0232226f0 100644 +index 9040ab1c54..0232226f06 100644 --- a/src/main/java/net/minecraft/server/EntityRabbit.java +++ b/src/main/java/net/minecraft/server/EntityRabbit.java @@ -364,6 +364,10 @@ public class EntityRabbit extends EntityAnimal { @@ -41,10 +41,10 @@ index 9040ab1c5..0232226f0 100644 int i = this.random.nextInt(100); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index cc2bddd94..ce677915c 100644 +index e38d0bea2c..7df44adc8a 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -426,10 +426,14 @@ public class PurpurWorldConfig { +@@ -432,10 +432,14 @@ public class PurpurWorldConfig { public boolean rabbitRidable = false; public boolean rabbitRidableInWater = false; public boolean rabbitRequireShiftToMount = true; diff --git a/patches/server/0018-Cows-eat-mushrooms.patch b/patches/server/0018-Cows-eat-mushrooms.patch index f155ce06b..9ce01ed96 100644 --- a/patches/server/0018-Cows-eat-mushrooms.patch +++ b/patches/server/0018-Cows-eat-mushrooms.patch @@ -1,4 +1,4 @@ -From 3c70f3542a9f6762f720e1a1013b548d810b9fc2 Mon Sep 17 00:00:00 2001 +From 8db8894db3cd06a5d0880d097255be17b611cc69 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 4 May 2019 01:10:30 -0500 Subject: [PATCH] Cows eat mushrooms @@ -11,10 +11,10 @@ Subject: [PATCH] Cows eat mushrooms 4 files changed, 77 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 8343be49d1..78e0c6a396 100644 +index 30fff1a466..3b52f44b5f 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1136,6 +1136,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1137,6 +1137,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return false; } @@ -22,7 +22,7 @@ index 8343be49d1..78e0c6a396 100644 public void a(SoundEffect soundeffect, float f, float f1) { if (!this.isSilent()) { this.world.playSound((EntityHuman) null, this.locX(), this.locY(), this.locZ(), soundeffect, this.getSoundCategory(), f, f1); -@@ -2673,6 +2674,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2677,6 +2678,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.invulnerable = flag; } @@ -124,7 +124,7 @@ index 723a9fa1ee..f56fd7c012 100644 public EntityCow createChild(EntityAgeable entityageable) { return (EntityCow) EntityTypes.COW.a(this.world); diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 17ff8a9fc3..6ca11091c9 100644 +index 4049ab0273..47b19b7754 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2812,8 +2812,9 @@ public abstract class EntityLiving extends Entity { @@ -140,7 +140,7 @@ index 17ff8a9fc3..6ca11091c9 100644 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 9b60d17bdf..661dcce493 100644 +index 8ecf47f25a..d160efa0fe 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -145,10 +145,12 @@ public class PurpurWorldConfig { diff --git a/patches/server/0020-Pigs-give-saddle-back.patch b/patches/server/0020-Pigs-give-saddle-back.patch index 65c27b6c6..a5cbde80b 100644 --- a/patches/server/0020-Pigs-give-saddle-back.patch +++ b/patches/server/0020-Pigs-give-saddle-back.patch @@ -1,4 +1,4 @@ -From d8620f5ada8be71628b2ef0398d06e5c220ef425 Mon Sep 17 00:00:00 2001 +From afe89d5c1e49db850a854616a6f2b2d17a0c0c32 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sun, 12 May 2019 01:14:46 -0500 Subject: [PATCH] Pigs give saddle back @@ -9,7 +9,7 @@ Subject: [PATCH] Pigs give saddle back 2 files changed, 14 insertions(+) diff --git a/src/main/java/net/minecraft/server/EntityPig.java b/src/main/java/net/minecraft/server/EntityPig.java -index e6a7f8ef3..d78666dbb 100644 +index e6a7f8ef37..d78666dbb2 100644 --- a/src/main/java/net/minecraft/server/EntityPig.java +++ b/src/main/java/net/minecraft/server/EntityPig.java @@ -135,6 +135,18 @@ public class EntityPig extends EntityAnimal { @@ -32,10 +32,10 @@ index e6a7f8ef3..d78666dbb 100644 return true; } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 661dcce49..cc8e832b3 100644 +index d160efa0fe..fa7974bd15 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -399,9 +399,11 @@ public class PurpurWorldConfig { +@@ -405,9 +405,11 @@ public class PurpurWorldConfig { public boolean pigRidable = false; public boolean pigRidableInWater = false; diff --git a/patches/server/0021-Phantoms-do-not-spawn-on-creative-players.patch b/patches/server/0021-Phantoms-do-not-spawn-on-creative-players.patch index 21e39dc06..9251fbf5b 100644 --- a/patches/server/0021-Phantoms-do-not-spawn-on-creative-players.patch +++ b/patches/server/0021-Phantoms-do-not-spawn-on-creative-players.patch @@ -1,4 +1,4 @@ -From fc44f4c1004b78d3af6a818a523426bd38d64386 Mon Sep 17 00:00:00 2001 +From b40fb16fbb5594774bf09be135bd6916d48f683e Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 18 May 2019 16:59:52 -0500 Subject: [PATCH] Phantoms do not spawn on creative players @@ -9,7 +9,7 @@ Subject: [PATCH] Phantoms do not spawn on creative players 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/minecraft/server/MobSpawnerPhantom.java b/src/main/java/net/minecraft/server/MobSpawnerPhantom.java -index f488c22ed..748983da2 100644 +index f488c22ed6..748983da29 100644 --- a/src/main/java/net/minecraft/server/MobSpawnerPhantom.java +++ b/src/main/java/net/minecraft/server/MobSpawnerPhantom.java @@ -31,7 +31,7 @@ public class MobSpawnerPhantom { @@ -22,10 +22,10 @@ index f488c22ed..748983da2 100644 if (!worldserver.worldProvider.f() || blockposition.getY() >= worldserver.getSeaLevel() && worldserver.f(blockposition)) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index cc8e832b3..392936c34 100644 +index fa7974bd15..9cd1a32ed8 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -390,11 +390,13 @@ public class PurpurWorldConfig { +@@ -396,11 +396,13 @@ public class PurpurWorldConfig { public boolean phantomRidableInWater = false; public boolean phantomRequireShiftToMount = true; public double phantomMaxY = 256D; diff --git a/patches/server/0022-Phantoms-only-attack-insomniacs.patch b/patches/server/0022-Phantoms-only-attack-insomniacs.patch index 5e0e29cdf..f607ffa97 100644 --- a/patches/server/0022-Phantoms-only-attack-insomniacs.patch +++ b/patches/server/0022-Phantoms-only-attack-insomniacs.patch @@ -1,4 +1,4 @@ -From 1d5f101cc9db5a5e9a9d67499ec03bbe1f5fd783 Mon Sep 17 00:00:00 2001 +From a44f4c1e877acf7424367aec36a4c18d84d01bdc Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Fri, 29 Nov 2019 20:33:41 -0600 Subject: [PATCH] Phantoms only attack insomniacs @@ -10,7 +10,7 @@ Subject: [PATCH] Phantoms only attack insomniacs 3 files changed, 4 insertions(+) diff --git a/src/main/java/net/minecraft/server/EntityPhantom.java b/src/main/java/net/minecraft/server/EntityPhantom.java -index c3a5e2461..6d2984c8d 100644 +index c3a5e24617..6d2984c8d5 100644 --- a/src/main/java/net/minecraft/server/EntityPhantom.java +++ b/src/main/java/net/minecraft/server/EntityPhantom.java @@ -272,6 +272,7 @@ public class EntityPhantom extends EntityFlying implements IMonster { @@ -22,7 +22,7 @@ index c3a5e2461..6d2984c8d 100644 return true; } diff --git a/src/main/java/net/minecraft/server/IEntitySelector.java b/src/main/java/net/minecraft/server/IEntitySelector.java -index a2d1ef360..e1fdee279 100644 +index a2d1ef3602..e1fdee2794 100644 --- a/src/main/java/net/minecraft/server/IEntitySelector.java +++ b/src/main/java/net/minecraft/server/IEntitySelector.java @@ -23,6 +23,7 @@ public final class IEntitySelector { @@ -34,10 +34,10 @@ index a2d1ef360..e1fdee279 100644 public static Predicate a(double d0, double d1, double d2, double d3) { double d4 = d3 * d3; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 392936c34..5bb1b90b3 100644 +index 9cd1a32ed8..9ae372d7d0 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -391,12 +391,14 @@ public class PurpurWorldConfig { +@@ -397,12 +397,14 @@ public class PurpurWorldConfig { public boolean phantomRequireShiftToMount = true; public double phantomMaxY = 256D; public boolean phantomIgnoreCreative = false; diff --git a/patches/server/0023-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch b/patches/server/0023-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch index 0a9a09b76..c5e7b97d2 100644 --- a/patches/server/0023-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch +++ b/patches/server/0023-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch @@ -1,4 +1,4 @@ -From da13d8898b59821d88c5959b9688877a86f86546 Mon Sep 17 00:00:00 2001 +From 275747ed0be98ff0c1d03039f0ee3434c4c5cef3 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Thu, 9 May 2019 18:26:06 -0500 Subject: [PATCH] Phantoms attracted to crystals and crystals shoot phantoms @@ -13,10 +13,10 @@ Subject: [PATCH] Phantoms attracted to crystals and crystals shoot phantoms 6 files changed, 228 insertions(+), 11 deletions(-) diff --git a/src/main/java/net/minecraft/server/DamageSource.java b/src/main/java/net/minecraft/server/DamageSource.java -index 816d301f1c..0971f25b56 100644 +index f7344d3aec..f6c0165f94 100644 --- a/src/main/java/net/minecraft/server/DamageSource.java +++ b/src/main/java/net/minecraft/server/DamageSource.java -@@ -81,6 +81,7 @@ public class DamageSource { +@@ -82,6 +82,7 @@ public class DamageSource { return (new EntityDamageSourceIndirect("thrown", entity, entity1)).c(); } @@ -25,10 +25,10 @@ index 816d301f1c..0971f25b56 100644 return (new EntityDamageSourceIndirect("indirectMagic", entity, entity1)).setIgnoreArmor().setMagic(); } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 78e0c6a396..088380a2b0 100644 +index 3b52f44b5f..34cf8039c5 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1481,6 +1481,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1484,6 +1484,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return d3 * d3 + d4 * d4 + d5 * d5; } @@ -36,7 +36,7 @@ index 78e0c6a396..088380a2b0 100644 public double h(Entity entity) { return this.c(entity.getPositionVector()); } -@@ -2004,14 +2005,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2007,14 +2008,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return this.a(new ItemStack(imaterial), (float) i); } @@ -364,10 +364,10 @@ index c522a7c2a7..9622615b50 100644 return this.a(oclass, axisalignedbb, IEntitySelector.f); } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 5bb1b90b31..076e747c5b 100644 +index 9ae372d7d0..9aafb4616d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -392,6 +392,9 @@ public class PurpurWorldConfig { +@@ -398,6 +398,9 @@ public class PurpurWorldConfig { public double phantomMaxY = 256D; public boolean phantomIgnoreCreative = false; public boolean phantomOnlyAttackInsomniacs = false; @@ -377,7 +377,7 @@ index 5bb1b90b31..076e747c5b 100644 private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -399,6 +402,9 @@ public class PurpurWorldConfig { +@@ -405,6 +408,9 @@ public class PurpurWorldConfig { phantomMaxY = getDouble("mobs.phantom.ridable-max-y", phantomMaxY); phantomIgnoreCreative = getBoolean("mobs.phantom.do-not-spawn-on-creative-players", phantomIgnoreCreative); phantomOnlyAttackInsomniacs = getBoolean("mobs.phantom.only-attack-insomniacs", phantomOnlyAttackInsomniacs); diff --git a/patches/server/0024-Snowman-drop-and-put-back-pumpkin.patch b/patches/server/0024-Snowman-drop-and-put-back-pumpkin.patch index 5e625f17c..98af23a38 100644 --- a/patches/server/0024-Snowman-drop-and-put-back-pumpkin.patch +++ b/patches/server/0024-Snowman-drop-and-put-back-pumpkin.patch @@ -1,4 +1,4 @@ -From b67ac6a5408ded34e7f49be34a3424a7f6db0331 Mon Sep 17 00:00:00 2001 +From dd31f6225c3e35abed6df3697ddda5bf5d494496 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Fri, 3 May 2019 23:58:44 -0500 Subject: [PATCH] Snowman drop and put back pumpkin @@ -9,7 +9,7 @@ Subject: [PATCH] Snowman drop and put back pumpkin 2 files changed, 21 insertions(+) diff --git a/src/main/java/net/minecraft/server/EntitySnowman.java b/src/main/java/net/minecraft/server/EntitySnowman.java -index 941873513..efc2205f7 100644 +index 941873513f..efc2205f7c 100644 --- a/src/main/java/net/minecraft/server/EntitySnowman.java +++ b/src/main/java/net/minecraft/server/EntitySnowman.java @@ -8,6 +8,7 @@ import org.bukkit.event.player.PlayerShearEntityEvent; @@ -47,10 +47,10 @@ index 941873513..efc2205f7 100644 return tryRide(entityhuman, enumhand); // Purpur } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 076e747c5..18a512744 100644 +index 9aafb4616d..5744a65cce 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -530,11 +530,15 @@ public class PurpurWorldConfig { +@@ -536,11 +536,15 @@ public class PurpurWorldConfig { public boolean snowGolemRidableInWater = false; public boolean snowGolemRequireShiftToMount = true; public boolean snowGolemLeaveTrailWhenRidden = false; diff --git a/patches/server/0025-Ender-dragon-always-drop-egg.patch b/patches/server/0025-Ender-dragon-always-drop-egg.patch index dc078acd8..cb1a3e15f 100644 --- a/patches/server/0025-Ender-dragon-always-drop-egg.patch +++ b/patches/server/0025-Ender-dragon-always-drop-egg.patch @@ -1,4 +1,4 @@ -From 399f1b7da931b2870effe967a6e5af6a450a5461 Mon Sep 17 00:00:00 2001 +From 10588016b28dcf38698b7e90134e60f1aa76685e Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Fri, 7 Feb 2020 04:42:57 -0600 Subject: [PATCH] Ender dragon always drop egg @@ -9,7 +9,7 @@ Subject: [PATCH] Ender dragon always drop egg 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/minecraft/server/EnderDragonBattle.java b/src/main/java/net/minecraft/server/EnderDragonBattle.java -index 218c04245..48398aa9f 100644 +index 218c04245b..48398aa9f0 100644 --- a/src/main/java/net/minecraft/server/EnderDragonBattle.java +++ b/src/main/java/net/minecraft/server/EnderDragonBattle.java @@ -21,7 +21,7 @@ public class EnderDragonBattle { @@ -39,10 +39,10 @@ index 218c04245..48398aa9f 100644 return this.l; } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 18a512744..77070e618 100644 +index 5744a65cce..abbbc0db59 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -200,11 +200,13 @@ public class PurpurWorldConfig { +@@ -206,11 +206,13 @@ public class PurpurWorldConfig { public boolean enderDragonRidableInWater = false; public boolean enderDragonRequireShiftToMount = true; public double enderDragonMaxY = 256D; diff --git a/patches/server/0026-Ender-dragon-always-drop-full-exp.patch b/patches/server/0026-Ender-dragon-always-drop-full-exp.patch index 038d57b2f..b3fb17c66 100644 --- a/patches/server/0026-Ender-dragon-always-drop-full-exp.patch +++ b/patches/server/0026-Ender-dragon-always-drop-full-exp.patch @@ -1,4 +1,4 @@ -From 06178ee91b82fc4d0c96ce70a40fbddb9f644608 Mon Sep 17 00:00:00 2001 +From dd6599667bd2ecb07d3aa45854736c5f6f1547e2 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 24 Aug 2019 14:42:54 -0500 Subject: [PATCH] Ender dragon always drop full exp @@ -9,7 +9,7 @@ Subject: [PATCH] Ender dragon always drop full exp 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java -index 1b523b0da..fcfa4715c 100644 +index 1b523b0dae..fcfa4715c6 100644 --- a/src/main/java/net/minecraft/server/EntityEnderDragon.java +++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java @@ -641,7 +641,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { @@ -22,10 +22,10 @@ index 1b523b0da..fcfa4715c 100644 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 77070e618..cd4b4ee29 100644 +index abbbc0db59..bc2f7c0846 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -201,12 +201,14 @@ public class PurpurWorldConfig { +@@ -207,12 +207,14 @@ public class PurpurWorldConfig { public boolean enderDragonRequireShiftToMount = true; public double enderDragonMaxY = 256D; public boolean enderDragonAlwaysDropsEggBlock = false; diff --git a/patches/server/0030-Make-Iron-Golems-Swim.patch b/patches/server/0030-Make-Iron-Golems-Swim.patch index c67a9070d..871ae7227 100644 --- a/patches/server/0030-Make-Iron-Golems-Swim.patch +++ b/patches/server/0030-Make-Iron-Golems-Swim.patch @@ -1,4 +1,4 @@ -From 389fb5986fcd93d1b4ffca65e00d40379d6a7402 Mon Sep 17 00:00:00 2001 +From 582fccee111ac1c769a4719aaa7a17260d378e00 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 15 Jun 2019 03:12:15 -0500 Subject: [PATCH] Make Iron Golems Swim @@ -9,7 +9,7 @@ Subject: [PATCH] Make Iron Golems Swim 2 files changed, 3 insertions(+) diff --git a/src/main/java/net/minecraft/server/EntityIronGolem.java b/src/main/java/net/minecraft/server/EntityIronGolem.java -index 46e4574e5..5414d6975 100644 +index 288a043fbd..0cc3b8eb01 100644 --- a/src/main/java/net/minecraft/server/EntityIronGolem.java +++ b/src/main/java/net/minecraft/server/EntityIronGolem.java @@ -36,6 +36,7 @@ public class EntityIronGolem extends EntityGolem { @@ -21,10 +21,10 @@ index 46e4574e5..5414d6975 100644 this.goalSelector.a(1, new PathfinderGoalMeleeAttack(this, 1.0D, true)); this.goalSelector.a(2, new PathfinderGoalMoveTowardsTarget(this, 0.9D, 32.0F)); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index e2604d54b..55c026d73 100644 +index dcf0f58a29..114fe87f4a 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -336,10 +336,12 @@ public class PurpurWorldConfig { +@@ -342,10 +342,12 @@ public class PurpurWorldConfig { public boolean ironGolemRidable = false; public boolean ironGolemRidableInWater = false; public boolean ironGolemRequireShiftToMount = true; diff --git a/patches/server/0032-Controllable-Minecarts.patch b/patches/server/0032-Controllable-Minecarts.patch index c80962032..4baa6f13a 100644 --- a/patches/server/0032-Controllable-Minecarts.patch +++ b/patches/server/0032-Controllable-Minecarts.patch @@ -1,4 +1,4 @@ -From 9ed0c92f2ae19c2986670fac21c59dbee8e72d57 Mon Sep 17 00:00:00 2001 +From 28c1229a0fa4bd77ce56577a81cb6f23e89cd854 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 29 Jun 2019 02:32:40 -0500 Subject: [PATCH] Controllable Minecarts @@ -11,10 +11,10 @@ Subject: [PATCH] Controllable Minecarts 4 files changed, 76 insertions(+), 3 deletions(-) diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 088380a2b0..ca6ff6380f 100644 +index 34cf8039c5..d121e5080b 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1381,6 +1381,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1384,6 +1384,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.inLava = true; } @@ -103,7 +103,7 @@ index b73e317fbb..e1337a9c04 100644 } } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 85eaf1a7aa..dfa6318039 100644 +index 08cef8e645..086bd505cb 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -1,10 +1,16 @@ diff --git a/patches/server/0041-Fix-pig-zombies-MC-56653.patch b/patches/server/0041-Fix-pig-zombies-MC-56653.patch index 07a4e5668..adc4f2911 100644 --- a/patches/server/0041-Fix-pig-zombies-MC-56653.patch +++ b/patches/server/0041-Fix-pig-zombies-MC-56653.patch @@ -1,4 +1,4 @@ -From 88f641f1609d6a628ae49a40cbdc250ff5c4c500 Mon Sep 17 00:00:00 2001 +From 181a0d5d2e8e7f5decf1c5634ff7c3a61e3673a1 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Tue, 9 Jul 2019 20:56:47 -0500 Subject: [PATCH] Fix pig zombies (MC-56653) @@ -9,7 +9,7 @@ Subject: [PATCH] Fix pig zombies (MC-56653) 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/minecraft/server/EntityPigZombie.java b/src/main/java/net/minecraft/server/EntityPigZombie.java -index fb9ef88ea..227fff3f1 100644 +index fb9ef88ea3..227fff3f1d 100644 --- a/src/main/java/net/minecraft/server/EntityPigZombie.java +++ b/src/main/java/net/minecraft/server/EntityPigZombie.java @@ -155,6 +155,7 @@ public class EntityPigZombie extends EntityZombie { @@ -43,10 +43,10 @@ index fb9ef88ea..227fff3f1 100644 public PathfinderGoalAnger(EntityPigZombie entitypigzombie) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 5e57646ce..2bbbf30c0 100644 +index 9324fdd095..84a89d7875 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -771,10 +771,12 @@ public class PurpurWorldConfig { +@@ -777,10 +777,12 @@ public class PurpurWorldConfig { public boolean zombiePigmanRidable = false; public boolean zombiePigmanRidableInWater = false; public boolean zombiePigmanRequireShiftToMount = true; diff --git a/patches/server/0045-Tulips-change-fox-type.patch b/patches/server/0045-Tulips-change-fox-type.patch index 13ba36a64..ed4295bf2 100644 --- a/patches/server/0045-Tulips-change-fox-type.patch +++ b/patches/server/0045-Tulips-change-fox-type.patch @@ -1,4 +1,4 @@ -From dcc9885517dca7260166f656eca7af48df798a95 Mon Sep 17 00:00:00 2001 +From 1fe23b7cbb0bfa328061798143acc96a2c1c9ea0 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 13 Jul 2019 15:56:22 -0500 Subject: [PATCH] Tulips change fox type @@ -10,7 +10,7 @@ Subject: [PATCH] Tulips change fox type 3 files changed, 34 insertions(+), 5 deletions(-) diff --git a/src/main/java/net/minecraft/server/EntityFox.java b/src/main/java/net/minecraft/server/EntityFox.java -index 4f53090d3..13afd7bcd 100644 +index 4f53090d3d..13afd7bcde 100644 --- a/src/main/java/net/minecraft/server/EntityFox.java +++ b/src/main/java/net/minecraft/server/EntityFox.java @@ -37,9 +37,9 @@ public class EntityFox extends EntityAnimal { @@ -75,7 +75,7 @@ index 4f53090d3..13afd7bcd 100644 public void onMount(EntityHuman entityhuman) { super.onMount(entityhuman); diff --git a/src/main/java/net/minecraft/server/Items.java b/src/main/java/net/minecraft/server/Items.java -index 54670f64c..9c9b93f28 100644 +index 54670f64cf..9c9b93f280 100644 --- a/src/main/java/net/minecraft/server/Items.java +++ b/src/main/java/net/minecraft/server/Items.java @@ -106,8 +106,8 @@ public class Items { @@ -90,10 +90,10 @@ index 54670f64c..9c9b93f28 100644 public static final Item bd = a(Blocks.OXEYE_DAISY, CreativeModeTab.c); public static final Item be = a(Blocks.CORNFLOWER, CreativeModeTab.c); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 8e6e141dc..fd3e92560 100644 +index d5526c15a0..b63fcb869d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -342,10 +342,12 @@ public class PurpurWorldConfig { +@@ -348,10 +348,12 @@ public class PurpurWorldConfig { public boolean foxRidable = false; public boolean foxRidableInWater = false; public boolean foxRequireShiftToMount = true; diff --git a/patches/server/0046-Implement-a-hard-limit-for-pillager-outpost-spawns.patch b/patches/server/0046-Implement-a-hard-limit-for-pillager-outpost-spawns.patch index 2779dc94e..78dbce788 100644 --- a/patches/server/0046-Implement-a-hard-limit-for-pillager-outpost-spawns.patch +++ b/patches/server/0046-Implement-a-hard-limit-for-pillager-outpost-spawns.patch @@ -1,4 +1,4 @@ -From 1fae90679d926875eeb625ac04e4eb7375b79906 Mon Sep 17 00:00:00 2001 +From 9c97984200f21dd43a096e3365de0965c31d7553 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Mon, 22 Jul 2019 14:24:26 -0500 Subject: [PATCH] Implement a hard limit for pillager outpost spawns @@ -9,7 +9,7 @@ Subject: [PATCH] Implement a hard limit for pillager outpost spawns 2 files changed, 3 insertions(+) diff --git a/src/main/java/net/minecraft/server/ChunkProviderGenerate.java b/src/main/java/net/minecraft/server/ChunkProviderGenerate.java -index 70f43c515..baca8f705 100644 +index 70f43c5159..baca8f7054 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderGenerate.java +++ b/src/main/java/net/minecraft/server/ChunkProviderGenerate.java @@ -143,6 +143,7 @@ public class ChunkProviderGenerate extends ChunkGeneratorAbstract Date: Sat, 11 Jan 2020 23:12:52 -0600 Subject: [PATCH] Add EntityPortalReadyEvent @@ -86,7 +86,7 @@ index 09c7c13183..6880cdd7f9 100644 break; // CraftBukkit start - add the block to our list diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index ca6ff6380f..3c640ec8b3 100644 +index d121e5080b..f2fdec4f1f 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -168,9 +168,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -102,7 +102,7 @@ index ca6ff6380f..3c640ec8b3 100644 private boolean invulnerable; protected UUID uniqueID; protected String am; -@@ -2314,6 +2314,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2317,6 +2317,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.world.getMethodProfiler().enter("portal"); this.ag = i; this.portalCooldown = this.ba(); @@ -141,7 +141,7 @@ index f84dd6d9be..f50e9670bc 100644 } } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 22a1c4ebfa..c4086ace1f 100644 +index ff38e6c69c..d9bf65809d 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -65,7 +65,7 @@ public class WorldServer extends World { diff --git a/patches/server/0050-Implement-elytra-settings.patch b/patches/server/0050-Implement-elytra-settings.patch index 3687307c6..388ba1550 100644 --- a/patches/server/0050-Implement-elytra-settings.patch +++ b/patches/server/0050-Implement-elytra-settings.patch @@ -1,4 +1,4 @@ -From 68290a5eb64583ce63b208aa47e55f044b6a2c00 Mon Sep 17 00:00:00 2001 +From acca1c1f6497cee54cfe4ebc7b49781a4ae98751 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Thu, 25 Jul 2019 18:07:37 -0500 Subject: [PATCH] Implement elytra settings @@ -13,7 +13,7 @@ Subject: [PATCH] Implement elytra settings 6 files changed, 49 insertions(+), 4 deletions(-) diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 76a925f7a..d64e02628 100644 +index 0310e4ddd1..e85a7526a2 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2645,9 +2645,16 @@ public abstract class EntityLiving extends Entity { @@ -37,7 +37,7 @@ index 76a925f7a..d64e02628 100644 } else { flag = false; diff --git a/src/main/java/net/minecraft/server/ItemFireworks.java b/src/main/java/net/minecraft/server/ItemFireworks.java -index bd524a35b..c0e8cd0cd 100644 +index bd524a35bb..c0e8cd0cdc 100644 --- a/src/main/java/net/minecraft/server/ItemFireworks.java +++ b/src/main/java/net/minecraft/server/ItemFireworks.java @@ -39,6 +39,14 @@ public class ItemFireworks extends Item { @@ -56,7 +56,7 @@ index bd524a35b..c0e8cd0cd 100644 itemstack.subtract(1); } else ((EntityPlayer) entityhuman).getBukkitEntity().updateInventory(); diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index 4fe503808..7b7a0a7cb 100644 +index 4fe5038083..7b7a0a7cb1 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -401,7 +401,7 @@ public final class ItemStack { @@ -82,7 +82,7 @@ index 4fe503808..7b7a0a7cb 100644 if (this.count == 1 && t0 instanceof EntityHuman) { org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerItemBreakEvent((EntityHuman) t0, this); diff --git a/src/main/java/net/minecraft/server/ItemTrident.java b/src/main/java/net/minecraft/server/ItemTrident.java -index f571a1586..c26300eac 100644 +index f571a1586d..c26300eacd 100644 --- a/src/main/java/net/minecraft/server/ItemTrident.java +++ b/src/main/java/net/minecraft/server/ItemTrident.java @@ -100,6 +100,16 @@ public class ItemTrident extends Item { @@ -103,10 +103,10 @@ index f571a1586..c26300eac 100644 entityhuman.r(20); if (entityhuman.onGround) { diff --git a/src/main/java/net/minecraft/server/Vec3D.java b/src/main/java/net/minecraft/server/Vec3D.java -index 212af252b..fbc30e6ec 100644 +index 62a0810062..53e7e82688 100644 --- a/src/main/java/net/minecraft/server/Vec3D.java +++ b/src/main/java/net/minecraft/server/Vec3D.java -@@ -98,6 +98,7 @@ public class Vec3D implements IPosition { +@@ -100,6 +100,7 @@ public class Vec3D implements IPosition { return (double) MathHelper.sqrt(this.x * this.x + this.y * this.y + this.z * this.z); } @@ -115,7 +115,7 @@ index 212af252b..fbc30e6ec 100644 return this.x * this.x + this.y * this.y + this.z * this.z; } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 3a44e6e44..7cfc757db 100644 +index 4615abfbee..e5de7cbe05 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -151,6 +151,19 @@ public class PurpurWorldConfig { diff --git a/patches/server/0054-Implement-configurable-villager-brain-ticks.patch b/patches/server/0054-Implement-configurable-villager-brain-ticks.patch index 5372977fd..9b48dedf6 100644 --- a/patches/server/0054-Implement-configurable-villager-brain-ticks.patch +++ b/patches/server/0054-Implement-configurable-villager-brain-ticks.patch @@ -1,4 +1,4 @@ -From 4b772d3055c650a2607543f8ff0f3356ab968ce9 Mon Sep 17 00:00:00 2001 +From 6c887d74303440f4bef125680fdbac6b6ee626ca Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Tue, 23 Jul 2019 08:28:21 -0500 Subject: [PATCH] Implement configurable villager brain ticks @@ -9,7 +9,7 @@ Subject: [PATCH] Implement configurable villager brain ticks 2 files changed, 10 insertions(+) diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index 3eaac031f..65cd5f53c 100644 +index 3eaac031fb..65cd5f53c1 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java @@ -53,6 +53,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation @@ -40,10 +40,10 @@ index 3eaac031f..65cd5f53c 100644 this.world.getMethodProfiler().exit(); if (!this.et() && this.bB > 0) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 2795957dc..28dfefc0e 100644 +index c9303598fa..c9d21b4f2f 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -736,10 +736,14 @@ public class PurpurWorldConfig { +@@ -742,10 +742,14 @@ public class PurpurWorldConfig { public boolean villagerRidable = false; public boolean villagerRidableInWater = false; public boolean villagerRequireShiftToMount = true; diff --git a/patches/server/0055-Add-option-for-zombies-targetting-turtle-eggs.patch b/patches/server/0055-Add-option-for-zombies-targetting-turtle-eggs.patch index 9441ec44d..cf0906118 100644 --- a/patches/server/0055-Add-option-for-zombies-targetting-turtle-eggs.patch +++ b/patches/server/0055-Add-option-for-zombies-targetting-turtle-eggs.patch @@ -1,4 +1,4 @@ -From b107a2d8a0ff726f04d303e60fd8349fe9764c3d Mon Sep 17 00:00:00 2001 +From 807f48b99803a8b60c3d48db47d02cdfb3c8a4da Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 17 Aug 2019 15:27:09 -0500 Subject: [PATCH] Add option for zombies targetting turtle eggs @@ -9,7 +9,7 @@ Subject: [PATCH] Add option for zombies targetting turtle eggs 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java -index e9e2be88e..1e60cc399 100644 +index 8d1f04415e..95ae6f3494 100644 --- a/src/main/java/net/minecraft/server/EntityZombie.java +++ b/src/main/java/net/minecraft/server/EntityZombie.java @@ -64,7 +64,7 @@ public class EntityZombie extends EntityMonster { @@ -22,10 +22,10 @@ index e9e2be88e..1e60cc399 100644 this.goalSelector.a(8, new PathfinderGoalRandomLookaround(this)); this.targetSelector.a(0, new net.pl3x.purpur.pathfinder.PathfinderGoalHasRider(this)); // Purpur diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 28dfefc0e..666de04a8 100644 +index c9d21b4f2f..719c8ea602 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -805,10 +805,12 @@ public class PurpurWorldConfig { +@@ -811,10 +811,12 @@ public class PurpurWorldConfig { public boolean zombieRidable = false; public boolean zombieRidableInWater = false; public boolean zombieRequireShiftToMount = true; diff --git a/patches/server/0057-Ladders-should-not-bypass-cramming-gamerule.patch b/patches/server/0057-Ladders-should-not-bypass-cramming-gamerule.patch index 9fe296c31..281e69a88 100644 --- a/patches/server/0057-Ladders-should-not-bypass-cramming-gamerule.patch +++ b/patches/server/0057-Ladders-should-not-bypass-cramming-gamerule.patch @@ -1,4 +1,4 @@ -From 1256a5fca2b7926b4d8feb3368906f0cf4bdd94d Mon Sep 17 00:00:00 2001 +From 59914b40255eb58be586d1ca14b2c520cf789886 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sun, 21 Jul 2019 18:06:20 -0500 Subject: [PATCH] Ladders should not bypass cramming gamerule @@ -17,10 +17,10 @@ Subject: [PATCH] Ladders should not bypass cramming gamerule 10 files changed, 25 insertions(+), 9 deletions(-) diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 3c640ec8b3..945e2c0e47 100644 +index f2fdec4f1f..574c9b8e36 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1608,6 +1608,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1611,6 +1611,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } public boolean isCollidable() { @@ -86,7 +86,7 @@ index e7ba83f32a..55e18e4c7a 100644 } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index d64e026288..cd45260396 100644 +index e85a7526a2..2d85186254 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2673,7 +2673,7 @@ public abstract class EntityLiving extends Entity { @@ -155,7 +155,7 @@ index 4665671ef6..037f14e010 100644 ScoreboardTeamBase.EnumTeamPush scoreboardteambase_enumteampush = scoreboardteambase == null ? ScoreboardTeamBase.EnumTeamPush.ALWAYS : scoreboardteambase.getCollisionRule(); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 814ff59352..9319c3b74b 100644 +index acb5a9f109..551327db8f 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -145,6 +145,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0083-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch b/patches/server/0083-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch index 25f53ca27..fb0a0e269 100644 --- a/patches/server/0083-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch +++ b/patches/server/0083-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch @@ -1,4 +1,4 @@ -From 5255ed612a83158e5ded0a1ae8e247ee368c41be Mon Sep 17 00:00:00 2001 +From 81e3208c185e85395958ca9331ccfd30e660cddf Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 19 Oct 2019 01:42:50 -0500 Subject: [PATCH] Fix SpawnChangeEvent not firing for all use-cases @@ -9,10 +9,10 @@ Subject: [PATCH] Fix SpawnChangeEvent not firing for all use-cases 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index afd5940e77..61a96669e9 100644 +index 0cf3a64fcf..5cf24b2470 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1407,8 +1407,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -1408,8 +1408,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable { return blockposition; } diff --git a/patches/server/0088-Villagers-follow-emerald-blocks.patch b/patches/server/0088-Villagers-follow-emerald-blocks.patch index 63f59654e..bbc66e3ac 100644 --- a/patches/server/0088-Villagers-follow-emerald-blocks.patch +++ b/patches/server/0088-Villagers-follow-emerald-blocks.patch @@ -1,4 +1,4 @@ -From 7f5f1e295203beddb183eb510c258a3285368786 Mon Sep 17 00:00:00 2001 +From 82ffb16028aa390ccb463aaf4a8ed512a225fd45 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Fri, 29 Nov 2019 22:10:12 -0600 Subject: [PATCH] Villagers follow emerald blocks @@ -48,10 +48,10 @@ index 4e9c5e84a9..14ca5fc367 100644 this.goalSelector.a(8, new PathfinderGoalRandomStrollLand(this, 0.35D)); this.goalSelector.a(9, new PathfinderGoalInteract(this, EntityHuman.class, 3.0F, 1.0F)); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 95e8ac934a..02626283b3 100644 +index 7bd7472467..e8f203d88f 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -774,21 +774,25 @@ public class PurpurWorldConfig { +@@ -780,21 +780,25 @@ public class PurpurWorldConfig { public boolean villagerRequireShiftToMount = true; public int villagerBrainTicks = 1; public boolean villagerUseBrainTicksOnlyWhenLagging = true; diff --git a/patches/server/0091-Allow-leashing-villagers.patch b/patches/server/0091-Allow-leashing-villagers.patch index ae8e63d66..a31b74e19 100644 --- a/patches/server/0091-Allow-leashing-villagers.patch +++ b/patches/server/0091-Allow-leashing-villagers.patch @@ -1,4 +1,4 @@ -From 60d6a8ae40c740a631a4986b593dfbeced56e170 Mon Sep 17 00:00:00 2001 +From e94b6686c07839a707e82c44ab4a02416afadb5a Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Thu, 3 Oct 2019 18:08:03 -0500 Subject: [PATCH] Allow leashing villagers @@ -55,10 +55,10 @@ index 14ca5fc367..427c589075 100644 + // Purpur - end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index ff8c60000d..0e57d7bd11 100644 +index 4372b9a036..814dafb66d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -779,6 +779,7 @@ public class PurpurWorldConfig { +@@ -785,6 +785,7 @@ public class PurpurWorldConfig { public int villagerBrainTicks = 1; public boolean villagerUseBrainTicksOnlyWhenLagging = true; public boolean villagerFollowEmeraldBlock = false; @@ -66,7 +66,7 @@ index ff8c60000d..0e57d7bd11 100644 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -786,17 +787,20 @@ public class PurpurWorldConfig { +@@ -792,17 +793,20 @@ public class PurpurWorldConfig { villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks); villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging); villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); diff --git a/patches/server/0092-Implement-configurable-search-radius-for-villagers-t.patch b/patches/server/0092-Implement-configurable-search-radius-for-villagers-t.patch index f57fc563d..80ea7295b 100644 --- a/patches/server/0092-Implement-configurable-search-radius-for-villagers-t.patch +++ b/patches/server/0092-Implement-configurable-search-radius-for-villagers-t.patch @@ -1,4 +1,4 @@ -From ed5b14cf74fa47636a00fbf8ffafacb768554fe3 Mon Sep 17 00:00:00 2001 +From 46443aa8404db05925f2a7af05288ff284965286 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Mon, 22 Jul 2019 17:32:17 -0500 Subject: [PATCH] Implement configurable search radius for villagers to spawn @@ -22,10 +22,10 @@ index 315440b3fb..fe0e646ea6 100644 int i = 0; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 0e57d7bd11..e481e9639f 100644 +index 814dafb66d..d7a3c6c227 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -780,6 +780,8 @@ public class PurpurWorldConfig { +@@ -786,6 +786,8 @@ public class PurpurWorldConfig { public boolean villagerUseBrainTicksOnlyWhenLagging = true; public boolean villagerFollowEmeraldBlock = false; public boolean villagerCanBeLeashed = false; @@ -34,7 +34,7 @@ index 0e57d7bd11..e481e9639f 100644 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -788,6 +790,8 @@ public class PurpurWorldConfig { +@@ -794,6 +796,8 @@ public class PurpurWorldConfig { villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging); villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); diff --git a/patches/server/0094-Add-wither-skeleton-takes-wither-damage-option.patch b/patches/server/0094-Add-wither-skeleton-takes-wither-damage-option.patch index 3b9739e4c..4d12af081 100644 --- a/patches/server/0094-Add-wither-skeleton-takes-wither-damage-option.patch +++ b/patches/server/0094-Add-wither-skeleton-takes-wither-damage-option.patch @@ -1,4 +1,4 @@ -From 46a45841bc4726a74fed675fa635ad97763a363a Mon Sep 17 00:00:00 2001 +From 8ea2d219a6e94c4eeeed28faa612bfe0a3fa8e0b Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Tue, 14 Jan 2020 19:43:40 -0600 Subject: [PATCH] Add wither skeleton takes wither damage option @@ -21,10 +21,10 @@ index 8aa0a6699f..0fd740e717 100644 } } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 9bac4c5eb4..6ae1c0fe02 100644 +index 5ff002a77f..e88157cc69 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -843,10 +843,12 @@ public class PurpurWorldConfig { +@@ -849,10 +849,12 @@ public class PurpurWorldConfig { public boolean witherSkeletonRidable = false; public boolean witherSkeletonRidableInWater = false; public boolean witherSkeletonRequireShiftToMount = true; diff --git a/patches/server/0097-Add-option-to-disable-saving-projectiles-to-disk.patch b/patches/server/0097-Add-option-to-disable-saving-projectiles-to-disk.patch index b35d6694a..02cf0d250 100644 --- a/patches/server/0097-Add-option-to-disable-saving-projectiles-to-disk.patch +++ b/patches/server/0097-Add-option-to-disable-saving-projectiles-to-disk.patch @@ -1,4 +1,4 @@ -From 7356e1a3ac5a1c44f1bc0f0fad63a8aeaf40831a Mon Sep 17 00:00:00 2001 +From 564b097a276c2d25ed4b8ca91b5a6eed6ef439c8 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Tue, 18 Feb 2020 20:07:08 -0600 Subject: [PATCH] Add option to disable saving projectiles to disk @@ -34,10 +34,10 @@ index d529b795c5..e883365b0b 100644 // Paper start if ((int) Math.floor(entity.locX()) >> 4 != chunk.getPos().x || (int) Math.floor(entity.locZ()) >> 4 != chunk.getPos().z) { diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 945e2c0e47..a34d5b2d7d 100644 +index 574c9b8e36..125ab2adc9 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1625,6 +1625,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1628,6 +1628,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } @@ -87,7 +87,7 @@ index 7ebd7da1c5..74f8257ecd 100644 if (itemstack.getItem() != Items.ENDER_EYE || itemstack.hasTag()) { this.getDataWatcher().set(EntityEnderSignal.b, SystemUtils.a(itemstack.cloneItemStack(), (itemstack1) -> { // Purpur - decompile error diff --git a/src/main/java/net/minecraft/server/EntityFireworks.java b/src/main/java/net/minecraft/server/EntityFireworks.java -index 278ef79d89..36238c224e 100644 +index 5c3731f68a..ce3168e5de 100644 --- a/src/main/java/net/minecraft/server/EntityFireworks.java +++ b/src/main/java/net/minecraft/server/EntityFireworks.java @@ -21,6 +21,13 @@ public class EntityFireworks extends Entity implements IProjectile { @@ -141,7 +141,7 @@ index f5c8074dcf..674f2ccc7f 100644 float f5 = -MathHelper.sin(f1 * 0.017453292F) * MathHelper.cos(f * 0.017453292F); float f6 = -MathHelper.sin((f + f2) * 0.017453292F); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 6ae1c0fe02..3a530de7f9 100644 +index e88157cc69..1db7e5433f 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -173,6 +173,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0100-Add-item-entity-options.patch b/patches/server/0100-Add-item-entity-options.patch index 0e68be9cd..d6b2f4f57 100644 --- a/patches/server/0100-Add-item-entity-options.patch +++ b/patches/server/0100-Add-item-entity-options.patch @@ -1,4 +1,4 @@ -From 7842d3b75036b9fb2a925a65872e9eca80ec142b Mon Sep 17 00:00:00 2001 +From 69cc0a5e126856f8c63806c0fe4a22b8705519a7 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 22 Feb 2020 15:54:08 -0600 Subject: [PATCH] Add item entity options @@ -10,10 +10,10 @@ Subject: [PATCH] Add item entity options 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 945e2c0e47..ff42ee6eb6 100644 +index 125ab2adc9..63c78e83fd 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1356,6 +1356,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1359,6 +1359,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } @@ -56,7 +56,7 @@ index bbb9ca1efc..262a7935e7 100644 if (org.bukkit.craftbukkit.event.CraftEventFactory.handleNonLivingEntityDamageEvent(this, damagesource, f)) { return false; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 9e16bf1431..7e467230a7 100644 +index fabd4f619f..3c5f83f651 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -5,6 +5,8 @@ import net.minecraft.server.Block; diff --git a/patches/server/0103-Fix-the-dead-lagging-the-server.patch b/patches/server/0103-Fix-the-dead-lagging-the-server.patch index 375a1d8ef..0cb3d23bc 100644 --- a/patches/server/0103-Fix-the-dead-lagging-the-server.patch +++ b/patches/server/0103-Fix-the-dead-lagging-the-server.patch @@ -1,4 +1,4 @@ -From f72508df3de9638254adfefe01f099b4460f4cf1 Mon Sep 17 00:00:00 2001 +From 36ea3dd71dd8ee3fe9ed2859ae93588aa71eeb16 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Fri, 6 Mar 2020 13:37:26 -0600 Subject: [PATCH] Fix the dead lagging the server @@ -9,10 +9,10 @@ Subject: [PATCH] Fix the dead lagging the server 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index d5da3bcc37..23c7b21454 100644 +index 2e1ed61490..a65f8c7d73 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1442,7 +1442,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1445,7 +1445,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.pitch = MathHelper.a(f1, -90.0F, 90.0F) % 360.0F; this.lastYaw = this.yaw; this.lastPitch = this.pitch; @@ -22,7 +22,7 @@ index d5da3bcc37..23c7b21454 100644 public void setPositionRotation(BlockPosition blockposition, float f, float f1) { diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index e3dc406da5..0f0b01f57c 100644 +index a624531e58..fd6ae9f34f 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2385,7 +2385,7 @@ public abstract class EntityLiving extends Entity {