rebuild patches

This commit is contained in:
William Blake Galbreath
2020-02-27 21:33:44 -06:00
parent b17230ad50
commit 7edbf259ba
22 changed files with 123 additions and 247 deletions

View File

@@ -1,46 +1,16 @@
From 935d38533d1432adf1e0d4b820e019a0d398e243 Mon Sep 17 00:00:00 2001
From 48932d2775e583fbe530c08caa92140790663005 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sun, 12 May 2019 00:43:12 -0500
Subject: [PATCH] Giants naturally spawn and have AI
Subject: [PATCH] Give giants AI
---
.../java/net/minecraft/server/BiomeBase.java | 1 +
.../java/net/minecraft/server/Biomes.java | 6 ++
.../minecraft/server/EntityGiantZombie.java | 68 +++++++++++++++++--
.../minecraft/server/EntityGiantZombie.java | 47 +++++++++++++++++--
.../minecraft/server/EntityInsentient.java | 2 +
.../net/minecraft/server/SpawnerCreature.java | 8 +++
.../net/pl3x/purpur/PurpurWorldConfig.java | 12 ++++
6 files changed, 93 insertions(+), 4 deletions(-)
.../net/pl3x/purpur/PurpurWorldConfig.java | 10 ++++
3 files changed, 55 insertions(+), 4 deletions(-)
diff --git a/src/main/java/net/minecraft/server/BiomeBase.java b/src/main/java/net/minecraft/server/BiomeBase.java
index 0102a170dc..9637098462 100644
--- a/src/main/java/net/minecraft/server/BiomeBase.java
+++ b/src/main/java/net/minecraft/server/BiomeBase.java
@@ -112,6 +112,7 @@ public abstract class BiomeBase {
return MathHelper.f(0.62222224F - f * 0.05F, 0.5F + f * 0.1F, 1.0F);
}
+ protected void addMobSpawn(EnumCreatureType creaturetype, BiomeBase.BiomeMeta biomemeta) { a(creaturetype, biomemeta); } // Purpur - OBFHELPER
protected void a(EnumCreatureType enumcreaturetype, BiomeBase.BiomeMeta biomebase_biomemeta) {
((List) this.v.get(enumcreaturetype)).add(biomebase_biomemeta);
}
diff --git a/src/main/java/net/minecraft/server/Biomes.java b/src/main/java/net/minecraft/server/Biomes.java
index 12742870ca..749016a1c5 100644
--- a/src/main/java/net/minecraft/server/Biomes.java
+++ b/src/main/java/net/minecraft/server/Biomes.java
@@ -93,4 +93,10 @@ public abstract class Biomes {
static {
Collections.addAll(BiomeBase.b, new BiomeBase[]{Biomes.OCEAN, Biomes.PLAINS, Biomes.DESERT, Biomes.MOUNTAINS, Biomes.FOREST, Biomes.TAIGA, Biomes.SWAMP, Biomes.RIVER, Biomes.FROZEN_RIVER, Biomes.SNOWY_TUNDRA, Biomes.SNOWY_MOUNTAINS, Biomes.MUSHROOM_FIELDS, Biomes.MUSHROOM_FIELD_SHORE, Biomes.BEACH, Biomes.DESERT_HILLS, Biomes.WOODED_HILLS, Biomes.TAIGA_HILLS, Biomes.JUNGLE, Biomes.JUNGLE_HILLS, Biomes.JUNGLE_EDGE, Biomes.DEEP_OCEAN, Biomes.STONE_SHORE, Biomes.SNOWY_BEACH, Biomes.BIRCH_FOREST, Biomes.BIRCH_FOREST_HILLS, Biomes.DARK_FOREST, Biomes.SNOWY_TAIGA, Biomes.SNOWY_TAIGA_HILLS, Biomes.GIANT_TREE_TAIGA, Biomes.GIANT_TREE_TAIGA_HILLS, Biomes.WOODED_MOUNTAINS, Biomes.SAVANNA, Biomes.SAVANNA_PLATEAU, Biomes.BADLANDS, Biomes.WOODED_BADLANDS_PLATEAU, Biomes.BADLANDS_PLATEAU});
}
+
+ // Purpur start
+ public static void addSpawn(String biome, EnumCreatureType ct, EntityTypes et, int weight, int min_group, int max_group) {
+ IRegistry.BIOME.get(new MinecraftKey(biome)).addMobSpawn(ct, new BiomeBase.BiomeMeta(et, weight, min_group, max_group));
+ }
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/EntityGiantZombie.java b/src/main/java/net/minecraft/server/EntityGiantZombie.java
index ff8a41a539..d132a6105f 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 {
@@ -89,7 +59,7 @@ index ff8a41a539..d132a6105f 100644
@Override
public float getJumpHeight() {
// make giants jump as high as everything else relative to their size
@@ -39,13 +78,34 @@ public class EntityGiantZombie extends EntityMonster {
@@ -39,13 +78,13 @@ public class EntityGiantZombie extends EntityMonster {
@Override
protected void initAttributes() {
super.initAttributes();
@@ -106,27 +76,6 @@ index ff8a41a539..d132a6105f 100644
- return iworldreader.w(blockposition) - 0.5F;
+ return super.a(blockposition, iworldreader); // Purpur - fix light requirements for natural spawns
}
+
+ // Purpur start - TODO make configurable
+ static {
+ Biomes.addSpawn("plains", EnumCreatureType.MONSTER, EntityTypes.GIANT, 5, 1, 1);
+ Biomes.addSpawn("sunflower_plains", EnumCreatureType.MONSTER, EntityTypes.GIANT, 5, 1, 1);
+ Biomes.addSpawn("desert", EnumCreatureType.MONSTER, EntityTypes.GIANT, 2, 1, 1);
+ Biomes.addSpawn("desert_hills", EnumCreatureType.MONSTER, EntityTypes.GIANT, 2, 1, 1);
+ Biomes.addSpawn("desert_lakes", EnumCreatureType.MONSTER, EntityTypes.GIANT, 2, 1, 1);
+ Biomes.addSpawn("mountains", EnumCreatureType.MONSTER, EntityTypes.GIANT, 5, 1, 1);
+ Biomes.addSpawn("gravelly_mountains", EnumCreatureType.MONSTER, EntityTypes.GIANT, 5, 1, 1);
+ Biomes.addSpawn("modified_gravelly_mountains", EnumCreatureType.MONSTER, EntityTypes.GIANT, 5, 1, 1);
+ Biomes.addSpawn("savanna", EnumCreatureType.MONSTER, EntityTypes.GIANT, 5, 1, 1);
+ Biomes.addSpawn("savanna_plateau", EnumCreatureType.MONSTER, EntityTypes.GIANT, 5, 1, 1);
+ Biomes.addSpawn("shattered_savanna", EnumCreatureType.MONSTER, EntityTypes.GIANT, 5, 1, 1);
+ Biomes.addSpawn("shattered_savanna_plateau", EnumCreatureType.MONSTER, EntityTypes.GIANT, 5, 1, 1);
+ Biomes.addSpawn("badlands", EnumCreatureType.MONSTER, EntityTypes.GIANT, 10, 1, 1);
+ Biomes.addSpawn("badlands_plateau", EnumCreatureType.MONSTER, EntityTypes.GIANT, 10, 1, 1);
+ Biomes.addSpawn("eroded_badlands", EnumCreatureType.MONSTER, EntityTypes.GIANT, 10, 1, 1);
+ Biomes.addSpawn("modified_badlands_plateau", EnumCreatureType.MONSTER, EntityTypes.GIANT, 10, 1, 1);
+ }
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index 28218f048d..00cbd99914 100644
@@ -148,37 +97,17 @@ index 28218f048d..00cbd99914 100644
protected void b(DifficultyDamageScaler difficultydamagescaler) {
float f = difficultydamagescaler.d();
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
index 58bbf2f9d2..71920d7f84 100644
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
@@ -77,6 +77,14 @@ public final class SpawnerCreature {
if (biomebase_biomemeta.b.e() != EnumCreatureType.MISC && (biomebase_biomemeta.b.d() || d0 <= 16384.0D)) {
EntityTypes<?> entitytypes = biomebase_biomemeta.b;
+ // Purpur start
+ if (entitytypes == EntityTypes.GIANT) {
+ if (!worldserver.purpurConfig.giantNaturallySpawn) {
+ return i;
+ }
+ }
+ // Purpur end
+
if (entitytypes.b() && a(chunkgenerator, enumcreaturetype, biomebase_biomemeta, (BlockPosition) blockposition_mutableblockposition)) {
EntityPositionTypes.Surface entitypositiontypes_surface = EntityPositionTypes.a(entitytypes);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index ad96353afd..a98c346441 100644
index ad96353afd..22a8f2da3f 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -249,12 +249,24 @@ public class PurpurWorldConfig {
@@ -249,12 +249,22 @@ public class PurpurWorldConfig {
public boolean giantRequireShiftToMount = true;
public float giantStepHeight = 2.0F;
public float giantJumpHeight = 1.0F;
+ public double giantMaxHealth = 100.0D;
+ public double giantMovementSpeed = 0.5D;
+ public double giantAttackDamage = 50.0D;
+ public boolean giantNaturallySpawn = false;
+ public boolean giantHaveAI = false;
+ public boolean giantHaveHostileAI = false;
private void giantSettings() {
@@ -190,7 +119,6 @@ index ad96353afd..a98c346441 100644
+ giantMaxHealth = getDouble("mobs.giant.max-health", giantMaxHealth);
+ giantMovementSpeed = getDouble("mobs.giant.movement-speed", giantMovementSpeed);
+ giantAttackDamage = getDouble("mobs.giant.attack-damage", giantAttackDamage);
+ giantNaturallySpawn = getBoolean("mobs.giant.naturally-spawn", giantNaturallySpawn);
+ giantHaveAI = getBoolean("mobs.giant.have-ai", giantHaveAI);
+ giantHaveHostileAI = getBoolean("mobs.giant.have-hostile-ai", giantHaveHostileAI);
}

View File

@@ -0,0 +1,51 @@
From 23698d7f8263ffaa041bb09ec3b4f05492b73ac8 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Fri, 5 Jul 2019 11:09:25 -0500
Subject: [PATCH] Illusioners AI settings
---
.../java/net/minecraft/server/EntityIllagerIllusioner.java | 6 +++---
src/main/java/net/pl3x/purpur/PurpurWorldConfig.java | 6 ++++++
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 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
@Override
protected void initAttributes() {
super.initAttributes();
- this.getAttributeInstance(GenericAttributes.MOVEMENT_SPEED).setValue(0.5D);
- this.getAttributeInstance(GenericAttributes.FOLLOW_RANGE).setValue(18.0D);
- this.getAttributeInstance(GenericAttributes.MAX_HEALTH).setValue(32.0D);
+ this.getAttributeInstance(GenericAttributes.MOVEMENT_SPEED).setValue(world.purpurConfig.illusionerMovementSpeed); // Purpur
+ this.getAttributeInstance(GenericAttributes.FOLLOW_RANGE).setValue(world.purpurConfig.illusionerFollowRange); // Purpur
+ this.getAttributeInstance(GenericAttributes.MAX_HEALTH).setValue(world.purpurConfig.illusionerMaxHealth); // Purpur
}
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 22a8f2da3f..ce17384c1d 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 {
public boolean illusionerRidable = false;
public boolean illusionerRidableInWater = false;
public boolean illusionerRequireShiftToMount = true;
+ public double illusionerMaxHealth = 32.0D;
+ public double illusionerMovementSpeed = 0.5D;
+ public double illusionerFollowRange = 18.0D;
private void illusionerSettings() {
illusionerRidable = getBoolean("mobs.illusioner.ridable", illusionerRidable);
illusionerRidableInWater = getBoolean("mobs.illusioner.ridable-in-water", illusionerRidableInWater);
illusionerRequireShiftToMount = getBoolean("mobs.illusioner.require-shift-to-mount", illusionerRequireShiftToMount);
+ illusionerMaxHealth = getDouble("mobs.illusioner.max-health", illusionerMaxHealth);
+ illusionerMovementSpeed = getDouble("mobs.illusioner.movement-speed", illusionerMovementSpeed);
+ illusionerFollowRange = getDouble("mobs.illusioner.follow-range", illusionerFollowRange);
}
public boolean ironGolemRidable = false;
--
2.24.0

View File

@@ -1,95 +0,0 @@
From 95e11743503473156eb310c2806f8261ec8c2129 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Fri, 5 Jul 2019 11:09:25 -0500
Subject: [PATCH] Illusioners naturally spawn
---
.../server/EntityIllagerIllusioner.java | 27 ++++++++++++++++---
.../net/minecraft/server/SpawnerCreature.java | 4 +++
.../net/pl3x/purpur/PurpurWorldConfig.java | 8 ++++++
3 files changed, 36 insertions(+), 3 deletions(-)
diff --git a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java
index 3e6722cfce..9af93c6369 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
@Override
protected void initAttributes() {
super.initAttributes();
- this.getAttributeInstance(GenericAttributes.MOVEMENT_SPEED).setValue(0.5D);
- this.getAttributeInstance(GenericAttributes.FOLLOW_RANGE).setValue(18.0D);
- this.getAttributeInstance(GenericAttributes.MAX_HEALTH).setValue(32.0D);
+ this.getAttributeInstance(GenericAttributes.MOVEMENT_SPEED).setValue(world.purpurConfig.illusionerMovementSpeed); // Purpur
+ this.getAttributeInstance(GenericAttributes.FOLLOW_RANGE).setValue(world.purpurConfig.illusionerFollowRange); // Purpur
+ this.getAttributeInstance(GenericAttributes.MAX_HEALTH).setValue(world.purpurConfig.illusionerMaxHealth); // Purpur
}
@Override
@@ -253,4 +253,25 @@ public class EntityIllagerIllusioner extends EntityIllagerWizard implements IRan
return EntityIllagerWizard.Spell.DISAPPEAR;
}
}
+
+ // Purpur start
+ static {
+ Biomes.addSpawn("plains", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 5, 1, 1);
+ Biomes.addSpawn("sunflower_plains", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 5, 1, 1);
+ Biomes.addSpawn("desert", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 5, 1, 1);
+ Biomes.addSpawn("desert_hills", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 5, 1, 1);
+ Biomes.addSpawn("desert_lakes", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 5, 1, 1);
+ Biomes.addSpawn("mountains", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 5, 1, 1);
+ Biomes.addSpawn("gravelly_mountains", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 5, 1, 1);
+ Biomes.addSpawn("modified_gravelly_mountains", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 5, 1, 1);
+ Biomes.addSpawn("savanna", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 5, 1, 1);
+ Biomes.addSpawn("savanna_plateau", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 5, 1, 1);
+ Biomes.addSpawn("shattered_savanna", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 5, 1, 1);
+ Biomes.addSpawn("shattered_savanna_plateau", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 5, 1, 1);
+ Biomes.addSpawn("badlands", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 10, 1, 1);
+ Biomes.addSpawn("badlands_plateau", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 10, 1, 1);
+ Biomes.addSpawn("eroded_badlands", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 10, 1, 1);
+ Biomes.addSpawn("modified_badlands_plateau", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 10, 1, 1);
+ }
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
index 71920d7f84..2e868f5d53 100644
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
@@ -82,6 +82,10 @@ public final class SpawnerCreature {
if (!worldserver.purpurConfig.giantNaturallySpawn) {
return i;
}
+ } else if (entitytypes == EntityTypes.ILLUSIONER) {
+ if (!worldserver.purpurConfig.illusionerNaturallySpawn) {
+ return i;
+ }
}
// Purpur end
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a98c346441..c222e5fd37 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -295,10 +295,18 @@ public class PurpurWorldConfig {
public boolean illusionerRidable = false;
public boolean illusionerRidableInWater = false;
public boolean illusionerRequireShiftToMount = true;
+ public boolean illusionerNaturallySpawn = false;
+ public double illusionerMaxHealth = 32.0D;
+ public double illusionerMovementSpeed = 0.5D;
+ public double illusionerFollowRange = 18.0D;
private void illusionerSettings() {
illusionerRidable = getBoolean("mobs.illusioner.ridable", illusionerRidable);
illusionerRidableInWater = getBoolean("mobs.illusioner.ridable-in-water", illusionerRidableInWater);
illusionerRequireShiftToMount = getBoolean("mobs.illusioner.require-shift-to-mount", illusionerRequireShiftToMount);
+ illusionerNaturallySpawn = getBoolean("mobs.illusioner.naturally-spawn", illusionerNaturallySpawn);
+ illusionerMaxHealth = getDouble("mobs.illusioner.max-health", illusionerMaxHealth);
+ illusionerMovementSpeed = getDouble("mobs.illusioner.movement-speed", illusionerMovementSpeed);
+ illusionerFollowRange = getDouble("mobs.illusioner.follow-range", illusionerFollowRange);
}
public boolean ironGolemRidable = false;
--
2.24.0

View File

@@ -1,4 +1,4 @@
From 97ed089bc93589ce02cf95f92ad1184fd6ff2b33 Mon Sep 17 00:00:00 2001
From bab70b8e1d50854da7fceb4680e07f77abc33957 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sun, 7 Jul 2019 19:52:16 -0500
Subject: [PATCH] Zombie horse naturally spawn
@@ -38,10 +38,10 @@ index c74b85917a..874b8c1292 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 c222e5fd37..bf43a2d0dd 100644
index ce17384c1d..300622e50d 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -647,9 +647,11 @@ public class PurpurWorldConfig {
@@ -643,9 +643,11 @@ public class PurpurWorldConfig {
public boolean zombieHorseCanSwim = false;
public boolean zombieHorseRidableInWater = false;

View File

@@ -1,4 +1,4 @@
From 6a6ef4af07122aca186c1eb0432d0ecde8395c16 Mon Sep 17 00:00:00 2001
From cd5f56e7f811705eda41cfa9418075fbef81f6b9 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 31 Aug 2019 17:47:11 -0500
Subject: [PATCH] Rabbit naturally spawn toast and killer
@@ -41,10 +41,10 @@ index 9040ab1c54..0232226f06 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 30b36d06b4..9d7b25dd95 100644
index cc2bddd94c..ce677915ca 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -430,10 +430,14 @@ public class PurpurWorldConfig {
@@ -426,10 +426,14 @@ public class PurpurWorldConfig {
public boolean rabbitRidable = false;
public boolean rabbitRidableInWater = false;
public boolean rabbitRequireShiftToMount = true;

View File

@@ -1,4 +1,4 @@
From 5d8838ca5a4ba824f22c9ead773e5a1eb4b0c9a6 Mon Sep 17 00:00:00 2001
From c5a46d69b1c6920226e6902b42d811ef21b7e00e Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sun, 12 May 2019 01:14:46 -0500
Subject: [PATCH] Pigs give saddle back
@@ -32,10 +32,10 @@ index e6a7f8ef37..d78666dbb2 100644
return true;
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index c5c59a8c81..992c879dc7 100644
index 661dcce493..cc8e832b33 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -403,9 +403,11 @@ public class PurpurWorldConfig {
@@ -399,9 +399,11 @@ public class PurpurWorldConfig {
public boolean pigRidable = false;
public boolean pigRidableInWater = false;

View File

@@ -1,4 +1,4 @@
From ac7eb26a6c6c6f7bc1d30739670459f6a9bbc0ff Mon Sep 17 00:00:00 2001
From b60dd5ad200ff38a8d11ff37c44983d4d1712ec4 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 18 May 2019 16:59:52 -0500
Subject: [PATCH] Phantoms do not spawn on creative players
@@ -22,10 +22,10 @@ index f488c22ed6..748983da29 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 992c879dc7..f965c36aa3 100644
index cc8e832b33..392936c34d 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -394,11 +394,13 @@ public class PurpurWorldConfig {
@@ -390,11 +390,13 @@ public class PurpurWorldConfig {
public boolean phantomRidableInWater = false;
public boolean phantomRequireShiftToMount = true;
public double phantomMaxY = 256D;

View File

@@ -1,4 +1,4 @@
From 8050aefca5a2462507cf6fef37e5380c862c6868 Mon Sep 17 00:00:00 2001
From 8c96e773812bf06f5ad194f1360c7f9b22baf1b2 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Fri, 29 Nov 2019 20:33:41 -0600
Subject: [PATCH] Phantoms only attack insomniacs
@@ -34,10 +34,10 @@ index a2d1ef3602..e1fdee2794 100644
public static Predicate<Entity> 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 f965c36aa3..03b9874f76 100644
index 392936c34d..5bb1b90b31 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -395,12 +395,14 @@ public class PurpurWorldConfig {
@@ -391,12 +391,14 @@ public class PurpurWorldConfig {
public boolean phantomRequireShiftToMount = true;
public double phantomMaxY = 256D;
public boolean phantomIgnoreCreative = false;

View File

@@ -1,4 +1,4 @@
From 1ef986153e4a1c3247165a01f1b16c5547ac1785 Mon Sep 17 00:00:00 2001
From 66373970bd7f4ab4bcb8ea9bf1ceb75722fa1e07 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Thu, 9 May 2019 18:26:06 -0500
Subject: [PATCH] Phantoms attracted to crystals and crystals shoot phantoms
@@ -364,10 +364,10 @@ index 4157e50e4d..774ec96f0a 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 03b9874f76..1525a6c77d 100644
index 5bb1b90b31..076e747c5b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -396,6 +396,9 @@ public class PurpurWorldConfig {
@@ -392,6 +392,9 @@ public class PurpurWorldConfig {
public double phantomMaxY = 256D;
public boolean phantomIgnoreCreative = false;
public boolean phantomOnlyAttackInsomniacs = false;
@@ -377,7 +377,7 @@ index 03b9874f76..1525a6c77d 100644
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -403,6 +406,9 @@ public class PurpurWorldConfig {
@@ -399,6 +402,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);

View File

@@ -1,4 +1,4 @@
From 01567ae49c0c4201af1919a7d7f13af67154a7f8 Mon Sep 17 00:00:00 2001
From 446282b053ebf574679f4b024aa6584e56c11366 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Fri, 3 May 2019 23:58:44 -0500
Subject: [PATCH] Snowman drop and put back pumpkin
@@ -47,10 +47,10 @@ index 941873513f..efc2205f7c 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 1525a6c77d..f0d14d34ed 100644
index 076e747c5b..18a5127441 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -534,11 +534,15 @@ public class PurpurWorldConfig {
@@ -530,11 +530,15 @@ public class PurpurWorldConfig {
public boolean snowGolemRidableInWater = false;
public boolean snowGolemRequireShiftToMount = true;
public boolean snowGolemLeaveTrailWhenRidden = false;

View File

@@ -1,4 +1,4 @@
From 9bd03a2abe5c7af4e036b8e4ada2153c1c8182e5 Mon Sep 17 00:00:00 2001
From 66cfde050669201c4f05b1779f259e8cec8cf3c3 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 15 Jun 2019 03:12:15 -0500
Subject: [PATCH] Make Iron Golems Swim
@@ -21,10 +21,10 @@ index 46e4574e55..5414d6975f 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 ef94b84233..0191015b99 100644
index e2604d54bd..55c026d730 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -340,10 +340,12 @@ public class PurpurWorldConfig {
@@ -336,10 +336,12 @@ public class PurpurWorldConfig {
public boolean ironGolemRidable = false;
public boolean ironGolemRidableInWater = false;
public boolean ironGolemRequireShiftToMount = true;

View File

@@ -1,4 +1,4 @@
From 2b7d6c3f326b4566f30056b3fad760139b0fd238 Mon Sep 17 00:00:00 2001
From a4092de3ceeea3058b6eda5812b86ccec2944ab1 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Tue, 9 Jul 2019 20:56:47 -0500
Subject: [PATCH] Fix pig zombies (MC-56653)
@@ -43,10 +43,10 @@ index fb9ef88ea3..227fff3f1d 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 dbc73dd078..c76363c529 100644
index 5e57646ce9..2bbbf30c0d 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -775,10 +775,12 @@ public class PurpurWorldConfig {
@@ -771,10 +771,12 @@ public class PurpurWorldConfig {
public boolean zombiePigmanRidable = false;
public boolean zombiePigmanRidableInWater = false;
public boolean zombiePigmanRequireShiftToMount = true;

View File

@@ -1,4 +1,4 @@
From ddc6f6421adb1f55a23dd4c20429c5dfe119cbe4 Mon Sep 17 00:00:00 2001
From 267577cd6fc0399ed8ddaafc5718594c7f32d5a5 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Mon, 22 Jul 2019 14:24:26 -0500
Subject: [PATCH] Implement a hard limit for pillager outpost spawns
@@ -21,10 +21,10 @@ index 70f43c5159..baca8f7054 100644
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 4685b6a2a3..c957c1cca9 100644
index fd3e92560e..3a44e6e441 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -532,10 +532,12 @@ public class PurpurWorldConfig {
@@ -528,10 +528,12 @@ public class PurpurWorldConfig {
public boolean pillagerRidable = false;
public boolean pillagerRidableInWater = false;
public boolean pillagerRequireShiftToMount = true;

View File

@@ -1,4 +1,4 @@
From 7852456ef78b6f8146146f72499c4db7eecdc048 Mon Sep 17 00:00:00 2001
From e8b8d05c0c1bda6f3525006fa18169caa0cf39f9 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Tue, 23 Jul 2019 08:28:21 -0500
Subject: [PATCH] Implement configurable villager brain ticks
@@ -40,10 +40,10 @@ index 3eaac031fb..65cd5f53c1 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 424e48110c..373544eb9b 100644
index 2795957dce..28dfefc0e1 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -740,10 +740,14 @@ public class PurpurWorldConfig {
@@ -736,10 +736,14 @@ public class PurpurWorldConfig {
public boolean villagerRidable = false;
public boolean villagerRidableInWater = false;
public boolean villagerRequireShiftToMount = true;

View File

@@ -1,4 +1,4 @@
From 77cdf848d2cb7da41961cbbf3366ef59505ff2bf Mon Sep 17 00:00:00 2001
From 7891bd01bbfcefa04cabdbb1ccde85a889dc510e Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 17 Aug 2019 15:27:09 -0500
Subject: [PATCH] Add option for zombies targetting turtle eggs
@@ -22,10 +22,10 @@ index e9e2be88e3..1e60cc399b 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 373544eb9b..21f5ecd31c 100644
index 28dfefc0e1..666de04a8f 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -809,10 +809,12 @@ public class PurpurWorldConfig {
@@ -805,10 +805,12 @@ public class PurpurWorldConfig {
public boolean zombieRidable = false;
public boolean zombieRidableInWater = false;
public boolean zombieRequireShiftToMount = true;

View File

@@ -1,4 +1,4 @@
From beed43a927ccace17df0ac140286c981cf7a898b Mon Sep 17 00:00:00 2001
From a1a3cf7f10175425eba6879e469037cc04855931 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 19 Oct 2019 02:20:45 -0500
Subject: [PATCH] Add option to allow iron golems to spawn in air
@@ -22,10 +22,10 @@ index 5414d6975f..91011dd0aa 100644
} else {
for (int i = 1; i < 3; ++i) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a8e59d3372..1a43f84bfa 100644
index 9c21d196ea..c594cf1f5b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -472,11 +472,13 @@ public class PurpurWorldConfig {
@@ -468,11 +468,13 @@ public class PurpurWorldConfig {
public boolean ironGolemRidable = false;
public boolean ironGolemRidableInWater = false;
public boolean ironGolemRequireShiftToMount = true;

View File

@@ -1,4 +1,4 @@
From 5384bbb4eb5ebe1af5da50b83c41e92be1215afa Mon Sep 17 00:00:00 2001
From dab726dcc50ce0b012d95738f2a52da68863399d Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
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 5a15980009..23bf936e99 100644
index 98dc35fc80..2dfbae959f 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -780,21 +780,25 @@ public class PurpurWorldConfig {
@@ -776,21 +776,25 @@ public class PurpurWorldConfig {
public boolean villagerRequireShiftToMount = true;
public int villagerBrainTicks = 1;
public boolean villagerUseBrainTicksOnlyWhenLagging = true;

View File

@@ -1,4 +1,4 @@
From 11cc2ed8f92456da1bd28516eed88d7625e37058 Mon Sep 17 00:00:00 2001
From 3912267bb767de057f23391a132baa64c3a8ac82 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
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 f1c094327d..bc58dcacfb 100644
index a229c1a2ea..dd281fb64e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -785,6 +785,7 @@ public class PurpurWorldConfig {
@@ -781,6 +781,7 @@ public class PurpurWorldConfig {
public int villagerBrainTicks = 1;
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
public boolean villagerFollowEmeraldBlock = false;
@@ -66,7 +66,7 @@ index f1c094327d..bc58dcacfb 100644
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -792,17 +793,20 @@ public class PurpurWorldConfig {
@@ -788,17 +789,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);

View File

@@ -1,4 +1,4 @@
From 3643e1f4bffc098feeba4f0759105aa80ad40222 Mon Sep 17 00:00:00 2001
From 9aaa4f3198815f3eed97639747faf5ef01424ad3 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
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 bc58dcacfb..4c4f404a30 100644
index dd281fb64e..39db32950b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -786,6 +786,8 @@ public class PurpurWorldConfig {
@@ -782,6 +782,8 @@ public class PurpurWorldConfig {
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
public boolean villagerFollowEmeraldBlock = false;
public boolean villagerCanBeLeashed = false;
@@ -34,7 +34,7 @@ index bc58dcacfb..4c4f404a30 100644
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -794,6 +796,8 @@ public class PurpurWorldConfig {
@@ -790,6 +792,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);

View File

@@ -1,4 +1,4 @@
From f01e8363f2e512bca49c05ba2472b72e729e7b46 Mon Sep 17 00:00:00 2001
From 515e6f02a0b5bb78cc80d12835d34cd1506f35e0 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Thu, 19 Dec 2019 16:59:46 -0600
Subject: [PATCH] Add option for zombie villager transformation chance
@@ -33,10 +33,10 @@ index 1e60cc399b..8938dc50fe 100644
EntityVillager entityvillager = (EntityVillager) entityliving;
EntityZombieVillager entityzombievillager = (EntityZombieVillager) EntityTypes.ZOMBIE_VILLAGER.a(this.world);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 4c4f404a30..e79b4df1a7 100644
index 39db32950b..e8608a39c8 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -864,11 +864,13 @@ public class PurpurWorldConfig {
@@ -860,11 +860,13 @@ public class PurpurWorldConfig {
public boolean zombieRidableInWater = false;
public boolean zombieRequireShiftToMount = true;
public boolean zombieTargetTurtleEggs = true;

View File

@@ -1,4 +1,4 @@
From 86025fb8ca33978f0390b7389b597e6bcde90115 Mon Sep 17 00:00:00 2001
From 7dc4d5f22d9fd7cb5b93cd75edddffaf6d8af6f7 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
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 ff3424efdc..60407b2a02 100644
index a74acfbca8..dde0a94313 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -849,10 +849,12 @@ public class PurpurWorldConfig {
@@ -845,10 +845,12 @@ public class PurpurWorldConfig {
public boolean witherSkeletonRidable = false;
public boolean witherSkeletonRidableInWater = false;
public boolean witherSkeletonRequireShiftToMount = true;

View File

@@ -1,4 +1,4 @@
From b3ee95323a816acaaa53abed4dea53fdf6494da6 Mon Sep 17 00:00:00 2001
From 54581abda4cb33151ebaec820b689496a60ae84c Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Sat, 22 Feb 2020 15:54:08 -0600
Subject: [PATCH] Add item entity options
@@ -6,8 +6,8 @@ Subject: [PATCH] Add item entity options
---
.../java/net/minecraft/server/Entity.java | 1 +
.../java/net/minecraft/server/EntityItem.java | 9 ++++++++-
.../net/pl3x/purpur/PurpurWorldConfig.java | 20 +++++++++++++++++++
3 files changed, 29 insertions(+), 1 deletion(-)
.../net/pl3x/purpur/PurpurWorldConfig.java | 19 +++++++++++++++++++
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 f1c749c38f..98aef47056 100644
@@ -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 5054f7b6a3..93df565c02 100644
index 4d32706fa1..7aed41f0f9 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;
@@ -68,15 +68,7 @@ index 5054f7b6a3..93df565c02 100644
import net.minecraft.server.MinecraftKey;
import org.bukkit.configuration.ConfigurationSection;
import org.spigotmc.SpigotWorldConfig;
@@ -14,6 +16,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
+import java.util.stream.Collectors;
import static net.pl3x.purpur.PurpurConfig.log;
@@ -185,6 +188,10 @@ public class PurpurWorldConfig {
@@ -185,6 +187,10 @@ public class PurpurWorldConfig {
public Map<Block, Double> controllableMinecartsBlockSpeeds = new HashMap<>();
public boolean disableDropsOnCrammingDeath = false;
public boolean fixClimbingBypassingCrammingRule = false;
@@ -87,7 +79,7 @@ index 5054f7b6a3..93df565c02 100644
public boolean milkCuresBadOmen = true;
public String playerDeathExpDropEquation = "expLevel * 7";
public int playerDeathExpDropMax = 100;
@@ -214,6 +221,19 @@ public class PurpurWorldConfig {
@@ -214,6 +220,19 @@ public class PurpurWorldConfig {
}
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
fixClimbingBypassingCrammingRule = getBoolean("gameplay-mechanics.fix-climbing-bypassing-cramming-rule", fixClimbingBypassingCrammingRule);