diff --git a/patches/server/0054-Controllable-Minecarts.patch b/patches/server/0054-Controllable-Minecarts.patch index 0c04cbdab..ca4af2b17 100644 --- a/patches/server/0054-Controllable-Minecarts.patch +++ b/patches/server/0054-Controllable-Minecarts.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Controllable Minecarts diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java -index 2291135ea..bc61aaff6 100644 +index 2291135eae..bc61aaff65 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java @@ -36,6 +36,12 @@ public class BlockPosition extends BaseBlockPosition { @@ -22,7 +22,7 @@ index 2291135ea..bc61aaff6 100644 super(i, j, k); } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 76575ea5f..c8b1fbcf1 100644 +index ff412471c8..c5b4ee6ed3 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -99,9 +99,9 @@ public abstract class EntityLiving extends Entity { @@ -39,14 +39,16 @@ index 76575ea5f..c8b1fbcf1 100644 protected double aV; protected double aW; diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java -index 13fcb666e..d5e129678 100644 +index 9bc21ef8a1..a39b596afb 100644 --- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java +++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java -@@ -445,12 +445,50 @@ public abstract class EntityMinecartAbstract extends Entity { +@@ -445,16 +445,62 @@ public abstract class EntityMinecartAbstract extends Entity { public void a(int i, int j, int k, boolean flag) {} + // Purpur start ++ private Double lastSpeed; ++ + public double getControllableSpeed() { + BlockPosition position = new BlockPosition(this); + Block block = world.getType(position).getBlock(); @@ -54,10 +56,12 @@ index 13fcb666e..d5e129678 100644 + block = world.getType(position.shift(EnumDirection.DOWN)).getBlock(); + } + Double speed = world.purpurConfig.controllableMinecartsBlockSpeeds.get(block); -+ if (speed == null) { ++ if (!block.material.isSolid()) { ++ speed = lastSpeed; ++ } else if (speed == null) { + speed = world.purpurConfig.controllableMinecartsBaseSpeed; + } -+ return speed; ++ return lastSpeed = speed; + } + // Purpur end + @@ -66,35 +70,55 @@ index 13fcb666e..d5e129678 100644 Vec3D vec3d = this.getMot(); this.setMot(MathHelper.a(vec3d.x, -d0, d0), vec3d.y, MathHelper.a(vec3d.z, -d0, d0)); - if (this.onGround) { -+ // Purpur start -+ if (world.purpurConfig.controllableMinecarts && !isInWater() && !isInLava() && !passengers.isEmpty()) { -+ Entity passenger = passengers.get(0); -+ if (passenger instanceof EntityHuman) { -+ EntityHuman entityhuman = (EntityHuman) passenger; -+ if (entityhuman.jumping) { -+ Vec3D mot = getMot(); -+ setMot(mot.x, world.purpurConfig.controllableMinecartsHopBoost, mot.z); -+ } -+ if (entityhuman.getForward() != 0.0F) { -+ Vector dir = entityhuman.getBukkitEntity().getEyeLocation().getDirection().normalize().multiply(getControllableSpeed()); -+ if (entityhuman.getForward() < 0.0) { -+ dir.multiply(-0.5); -+ } -+ setMot(new Vec3D(dir.getX(), getMot().y, dir.getZ())); -+ setStepHeight(world.purpurConfig.controllableMinecartsStepHeight); -+ } else { -+ setStepHeight(0.0F); -+ } -+ this.yaw = passenger.yaw - 90; ++ ++ // Purpur start ++ if (world.purpurConfig.controllableMinecarts && !isInWater() && !isInLava() && !passengers.isEmpty()) { ++ Entity passenger = passengers.get(0); ++ if (passenger instanceof EntityHuman) { ++ EntityHuman entityhuman = (EntityHuman) passenger; ++ if (entityhuman.jumping && this.onGround) { ++ setMot(new Vec3D(getMot().x, world.purpurConfig.controllableMinecartsHopBoost, getMot().z)); + } ++ if (entityhuman.getForward() != 0.0F) { ++ Vector velocity = entityhuman.getBukkitEntity().getEyeLocation().getDirection().normalize().multiply(getControllableSpeed()); ++ if (entityhuman.getForward() < 0.0) { ++ velocity.multiply(-0.5); ++ } ++ setMot(new Vec3D(velocity.getX(), getMot().y, velocity.getZ())); ++ } ++ this.yaw = passenger.yaw - 90; ++ setStepHeight(world.purpurConfig.controllableMinecartsStepHeight); ++ } else { ++ setStepHeight(0.0F); + } -+ // Purpur end ++ } else { ++ setStepHeight(0.0F); ++ } ++ // Purpur end ++ + if (this.onGround) { // CraftBukkit start - replace magic numbers with our variables this.setMot(new Vec3D(this.getMot().x * this.derailedX, this.getMot().y * this.derailedY, this.getMot().z * this.derailedZ)); // CraftBukkit end + } ++ else if (world.purpurConfig.controllableMinecarts) setMot(new Vec3D(getMot().x * derailedX, getMot().y, getMot().z * derailedZ)); // Purpur + + this.move(EnumMoveType.SELF, this.getMot()); + if (!this.onGround) { +diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java +index b59b52633a..3c7313591f 100644 +--- a/src/main/java/net/minecraft/server/EntityPlayer.java ++++ b/src/main/java/net/minecraft/server/EntityPlayer.java +@@ -819,6 +819,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { + if (this.isInvulnerable(damagesource)) { + return false; + } else { ++ if (damagesource == DamageSource.FALL && getRootVehicle() instanceof EntityMinecartAbstract && world.purpurConfig.controllableMinecarts && !world.purpurConfig.controllableMinecartsFallDamage) return false; // Purpur + boolean flag = this.server.j() && this.canPvP() && "fall".equals(damagesource.translationIndex); + + if (!flag && isSpawnInvulnerable() && damagesource != DamageSource.OUT_OF_WORLD) { // Purpur diff --git a/src/main/java/net/minecraft/server/ItemMinecart.java b/src/main/java/net/minecraft/server/ItemMinecart.java -index ceef7aaf9..002651aaf 100644 +index ceef7aaf92..002651aaf3 100644 --- a/src/main/java/net/minecraft/server/ItemMinecart.java +++ b/src/main/java/net/minecraft/server/ItemMinecart.java @@ -103,8 +103,10 @@ public class ItemMinecart extends Item { @@ -119,7 +143,7 @@ index ceef7aaf9..002651aaf 100644 } } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 2763cc943..e54d071dd 100644 +index 2763cc943a..e490a561c6 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -1,5 +1,7 @@ @@ -141,7 +165,7 @@ index 2763cc943..e54d071dd 100644 import static net.pl3x.purpur.PurpurConfig.log; public class PurpurWorldConfig { -@@ -68,6 +73,32 @@ public class PurpurWorldConfig { +@@ -68,6 +73,34 @@ public class PurpurWorldConfig { armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight); } @@ -149,6 +173,7 @@ index 2763cc943..e54d071dd 100644 + public boolean controllableMinecartsPlaceAnywhere = false; + public float controllableMinecartsStepHeight = 1.0F; + public double controllableMinecartsHopBoost = 0.5D; ++ public boolean controllableMinecartsFallDamage = true; + public double controllableMinecartsBaseSpeed = 0.1D; + public Map controllableMinecartsBlockSpeeds = new HashMap<>(); + private void controllableMinecartsSettings() { @@ -156,6 +181,7 @@ index 2763cc943..e54d071dd 100644 + controllableMinecartsPlaceAnywhere = getBoolean("gameplay-mechanics.controllable-minecarts.place-anywhere", controllableMinecartsPlaceAnywhere); + controllableMinecartsStepHeight = (float) getDouble("gameplay-mechanics.controllable-minecarts.step-height", controllableMinecartsStepHeight); + controllableMinecartsHopBoost = getDouble("gameplay-mechanics.controllable-minecarts.hop-boost", controllableMinecartsHopBoost); ++ controllableMinecartsFallDamage = getBoolean("gameplay-mechanics.controllable-minecarts.fall-damage", controllableMinecartsFallDamage); + controllableMinecartsBaseSpeed = getDouble("gameplay-mechanics.controllable-minecarts.base-speed", controllableMinecartsBaseSpeed); + ConfigurationSection section = getConfigurationSection("gameplay-mechanics.controllable-minecarts.block-speed"); + if (section != null) { diff --git a/patches/server/0055-Disable-loot-drops-on-death-by-cramming.patch b/patches/server/0055-Disable-loot-drops-on-death-by-cramming.patch index 0d819b06e..51eecf863 100644 --- a/patches/server/0055-Disable-loot-drops-on-death-by-cramming.patch +++ b/patches/server/0055-Disable-loot-drops-on-death-by-cramming.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Disable loot drops on death by cramming diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index c8b1fbcf1..d9c19f8f5 100644 +index c5b4ee6ed3..75005b00d3 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -1485,8 +1485,10 @@ public abstract class EntityLiving extends Entity { @@ -20,10 +20,10 @@ index c8b1fbcf1..d9c19f8f5 100644 // CraftBukkit start - Call death event org.bukkit.event.entity.EntityDeathEvent deathEvent = CraftEventFactory.callEntityDeathEvent(this, this.drops); // Paper diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index e54d071dd..a12a55dc9 100644 +index e490a561c6..a1dc171252 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -110,6 +110,11 @@ public class PurpurWorldConfig { +@@ -112,6 +112,11 @@ public class PurpurWorldConfig { idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList); } diff --git a/patches/server/0056-Players-should-not-cram-to-death.patch b/patches/server/0056-Players-should-not-cram-to-death.patch index affc561c6..70c1b85f6 100644 --- a/patches/server/0056-Players-should-not-cram-to-death.patch +++ b/patches/server/0056-Players-should-not-cram-to-death.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Players should not cram to death diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 698a2623b..a99429080 100644 +index 3c7313591f..fb11882362 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -1220,7 +1220,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1221,7 +1221,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @Override public boolean isInvulnerable(DamageSource damagesource) { diff --git a/patches/server/0057-Option-to-toggle-milk-curing-bad-omen.patch b/patches/server/0057-Option-to-toggle-milk-curing-bad-omen.patch index ebaf5b4bb..f055c30c5 100644 --- a/patches/server/0057-Option-to-toggle-milk-curing-bad-omen.patch +++ b/patches/server/0057-Option-to-toggle-milk-curing-bad-omen.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Option to toggle milk curing bad omen diff --git a/src/main/java/net/minecraft/server/ItemMilkBucket.java b/src/main/java/net/minecraft/server/ItemMilkBucket.java -index fcf254bba..79554e18f 100644 +index fcf254bbae..79554e18fc 100644 --- a/src/main/java/net/minecraft/server/ItemMilkBucket.java +++ b/src/main/java/net/minecraft/server/ItemMilkBucket.java @@ -20,7 +20,9 @@ public class ItemMilkBucket extends Item { @@ -19,10 +19,10 @@ index fcf254bba..79554e18f 100644 return itemstack.isEmpty() ? new ItemStack(Items.BUCKET) : itemstack; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index a12a55dc9..883614746 100644 +index a1dc171252..4d74d2d051 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -111,8 +111,10 @@ public class PurpurWorldConfig { +@@ -113,8 +113,10 @@ public class PurpurWorldConfig { } public boolean disableDropsOnCrammingDeath = false; diff --git a/patches/server/0064-Add-wither-skeleton-takes-wither-damage-option.patch b/patches/server/0064-Add-wither-skeleton-takes-wither-damage-option.patch index e1e666425..1e7faf0d0 100644 --- a/patches/server/0064-Add-wither-skeleton-takes-wither-damage-option.patch +++ b/patches/server/0064-Add-wither-skeleton-takes-wither-damage-option.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add wither skeleton takes wither damage option diff --git a/src/main/java/net/minecraft/server/EntitySkeletonWither.java b/src/main/java/net/minecraft/server/EntitySkeletonWither.java -index 1ae9910fe..c872be77a 100644 +index 1ae9910fef..c872be77a6 100644 --- a/src/main/java/net/minecraft/server/EntitySkeletonWither.java +++ b/src/main/java/net/minecraft/server/EntitySkeletonWither.java @@ -97,6 +97,6 @@ public class EntitySkeletonWither extends EntitySkeletonAbstract { @@ -17,10 +17,10 @@ index 1ae9910fe..c872be77a 100644 } } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 883614746..355df16d2 100644 +index 4d74d2d051..9353264c53 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -270,6 +270,11 @@ public class PurpurWorldConfig { +@@ -272,6 +272,11 @@ public class PurpurWorldConfig { villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging); } diff --git a/patches/server/0066-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch b/patches/server/0066-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch index 0e9217361..64de79602 100644 --- a/patches/server/0066-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch +++ b/patches/server/0066-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add option to allow loyalty on tridents to work in the void diff --git a/src/main/java/net/minecraft/server/EntityThrownTrident.java b/src/main/java/net/minecraft/server/EntityThrownTrident.java -index a3150bd1c..b24b8c39d 100644 +index a3150bd1ce..b24b8c39d3 100644 --- a/src/main/java/net/minecraft/server/EntityThrownTrident.java +++ b/src/main/java/net/minecraft/server/EntityThrownTrident.java @@ -38,7 +38,7 @@ public class EntityThrownTrident extends EntityArrow { @@ -18,10 +18,10 @@ index a3150bd1c..b24b8c39d 100644 if (b0 > 0 && !this.z()) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 355df16d2..ae7de565c 100644 +index 9353264c53..646d3ae33d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -112,9 +112,11 @@ public class PurpurWorldConfig { +@@ -114,9 +114,11 @@ public class PurpurWorldConfig { public boolean disableDropsOnCrammingDeath = false; public boolean milkCuresBadOmen = true; diff --git a/patches/server/0067-Add-enderman-and-creeper-griefing-controls.patch b/patches/server/0067-Add-enderman-and-creeper-griefing-controls.patch index d7610a003..92c11182d 100644 --- a/patches/server/0067-Add-enderman-and-creeper-griefing-controls.patch +++ b/patches/server/0067-Add-enderman-and-creeper-griefing-controls.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add enderman and creeper griefing controls diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java -index 8338afa7c..013639cc9 100644 +index 8338afa7ca..013639cc90 100644 --- a/src/main/java/net/minecraft/server/EntityCreeper.java +++ b/src/main/java/net/minecraft/server/EntityCreeper.java @@ -215,7 +215,7 @@ public class EntityCreeper extends EntityMonster { @@ -18,7 +18,7 @@ index 8338afa7c..013639cc9 100644 // CraftBukkit start diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java -index 03176e83a..b45a75a45 100644 +index 03176e83ae..b45a75a451 100644 --- a/src/main/java/net/minecraft/server/EntityEnderman.java +++ b/src/main/java/net/minecraft/server/EntityEnderman.java @@ -369,6 +369,7 @@ public class EntityEnderman extends EntityMonster implements IEntityAngerable { @@ -47,10 +47,10 @@ index 03176e83a..b45a75a45 100644 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index ae7de565c..c1e511bad 100644 +index 646d3ae33d..cc99d6d67d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -190,8 +190,10 @@ public class PurpurWorldConfig { +@@ -192,8 +192,10 @@ public class PurpurWorldConfig { cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms); } @@ -61,7 +61,7 @@ index ae7de565c..c1e511bad 100644 creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance); } -@@ -202,6 +204,11 @@ public class PurpurWorldConfig { +@@ -204,6 +206,11 @@ public class PurpurWorldConfig { enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp); } diff --git a/patches/server/0068-Entities-pick-up-loot-bypass-mob-griefing-gamerule.patch b/patches/server/0068-Entities-pick-up-loot-bypass-mob-griefing-gamerule.patch index 9ea40a499..4f0836b60 100644 --- a/patches/server/0068-Entities-pick-up-loot-bypass-mob-griefing-gamerule.patch +++ b/patches/server/0068-Entities-pick-up-loot-bypass-mob-griefing-gamerule.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Entities pick up loot bypass mob-griefing gamerule diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index be23120a2..57d8936a9 100644 +index 7c58c82388..a13b52cc3b 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -542,7 +542,7 @@ public abstract class EntityInsentient extends EntityLiving { @@ -18,10 +18,10 @@ index be23120a2..57d8936a9 100644 Iterator iterator = list.iterator(); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index c1e511bad..0008c4b12 100644 +index cc99d6d67d..1900cf3177 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -111,10 +111,12 @@ public class PurpurWorldConfig { +@@ -113,10 +113,12 @@ public class PurpurWorldConfig { } public boolean disableDropsOnCrammingDeath = false; diff --git a/patches/server/0069-Villagers-farming-can-bypass-mob-griefing-gamerule.patch b/patches/server/0069-Villagers-farming-can-bypass-mob-griefing-gamerule.patch index 76063b99b..00e8ba1b3 100644 --- a/patches/server/0069-Villagers-farming-can-bypass-mob-griefing-gamerule.patch +++ b/patches/server/0069-Villagers-farming-can-bypass-mob-griefing-gamerule.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Villagers farming can bypass mob-griefing gamerule diff --git a/src/main/java/net/minecraft/server/BehaviorFarm.java b/src/main/java/net/minecraft/server/BehaviorFarm.java -index 54a555509..0ff202c0d 100644 +index 54a555509e..0ff202c0d7 100644 --- a/src/main/java/net/minecraft/server/BehaviorFarm.java +++ b/src/main/java/net/minecraft/server/BehaviorFarm.java @@ -18,7 +18,7 @@ public class BehaviorFarm extends Behavior { @@ -18,10 +18,10 @@ index 54a555509..0ff202c0d 100644 } else if (entityvillager.getVillagerData().getProfession() != VillagerProfession.FARMER) { return false; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 0008c4b12..a2f9ac730 100644 +index 1900cf3177..51c8cdc1fb 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -276,9 +276,11 @@ public class PurpurWorldConfig { +@@ -278,9 +278,11 @@ public class PurpurWorldConfig { public int villagerBrainTicks = 1; public boolean villagerUseBrainTicksOnlyWhenLagging = true; diff --git a/patches/server/0070-Villagers-follow-emerald-blocks.patch b/patches/server/0070-Villagers-follow-emerald-blocks.patch index ed7098586..d1f3f28e1 100644 --- a/patches/server/0070-Villagers-follow-emerald-blocks.patch +++ b/patches/server/0070-Villagers-follow-emerald-blocks.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Villagers follow emerald blocks diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index f880a38bf..1fbba526c 100644 +index f880a38bf6..1fbba526c5 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java @@ -74,6 +74,13 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation @@ -23,7 +23,7 @@ index f880a38bf..1fbba526c 100644 public BehaviorController getBehaviorController() { return (BehaviorController) super.getBehaviorController(); // CraftBukkit - decompile error diff --git a/src/main/java/net/minecraft/server/EntityVillagerAbstract.java b/src/main/java/net/minecraft/server/EntityVillagerAbstract.java -index ced893452..a96533e0c 100644 +index ced893452e..a96533e0c1 100644 --- a/src/main/java/net/minecraft/server/EntityVillagerAbstract.java +++ b/src/main/java/net/minecraft/server/EntityVillagerAbstract.java @@ -14,6 +14,8 @@ import org.bukkit.event.entity.VillagerAcquireTradeEvent; @@ -36,7 +36,7 @@ index ced893452..a96533e0c 100644 private CraftMerchant craftMerchant; diff --git a/src/main/java/net/minecraft/server/EntityVillagerTrader.java b/src/main/java/net/minecraft/server/EntityVillagerTrader.java -index f1a509063..74c2d89af 100644 +index f1a509063c..74c2d89af5 100644 --- a/src/main/java/net/minecraft/server/EntityVillagerTrader.java +++ b/src/main/java/net/minecraft/server/EntityVillagerTrader.java @@ -40,6 +40,7 @@ public class EntityVillagerTrader extends EntityVillagerAbstract { @@ -48,10 +48,10 @@ index f1a509063..74c2d89af 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 a2f9ac730..5826c2985 100644 +index 51c8cdc1fb..e44082511f 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -277,10 +277,17 @@ public class PurpurWorldConfig { +@@ -279,10 +279,17 @@ public class PurpurWorldConfig { public int villagerBrainTicks = 1; public boolean villagerUseBrainTicksOnlyWhenLagging = true; public boolean villagerFarmingBypassMobGriefing = false; diff --git a/patches/server/0072-Implement-configurable-search-radius-for-villagers-t.patch b/patches/server/0072-Implement-configurable-search-radius-for-villagers-t.patch index e839719b1..cc1b79383 100644 --- a/patches/server/0072-Implement-configurable-search-radius-for-villagers-t.patch +++ b/patches/server/0072-Implement-configurable-search-radius-for-villagers-t.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Implement configurable search radius for villagers to spawn diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index ff23ca2a1..71644c3d9 100644 +index ff23ca2a1d..71644c3d99 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java @@ -892,6 +892,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation @@ -18,10 +18,10 @@ index ff23ca2a1..71644c3d9 100644 for (int i = 0; i < 10; ++i) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 077860df8..11b4eac48 100644 +index 5bdc0cb4ee..478e6af841 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -279,12 +279,16 @@ public class PurpurWorldConfig { +@@ -281,12 +281,16 @@ public class PurpurWorldConfig { public boolean villagerCanBeLeashed = false; public boolean villagerFarmingBypassMobGriefing = false; public boolean villagerFollowEmeraldBlock = false; diff --git a/patches/server/0073-Implement-infinite-lava.patch b/patches/server/0073-Implement-infinite-lava.patch index 558470e37..f830f6982 100644 --- a/patches/server/0073-Implement-infinite-lava.patch +++ b/patches/server/0073-Implement-infinite-lava.patch @@ -59,10 +59,10 @@ index 29930e801c..ffab239192 100644 protected boolean f() { return false; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 11b4eac48c..d88d120474 100644 +index 478e6af841..ba9a634be3 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -156,6 +156,13 @@ public class PurpurWorldConfig { +@@ -158,6 +158,13 @@ public class PurpurWorldConfig { farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); } diff --git a/patches/server/0074-Make-lava-flow-speed-configurable.patch b/patches/server/0074-Make-lava-flow-speed-configurable.patch index 3a21d626e..081084107 100644 --- a/patches/server/0074-Make-lava-flow-speed-configurable.patch +++ b/patches/server/0074-Make-lava-flow-speed-configurable.patch @@ -18,10 +18,10 @@ index ffab239192..d981aa5a5f 100644 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index d88d120474..b95732e598 100644 +index ba9a634be3..7c9f8d018b 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -158,9 +158,13 @@ public class PurpurWorldConfig { +@@ -160,9 +160,13 @@ public class PurpurWorldConfig { public boolean lavaInfinite = false; public int lavaInfiniteRequiredSources = 2; diff --git a/patches/server/0075-Add-player-death-exp-control-options.patch b/patches/server/0075-Add-player-death-exp-control-options.patch index b3046b833..af08254f2 100644 --- a/patches/server/0075-Add-player-death-exp-control-options.patch +++ b/patches/server/0075-Add-player-death-exp-control-options.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add player death exp control options diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index eb62555cb..48f9feaea 100644 +index eb62555cb2..48f9feaea1 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -85,6 +85,8 @@ public abstract class EntityHuman extends EntityLiving { @@ -40,10 +40,10 @@ index eb62555cb..48f9feaea 100644 return 0; } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 7c27696eb..4c43444cb 100644 +index 7c9f8d018b..1f5c4f592a 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -121,6 +121,13 @@ public class PurpurWorldConfig { +@@ -123,6 +123,13 @@ public class PurpurWorldConfig { tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight); } diff --git a/patches/server/0076-Add-option-to-disable-saving-projectiles-to-disk.patch b/patches/server/0076-Add-option-to-disable-saving-projectiles-to-disk.patch index 532bc4388..1025d3b15 100644 --- a/patches/server/0076-Add-option-to-disable-saving-projectiles-to-disk.patch +++ b/patches/server/0076-Add-option-to-disable-saving-projectiles-to-disk.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add option to disable saving projectiles to disk diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index c2adc7f52..24a6102b3 100644 +index c2adc7f522..24a6102b37 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -489,6 +489,7 @@ public class ChunkRegionLoader { @@ -17,10 +17,10 @@ index c2adc7f52..24a6102b3 100644 // Paper start if (asyncsavedata == null && !entity.dead && (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 d978f2b08..204d9e004 100644 +index 27b7f44786..73698ac51c 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -306,6 +306,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -308,6 +308,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.headHeight = this.getHeadHeight(EntityPose.STANDING, this.size); } @@ -34,7 +34,7 @@ index d978f2b08..204d9e004 100644 return false; } diff --git a/src/main/java/net/minecraft/server/EntityEnderSignal.java b/src/main/java/net/minecraft/server/EntityEnderSignal.java -index 08da58677..3ff61434c 100644 +index 08da58677a..3ff61434c3 100644 --- a/src/main/java/net/minecraft/server/EntityEnderSignal.java +++ b/src/main/java/net/minecraft/server/EntityEnderSignal.java @@ -19,6 +19,13 @@ public class EntityEnderSignal extends Entity { @@ -52,7 +52,7 @@ index 08da58677..3ff61434c 100644 if (true || itemstack.getItem() != Items.ENDER_EYE || itemstack.hasTag()) { // CraftBukkit - always allow item changing this.getDataWatcher().set(EntityEnderSignal.b, SystemUtils.a(itemstack.cloneItemStack(), (itemstack1) -> { // CraftBukkit - decompile error diff --git a/src/main/java/net/minecraft/server/IProjectile.java b/src/main/java/net/minecraft/server/IProjectile.java -index 9f5ce64a6..0bac6b050 100644 +index 9f5ce64a60..0bac6b0506 100644 --- a/src/main/java/net/minecraft/server/IProjectile.java +++ b/src/main/java/net/minecraft/server/IProjectile.java @@ -18,6 +18,13 @@ public abstract class IProjectile extends Entity { @@ -70,10 +70,10 @@ index 9f5ce64a6..0bac6b050 100644 if (entity != null) { this.shooter = entity.getUniqueID(); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 4c43444cb..839fead62 100644 +index 1f5c4f592a..aba2b63ecb 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -113,11 +113,13 @@ public class PurpurWorldConfig { +@@ -115,11 +115,13 @@ public class PurpurWorldConfig { public boolean disableDropsOnCrammingDeath = false; public boolean entitiesPickUpLootBypassMobGriefing = false; public boolean milkCuresBadOmen = true; diff --git a/patches/server/0077-Configurable-void-damage-height.patch b/patches/server/0077-Configurable-void-damage-height.patch index 4cebb07ba..9b4ffd730 100644 --- a/patches/server/0077-Configurable-void-damage-height.patch +++ b/patches/server/0077-Configurable-void-damage-height.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Configurable void damage height diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index bb9ceadc5..872fc34d9 100644 +index 73698ac51c..d862f88528 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -611,7 +611,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -18,10 +18,10 @@ index bb9ceadc5..872fc34d9 100644 && this.locY() >= world.paperConfig.netherVoidTopDamageHeight)) { this.doVoidDamage(); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 839fead62..4466f21ba 100644 +index aba2b63ecb..feb23696e0 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -115,12 +115,14 @@ public class PurpurWorldConfig { +@@ -117,12 +117,14 @@ public class PurpurWorldConfig { public boolean milkCuresBadOmen = true; public boolean saveProjectilesToDisk = true; public double tridentLoyaltyVoidReturnHeight = 0.0D; diff --git a/patches/server/0078-Dispenser-curse-of-binding-protection.patch b/patches/server/0078-Dispenser-curse-of-binding-protection.patch index c63339b3e..c28e93a49 100644 --- a/patches/server/0078-Dispenser-curse-of-binding-protection.patch +++ b/patches/server/0078-Dispenser-curse-of-binding-protection.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Dispenser curse of binding protection diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index 3460b0f5a..fc1a1bc74 100644 +index 5e8ab7106f..78ee45767a 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -986,6 +986,13 @@ public abstract class EntityInsentient extends EntityLiving { @@ -23,7 +23,7 @@ index 3460b0f5a..fc1a1bc74 100644 Item item = itemstack.getItem(); diff --git a/src/main/java/net/minecraft/server/ItemArmor.java b/src/main/java/net/minecraft/server/ItemArmor.java -index 669a50411..7cd2e871b 100644 +index 669a504118..7cd2e871b5 100644 --- a/src/main/java/net/minecraft/server/ItemArmor.java +++ b/src/main/java/net/minecraft/server/ItemArmor.java @@ -35,7 +35,7 @@ public class ItemArmor extends Item implements ItemWearable { @@ -44,10 +44,10 @@ index 669a50411..7cd2e871b 100644 return this.b; } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 4466f21ba..a37b76ea9 100644 +index feb23696e0..bb67d48e6c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -162,6 +162,11 @@ public class PurpurWorldConfig { +@@ -164,6 +164,11 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0079-Add-option-for-boats-to-eject-players-on-land.patch b/patches/server/0079-Add-option-for-boats-to-eject-players-on-land.patch index f0e86c165..334b100cb 100644 --- a/patches/server/0079-Add-option-for-boats-to-eject-players-on-land.patch +++ b/patches/server/0079-Add-option-for-boats-to-eject-players-on-land.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add option for boats to eject players on land diff --git a/src/main/java/net/minecraft/server/EntityBoat.java b/src/main/java/net/minecraft/server/EntityBoat.java -index 7df2837d6..0f25d7cd6 100644 +index 5d14c235b4..8d55946517 100644 --- a/src/main/java/net/minecraft/server/EntityBoat.java +++ b/src/main/java/net/minecraft/server/EntityBoat.java @@ -440,6 +440,7 @@ public class EntityBoat extends Entity { @@ -17,10 +17,10 @@ index 7df2837d6..0f25d7cd6 100644 } else { return EntityBoat.EnumStatus.IN_AIR; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index a37b76ea9..0c2913073 100644 +index bb67d48e6c..899dc46636 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -110,6 +110,7 @@ public class PurpurWorldConfig { +@@ -112,6 +112,7 @@ public class PurpurWorldConfig { idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList); } @@ -28,7 +28,7 @@ index a37b76ea9..0c2913073 100644 public boolean disableDropsOnCrammingDeath = false; public boolean entitiesPickUpLootBypassMobGriefing = false; public boolean milkCuresBadOmen = true; -@@ -117,6 +118,7 @@ public class PurpurWorldConfig { +@@ -119,6 +120,7 @@ public class PurpurWorldConfig { public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; private void miscGameplayMechanicsSettings() { diff --git a/patches/server/0081-Mending-mends-most-damages-equipment-first.patch b/patches/server/0081-Mending-mends-most-damages-equipment-first.patch index 00e602654..3d3e2278b 100644 --- a/patches/server/0081-Mending-mends-most-damages-equipment-first.patch +++ b/patches/server/0081-Mending-mends-most-damages-equipment-first.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Mending mends most damages equipment first diff --git a/src/main/java/net/minecraft/server/EnchantmentManager.java b/src/main/java/net/minecraft/server/EnchantmentManager.java -index b6b0460de..2bf518f41 100644 +index b6b0460de9..2bf518f413 100644 --- a/src/main/java/net/minecraft/server/EnchantmentManager.java +++ b/src/main/java/net/minecraft/server/EnchantmentManager.java @@ -251,7 +251,30 @@ public class EnchantmentManager { @@ -41,7 +41,7 @@ index b6b0460de..2bf518f41 100644 return a(enchantment, entityliving, (itemstack) -> { return true; diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java -index e33a42dcd..e053f9c37 100644 +index e33a42dcd5..e053f9c376 100644 --- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java +++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java @@ -220,7 +220,7 @@ public class EntityExperienceOrb extends Entity { @@ -54,7 +54,7 @@ index e33a42dcd..e053f9c37 100644 if (entry != null) { ItemStack itemstack = (ItemStack) entry.getValue(); diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index 2c908a604..6a9b7e609 100644 +index 2c908a6040..6a9b7e6094 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -418,10 +418,19 @@ public final class ItemStack { @@ -78,10 +78,10 @@ index 2c908a604..6a9b7e609 100644 return this.tag == null ? 0 : this.tag.getInt("Damage"); } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 0c2913073..32e87b6ff 100644 +index 899dc46636..5abbc03d87 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -110,6 +110,7 @@ public class PurpurWorldConfig { +@@ -112,6 +112,7 @@ public class PurpurWorldConfig { idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList); } @@ -89,7 +89,7 @@ index 0c2913073..32e87b6ff 100644 public boolean boatEjectPlayersOnLand = false; public boolean disableDropsOnCrammingDeath = false; public boolean entitiesPickUpLootBypassMobGriefing = false; -@@ -118,6 +119,7 @@ public class PurpurWorldConfig { +@@ -120,6 +121,7 @@ public class PurpurWorldConfig { public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; private void miscGameplayMechanicsSettings() { diff --git a/patches/server/0082-Implement-bamboo-growth-settings.patch b/patches/server/0082-Implement-bamboo-growth-settings.patch index b4ec4ebe0..fd86d9e0c 100644 --- a/patches/server/0082-Implement-bamboo-growth-settings.patch +++ b/patches/server/0082-Implement-bamboo-growth-settings.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement bamboo growth settings diff --git a/src/main/java/net/minecraft/server/BlockBamboo.java b/src/main/java/net/minecraft/server/BlockBamboo.java -index f208ab509..ce56edb7c 100644 +index f208ab5098..ce56edb7c8 100644 --- a/src/main/java/net/minecraft/server/BlockBamboo.java +++ b/src/main/java/net/minecraft/server/BlockBamboo.java @@ -99,7 +99,7 @@ public class BlockBamboo extends Block implements IBlockFragilePlantElement { @@ -63,10 +63,10 @@ index f208ab509..ce56edb7c 100644 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 32e87b6ff..27438136d 100644 +index 5abbc03d87..c95040b1dd 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -166,6 +166,13 @@ public class PurpurWorldConfig { +@@ -168,6 +168,13 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0083-Climbing-should-not-bypass-cramming-gamerule.patch b/patches/server/0083-Climbing-should-not-bypass-cramming-gamerule.patch index 11d47e107..55c22c7d1 100644 --- a/patches/server/0083-Climbing-should-not-bypass-cramming-gamerule.patch +++ b/patches/server/0083-Climbing-should-not-bypass-cramming-gamerule.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Climbing should not bypass cramming gamerule diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 872fc34d9..f945565c7 100644 +index d862f88528..8dc40e8159 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1698,6 +1698,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -22,7 +22,7 @@ index 872fc34d9..f945565c7 100644 } diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index ab5d61848..484a5261c 100644 +index ab5d61848d..484a5261c3 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java @@ -320,7 +320,7 @@ public class EntityArmorStand extends EntityLiving { @@ -35,7 +35,7 @@ index ab5d61848..484a5261c 100644 } diff --git a/src/main/java/net/minecraft/server/EntityBat.java b/src/main/java/net/minecraft/server/EntityBat.java -index af67cf868..f230d84fa 100644 +index af67cf8683..f230d84faa 100644 --- a/src/main/java/net/minecraft/server/EntityBat.java +++ b/src/main/java/net/minecraft/server/EntityBat.java @@ -50,7 +50,7 @@ public class EntityBat extends EntityAmbient { @@ -48,7 +48,7 @@ index af67cf868..f230d84fa 100644 } diff --git a/src/main/java/net/minecraft/server/EntityBoat.java b/src/main/java/net/minecraft/server/EntityBoat.java -index 8d5594651..d8d4b6abf 100644 +index 8d55946517..d8d4b6abf3 100644 --- a/src/main/java/net/minecraft/server/EntityBoat.java +++ b/src/main/java/net/minecraft/server/EntityBoat.java @@ -106,7 +106,7 @@ public class EntityBoat extends Entity { @@ -61,7 +61,7 @@ index 8d5594651..d8d4b6abf 100644 } diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java -index 9f74d6e88..c7757f9d0 100644 +index 9f74d6e887..c7757f9d0a 100644 --- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java +++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java @@ -165,7 +165,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven @@ -74,7 +74,7 @@ index 9f74d6e88..c7757f9d0 100644 } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 3193e7172..8346d8f3d 100644 +index 3193e71723..8346d8f3dd 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2866,7 +2866,7 @@ public abstract class EntityLiving extends Entity { @@ -103,7 +103,7 @@ index 3193e7172..8346d8f3d 100644 // CraftBukkit start - collidable API diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java -index 44eabc4ee..d6cb8becc 100644 +index a39b596afb..ca54db4b8f 100644 --- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java +++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java @@ -107,7 +107,7 @@ public abstract class EntityMinecartAbstract extends Entity { @@ -116,7 +116,7 @@ index 44eabc4ee..d6cb8becc 100644 } diff --git a/src/main/java/net/minecraft/server/EntityParrot.java b/src/main/java/net/minecraft/server/EntityParrot.java -index 34e08dda2..6bb73f869 100644 +index 34e08dda2e..6bb73f869b 100644 --- a/src/main/java/net/minecraft/server/EntityParrot.java +++ b/src/main/java/net/minecraft/server/EntityParrot.java @@ -314,8 +314,8 @@ public class EntityParrot extends EntityPerchable implements EntityBird { @@ -131,10 +131,10 @@ index 34e08dda2..6bb73f869 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 1f41d101e..e30dbf51d 100644 +index fb11882362..3524f231a1 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -1772,8 +1772,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1773,8 +1773,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting { } @Override @@ -146,7 +146,7 @@ index 1f41d101e..e30dbf51d 100644 // Purpur end diff --git a/src/main/java/net/minecraft/server/IEntitySelector.java b/src/main/java/net/minecraft/server/IEntitySelector.java -index c8e384ab6..44fb1e1f7 100644 +index c8e384ab69..44fb1e1f77 100644 --- a/src/main/java/net/minecraft/server/IEntitySelector.java +++ b/src/main/java/net/minecraft/server/IEntitySelector.java @@ -45,11 +45,17 @@ public final class IEntitySelector { @@ -169,10 +169,10 @@ index c8e384ab6..44fb1e1f7 100644 } else if (entity.world.isClientSide && (!(entity1 instanceof EntityHuman) || !((EntityHuman) entity1).ey())) { return false; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 27438136d..76c8ecda5 100644 +index c95040b1dd..4670cf7909 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -114,6 +114,7 @@ public class PurpurWorldConfig { +@@ -116,6 +116,7 @@ public class PurpurWorldConfig { public boolean boatEjectPlayersOnLand = false; public boolean disableDropsOnCrammingDeath = false; public boolean entitiesPickUpLootBypassMobGriefing = false; @@ -180,7 +180,7 @@ index 27438136d..76c8ecda5 100644 public boolean milkCuresBadOmen = true; public boolean saveProjectilesToDisk = true; public double tridentLoyaltyVoidReturnHeight = 0.0D; -@@ -123,6 +124,7 @@ public class PurpurWorldConfig { +@@ -125,6 +126,7 @@ public class PurpurWorldConfig { boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand); disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath); entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing); diff --git a/patches/server/0085-Implement-elytra-settings.patch b/patches/server/0085-Implement-elytra-settings.patch index 394489a77..54d9ea094 100644 --- a/patches/server/0085-Implement-elytra-settings.patch +++ b/patches/server/0085-Implement-elytra-settings.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement elytra settings diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 8346d8f3d..45a297938 100644 +index 8346d8f3dd..45a2979380 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2837,7 +2837,16 @@ public abstract class EntityLiving extends Entity { @@ -27,7 +27,7 @@ index 8346d8f3d..45a297938 100644 }); } diff --git a/src/main/java/net/minecraft/server/ItemFireworks.java b/src/main/java/net/minecraft/server/ItemFireworks.java -index 885c03f62..3a33ad181 100644 +index 885c03f62d..3a33ad181e 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 { @@ -46,7 +46,7 @@ index 885c03f62..3a33ad181 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 6a9b7e609..40f553e39 100644 +index 6a9b7e6094..40f553e395 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -450,7 +450,7 @@ public final class ItemStack { @@ -72,7 +72,7 @@ index 6a9b7e609..40f553e39 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 3663b7017..18f767dc5 100644 +index 3663b70173..18f767dc57 100644 --- a/src/main/java/net/minecraft/server/ItemTrident.java +++ b/src/main/java/net/minecraft/server/ItemTrident.java @@ -102,6 +102,16 @@ public class ItemTrident extends Item implements ItemVanishable { @@ -93,10 +93,10 @@ index 3663b7017..18f767dc5 100644 entityhuman.r(20); if (entityhuman.isOnGround()) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 76c8ecda5..607157312 100644 +index 4670cf7909..d0e410ad53 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -131,6 +131,19 @@ public class PurpurWorldConfig { +@@ -133,6 +133,19 @@ public class PurpurWorldConfig { voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight); } diff --git a/patches/server/0086-Item-entity-immunities.patch b/patches/server/0086-Item-entity-immunities.patch index c377ef129..2b6844ca6 100644 --- a/patches/server/0086-Item-entity-immunities.patch +++ b/patches/server/0086-Item-entity-immunities.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Item entity immunities diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index f945565c7..875b08207 100644 +index 8dc40e8159..53b297247e 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1449,6 +1449,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -17,7 +17,7 @@ index f945565c7..875b08207 100644 return this.O == tag; } diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java -index bc4f84c88..b6cb52c10 100644 +index bc4f84c885..b6cb52c10a 100644 --- a/src/main/java/net/minecraft/server/EntityItem.java +++ b/src/main/java/net/minecraft/server/EntityItem.java @@ -23,6 +23,8 @@ public class EntityItem extends Entity { @@ -68,7 +68,7 @@ index bc4f84c88..b6cb52c10 100644 + // Purpur end } diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java -index aea72b0db..29731da08 100644 +index aea72b0db1..29731da08d 100644 --- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java +++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java @@ -106,6 +106,15 @@ public class EntityTrackerEntry { @@ -88,10 +88,10 @@ index aea72b0db..29731da08 100644 int i; int j; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 607157312..401489cab 100644 +index d0e410ad53..59f5e91df4 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -99,6 +99,21 @@ public class PurpurWorldConfig { +@@ -101,6 +101,21 @@ public class PurpurWorldConfig { } } @@ -114,7 +114,7 @@ index 607157312..401489cab 100644 public boolean idleTimeoutTickNearbyEntities = true; public boolean idleTimeoutCountAsSleeping = false; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java -index cb756b1ba..59b51f94e 100644 +index cb756b1ba0..59b51f94e2 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java @@ -94,4 +94,26 @@ public class CraftItem extends CraftEntity implements Item { diff --git a/patches/server/0088-Configurable-jockey-options.patch b/patches/server/0088-Configurable-jockey-options.patch index 8e018b2fa..8de3ee7dd 100644 --- a/patches/server/0088-Configurable-jockey-options.patch +++ b/patches/server/0088-Configurable-jockey-options.patch @@ -193,10 +193,10 @@ index b52b8d0d84..69e98dcebe 100644 protected void initDatawatcher() { super.initDatawatcher(); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index f2be296132..c1ebb0de18 100644 +index 59f5e91df4..37829231e5 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -267,6 +267,15 @@ public class PurpurWorldConfig { +@@ -269,6 +269,15 @@ public class PurpurWorldConfig { creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance); } @@ -212,7 +212,7 @@ index f2be296132..c1ebb0de18 100644 public boolean enderDragonAlwaysDropsEggBlock = false; public boolean enderDragonAlwaysDropsFullExp = false; private void enderDragonSettings() { -@@ -301,6 +310,15 @@ public class PurpurWorldConfig { +@@ -303,6 +312,15 @@ public class PurpurWorldConfig { giantHaveHostileAI = getBoolean("mobs.giant.have-hostile-ai", giantHaveHostileAI); } @@ -228,7 +228,7 @@ index f2be296132..c1ebb0de18 100644 public double illusionerMaxHealth = 32.0D; public double illusionerMovementSpeed = 0.5D; public double illusionerFollowRange = 18.0D; -@@ -371,8 +389,35 @@ public class PurpurWorldConfig { +@@ -373,8 +391,35 @@ public class PurpurWorldConfig { witherSkeletonTakesWitherDamage = getBoolean("mobs.wither_skeleton.takes-wither-damage", witherSkeletonTakesWitherDamage); } diff --git a/patches/server/0089-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch b/patches/server/0089-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch index a3aee438d..c21eb1a89 100644 --- a/patches/server/0089-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch +++ b/patches/server/0089-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch @@ -17,7 +17,7 @@ index 6fe5678cff..bd0267ee4b 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 04ad775cbd..d7ac23524a 100644 +index 53b297247e..08ceba1559 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1574,6 +1574,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -329,10 +329,10 @@ index 3a70900c73..92704a0789 100644 return entityliving != null ? EntityPhantom.this.a(EntityPhantom.this.getGoalTarget(), PathfinderTargetCondition.a) : false; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index c1ebb0de18..66ab460583 100644 +index 37829231e5..34fbf95966 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -333,6 +333,15 @@ public class PurpurWorldConfig { +@@ -335,6 +335,15 @@ public class PurpurWorldConfig { ironGolemCanSwim = getBoolean("mobs.iron_golem.can-swim", ironGolemCanSwim); } diff --git a/patches/server/0090-Customizable-EnderDragon-Health.patch b/patches/server/0090-Customizable-EnderDragon-Health.patch index 1da78201d..8aaaabcba 100644 --- a/patches/server/0090-Customizable-EnderDragon-Health.patch +++ b/patches/server/0090-Customizable-EnderDragon-Health.patch @@ -26,10 +26,10 @@ index 0e74794d3a..d617b5345d 100644 return EntityInsentient.p().a(GenericAttributes.MAX_HEALTH, 200.0D); } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 66ab460583..6828041e9d 100644 +index 34fbf95966..47204751d7 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -278,9 +278,11 @@ public class PurpurWorldConfig { +@@ -280,9 +280,11 @@ public class PurpurWorldConfig { public boolean enderDragonAlwaysDropsEggBlock = false; public boolean enderDragonAlwaysDropsFullExp = false; diff --git a/patches/server/0091-Add-phantom-spawning-options.patch b/patches/server/0091-Add-phantom-spawning-options.patch index 640252cb6..fcafee17c 100644 --- a/patches/server/0091-Add-phantom-spawning-options.patch +++ b/patches/server/0091-Add-phantom-spawning-options.patch @@ -245,10 +245,10 @@ index 856f422e58..63f2dee384 100644 public int c() { return this.d; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 6828041e9d..f61c1ce30d 100644 +index 47204751d7..43342fcc60 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -338,10 +338,34 @@ public class PurpurWorldConfig { +@@ -340,10 +340,34 @@ public class PurpurWorldConfig { public double phantomAttackedByCrystalRadius = 0.0D; public float phantomAttackedByCrystalDamage = 1.0F; public double phantomOrbitCrystalRadius = 0.0D; diff --git a/patches/server/0092-Implement-bed-explosion-options.patch b/patches/server/0092-Implement-bed-explosion-options.patch index 256680816..293dd8662 100644 --- a/patches/server/0092-Implement-bed-explosion-options.patch +++ b/patches/server/0092-Implement-bed-explosion-options.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement bed explosion options diff --git a/src/main/java/net/minecraft/server/BlockBed.java b/src/main/java/net/minecraft/server/BlockBed.java -index d28c1a67e..c37225202 100644 +index d28c1a67ec..c37225202f 100644 --- a/src/main/java/net/minecraft/server/BlockBed.java +++ b/src/main/java/net/minecraft/server/BlockBed.java @@ -88,7 +88,7 @@ public class BlockBed extends BlockFacingHorizontal implements ITileEntity { @@ -18,7 +18,7 @@ index d28c1a67e..c37225202 100644 } } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 89782b7d1..a85803fed 100644 +index 43342fcc60..f69f38afdf 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -2,6 +2,7 @@ package net.pl3x.purpur; @@ -37,7 +37,7 @@ index 89782b7d1..a85803fed 100644 import static net.pl3x.purpur.PurpurConfig.log; -@@ -203,6 +205,22 @@ public class PurpurWorldConfig { +@@ -205,6 +207,22 @@ public class PurpurWorldConfig { bambooSmallHeight = getInt("blocks.bamboo.small-height", bambooSmallHeight); } diff --git a/patches/server/0093-Implement-respawn-anchor-explosion-options.patch b/patches/server/0093-Implement-respawn-anchor-explosion-options.patch index 3774d731b..20b465878 100644 --- a/patches/server/0093-Implement-respawn-anchor-explosion-options.patch +++ b/patches/server/0093-Implement-respawn-anchor-explosion-options.patch @@ -30,10 +30,10 @@ index 21c5ad83a9..521d161a3d 100644 public static boolean a(World world) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 2c5c650e11..c0314fd6e1 100644 +index f69f38afdf..294d8d6711 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -242,6 +242,22 @@ public class PurpurWorldConfig { +@@ -244,6 +244,22 @@ public class PurpurWorldConfig { lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether); } diff --git a/patches/server/0096-Entity-lifespan.patch b/patches/server/0096-Entity-lifespan.patch index 1a2946f30..bfc2d8bbb 100644 --- a/patches/server/0096-Entity-lifespan.patch +++ b/patches/server/0096-Entity-lifespan.patch @@ -104,10 +104,10 @@ index de3d692084..f7a4ced160 100644 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 c0314fd6e1..de98b45cfa 100644 +index 294d8d6711..fca8ef39a9 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 { +@@ -103,6 +103,11 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0097-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch b/patches/server/0097-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch index 87cedeb94..5ad56dc06 100644 --- a/patches/server/0097-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch +++ b/patches/server/0097-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch @@ -23,10 +23,10 @@ index 45a2979380..ca70050ce0 100644 } } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index de98b45cfa..5a38ee5bd9 100644 +index fca8ef39a9..92a2e907ca 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -180,6 +180,11 @@ public class PurpurWorldConfig { +@@ -182,6 +182,11 @@ public class PurpurWorldConfig { playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack); } diff --git a/patches/server/0098-Squid-EAR-immunity.patch b/patches/server/0098-Squid-EAR-immunity.patch index c945f6c5c..b9d19cc28 100644 --- a/patches/server/0098-Squid-EAR-immunity.patch +++ b/patches/server/0098-Squid-EAR-immunity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Squid EAR immunity diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 5a38ee5bd9..9c967409ed 100644 +index 92a2e907ca..ebc0c4745e 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -439,6 +439,11 @@ public class PurpurWorldConfig { +@@ -441,6 +441,11 @@ public class PurpurWorldConfig { snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack); } diff --git a/patches/server/0101-Phantoms-burn-in-light.patch b/patches/server/0101-Phantoms-burn-in-light.patch index 5b225cd07..ea054ae24 100644 --- a/patches/server/0101-Phantoms-burn-in-light.patch +++ b/patches/server/0101-Phantoms-burn-in-light.patch @@ -70,10 +70,10 @@ index 4c379916d8..ea6b61c9b8 100644 public static final Item dr = a(Blocks.JACK_O_LANTERN, CreativeModeTab.b); public static final Item ds = a(Blocks.OAK_TRAPDOOR, CreativeModeTab.d); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 9c967409ed..eb80f6f878 100644 +index ebc0c4745e..ea35ead0f6 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -394,6 +394,9 @@ public class PurpurWorldConfig { +@@ -396,6 +396,9 @@ public class PurpurWorldConfig { public int phantomSpawnOverheadRadius = 10; public int phantomSpawnMinPerAttempt = 1; public int phantomSpawnMaxPerAttempt = -1; @@ -83,7 +83,7 @@ index 9c967409ed..eb80f6f878 100644 private void phantomSettings() { phantomAttackedByCrystalRadius = getDouble("mobs.phantom.attacked-by-crystal-range", phantomAttackedByCrystalRadius); phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage); -@@ -410,6 +413,9 @@ public class PurpurWorldConfig { +@@ -412,6 +415,9 @@ public class PurpurWorldConfig { phantomSpawnOverheadRadius = getInt("mobs.phantom.spawn.overhead.radius", phantomSpawnOverheadRadius); phantomSpawnMinPerAttempt = getInt("mobs.phantom.spawn.per-attempt.min", phantomSpawnMinPerAttempt); phantomSpawnMaxPerAttempt = getInt("mobs.phantom.spawn.per-attempt.max", phantomSpawnMaxPerAttempt); diff --git a/patches/server/0102-Configurable-villager-breeding.patch b/patches/server/0102-Configurable-villager-breeding.patch index d50a1e3f2..e561e5e48 100644 --- a/patches/server/0102-Configurable-villager-breeding.patch +++ b/patches/server/0102-Configurable-villager-breeding.patch @@ -18,10 +18,10 @@ index 71644c3d99..0467020bbb 100644 private boolean fr() { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index eb80f6f878..15328f6efe 100644 +index ea35ead0f6..c2f425b479 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -457,6 +457,7 @@ public class PurpurWorldConfig { +@@ -459,6 +459,7 @@ public class PurpurWorldConfig { public boolean villagerFollowEmeraldBlock = false; public int villagerSpawnIronGolemRadius = 0; public int villagerSpawnIronGolemLimit = 0; @@ -29,7 +29,7 @@ index eb80f6f878..15328f6efe 100644 private void villagerSettings() { villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks); villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging); -@@ -465,6 +466,7 @@ public class PurpurWorldConfig { +@@ -467,6 +468,7 @@ public class PurpurWorldConfig { villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius); villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit); diff --git a/patches/server/0103-Redstone-deactivates-spawners.patch b/patches/server/0103-Redstone-deactivates-spawners.patch index c16f80b0b..37cde19eb 100644 --- a/patches/server/0103-Redstone-deactivates-spawners.patch +++ b/patches/server/0103-Redstone-deactivates-spawners.patch @@ -26,10 +26,10 @@ index c2e830db7a..3b4cc9871c 100644 public abstract BlockPosition b(); } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 15328f6efe..7a37c63538 100644 +index c2f425b479..4c1e8559d9 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -276,6 +276,11 @@ public class PurpurWorldConfig { +@@ -278,6 +278,11 @@ public class PurpurWorldConfig { } diff --git a/patches/server/0104-Totems-work-in-inventory.patch b/patches/server/0104-Totems-work-in-inventory.patch index 56c828cec..4ba0a8785 100644 --- a/patches/server/0104-Totems-work-in-inventory.patch +++ b/patches/server/0104-Totems-work-in-inventory.patch @@ -29,10 +29,10 @@ index ca70050ce0..a2d50a1fef 100644 event.setCancelled(itemstack == null); this.world.getServer().getPluginManager().callEvent(event); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 7a37c63538..751a937d04 100644 +index 4c1e8559d9..6aab11afa2 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -185,6 +185,11 @@ public class PurpurWorldConfig { +@@ -187,6 +187,11 @@ public class PurpurWorldConfig { teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder); } diff --git a/patches/server/0111-Dispensers-place-anvils-option.patch b/patches/server/0111-Dispensers-place-anvils-option.patch index 63d78b917..5dd50bb6b 100644 --- a/patches/server/0111-Dispensers-place-anvils-option.patch +++ b/patches/server/0111-Dispensers-place-anvils-option.patch @@ -61,10 +61,10 @@ index 7b8a470d97..d1f9d2884d 100644 static void a(ISourceBlock isourceblock, Entity entity, EnumDirection enumdirection) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index bc3c96229f..38a71b2469 100644 +index d2ed99e900..bdcb8d52d8 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -242,8 +242,10 @@ public class PurpurWorldConfig { +@@ -244,8 +244,10 @@ public class PurpurWorldConfig { } public boolean dispenserApplyCursedArmor = true; diff --git a/patches/server/0112-Allow-anvil-colors.patch b/patches/server/0112-Allow-anvil-colors.patch index a2d817fee..dc765a50c 100644 --- a/patches/server/0112-Allow-anvil-colors.patch +++ b/patches/server/0112-Allow-anvil-colors.patch @@ -35,10 +35,10 @@ index 4aa6b035a6..5e4e59e5c8 100644 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 38a71b2469..10cefd8547 100644 +index bdcb8d52d8..4d54378aa5 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -218,6 +218,11 @@ public class PurpurWorldConfig { +@@ -220,6 +220,11 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0113-Add-no-tick-block-list.patch b/patches/server/0113-Add-no-tick-block-list.patch index 0ad6933d0..222e85154 100644 --- a/patches/server/0113-Add-no-tick-block-list.patch +++ b/patches/server/0113-Add-no-tick-block-list.patch @@ -43,7 +43,7 @@ index e2f714382c..34a4ae5ce0 100644 this.nextTickListFluid = new TickListServer<>(this, (fluidtype) -> { return fluidtype == null || fluidtype == FluidTypes.EMPTY; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 10cefd8547..0a9d75e82a 100644 +index 4d54378aa5..bc18657172 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -11,8 +11,10 @@ import org.bukkit.configuration.ConfigurationSection; @@ -57,7 +57,7 @@ index 10cefd8547..0a9d75e82a 100644 import java.util.logging.Level; import static net.pl3x.purpur.PurpurConfig.log; -@@ -185,6 +187,16 @@ public class PurpurWorldConfig { +@@ -187,6 +189,16 @@ public class PurpurWorldConfig { playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack); } diff --git a/patches/server/0114-Add-option-to-disable-dolphin-treasure-searching.patch b/patches/server/0114-Add-option-to-disable-dolphin-treasure-searching.patch index 58c151601..876ef6cfa 100644 --- a/patches/server/0114-Add-option-to-disable-dolphin-treasure-searching.patch +++ b/patches/server/0114-Add-option-to-disable-dolphin-treasure-searching.patch @@ -17,10 +17,10 @@ index b5191eb0b1..cde5c46fee 100644 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 0a9d75e82a..a4492d4a5c 100644 +index bc18657172..0a50698fa2 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -345,6 +345,11 @@ public class PurpurWorldConfig { +@@ -347,6 +347,11 @@ public class PurpurWorldConfig { creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance); } diff --git a/patches/server/0115-Add-option-to-reset-reputation-when-villager-is-cure.patch b/patches/server/0115-Add-option-to-reset-reputation-when-villager-is-cure.patch index 305b0f898..24a111984 100644 --- a/patches/server/0115-Add-option-to-reset-reputation-when-villager-is-cure.patch +++ b/patches/server/0115-Add-option-to-reset-reputation-when-villager-is-cure.patch @@ -26,10 +26,10 @@ index 0467020bbb..7add2fca10 100644 this.by.a(entity.getUniqueID(), ReputationType.MINOR_POSITIVE, 25); } else if (reputationevent == ReputationEvent.e) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index a4492d4a5c..4820b1a6d6 100644 +index 0a50698fa2..f9a87d0bff 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -546,9 +546,11 @@ public class PurpurWorldConfig { +@@ -548,9 +548,11 @@ public class PurpurWorldConfig { public boolean zombieVillagerJockeyOnlyBaby = true; public double zombieVillagerJockeyChance = 0.05D; public boolean zombieVillagerJockeyTryExistingChickens = true; diff --git a/patches/server/0117-Stop-squids-floating-on-top-of-water.patch b/patches/server/0117-Stop-squids-floating-on-top-of-water.patch index 666bf0340..dfc4a18e1 100644 --- a/patches/server/0117-Stop-squids-floating-on-top-of-water.patch +++ b/patches/server/0117-Stop-squids-floating-on-top-of-water.patch @@ -43,10 +43,10 @@ index 03d707ed09..028a7fe2cd 100644 protected void initPathfinder() { this.goalSelector.a(0, new EntitySquid.PathfinderGoalSquid(this)); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 4820b1a6d6..3fda106ee5 100644 +index f9a87d0bff..86a4ce5288 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -485,8 +485,10 @@ public class PurpurWorldConfig { +@@ -487,8 +487,10 @@ public class PurpurWorldConfig { } public boolean squidImmuneToEAR = true; diff --git a/patches/server/0118-Ridables.patch b/patches/server/0118-Ridables.patch index 57833dc61..a6ad55a86 100644 --- a/patches/server/0118-Ridables.patch +++ b/patches/server/0118-Ridables.patch @@ -4959,7 +4959,7 @@ index 8714d1574d..af3739c79a 100644 public static int dungeonSeed = -1; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 3fda106ee5..0f1be67e16 100644 +index 86a4ce5288..30fdfa6aa5 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -42,11 +42,6 @@ public class PurpurWorldConfig { @@ -4974,7 +4974,7 @@ index 3fda106ee5..0f1be67e16 100644 private ConfigurationSection getConfigurationSection(String path) { ConfigurationSection section = PurpurConfig.config.getConfigurationSection("world-settings." + worldName + "." + path); return section != null ? section : PurpurConfig.config.getConfigurationSection("world-settings.default." + path); -@@ -319,65 +314,188 @@ public class PurpurWorldConfig { +@@ -321,65 +316,188 @@ public class PurpurWorldConfig { turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts); } @@ -5163,7 +5163,7 @@ index 3fda106ee5..0f1be67e16 100644 public float giantStepHeight = 2.0F; public float giantJumpHeight = 1.0F; public double giantMaxHealth = 100.0D; -@@ -386,6 +504,8 @@ public class PurpurWorldConfig { +@@ -388,6 +506,8 @@ public class PurpurWorldConfig { public boolean giantHaveAI = false; public boolean giantHaveHostileAI = false; private void giantSettings() { @@ -5172,7 +5172,7 @@ index 3fda106ee5..0f1be67e16 100644 giantStepHeight = (float) getDouble("mobs.giant.step-height", giantStepHeight); giantJumpHeight = (float) getDouble("mobs.giant.jump-height", giantJumpHeight); giantMaxHealth = getDouble("mobs.giant.max-health", giantMaxHealth); -@@ -395,29 +515,119 @@ public class PurpurWorldConfig { +@@ -397,29 +517,119 @@ public class PurpurWorldConfig { giantHaveHostileAI = getBoolean("mobs.giant.have-hostile-ai", giantHaveHostileAI); } @@ -5292,7 +5292,7 @@ index 3fda106ee5..0f1be67e16 100644 public double phantomAttackedByCrystalRadius = 0.0D; public float phantomAttackedByCrystalDamage = 1.0F; public double phantomOrbitCrystalRadius = 0.0D; -@@ -437,6 +647,11 @@ public class PurpurWorldConfig { +@@ -439,6 +649,11 @@ public class PurpurWorldConfig { public boolean phantomIgnorePlayersWithTorch = false; public boolean phantomBurnInDaylight = true; private void phantomSettings() { @@ -5304,7 +5304,7 @@ index 3fda106ee5..0f1be67e16 100644 phantomAttackedByCrystalRadius = getDouble("mobs.phantom.attacked-by-crystal-range", phantomAttackedByCrystalRadius); phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage); phantomOrbitCrystalRadius = getDouble("mobs.phantom.orbit-crystal-radius", phantomOrbitCrystalRadius); -@@ -457,40 +672,184 @@ public class PurpurWorldConfig { +@@ -459,40 +674,184 @@ public class PurpurWorldConfig { phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch); } @@ -5489,7 +5489,7 @@ index 3fda106ee5..0f1be67e16 100644 public int villagerBrainTicks = 1; public boolean villagerUseBrainTicksOnlyWhenLagging = true; public boolean villagerCanBeLeashed = false; -@@ -500,6 +859,8 @@ public class PurpurWorldConfig { +@@ -502,6 +861,8 @@ public class PurpurWorldConfig { public int villagerSpawnIronGolemLimit = 0; public boolean villagerCanBreed = true; private void villagerSettings() { @@ -5498,7 +5498,7 @@ index 3fda106ee5..0f1be67e16 100644 villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks); villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging); villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); -@@ -510,46 +871,109 @@ public class PurpurWorldConfig { +@@ -512,46 +873,109 @@ public class PurpurWorldConfig { villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed); } diff --git a/patches/server/0121-Entities-can-use-portals-configuration.patch b/patches/server/0121-Entities-can-use-portals-configuration.patch index 79c0c86e2..a07aa53cb 100644 --- a/patches/server/0121-Entities-can-use-portals-configuration.patch +++ b/patches/server/0121-Entities-can-use-portals-configuration.patch @@ -27,10 +27,10 @@ index 48cd541912..deaa8b8371 100644 public float a(Explosion explosion, IBlockAccess iblockaccess, BlockPosition blockposition, IBlockData iblockdata, Fluid fluid, float f) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 0f1be67e16..4d6dc69def 100644 +index 30fdfa6aa5..039a205045 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -138,6 +138,7 @@ public class PurpurWorldConfig { +@@ -140,6 +140,7 @@ public class PurpurWorldConfig { public boolean boatEjectPlayersOnLand = false; public boolean disableDropsOnCrammingDeath = false; public boolean entitiesPickUpLootBypassMobGriefing = false; @@ -38,7 +38,7 @@ index 0f1be67e16..4d6dc69def 100644 public boolean fixClimbingBypassingCrammingRule = false; public boolean milkCuresBadOmen = true; public boolean saveProjectilesToDisk = true; -@@ -148,6 +149,7 @@ public class PurpurWorldConfig { +@@ -150,6 +151,7 @@ public class PurpurWorldConfig { boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand); disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath); entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing); diff --git a/patches/server/0123-Customizable-WitherBoss-Health-and-Healing.patch b/patches/server/0123-Customizable-WitherBoss-Health-and-Healing.patch index 82b9dcb80..0defb3ada 100644 --- a/patches/server/0123-Customizable-WitherBoss-Health-and-Healing.patch +++ b/patches/server/0123-Customizable-WitherBoss-Health-and-Healing.patch @@ -53,10 +53,10 @@ index 1054b492c2..2a288d3726 100644 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 4d6dc69def..66c9da792c 100644 +index 039a205045..c905d95a8c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -903,10 +903,16 @@ public class PurpurWorldConfig { +@@ -905,10 +905,16 @@ public class PurpurWorldConfig { public boolean witherRidable = false; public boolean witherRidableInWater = false; public double witherMaxY = 256D; diff --git a/patches/server/0124-Allow-toggling-special-MobSpawners-per-world.patch b/patches/server/0124-Allow-toggling-special-MobSpawners-per-world.patch index 8592596a8..a60fddd15 100644 --- a/patches/server/0124-Allow-toggling-special-MobSpawners-per-world.patch +++ b/patches/server/0124-Allow-toggling-special-MobSpawners-per-world.patch @@ -72,7 +72,7 @@ index 34a4ae5ce0..0fb41962c8 100644 this.worldDataServer = (WorldDataServer) iworlddataserver; worldDataServer.world = this; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 66c9da792c..d8c5e033fc 100644 +index c905d95a8c..b360186b3a 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -7,6 +7,8 @@ import net.minecraft.server.IRegistry; @@ -118,7 +118,7 @@ index 66c9da792c..d8c5e033fc 100644 private double getDouble(String path, double def) { PurpurConfig.config.addDefault("world-settings.default." + path, def); return PurpurConfig.config.getDouble("world-settings." + worldName + "." + path, PurpurConfig.config.getDouble("world-settings.default." + path)); -@@ -157,6 +168,21 @@ public class PurpurWorldConfig { +@@ -159,6 +170,21 @@ public class PurpurWorldConfig { voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight); } diff --git a/patches/server/0125-Raid-cooldown-setting.patch b/patches/server/0125-Raid-cooldown-setting.patch index 8b02141da..82aafd29d 100644 --- a/patches/server/0125-Raid-cooldown-setting.patch +++ b/patches/server/0125-Raid-cooldown-setting.patch @@ -52,10 +52,10 @@ index 2193fecab4..515026198c 100644 if (!this.raids.containsKey(raid.getId())) { this.raids.put(raid.getId(), raid); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index d8c5e033fc..6c1038e2d9 100644 +index b360186b3a..9e03fd5d89 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -155,6 +155,7 @@ public class PurpurWorldConfig { +@@ -157,6 +157,7 @@ public class PurpurWorldConfig { public boolean saveProjectilesToDisk = true; public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; @@ -63,7 +63,7 @@ index d8c5e033fc..6c1038e2d9 100644 private void miscGameplayMechanicsSettings() { useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand); -@@ -166,6 +167,7 @@ public class PurpurWorldConfig { +@@ -168,6 +169,7 @@ public class PurpurWorldConfig { saveProjectilesToDisk = getBoolean("gameplay-mechanics.save-projectiles-to-disk", saveProjectilesToDisk); tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight); voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight); diff --git a/patches/server/0126-Despawn-rate-config-options-per-projectile-type.patch b/patches/server/0126-Despawn-rate-config-options-per-projectile-type.patch index 2022baac2..3615d98db 100644 --- a/patches/server/0126-Despawn-rate-config-options-per-projectile-type.patch +++ b/patches/server/0126-Despawn-rate-config-options-per-projectile-type.patch @@ -300,10 +300,10 @@ index 9a17eb6066..f0b8982893 100644 public boolean checkIfLeftOwner() { return this.h(); } // Purpur - OBFHELPER diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 6c1038e2d9..52e6e11a56 100644 +index 9e03fd5d89..24b3c7c19c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -145,6 +145,35 @@ public class PurpurWorldConfig { +@@ -147,6 +147,35 @@ public class PurpurWorldConfig { idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList); } diff --git a/patches/server/0129-Add-option-to-disable-zombie-aggressiveness-towards-.patch b/patches/server/0129-Add-option-to-disable-zombie-aggressiveness-towards-.patch index 9db4cbdcd..4377337f2 100644 --- a/patches/server/0129-Add-option-to-disable-zombie-aggressiveness-towards-.patch +++ b/patches/server/0129-Add-option-to-disable-zombie-aggressiveness-towards-.patch @@ -69,10 +69,10 @@ index d08747c66a..7b2a66d6d3 100644 this.targetSelector.a(5, new PathfinderGoalNearestAttackableTarget<>(this, EntityTurtle.class, 10, true, false, EntityTurtle.bo)); } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 52e6e11a56..d6b91bc003 100644 +index 24b3c7c19c..b769a54fc3 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1000,12 +1000,14 @@ public class PurpurWorldConfig { +@@ -1002,12 +1002,14 @@ public class PurpurWorldConfig { public boolean zombieJockeyOnlyBaby = true; public double zombieJockeyChance = 0.05D; public boolean zombieJockeyTryExistingChickens = true; diff --git a/patches/server/0130-Persistent-TileEntity-Lore-and-DisplayName.patch b/patches/server/0130-Persistent-TileEntity-Lore-and-DisplayName.patch index ce9d1111d..2aa8a10d0 100644 --- a/patches/server/0130-Persistent-TileEntity-Lore-and-DisplayName.patch +++ b/patches/server/0130-Persistent-TileEntity-Lore-and-DisplayName.patch @@ -160,10 +160,10 @@ index d32540c88b..13460df026 100644 + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index d6b91bc003..af7c495da1 100644 +index b769a54fc3..400766dc76 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -182,6 +182,7 @@ public class PurpurWorldConfig { +@@ -184,6 +184,7 @@ public class PurpurWorldConfig { public boolean fixClimbingBypassingCrammingRule = false; public boolean milkCuresBadOmen = true; public boolean saveProjectilesToDisk = true; @@ -171,7 +171,7 @@ index d6b91bc003..af7c495da1 100644 public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; public int raidCooldownSeconds = 0; -@@ -194,6 +195,7 @@ public class PurpurWorldConfig { +@@ -196,6 +197,7 @@ public class PurpurWorldConfig { fixClimbingBypassingCrammingRule = getBoolean("gameplay-mechanics.fix-climbing-bypassing-cramming-rule", fixClimbingBypassingCrammingRule); milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen); saveProjectilesToDisk = getBoolean("gameplay-mechanics.save-projectiles-to-disk", saveProjectilesToDisk); diff --git a/patches/server/0132-Flying-squids-Oh-my.patch b/patches/server/0132-Flying-squids-Oh-my.patch index 24c72794c..0f7cc349b 100644 --- a/patches/server/0132-Flying-squids-Oh-my.patch +++ b/patches/server/0132-Flying-squids-Oh-my.patch @@ -38,10 +38,10 @@ index c9d2461318..aa294a46e4 100644 float f1 = MathHelper.cos(f) * 0.2F; float f2 = -0.1F + this.b.getRandom().nextFloat() * 0.2F; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index af7c495da1..9c17475a00 100644 +index 400766dc76..f063a1a8c7 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -861,10 +861,12 @@ public class PurpurWorldConfig { +@@ -863,10 +863,12 @@ public class PurpurWorldConfig { public boolean squidRidable = false; public boolean squidImmuneToEAR = true; public double squidOffsetWaterCheck = 0.0D; diff --git a/patches/server/0133-Infinity-bow-settings.patch b/patches/server/0133-Infinity-bow-settings.patch index 3da117e8f..da7a79695 100644 --- a/patches/server/0133-Infinity-bow-settings.patch +++ b/patches/server/0133-Infinity-bow-settings.patch @@ -26,10 +26,10 @@ index dd6a93dc78..8241f3dafa 100644 entityhuman.b(StatisticList.ITEM_USED.b(this)); } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 9c17475a00..39e40e1573 100644 +index f063a1a8c7..95d54148ca 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -145,6 +145,15 @@ public class PurpurWorldConfig { +@@ -147,6 +147,15 @@ public class PurpurWorldConfig { idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList); } diff --git a/patches/server/0134-Stonecutter-damage.patch b/patches/server/0134-Stonecutter-damage.patch index 276e30a52..c0bd2c0c7 100644 --- a/patches/server/0134-Stonecutter-damage.patch +++ b/patches/server/0134-Stonecutter-damage.patch @@ -39,10 +39,10 @@ index 9caf6598f8..dbd352bd3f 100644 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 39e40e1573..595a64aee5 100644 +index 95d54148ca..3c1bd31b92 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -375,6 +375,11 @@ public class PurpurWorldConfig { +@@ -377,6 +377,11 @@ public class PurpurWorldConfig { spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone); } diff --git a/patches/server/0135-Configurable-daylight-cycle.patch b/patches/server/0135-Configurable-daylight-cycle.patch index b0c4f3e75..2c4f434ef 100644 --- a/patches/server/0135-Configurable-daylight-cycle.patch +++ b/patches/server/0135-Configurable-daylight-cycle.patch @@ -74,10 +74,10 @@ index 0fb41962c8..86b6442292 100644 public void doMobSpawning(boolean flag, boolean flag1) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 595a64aee5..b7de516378 100644 +index 3c1bd31b92..8f94b05373 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -114,6 +114,13 @@ public class PurpurWorldConfig { +@@ -116,6 +116,13 @@ public class PurpurWorldConfig { } }