Resolve #286 - Add config and API for item immunity to lightning

This commit is contained in:
BillyGalbreath
2021-05-03 13:32:36 -05:00
parent a86555bb5d
commit 83665826a9
98 changed files with 362 additions and 359 deletions

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Item entity immunities
diff --git a/src/main/java/org/bukkit/entity/Item.java b/src/main/java/org/bukkit/entity/Item.java
index 0ee072645ecf1bf5feb74de6960947ef76db366e..69dae9157053c521a9e2bbdd7f89c17fc8d24840 100644
index 0ee072645ecf1bf5feb74de6960947ef76db366e..5b9a20e0695218f1239d2bf1d0368291e2a10c06 100644
--- a/src/main/java/org/bukkit/entity/Item.java
+++ b/src/main/java/org/bukkit/entity/Item.java
@@ -120,4 +120,48 @@ public interface Item extends Entity {
@@ -120,4 +120,62 @@ public interface Item extends Entity {
*/
public void setWillAge(boolean willAge);
// Paper end
@@ -55,5 +55,19 @@ index 0ee072645ecf1bf5feb74de6960947ef76db366e..69dae9157053c521a9e2bbdd7f89c17f
+ * @return True if immune to fire
+ */
+ boolean isImmuneToFire();
+
+ /**
+ * Set whether or not this item is immune to lightning
+ *
+ * @param immuneToLightning True to make immune to lightning
+ */
+ void setImmuneToLightning(boolean immuneToLightning);
+
+ /**
+ * Check if item is immune to lightning
+ *
+ * @return True if immune to lightning
+ */
+ boolean isImmuneToLightning();
+ // Purpur end
}

View File

@@ -5,18 +5,10 @@ Subject: [PATCH] Item entity immunities
diff --git a/src/main/java/net/minecraft/server/level/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/level/EntityTrackerEntry.java
index 53e773c14689967d5b12467bf209eefb05f7a812..04c4012d2f57025c28607c12b71cd1737ed7cac5 100644
index 53e773c14689967d5b12467bf209eefb05f7a812..b8f9238c598a55ba796951cb775cd35f3a401fa8 100644
--- a/src/main/java/net/minecraft/server/level/EntityTrackerEntry.java
+++ b/src/main/java/net/minecraft/server/level/EntityTrackerEntry.java
@@ -31,6 +31,7 @@ import net.minecraft.world.entity.EntityLiving;
import net.minecraft.world.entity.EnumItemSlot;
import net.minecraft.world.entity.ai.attributes.AttributeModifiable;
import net.minecraft.world.entity.decoration.EntityItemFrame;
+import net.minecraft.world.entity.item.EntityItem;
import net.minecraft.world.entity.player.EntityHuman;
import net.minecraft.world.entity.projectile.EntityArrow;
import net.minecraft.world.item.ItemStack;
@@ -67,7 +68,7 @@ public class EntityTrackerEntry {
@@ -67,7 +67,7 @@ public class EntityTrackerEntry {
private boolean q;
private boolean r;
// CraftBukkit start
@@ -25,22 +17,6 @@ index 53e773c14689967d5b12467bf209eefb05f7a812..04c4012d2f57025c28607c12b71cd173
// Paper start
private java.util.Map<EntityPlayer, Boolean> trackedPlayerMap = null;
@@ -134,6 +135,15 @@ public class EntityTrackerEntry {
this.c();
}
+ // Purpur start - respawn burning item entities on client (client kills them)
+ if (tracker.fireTicks > 0 && tracker instanceof EntityItem) {
+ EntityItem item = (EntityItem) tracker;
+ if (item.immuneToFire && !item.dead) {
+ item.respawnOnClient();
+ }
+ }
+ // Purpur end
+
if (this.tickCounter % this.d == 0 || this.tracker.impulse || this.tracker.getDataWatcher().a()) {
int i;
int j;
diff --git a/src/main/java/net/minecraft/server/level/PlayerChunkMap.java b/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
index 914c7a1b18151f29183cfe9474313ce18e7c4ae2..12c0a0cebc9db542a654ff2a2826f1bcf4a72baa 100644
--- a/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
@@ -67,60 +43,53 @@ index 0950dcce2353504775813d9f60407361981c801d..6c0b1bc0c710d5795d559fe98af6319a
return this.O == tag;
}
diff --git a/src/main/java/net/minecraft/world/entity/item/EntityItem.java b/src/main/java/net/minecraft/world/entity/item/EntityItem.java
index 5dc3670f35b04d933e96c4b42aa9fbcf941e69c7..3b84039a76843a0784e2d71bb66dc322450c2cab 100644
index 5dc3670f35b04d933e96c4b42aa9fbcf941e69c7..92cd61cd6b085a03c502223f3861540d8c9f27e1 100644
--- a/src/main/java/net/minecraft/world/entity/item/EntityItem.java
+++ b/src/main/java/net/minecraft/world/entity/item/EntityItem.java
@@ -10,10 +10,12 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.chat.ChatMessage;
import net.minecraft.network.chat.IChatBaseComponent;
import net.minecraft.network.protocol.Packet;
+import net.minecraft.network.protocol.game.PacketPlayOutEntityMetadata;
import net.minecraft.network.protocol.game.PacketPlayOutSpawnEntity;
import net.minecraft.network.syncher.DataWatcher;
import net.minecraft.network.syncher.DataWatcherObject;
import net.minecraft.network.syncher.DataWatcherRegistry;
+import net.minecraft.server.level.EntityPlayer;
import net.minecraft.server.level.WorldServer;
import net.minecraft.sounds.SoundEffects;
import net.minecraft.stats.StatisticList;
@@ -50,6 +52,9 @@ public class EntityItem extends Entity {
@@ -50,6 +50,12 @@ public class EntityItem extends Entity {
public final float b;
private int lastTick = MinecraftServer.currentTick - 1; // CraftBukkit
public boolean canMobPickup = true; // Paper
+ public boolean immuneToCactus = false; // Purpur
+ public boolean immuneToExplosion = false; // Purpur
+ public boolean immuneToFire = false; // Purpur
+ // Purpur start
+ public boolean immuneToCactus = false;
+ public boolean immuneToExplosion = false;
+ public boolean immuneToFire = false;
+ public boolean immuneToLightning = false;
+ // Purpur end
public EntityItem(EntityTypes<? extends EntityItem> entitytypes, World world) {
super(entitytypes, world);
@@ -301,6 +306,16 @@ public class EntityItem extends Entity {
@@ -301,6 +307,16 @@ public class EntityItem extends Entity {
return false;
} else if (!this.getItemStack().getItem().a(damagesource)) {
return false;
+ // Purpur start
+ } else if (immuneToCactus && damagesource == DamageSource.CACTUS) {
+ respawnOnClient();
+ return false;
+ } else if (immuneToFire && (damagesource.isFire() || damagesource == DamageSource.FIRE)) {
+ return false;
+ } else if (immuneToExplosion && damagesource.isExplosion()) {
+ } else if (
+ (immuneToCactus && damagesource == DamageSource.CACTUS) ||
+ (immuneToFire && (damagesource.isFire() || damagesource == DamageSource.FIRE)) ||
+ (immuneToLightning && damagesource == DamageSource.LIGHTNING) ||
+ (immuneToExplosion && damagesource.isExplosion())
+ ) {
+ respawnOnClient();
+ return false;
+ // Purpur end
} else {
// CraftBukkit start
if (org.bukkit.craftbukkit.event.CraftEventFactory.handleNonLivingEntityDamageEvent(this, damagesource, f)) {
@@ -481,6 +496,9 @@ public class EntityItem extends Entity {
@@ -481,6 +497,12 @@ public class EntityItem extends Entity {
com.google.common.base.Preconditions.checkArgument(!itemstack.isEmpty(), "Cannot drop air"); // CraftBukkit
this.getDataWatcher().set(EntityItem.ITEM, itemstack);
this.getDataWatcher().markDirty(EntityItem.ITEM); // CraftBukkit - SPIGOT-4591, must mark dirty
+ if (world.purpurConfig.itemImmuneToCactus.contains(itemstack.getItem())) immuneToCactus = true; // Purpur
+ if (world.purpurConfig.itemImmuneToExplosion.contains(itemstack.getItem())) immuneToExplosion = true; // Purpur
+ if (world.purpurConfig.itemImmuneToFire.contains(itemstack.getItem())) immuneToFire = true; // Purpur
+ // Purpur start
+ if (world.purpurConfig.itemImmuneToCactus.contains(itemstack.getItem())) immuneToCactus = true;
+ if (world.purpurConfig.itemImmuneToExplosion.contains(itemstack.getItem())) immuneToExplosion = true;
+ if (world.purpurConfig.itemImmuneToFire.contains(itemstack.getItem())) immuneToFire = true;
+ if (world.purpurConfig.itemImmuneToLightning.contains(itemstack.getItem())) immuneToLightning = true;
+ // Purpur end
}
@Override
@@ -562,4 +580,15 @@ public class EntityItem extends Entity {
@@ -562,4 +584,15 @@ public class EntityItem extends Entity {
super.setPositionRaw(x, y, z);
}
// Paper end - fix MC-4
@@ -128,8 +97,8 @@ index 5dc3670f35b04d933e96c4b42aa9fbcf941e69c7..3b84039a76843a0784e2d71bb66dc322
+ // Purpur start
+ public void respawnOnClient() {
+ Packet<?> spawnPacket = new PacketPlayOutSpawnEntity(this);
+ Packet<?> metadataPacket = new PacketPlayOutEntityMetadata(getId(), getDataWatcher(), true);
+ for (EntityPlayer entityplayer : this.tracker.trackerEntry.trackedPlayers) {
+ Packet<?> metadataPacket = new net.minecraft.network.protocol.game.PacketPlayOutEntityMetadata(getId(), getDataWatcher(), true);
+ for (net.minecraft.server.level.EntityPlayer entityplayer : this.tracker.trackerEntry.trackedPlayers) {
+ entityplayer.playerConnection.sendPacket(spawnPacket);
+ entityplayer.playerConnection.sendPacket(metadataPacket);
+ }
@@ -137,16 +106,17 @@ index 5dc3670f35b04d933e96c4b42aa9fbcf941e69c7..3b84039a76843a0784e2d71bb66dc322
+ // Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 5e577cd97df14463f590919b2931a5065ac37033..0a5661faee288bafc6683a8ed67ba74cd30adc75 100644
index 5e577cd97df14463f590919b2931a5065ac37033..dfcceebc9fbfa62fc14f3c53217af8e39025307d 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -135,6 +135,39 @@ public class PurpurWorldConfig {
@@ -135,6 +135,49 @@ public class PurpurWorldConfig {
}
}
+ public List<Item> itemImmuneToCactus = new ArrayList<>();
+ public List<Item> itemImmuneToExplosion = new ArrayList<>();
+ public List<Item> itemImmuneToFire = new ArrayList<>();
+ public List<Item> itemImmuneToLightning = new ArrayList<>();
+ private void itemSettings() {
+ itemImmuneToCactus.clear();
+ getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
@@ -175,16 +145,25 @@ index 5e577cd97df14463f590919b2931a5065ac37033..0a5661faee288bafc6683a8ed67ba74c
+ Item item = IRegistry.ITEM.get(new MinecraftKey(key.toString()));
+ if (item != Items.AIR) itemImmuneToFire.add(item);
+ });
+ itemImmuneToLightning.clear();
+ getList("gameplay-mechanics.item.immune.lightning", new ArrayList<>()).forEach(key -> {
+ if (key.toString().equals("*")) {
+ IRegistry.ITEM.g().filter(item -> item != Items.AIR).forEach((item) -> itemImmuneToLightning.add(item));
+ return;
+ }
+ Item item = IRegistry.ITEM.get(new MinecraftKey(key.toString()));
+ if (item != Items.AIR) itemImmuneToLightning.add(item);
+ });
+ }
+
public boolean idleTimeoutKick = true;
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 7a78ef2f6f673568c0528fa46168c69d21f51a66..0418291a69216081353c05c99d11dcd913b6b8cb 100644
index 7a78ef2f6f673568c0528fa46168c69d21f51a66..f91a04abe39f9a75530a213cd84e5024059752d1 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
@@ -114,4 +114,36 @@ public class CraftItem extends CraftEntity implements Item {
@@ -114,4 +114,46 @@ public class CraftItem extends CraftEntity implements Item {
public EntityType getType() {
return EntityType.DROPPED_ITEM;
}
@@ -219,5 +198,15 @@ index 7a78ef2f6f673568c0528fa46168c69d21f51a66..0418291a69216081353c05c99d11dcd9
+ public boolean isImmuneToFire() {
+ return item.immuneToFire;
+ }
+
+ @Override
+ public void setImmuneToLightning(boolean immuneToLightning) {
+ item.immuneToLightning = immuneToLightning;
+ }
+
+ @Override
+ public boolean isImmuneToLightning() {
+ return item.immuneToLightning;
+ }
+ // Purpur end
}

View File

@@ -193,10 +193,10 @@ index f341759f6110b51c856de09248d2f523c58aa712..99d0932e5352589cfbcc48a5e789651d
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 0a5661faee288bafc6683a8ed67ba74cd30adc75..9e39cff151d6edc671ecb4d09e8eaace21974f67 100644
index dfcceebc9fbfa62fc14f3c53217af8e39025307d..a12c2ae8291114f17bbb05761272bf724f848b1c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -311,6 +311,15 @@ public class PurpurWorldConfig {
@@ -321,6 +321,15 @@ public class PurpurWorldConfig {
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
}
@@ -212,7 +212,7 @@ index 0a5661faee288bafc6683a8ed67ba74cd30adc75..9e39cff151d6edc671ecb4d09e8eaace
public boolean enderDragonAlwaysDropsFullExp = false;
private void enderDragonSettings() {
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
@@ -348,6 +357,15 @@ public class PurpurWorldConfig {
@@ -358,6 +367,15 @@ public class PurpurWorldConfig {
giantMaxHealth = getDouble("mobs.giant.attributes.max-health", giantMaxHealth);
}
@@ -228,7 +228,7 @@ index 0a5661faee288bafc6683a8ed67ba74cd30adc75..9e39cff151d6edc671ecb4d09e8eaace
public double illusionerMovementSpeed = 0.5D;
public double illusionerFollowRange = 18.0D;
public double illusionerMaxHealth = 32.0D;
@@ -423,8 +441,35 @@ public class PurpurWorldConfig {
@@ -433,8 +451,35 @@ public class PurpurWorldConfig {
witherSkeletonTakesWitherDamage = getBoolean("mobs.wither_skeleton.takes-wither-damage", witherSkeletonTakesWitherDamage);
}

View File

@@ -350,10 +350,10 @@ index 42cf3fa42b73739182d26fbb524ee5b304c799b2..daf738e8f0987aa6ab200189d7a26d16
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 9e39cff151d6edc671ecb4d09e8eaace21974f67..7382624113fba008c55bd32a5e31afb36c6e4268 100644
index a12c2ae8291114f17bbb05761272bf724f848b1c..3aec221db2cd425bc5188979bb0fc0625ca40f4a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -385,6 +385,15 @@ public class PurpurWorldConfig {
@@ -395,6 +395,15 @@ public class PurpurWorldConfig {
ironGolemCanSwim = getBoolean("mobs.iron_golem.can-swim", ironGolemCanSwim);
}

View File

@@ -262,10 +262,10 @@ index e4f5e570636862481aac92ec9b74d6cf5723eb6e..e954adeff4fbfc1aa85ac3785c0c4c86
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 7382624113fba008c55bd32a5e31afb36c6e4268..f2bde528e766c330a3e8b2d08e590a760ac38df5 100644
index 3aec221db2cd425bc5188979bb0fc0625ca40f4a..d957ee4c10fde8596442f2f05f0347994df7bae5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -388,10 +388,34 @@ public class PurpurWorldConfig {
@@ -398,10 +398,34 @@ public class PurpurWorldConfig {
public double phantomAttackedByCrystalRadius = 0.0D;
public float phantomAttackedByCrystalDamage = 1.0F;
public double phantomOrbitCrystalRadius = 0.0D;

View File

@@ -18,7 +18,7 @@ index abe0a1c309d526de37efcac44922fa259e1d112c..db9ef25d0578538fd7c7950a3b3d0345
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index f2bde528e766c330a3e8b2d08e590a760ac38df5..f7e2f48c192c2f07e3664591a53ecf1ddc3509a4 100644
index d957ee4c10fde8596442f2f05f0347994df7bae5..83f43b44946a9e5aeecacae776684934685d79ac 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1,6 +1,7 @@
@@ -37,7 +37,7 @@ index f2bde528e766c330a3e8b2d08e590a760ac38df5..f7e2f48c192c2f07e3664591a53ecf1d
import static net.pl3x.purpur.PurpurConfig.log;
@@ -248,6 +250,22 @@ public class PurpurWorldConfig {
@@ -258,6 +260,22 @@ public class PurpurWorldConfig {
});
}

View File

@@ -30,10 +30,10 @@ index 028e98decf8b0496b4ebcd1aad3aa474e5c4e7c1..9b7a7f1ae50baf53d314bbf1588afeb8
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 f7e2f48c192c2f07e3664591a53ecf1ddc3509a4..1a5a2df0b1fbd483977a5056231c02375adca42d 100644
index 83f43b44946a9e5aeecacae776684934685d79ac..9d7f7fc586200206ff87dfa463479150ed8cd5f1 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -287,6 +287,22 @@ public class PurpurWorldConfig {
@@ -297,6 +297,22 @@ public class PurpurWorldConfig {
lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
}

View File

@@ -104,7 +104,7 @@ index 84995be65d033dd712211e1e479675815099c3b1..e10377b379079bc467a60abe719075c5
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 1a5a2df0b1fbd483977a5056231c02375adca42d..521c3739a1ca08619f30839c77618cae83ad8345 100644
index 9d7f7fc586200206ff87dfa463479150ed8cd5f1..fa003079da19ee63a02045d57ea3d6cf64578ebd 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -137,6 +137,11 @@ public class PurpurWorldConfig {

View File

@@ -56,10 +56,10 @@ index 90c931f95dffbf9697ae4678a23d7c142c504a81..620bccdc44d3325dcb4450af979363ee
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 521c3739a1ca08619f30839c77618cae83ad8345..c51ae8047c9c91f5e0016095ac4383a5874a7dfb 100644
index fa003079da19ee63a02045d57ea3d6cf64578ebd..cd9970db68b6c2f358115b616c36f52ad324fc90 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -232,6 +232,11 @@ public class PurpurWorldConfig {
@@ -242,6 +242,11 @@ public class PurpurWorldConfig {
playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack);
}

View File

@@ -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 c51ae8047c9c91f5e0016095ac4383a5874a7dfb..923e119d3dc3f3a8c5e5d4770cf15d8fdf5b0746 100644
index cd9970db68b6c2f358115b616c36f52ad324fc90..86578f20429aa6bf5f3de1233c6287ce26be9827 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -489,6 +489,11 @@ public class PurpurWorldConfig {
@@ -499,6 +499,11 @@ public class PurpurWorldConfig {
snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack);
}

View File

@@ -86,10 +86,10 @@ index 993a88a5937417016821ef9d7cd58e4ee097491c..64b4fcf6f43c39db0fe57fc7a74f0d95
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 923e119d3dc3f3a8c5e5d4770cf15d8fdf5b0746..ec43eb76340c8d0e3c1dbabc5d0ebd80096f24a7 100644
index 86578f20429aa6bf5f3de1233c6287ce26be9827..201974ec4db915e5a79ed36625f0870a7ff84207 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -444,6 +444,9 @@ public class PurpurWorldConfig {
@@ -454,6 +454,9 @@ public class PurpurWorldConfig {
public int phantomSpawnOverheadRadius = 10;
public int phantomSpawnMinPerAttempt = 1;
public int phantomSpawnMaxPerAttempt = -1;
@@ -99,7 +99,7 @@ index 923e119d3dc3f3a8c5e5d4770cf15d8fdf5b0746..ec43eb76340c8d0e3c1dbabc5d0ebd80
private void phantomSettings() {
phantomAttackedByCrystalRadius = getDouble("mobs.phantom.attacked-by-crystal-range", phantomAttackedByCrystalRadius);
phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage);
@@ -460,6 +463,9 @@ public class PurpurWorldConfig {
@@ -470,6 +473,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);

View File

@@ -18,10 +18,10 @@ index 2fad37812bfa39872e99c4432e1982d62f65efb7..d3032682af94428419daa02f55b60400
private boolean fr() {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index ec43eb76340c8d0e3c1dbabc5d0ebd80096f24a7..7f449035819f148d5b8cf492da059f1c40cdf1be 100644
index 201974ec4db915e5a79ed36625f0870a7ff84207..db5638c4f2b6d672e619c9ba44184b6d9fe113a1 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -507,6 +507,7 @@ public class PurpurWorldConfig {
@@ -517,6 +517,7 @@ public class PurpurWorldConfig {
public boolean villagerFollowEmeraldBlock = false;
public int villagerSpawnIronGolemRadius = 0;
public int villagerSpawnIronGolemLimit = 0;
@@ -29,7 +29,7 @@ index ec43eb76340c8d0e3c1dbabc5d0ebd80096f24a7..7f449035819f148d5b8cf492da059f1c
private void villagerSettings() {
villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks);
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
@@ -515,6 +516,7 @@ public class PurpurWorldConfig {
@@ -525,6 +526,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);

View File

@@ -26,10 +26,10 @@ index 5538404456dfee42257fad9040fcc0fefdfc5fab..b3a03dc66e803d9dc7000cc7d6960e87
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 7f449035819f148d5b8cf492da059f1c40cdf1be..263925da88463f0a6faec5b4cc5f0d1b50d177f3 100644
index db5638c4f2b6d672e619c9ba44184b6d9fe113a1..a36b9ea779fd984a16332e66f122d9505fad67de 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -320,6 +320,11 @@ public class PurpurWorldConfig {
@@ -330,6 +330,11 @@ public class PurpurWorldConfig {
signRightClickEdit = getBoolean("blocks.sign.right-click-edit", signRightClickEdit);
}

View File

@@ -29,10 +29,10 @@ index 620bccdc44d3325dcb4450af979363ee94ba3f97..c9caa6919d47283331a9e0c79b22590b
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 263925da88463f0a6faec5b4cc5f0d1b50d177f3..286816d379da807dc9bcd4b4c56d2aebc854131d 100644
index a36b9ea779fd984a16332e66f122d9505fad67de..ad4da617cf718e1c03e1532a9b45d7f927539a14 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -237,6 +237,11 @@ public class PurpurWorldConfig {
@@ -247,6 +247,11 @@ public class PurpurWorldConfig {
teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder);
}

View File

@@ -30,7 +30,7 @@ index f0eda0b83bab8e3a8adbb569b5997402b0e08e9a..fe84d6d2b74b6ae00c4c66682107296a
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 286816d379da807dc9bcd4b4c56d2aebc854131d..1dd4d35251c68f8e862e9cb6ac0c38a460b09ffb 100644
index ad4da617cf718e1c03e1532a9b45d7f927539a14..b328c9f69fd43ca7ed57ee7f5b46ca998f2cb672 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -40,6 +40,11 @@ public class PurpurWorldConfig {

View File

@@ -69,10 +69,10 @@ index 0055a96b51a1d38d31e129c417c97bcfc9d0b745..31237773907341ee64c71507b5e1bf24
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 1dd4d35251c68f8e862e9cb6ac0c38a460b09ffb..d05a5ddc6991a47763cd95f72e4ea265557468ca 100644
index b328c9f69fd43ca7ed57ee7f5b46ca998f2cb672..54b8021bfac69800d4cec996a94c2fea53249130 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -287,8 +287,10 @@ public class PurpurWorldConfig {
@@ -297,8 +297,10 @@ public class PurpurWorldConfig {
}
public boolean dispenserApplyCursedArmor = true;

View File

@@ -41,10 +41,10 @@ index 1b2d633f3d5d735039f18f27fb1387bd5a74f0d8..77810fbb70bf2e1ad03c28c0d69ceaa6
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d05a5ddc6991a47763cd95f72e4ea265557468ca..7c59d8432ec6a98b3b7ebffc7ee4ee903535e1ec 100644
index 54b8021bfac69800d4cec996a94c2fea53249130..96e5aaec4e35bd092e9a71ca5cb61c6a66b9c0fc 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 {
@@ -280,6 +280,11 @@ public class PurpurWorldConfig {
});
}

View File

@@ -43,7 +43,7 @@ index 6124b56d935386784371422960a07d518f848cf3..e5f66cdf95b6073545efc8d1527b0a5e
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 7c59d8432ec6a98b3b7ebffc7ee4ee903535e1ec..69c2a66615cf6fe790afa1a7d9010a4b89f6cc0e 100644
index 96e5aaec4e35bd092e9a71ca5cb61c6a66b9c0fc..aa4302ba319c0968632025524d5a9c5479a693e2 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 7c59d8432ec6a98b3b7ebffc7ee4ee903535e1ec..69c2a66615cf6fe790afa1a7d9010a4b
import java.util.logging.Level;
import static net.pl3x.purpur.PurpurConfig.log;
@@ -237,6 +239,28 @@ public class PurpurWorldConfig {
@@ -247,6 +249,28 @@ public class PurpurWorldConfig {
playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack);
}

View File

@@ -17,10 +17,10 @@ index 5d18e19eafd5dc01a6caa45075d8c0598f1bb709..e0a9b931c26dbd4e7739d09ae45e1cee
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 69c2a66615cf6fe790afa1a7d9010a4b89f6cc0e..cad041b7beb787b4509727dad778bb3ab4dd3df1 100644
index aa4302ba319c0968632025524d5a9c5479a693e2..c2e4a8a50b0e70283fccce265e76fa78841f47b9 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -401,6 +401,11 @@ public class PurpurWorldConfig {
@@ -411,6 +411,11 @@ public class PurpurWorldConfig {
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
}

View File

@@ -51,10 +51,10 @@ index 1f5f3e0d209426b97e32b82dd15176b800f85816..e6757b22497c6e274c3999d58671653e
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 cad041b7beb787b4509727dad778bb3ab4dd3df1..cad6cd337bb0f4279dd22b012d32bc3070563a92 100644
index c2e4a8a50b0e70283fccce265e76fa78841f47b9..f16f99517999ccbb0b5a678ffcb3befc93a3ae45 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -547,8 +547,10 @@ public class PurpurWorldConfig {
@@ -557,8 +557,10 @@ public class PurpurWorldConfig {
}
public boolean squidImmuneToEAR = true;

View File

@@ -5559,7 +5559,7 @@ index 3b20793e3eb4349f8a4ce724f8fc0d6366bb28c2..9789d0f9f73540a486befcdd4901014e
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 cad6cd337bb0f4279dd22b012d32bc3070563a92..ad557e945364f0cd889e76513f67f717fbb1787b 100644
index f16f99517999ccbb0b5a678ffcb3befc93a3ae45..9fcc63a2f4a4c363ace85087665bf3a978d3d648 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 {
@@ -5574,7 +5574,7 @@ index cad6cd337bb0f4279dd22b012d32bc3070563a92..ad557e945364f0cd889e76513f67f717
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);
@@ -375,61 +370,186 @@ public class PurpurWorldConfig {
@@ -385,61 +380,186 @@ public class PurpurWorldConfig {
turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
}
@@ -5761,7 +5761,7 @@ index cad6cd337bb0f4279dd22b012d32bc3070563a92..ad557e945364f0cd889e76513f67f717
public float giantStepHeight = 2.0F;
public float giantJumpHeight = 1.0F;
public double giantMovementSpeed = 0.5D;
@@ -438,6 +558,8 @@ public class PurpurWorldConfig {
@@ -448,6 +568,8 @@ public class PurpurWorldConfig {
public boolean giantHaveHostileAI = false;
public double giantMaxHealth = 100.0D;
private void giantSettings() {
@@ -5770,7 +5770,7 @@ index cad6cd337bb0f4279dd22b012d32bc3070563a92..ad557e945364f0cd889e76513f67f717
giantStepHeight = (float) getDouble("mobs.giant.step-height", giantStepHeight);
giantJumpHeight = (float) getDouble("mobs.giant.jump-height", giantJumpHeight);
giantMovementSpeed = getDouble("mobs.giant.movement-speed", giantMovementSpeed);
@@ -452,19 +574,44 @@ public class PurpurWorldConfig {
@@ -462,19 +584,44 @@ public class PurpurWorldConfig {
giantMaxHealth = getDouble("mobs.giant.attributes.max-health", giantMaxHealth);
}
@@ -5815,7 +5815,7 @@ index cad6cd337bb0f4279dd22b012d32bc3070563a92..ad557e945364f0cd889e76513f67f717
illusionerMovementSpeed = getDouble("mobs.illusioner.movement-speed", illusionerMovementSpeed);
illusionerFollowRange = getDouble("mobs.illusioner.follow-range", illusionerFollowRange);
if (PurpurConfig.version < 8) {
@@ -475,11 +622,76 @@ public class PurpurWorldConfig {
@@ -485,11 +632,76 @@ public class PurpurWorldConfig {
illusionerMaxHealth = getDouble("mobs.illusioner.attributes.max-health", illusionerMaxHealth);
}
@@ -5892,7 +5892,7 @@ index cad6cd337bb0f4279dd22b012d32bc3070563a92..ad557e945364f0cd889e76513f67f717
public double phantomAttackedByCrystalRadius = 0.0D;
public float phantomAttackedByCrystalDamage = 1.0F;
public double phantomOrbitCrystalRadius = 0.0D;
@@ -498,7 +710,13 @@ public class PurpurWorldConfig {
@@ -508,7 +720,13 @@ public class PurpurWorldConfig {
public int phantomBurnInLight = 0;
public boolean phantomIgnorePlayersWithTorch = false;
public boolean phantomBurnInDaylight = true;
@@ -5906,7 +5906,7 @@ index cad6cd337bb0f4279dd22b012d32bc3070563a92..ad557e945364f0cd889e76513f67f717
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);
@@ -517,42 +735,187 @@ public class PurpurWorldConfig {
@@ -527,42 +745,187 @@ public class PurpurWorldConfig {
phantomBurnInLight = getInt("mobs.phantom.burn-in-light", phantomBurnInLight);
phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight);
phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch);
@@ -6094,7 +6094,7 @@ index cad6cd337bb0f4279dd22b012d32bc3070563a92..ad557e945364f0cd889e76513f67f717
public int villagerBrainTicks = 1;
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
public boolean villagerCanBeLeashed = false;
@@ -562,6 +925,8 @@ public class PurpurWorldConfig {
@@ -572,6 +935,8 @@ public class PurpurWorldConfig {
public int villagerSpawnIronGolemLimit = 0;
public boolean villagerCanBreed = true;
private void villagerSettings() {
@@ -6103,7 +6103,7 @@ index cad6cd337bb0f4279dd22b012d32bc3070563a92..ad557e945364f0cd889e76513f67f717
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);
@@ -572,45 +937,108 @@ public class PurpurWorldConfig {
@@ -582,45 +947,108 @@ public class PurpurWorldConfig {
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
}

View File

@@ -27,10 +27,10 @@ index 4e1363050bef7fff9117250b79cbf35bf6bfc537..918edab475a8d33a253e3d6cd3c56557
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 ad557e945364f0cd889e76513f67f717fbb1787b..af38248fec91adaff82c52144cfc6334ea35a646 100644
index 9fcc63a2f4a4c363ace85087665bf3a978d3d648..55366240f249c05cf3d40eaf29f2cd21cd86cd07 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -192,6 +192,7 @@ public class PurpurWorldConfig {
@@ -202,6 +202,7 @@ public class PurpurWorldConfig {
public boolean boatEjectPlayersOnLand = false;
public boolean disableDropsOnCrammingDeath = false;
public boolean entitiesPickUpLootBypassMobGriefing = false;
@@ -38,7 +38,7 @@ index ad557e945364f0cd889e76513f67f717fbb1787b..af38248fec91adaff82c52144cfc6334
public boolean milkCuresBadOmen = true;
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
@@ -201,6 +202,7 @@ public class PurpurWorldConfig {
@@ -211,6 +212,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);

View File

@@ -44,10 +44,10 @@ index 4c0a555cdb5bc34c73040b9533beaee56cbce70a..beb4d59faf4bd7501468b2eaa0e86661
//this.bossBattle.setProgress(this.getHealth() / this.getMaxHealth()); // Paper - Moved down
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index af38248fec91adaff82c52144cfc6334ea35a646..3e5bad2cd2551196279e1ab6b43bfc66d2d51f1e 100644
index 55366240f249c05cf3d40eaf29f2cd21cd86cd07..db9deac5b43626b264f1237d8a2d2535d7bb639b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -969,10 +969,21 @@ public class PurpurWorldConfig {
@@ -979,10 +979,21 @@ public class PurpurWorldConfig {
public boolean witherRidable = false;
public boolean witherRidableInWater = false;
public double witherMaxY = 256D;

View File

@@ -106,7 +106,7 @@ index 36b416636b4ded816701a065ff2ff0c3890e0987..4c85525fe461fc3d52c538ab2610c109
this.world = new CraftWorld((WorldServer) this, gen, env);
this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 3e5bad2cd2551196279e1ab6b43bfc66d2d51f1e..1ca0ba958b304f12f964fbc54b2d226305c3855f 100644
index db9deac5b43626b264f1237d8a2d2535d7bb639b..63cf32fe3359eb00f5e526689a9b10f673911a86 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.world.level.block.Blocks;
@@ -152,7 +152,7 @@ index 3e5bad2cd2551196279e1ab6b43bfc66d2d51f1e..1ca0ba958b304f12f964fbc54b2d2263
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));
@@ -209,6 +220,21 @@ public class PurpurWorldConfig {
@@ -219,6 +230,21 @@ public class PurpurWorldConfig {
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
}

View File

@@ -52,10 +52,10 @@ index c939ca087af4588e14669a2d53d7c116dcb59f16..11271762dcf5783c3179de1afc6a882c
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 1ca0ba958b304f12f964fbc54b2d226305c3855f..23c07245ca69c9f5cb3507527c5155504fb96a95 100644
index 63cf32fe3359eb00f5e526689a9b10f673911a86..1e0af82c74259783fdc86a7824b18ff1d14fe938 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -208,6 +208,7 @@ public class PurpurWorldConfig {
@@ -218,6 +218,7 @@ public class PurpurWorldConfig {
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
@@ -63,7 +63,7 @@ index 1ca0ba958b304f12f964fbc54b2d226305c3855f..23c07245ca69c9f5cb3507527c515550
private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
@@ -218,6 +219,7 @@ public class PurpurWorldConfig {
@@ -228,6 +229,7 @@ public class PurpurWorldConfig {
tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight);
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);

View File

@@ -300,10 +300,10 @@ index 3914081629669aea19d50530db996728bbfa607f..62fa5be9090c8789e91bf9b9f614e74a
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 23c07245ca69c9f5cb3507527c5155504fb96a95..4fc8e2db66103b3abb2513cf734db78c0d490cb1 100644
index 1e0af82c74259783fdc86a7824b18ff1d14fe938..c9fa235746dd8cf148ae88c3cca4c4a9639d0f61 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -199,6 +199,35 @@ public class PurpurWorldConfig {
@@ -209,6 +209,35 @@ public class PurpurWorldConfig {
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
}

View File

@@ -69,10 +69,10 @@ index 901fe8d224130c67bad00636b065bc798859a18e..88264b7b2c21a377f4b0dd857065e401
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 4fc8e2db66103b3abb2513cf734db78c0d490cb1..a90be0701d8dc8a3b42a565e44457b1264b16bcb 100644
index c9fa235746dd8cf148ae88c3cca4c4a9639d0f61..94681a3cb57950b0cd074927aa63bf84e3ef0cf7 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1071,12 +1071,14 @@ public class PurpurWorldConfig {
@@ -1081,12 +1081,14 @@ public class PurpurWorldConfig {
public boolean zombieJockeyOnlyBaby = true;
public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true;

View File

@@ -214,10 +214,10 @@ index 93d02ccb87c17404c55884f52ae40c7b7ddfb103..35c4d5414db66b977a354ac50d35a6aa
+ // Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a90be0701d8dc8a3b42a565e44457b1264b16bcb..3cda51fa1401aa47e928fc91dc634fc17cd88726 100644
index 94681a3cb57950b0cd074927aa63bf84e3ef0cf7..a9f4732ece4764cabb1ae7b55fa9c273996f7d9d 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -234,6 +234,7 @@ public class PurpurWorldConfig {
@@ -244,6 +244,7 @@ public class PurpurWorldConfig {
public boolean entitiesPickUpLootBypassMobGriefing = false;
public boolean entitiesCanUsePortals = true;
public boolean milkCuresBadOmen = true;
@@ -225,7 +225,7 @@ index a90be0701d8dc8a3b42a565e44457b1264b16bcb..3cda51fa1401aa47e928fc91dc634fc1
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
@@ -245,6 +246,7 @@ public class PurpurWorldConfig {
@@ -255,6 +256,7 @@ public class PurpurWorldConfig {
entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing);
entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals);
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);

View File

@@ -38,10 +38,10 @@ index a9fa18931d93dd7fa428b8cd6a414d4b3a3b4fbb..be48e12dd6c9a390bf383129953bcd3d
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 3cda51fa1401aa47e928fc91dc634fc17cd88726..fded4e2ed984926acc6ee6070b109dee6340e702 100644
index a9f4732ece4764cabb1ae7b55fa9c273996f7d9d..9a18d3612d38cdd3d85cc69fba6df355b6cc6829 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -927,10 +927,12 @@ public class PurpurWorldConfig {
@@ -937,10 +937,12 @@ public class PurpurWorldConfig {
public boolean squidRidable = false;
public boolean squidImmuneToEAR = true;
public double squidOffsetWaterCheck = 0.0D;

View File

@@ -26,10 +26,10 @@ index 015f4d71f35a9d512814389b6e6cab74c0daf116..c7e20b25b4d09463fa54c66e62208e90
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 fded4e2ed984926acc6ee6070b109dee6340e702..585e1f9240c95b044d54e7509fb82ed2e3e9363a 100644
index 9a18d3612d38cdd3d85cc69fba6df355b6cc6829..e982733732e3dfd9d34cf5d9e87a9caa3af2d6e8 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -199,6 +199,15 @@ public class PurpurWorldConfig {
@@ -209,6 +209,15 @@ public class PurpurWorldConfig {
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
}

View File

@@ -49,10 +49,10 @@ index 7b92a54cfb64fb77af99e6bf66eacbdb9e769dc1..9d08094165cf18d99116b5c721fff888
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 585e1f9240c95b044d54e7509fb82ed2e3e9363a..0904a8433175814adb331229f8e81fc4633e97de 100644
index e982733732e3dfd9d34cf5d9e87a9caa3af2d6e8..11f699eb7d68013df708a874a214da6be3fe6773 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -431,6 +431,11 @@ public class PurpurWorldConfig {
@@ -441,6 +441,11 @@ public class PurpurWorldConfig {
spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone);
}

View File

@@ -82,7 +82,7 @@ index 64feabfb860ac29a7f7692bcc9972369dbdc2e02..028911ebe843751080564d90e9630652
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 0904a8433175814adb331229f8e81fc4633e97de..3c97ca864bfcb13d832310cdecc6d7a86fef12ec 100644
index 11f699eb7d68013df708a874a214da6be3fe6773..b11a71a1dda78098f1995f289a1fb45c9a02eeb6 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -150,6 +150,13 @@ public class PurpurWorldConfig {

View File

@@ -57,10 +57,10 @@ index 9ce19b89c16eb6edd3d5d5cc87a966a37f66895c..ac42fd627009a87709448354f232d8b5
if (flag1) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 3c97ca864bfcb13d832310cdecc6d7a86fef12ec..c33a386c74d1224afb23bd424983ba2d312790c2 100644
index b11a71a1dda78098f1995f289a1fb45c9a02eeb6..30ca0eaf588b7056963e9c6ecb4682608b46a463 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -399,6 +399,11 @@ public class PurpurWorldConfig {
@@ -409,6 +409,11 @@ public class PurpurWorldConfig {
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
}

View File

@@ -24,10 +24,10 @@ index 2bbaa2fb426869223a9b2f07406496c1b0daff3f..3e8893bf76b8ffda4c595c81086556ea
return;
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index c33a386c74d1224afb23bd424983ba2d312790c2..d09687f565505941c04efd367d6be2c19a219ef9 100644
index 30ca0eaf588b7056963e9c6ecb4682608b46a463..44c27c6dd4993add42410373191a46f4cc92f42f 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -395,8 +395,10 @@ public class PurpurWorldConfig {
@@ -405,8 +405,10 @@ public class PurpurWorldConfig {
}
public boolean farmlandGetsMoistFromBelow = false;

View File

@@ -102,10 +102,10 @@ index 4c85525fe461fc3d52c538ab2610c1098c9d0151..b03865ca77c3fbd4fe61db450ffd3ced
this.world = new CraftWorld((WorldServer) this, gen, env);
this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d09687f565505941c04efd367d6be2c19a219ef9..9bc3aff37addd694f840eea6189d47e9131e1f27 100644
index 44c27c6dd4993add42410373191a46f4cc92f42f..b92715b115332e8197d5a02a2f308a1ab0f447b6 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -255,6 +255,7 @@ public class PurpurWorldConfig {
@@ -265,6 +265,7 @@ public class PurpurWorldConfig {
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
public int raidCooldownSeconds = 0;
@@ -113,7 +113,7 @@ index d09687f565505941c04efd367d6be2c19a219ef9..9bc3aff37addd694f840eea6189d47e9
private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
@@ -267,6 +268,7 @@ public class PurpurWorldConfig {
@@ -277,6 +278,7 @@ public class PurpurWorldConfig {
voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight);
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds);

View File

@@ -428,10 +428,10 @@ index 64253428ef66145d07f74f8d0e5bdeb5aa5fe02b..828d01abe8202a246ce07c1c652a17cb
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 9bc3aff37addd694f840eea6189d47e9131e1f27..c70a22d8c5d8cdab04e923b22002ae35e703485e 100644
index b92715b115332e8197d5a02a2f308a1ab0f447b6..bd37234624a720c1077aabf0123de61a0d4e05cb 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -482,10 +482,12 @@ public class PurpurWorldConfig {
@@ -492,10 +492,12 @@ public class PurpurWorldConfig {
public boolean beeRidable = false;
public boolean beeRidableInWater = false;
public double beeMaxY = 256D;
@@ -444,7 +444,7 @@ index 9bc3aff37addd694f840eea6189d47e9131e1f27..c70a22d8c5d8cdab04e923b22002ae35
}
public boolean blazeRidable = false;
@@ -502,12 +504,14 @@ public class PurpurWorldConfig {
@@ -512,12 +514,14 @@ public class PurpurWorldConfig {
public int catSpawnDelay = 1200;
public int catSpawnSwampHutScanRange = 16;
public int catSpawnVillageScanRange = 48;
@@ -459,7 +459,7 @@ index 9bc3aff37addd694f840eea6189d47e9131e1f27..c70a22d8c5d8cdab04e923b22002ae35
}
public boolean caveSpiderRidable = false;
@@ -520,10 +524,12 @@ public class PurpurWorldConfig {
@@ -530,10 +534,12 @@ public class PurpurWorldConfig {
public boolean chickenRidable = false;
public boolean chickenRidableInWater = false;
public boolean chickenRetaliate = false;
@@ -472,7 +472,7 @@ index 9bc3aff37addd694f840eea6189d47e9131e1f27..c70a22d8c5d8cdab04e923b22002ae35
}
public boolean codRidable = false;
@@ -534,10 +540,12 @@ public class PurpurWorldConfig {
@@ -544,10 +550,12 @@ public class PurpurWorldConfig {
public boolean cowRidable = false;
public boolean cowRidableInWater = false;
public int cowFeedMushrooms = 0;
@@ -485,7 +485,7 @@ index 9bc3aff37addd694f840eea6189d47e9131e1f27..c70a22d8c5d8cdab04e923b22002ae35
}
public boolean creeperRidable = false;
@@ -565,8 +573,10 @@ public class PurpurWorldConfig {
@@ -575,8 +583,10 @@ public class PurpurWorldConfig {
}
public boolean donkeyRidableInWater = false;
@@ -496,7 +496,7 @@ index 9bc3aff37addd694f840eea6189d47e9131e1f27..c70a22d8c5d8cdab04e923b22002ae35
}
public boolean drownedRidable = false;
@@ -624,10 +634,12 @@ public class PurpurWorldConfig {
@@ -634,10 +644,12 @@ public class PurpurWorldConfig {
public boolean foxRidable = false;
public boolean foxRidableInWater = false;
public boolean foxTypeChangesWithTulips = false;
@@ -509,7 +509,7 @@ index 9bc3aff37addd694f840eea6189d47e9131e1f27..c70a22d8c5d8cdab04e923b22002ae35
}
public boolean ghastRidable = false;
@@ -672,14 +684,18 @@ public class PurpurWorldConfig {
@@ -682,14 +694,18 @@ public class PurpurWorldConfig {
public boolean hoglinRidable = false;
public boolean hoglinRidableInWater = false;
@@ -528,7 +528,7 @@ index 9bc3aff37addd694f840eea6189d47e9131e1f27..c70a22d8c5d8cdab04e923b22002ae35
}
public boolean huskRidable = false;
@@ -724,9 +740,11 @@ public class PurpurWorldConfig {
@@ -734,9 +750,11 @@ public class PurpurWorldConfig {
public boolean llamaRidable = false;
public boolean llamaRidableInWater = false;
@@ -540,7 +540,7 @@ index 9bc3aff37addd694f840eea6189d47e9131e1f27..c70a22d8c5d8cdab04e923b22002ae35
}
public boolean llamaTraderRidable = false;
@@ -745,28 +763,36 @@ public class PurpurWorldConfig {
@@ -755,28 +773,36 @@ public class PurpurWorldConfig {
public boolean mooshroomRidable = false;
public boolean mooshroomRidableInWater = false;
@@ -577,7 +577,7 @@ index 9bc3aff37addd694f840eea6189d47e9131e1f27..c70a22d8c5d8cdab04e923b22002ae35
}
public boolean parrotRidable = false;
@@ -832,10 +858,12 @@ public class PurpurWorldConfig {
@@ -842,10 +868,12 @@ public class PurpurWorldConfig {
public boolean pigRidable = false;
public boolean pigRidableInWater = false;
public boolean pigGiveSaddleBack = false;
@@ -590,7 +590,7 @@ index 9bc3aff37addd694f840eea6189d47e9131e1f27..c70a22d8c5d8cdab04e923b22002ae35
}
public boolean piglinRidable = false;
@@ -863,12 +891,14 @@ public class PurpurWorldConfig {
@@ -873,12 +901,14 @@ public class PurpurWorldConfig {
public boolean polarBearRidableInWater = false;
public String polarBearBreedableItemString = "";
public Item polarBearBreedableItem = null;
@@ -605,7 +605,7 @@ index 9bc3aff37addd694f840eea6189d47e9131e1f27..c70a22d8c5d8cdab04e923b22002ae35
}
public boolean pufferfishRidable = false;
@@ -880,11 +910,13 @@ public class PurpurWorldConfig {
@@ -890,11 +920,13 @@ public class PurpurWorldConfig {
public boolean rabbitRidableInWater = false;
public double rabbitNaturalToast = 0.0D;
public double rabbitNaturalKiller = 0.0D;
@@ -619,7 +619,7 @@ index 9bc3aff37addd694f840eea6189d47e9131e1f27..c70a22d8c5d8cdab04e923b22002ae35
}
public boolean ravagerRidable = false;
@@ -901,9 +933,11 @@ public class PurpurWorldConfig {
@@ -911,9 +943,11 @@ public class PurpurWorldConfig {
public boolean sheepRidable = false;
public boolean sheepRidableInWater = false;
@@ -631,7 +631,7 @@ index 9bc3aff37addd694f840eea6189d47e9131e1f27..c70a22d8c5d8cdab04e923b22002ae35
}
public boolean shulkerRidable = false;
@@ -981,9 +1015,11 @@ public class PurpurWorldConfig {
@@ -991,9 +1025,11 @@ public class PurpurWorldConfig {
public boolean striderRidable = false;
public boolean striderRidableInWater = false;
@@ -643,7 +643,7 @@ index 9bc3aff37addd694f840eea6189d47e9131e1f27..c70a22d8c5d8cdab04e923b22002ae35
}
public boolean tropicalFishRidable = false;
@@ -993,9 +1029,11 @@ public class PurpurWorldConfig {
@@ -1003,9 +1039,11 @@ public class PurpurWorldConfig {
public boolean turtleRidable = false;
public boolean turtleRidableInWater = false;
@@ -655,7 +655,7 @@ index 9bc3aff37addd694f840eea6189d47e9131e1f27..c70a22d8c5d8cdab04e923b22002ae35
}
public boolean vexRidable = false;
@@ -1017,6 +1055,7 @@ public class PurpurWorldConfig {
@@ -1027,6 +1065,7 @@ public class PurpurWorldConfig {
public int villagerSpawnIronGolemRadius = 0;
public int villagerSpawnIronGolemLimit = 0;
public boolean villagerCanBreed = true;
@@ -663,7 +663,7 @@ index 9bc3aff37addd694f840eea6189d47e9131e1f27..c70a22d8c5d8cdab04e923b22002ae35
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1028,6 +1067,7 @@ public class PurpurWorldConfig {
@@ -1038,6 +1077,7 @@ public class PurpurWorldConfig {
villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius);
villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
@@ -671,7 +671,7 @@ index 9bc3aff37addd694f840eea6189d47e9131e1f27..c70a22d8c5d8cdab04e923b22002ae35
}
public boolean villagerTraderRidable = false;
@@ -1088,9 +1128,11 @@ public class PurpurWorldConfig {
@@ -1098,9 +1138,11 @@ public class PurpurWorldConfig {
public boolean wolfRidable = false;
public boolean wolfRidableInWater = false;

View File

@@ -154,7 +154,7 @@ index 81e2ccfa4f6cf6a4ad9236cf0ce94df8dc3ec5b6..132972755ac74838f3386e0fac503338
NBTTagCompound nbttagcompound = this.a("display");
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index c70a22d8c5d8cdab04e923b22002ae35e703485e..52841e2df9098f1e32349510c2d439b61ca79286 100644
index bd37234624a720c1077aabf0123de61a0d4e05cb..b650293ff3315760e29307113e29fb2731af472b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -83,8 +83,10 @@ public class PurpurWorldConfig {
@@ -168,7 +168,7 @@ index c70a22d8c5d8cdab04e923b22002ae35e703485e..52841e2df9098f1e32349510c2d439b6
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
}
@@ -251,6 +253,7 @@ public class PurpurWorldConfig {
@@ -261,6 +263,7 @@ public class PurpurWorldConfig {
public boolean entitiesCanUsePortals = true;
public boolean milkCuresBadOmen = true;
public boolean persistentTileEntityDisplayNames = false;
@@ -176,7 +176,7 @@ index c70a22d8c5d8cdab04e923b22002ae35e703485e..52841e2df9098f1e32349510c2d439b6
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
@@ -264,6 +267,7 @@ public class PurpurWorldConfig {
@@ -274,6 +277,7 @@ public class PurpurWorldConfig {
entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals);
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);
persistentTileEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-tileentity-display-names-and-lore", persistentTileEntityDisplayNames);

View File

@@ -29,7 +29,7 @@ index b9b2b27e534ba87a1aae3c521f393a066a18a199..4f4e9ebb9af4970fe920a540d40dbc56
((EntityInsentient) newEntityLiving).setPersistent();
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 52841e2df9098f1e32349510c2d439b61ca79286..61923263c9cf388a897a150ce1030ad978eef8d7 100644
index b650293ff3315760e29307113e29fb2731af472b..dc1418f8f324eae24af3e993c6c720ff73702c92 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -84,9 +84,11 @@ public class PurpurWorldConfig {

View File

@@ -91,10 +91,10 @@ index 2552631084926c2fad40b3f21ae479c0e1cfdb77..198bd8857571872ed3f7437529c330dc
+ // Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 61923263c9cf388a897a150ce1030ad978eef8d7..071921d17cb0bbe3c39cc43c107431a8def5501b 100644
index dc1418f8f324eae24af3e993c6c720ff73702c92..17bbe2ceea016bcb00dc5542bea47e083e723ea5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -467,6 +467,16 @@ public class PurpurWorldConfig {
@@ -477,6 +477,16 @@ public class PurpurWorldConfig {
turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
}

View File

@@ -89,10 +89,10 @@ index 198bd8857571872ed3f7437529c330dceeb825db..a71f97e87ee7210f3246e542dd768403
// Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 071921d17cb0bbe3c39cc43c107431a8def5501b..3d71a3ccb259d36d4d59091b42ae7f42fbb40f91 100644
index 17bbe2ceea016bcb00dc5542bea47e083e723ea5..221b6d3c98afe1c72481a922ac7eeff9801d8c2f 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -414,6 +414,11 @@ public class PurpurWorldConfig {
@@ -424,6 +424,11 @@ public class PurpurWorldConfig {
furnaceInfiniteFuel = getBoolean("blocks.furnace.infinite-fuel", furnaceInfiniteFuel);
}
@@ -104,7 +104,7 @@ index 071921d17cb0bbe3c39cc43c107431a8def5501b..3d71a3ccb259d36d4d59091b42ae7f42
public boolean lavaInfinite = false;
public int lavaInfiniteRequiredSources = 2;
public int lavaSpeedNether = 10;
@@ -468,13 +473,17 @@ public class PurpurWorldConfig {
@@ -478,13 +483,17 @@ public class PurpurWorldConfig {
}
public double twistingVinesGrowthModifier = 0.10D;

View File

@@ -21,10 +21,10 @@ index 03fa2cfc1d5bc27e03e9979b3f33d88362c19066..18b3f8d1fadd1424327261d92b49977a
static class PathfinderGoalEndermanPickupBlock extends PathfinderGoal {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 3d71a3ccb259d36d4d59091b42ae7f42fbb40f91..605ee4272077fccbb347c2a8a42b9a84dec3164e 100644
index 221b6d3c98afe1c72481a922ac7eeff9801d8c2f..3b9898ee7ae0fb826cfc3102d3b84bc5323d163d 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -636,10 +636,12 @@ public class PurpurWorldConfig {
@@ -646,10 +646,12 @@ public class PurpurWorldConfig {
public boolean endermanRidable = false;
public boolean endermanRidableInWater = false;
public boolean endermanAllowGriefing = true;

View File

@@ -18,10 +18,10 @@ index 0d3b9c81e47eef645335e49a1d6d88db7338aa4b..6bfd3f57e6c04ed426870d6dbf068bf3
entity.damageEntity(DamageSource.projectile(this, this.getShooter()), (float) i);
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 605ee4272077fccbb347c2a8a42b9a84dec3164e..223779ca665c86491733c902c94faadea503a2e7 100644
index 3b9898ee7ae0fb826cfc3102d3b84bc5323d163d..b6a3d73dc0866d98b00f52d65a39646ab001a1f2 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -248,6 +248,11 @@ public class PurpurWorldConfig {
@@ -258,6 +258,11 @@ public class PurpurWorldConfig {
witherSkullDespawnRate = getInt("gameplay-mechanics.projectile-despawn-rates.wither_skull", witherSkullDespawnRate);
}

View File

@@ -50,7 +50,7 @@ index 10ee8a0a717354f50b29e7ebeab0ee2aa7bf42f7..d785066e2a52699c18315f7244d80db6
+ // Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 223779ca665c86491733c902c94faadea503a2e7..cca020ef20d0a025b86d0a964da85463bd74b059 100644
index b6a3d73dc0866d98b00f52d65a39646ab001a1f2..1ea011a2fbf6b6d2b7f9ff59e86303d17d130831 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1,6 +1,7 @@
@@ -61,7 +61,7 @@ index 223779ca665c86491733c902c94faadea503a2e7..cca020ef20d0a025b86d0a964da85463
import net.minecraft.world.level.Explosion;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
@@ -1180,6 +1181,7 @@ public class PurpurWorldConfig {
@@ -1190,6 +1191,7 @@ public class PurpurWorldConfig {
public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
@@ -69,7 +69,7 @@ index 223779ca665c86491733c902c94faadea503a2e7..cca020ef20d0a025b86d0a964da85463
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1187,6 +1189,11 @@ public class PurpurWorldConfig {
@@ -1197,6 +1199,11 @@ public class PurpurWorldConfig {
zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);
zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging);

View File

@@ -18,7 +18,7 @@ index df33b46ff1267f0f2692a8956438f3bd1e2a3086..a6ea96683b0f4d35015dff6168f3bf45
} else {
this.setLeftHanded(false);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index cca020ef20d0a025b86d0a964da85463bd74b059..8ce9b10c71ae45eea849e810c305b3adb2cce75e 100644
index 1ea011a2fbf6b6d2b7f9ff59e86303d17d130831..5e3b23d50b6e8494066c71bdf7c14edc4a4a3716 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -163,8 +163,10 @@ public class PurpurWorldConfig {

View File

@@ -27,10 +27,10 @@ index 3f29cc87faa85f857c5fe2b8457d7c96d05515bc..a1d5662911ee3a038da427bf2e0b69a1
if (!flag && isSpawnInvulnerable() && damagesource != DamageSource.OUT_OF_WORLD) { // Purpur
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 8ce9b10c71ae45eea849e810c305b3adb2cce75e..e04af8007b5650d20165e82767c288452de48ebc 100644
index 5e3b23d50b6e8494066c71bdf7c14edc4a4a3716..944c1bbcb868e2e24f26db04b588f6f0c13164e5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -258,6 +258,7 @@ public class PurpurWorldConfig {
@@ -268,6 +268,7 @@ public class PurpurWorldConfig {
public boolean useBetterMending = false;
public boolean boatEjectPlayersOnLand = false;
@@ -38,7 +38,7 @@ index 8ce9b10c71ae45eea849e810c305b3adb2cce75e..e04af8007b5650d20165e82767c28845
public boolean disableDropsOnCrammingDeath = false;
public boolean entitiesPickUpLootBypassMobGriefing = false;
public boolean entitiesCanUsePortals = true;
@@ -272,6 +273,7 @@ public class PurpurWorldConfig {
@@ -282,6 +283,7 @@ public class PurpurWorldConfig {
private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);

View File

@@ -36,7 +36,7 @@ index 69d6d3fb4333531ea63acf5272ffa52ed296346f..457a20aee6f7aa25be052bec202bbcb8
public static String afkBroadcastBack = "§e§o%s is no longer AFK";
public static String afkTabListPrefix = "[AFK] ";
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e04af8007b5650d20165e82767c288452de48ebc..ac5c770735650d4a7821ee0f2551de63d8c5fdbb 100644
index 944c1bbcb868e2e24f26db04b588f6f0c13164e5..c2044a89fd1547092fd3d6be671570fcf2a60f09 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1,5 +1,6 @@

View File

@@ -23,10 +23,10 @@ index cfcf67e99ae345f77a55771e6a25bdcdb4a9740a..28b5c22ecfe573ac9d91b74e54ebd3e3
this.goalSelector.a(3, new PathfinderGoalLookAtPlayer(this, EntityHuman.class, 6.0F));
this.goalSelector.a(4, new PathfinderGoalRandomLookaround(this));
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index ac5c770735650d4a7821ee0f2551de63d8c5fdbb..afabf27d4f966dfc0d12d54c0b5eb6f0e5c38a73 100644
index c2044a89fd1547092fd3d6be671570fcf2a60f09..ed2b682b3717e58eb18ef12c18f362a75174f069 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1029,12 +1029,20 @@ public class PurpurWorldConfig {
@@ -1039,12 +1039,20 @@ public class PurpurWorldConfig {
public boolean snowGolemLeaveTrailWhenRidden = false;
public boolean snowGolemDropsPumpkin = true;
public boolean snowGolemPutPumpkinBack = false;

View File

@@ -28,7 +28,7 @@ index 521604b37ca61b849420f206fde88210b582cd3c..116f17bcc02d15951fa248c6ce4e2cf3
public static String afkBroadcastBack = "§e§o%s is no longer AFK";
public static String afkTabListPrefix = "[AFK] ";
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index afabf27d4f966dfc0d12d54c0b5eb6f0e5c38a73..818712824f714b522296d5bd9d160a2045c53ea0 100644
index ed2b682b3717e58eb18ef12c18f362a75174f069..3e2898e3582efc00764885739e1df3a2ab5d5f6e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -96,6 +96,17 @@ public class PurpurWorldConfig {

View File

@@ -99,10 +99,10 @@ index a0f0d5e0909da5cfe87078d4722b030635cfeadd..bc14e242f97f9f6d8e581d12319c95ae
long i = this.bC + 12000L;
long j = this.world.getTime();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 818712824f714b522296d5bd9d160a2045c53ea0..afc3587e1b9cda48d0483c5faf3dc4569b867b5e 100644
index 3e2898e3582efc00764885739e1df3a2ab5d5f6e..6f4aab0495e168afe3927b994e9c42ddce59dc20 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1124,6 +1124,8 @@ public class PurpurWorldConfig {
@@ -1134,6 +1134,8 @@ public class PurpurWorldConfig {
public int villagerSpawnIronGolemLimit = 0;
public boolean villagerCanBreed = true;
public int villagerBreedingTicks = 6000;
@@ -111,7 +111,7 @@ index 818712824f714b522296d5bd9d160a2045c53ea0..afc3587e1b9cda48d0483c5faf3dc456
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1136,6 +1138,13 @@ public class PurpurWorldConfig {
@@ -1146,6 +1148,13 @@ public class PurpurWorldConfig {
villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);

View File

@@ -224,10 +224,10 @@ index 69de7588eebba7557cdaec129f19ec1fc2c675c5..dd9b678481620856fb7eaaa04c3b812c
public static final VillagerProfession FISHERMAN = a("fisherman", VillagePlaceType.i, SoundEffects.ENTITY_VILLAGER_WORK_FISHERMAN);
public static final VillagerProfession FLETCHER = a("fletcher", VillagePlaceType.j, SoundEffects.ENTITY_VILLAGER_WORK_FLETCHER);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index afc3587e1b9cda48d0483c5faf3dc4569b867b5e..d6f4638717376c321496d747d12fe970032b2373 100644
index 6f4aab0495e168afe3927b994e9c42ddce59dc20..efe82464beb6741413b73bbd6adc5c45eba7bcd6 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1126,6 +1126,8 @@ public class PurpurWorldConfig {
@@ -1136,6 +1136,8 @@ public class PurpurWorldConfig {
public int villagerBreedingTicks = 6000;
public boolean villagerLobotomizeEnabled = false;
public int villagerLobotomizeCheck = 60;
@@ -236,7 +236,7 @@ index afc3587e1b9cda48d0483c5faf3dc4569b867b5e..d6f4638717376c321496d747d12fe970
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1145,6 +1147,8 @@ public class PurpurWorldConfig {
@@ -1155,6 +1157,8 @@ public class PurpurWorldConfig {
}
villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled);
villagerLobotomizeCheck = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheck);

View File

@@ -35,10 +35,10 @@ index 9f50054211db48e7fe764434e8d71aab0995e57a..82279ab2f3c1edec14c24c3a7ad24d09
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d6f4638717376c321496d747d12fe970032b2373..fa29113e3b7a337191495a7b1b02de50bd7f9567 100644
index efe82464beb6741413b73bbd6adc5c45eba7bcd6..7d32788c5e538be6eff9b6ff4655f279ac1e0e6b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1258,12 +1258,14 @@ public class PurpurWorldConfig {
@@ -1268,12 +1268,14 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinJockeyOnlyBaby = true;
public double zombifiedPiglinJockeyChance = 0.05D;
public boolean zombifiedPiglinJockeyTryExistingChickens = true;

View File

@@ -242,10 +242,10 @@ index dd3c7ad7701ad18ccaf86d73fde7051090ed3d57..e8c6aca70db693250224d1c162e3c268
return super.b(entityhuman, enumhand);
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index fa29113e3b7a337191495a7b1b02de50bd7f9567..e925e208c3bd4e24f510bbc11f98a4369a43d2c2 100644
index 7d32788c5e538be6eff9b6ff4655f279ac1e0e6b..5a05d4e511bf7c96d3e01c59e6e53b105bf7baf6 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1209,10 +1209,14 @@ public class PurpurWorldConfig {
@@ -1219,10 +1219,14 @@ public class PurpurWorldConfig {
public boolean wolfRidable = false;
public boolean wolfRidableInWater = false;

View File

@@ -24,7 +24,7 @@ index e8c6aca70db693250224d1c162e3c2684687ea41..e33aadead6e6c5e0a7b39ef95e7aeb0f
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e925e208c3bd4e24f510bbc11f98a4369a43d2c2..4cf5c279ed04c94db513e08f091838378b103412 100644
index 5a05d4e511bf7c96d3e01c59e6e53b105bf7baf6..0666c523f82b9083ed8e81570faa923bbeb00ab8 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -3,6 +3,7 @@ package net.pl3x.purpur;
@@ -35,7 +35,7 @@ index e925e208c3bd4e24f510bbc11f98a4369a43d2c2..4cf5c279ed04c94db513e08f09183837
import net.minecraft.world.level.Explosion;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
@@ -1209,12 +1210,18 @@ public class PurpurWorldConfig {
@@ -1219,12 +1220,18 @@ public class PurpurWorldConfig {
public boolean wolfRidable = false;
public boolean wolfRidableInWater = false;

View File

@@ -1407,10 +1407,10 @@ index 90cbef7fe8803295f82bddd6709fdf303aedcaba..b84916c0c58fd208ef5547299f8db846
@Nullable
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 4cf5c279ed04c94db513e08f091838378b103412..06a65bb15e926865ac43ff257dbbaa507ad497ec 100644
index 0666c523f82b9083ed8e81570faa923bbeb00ab8..f0f8165c51c17855d0c719d47bea194b80ff7847 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -532,30 +532,58 @@ public class PurpurWorldConfig {
@@ -542,30 +542,58 @@ public class PurpurWorldConfig {
public boolean batRidable = false;
public boolean batRidableInWater = false;
public double batMaxY = 256D;
@@ -1469,7 +1469,7 @@ index 4cf5c279ed04c94db513e08f091838378b103412..06a65bb15e926865ac43ff257dbbaa50
}
public boolean catRidable = false;
@@ -564,6 +592,7 @@ public class PurpurWorldConfig {
@@ -574,6 +602,7 @@ public class PurpurWorldConfig {
public int catSpawnSwampHutScanRange = 16;
public int catSpawnVillageScanRange = 48;
public int catBreedingTicks = 6000;
@@ -1477,7 +1477,7 @@ index 4cf5c279ed04c94db513e08f091838378b103412..06a65bb15e926865ac43ff257dbbaa50
private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -571,51 +600,92 @@ public class PurpurWorldConfig {
@@ -581,51 +610,92 @@ public class PurpurWorldConfig {
catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);
catBreedingTicks = getInt("mobs.cat.breeding-delay-ticks", catBreedingTicks);
@@ -1570,7 +1570,7 @@ index 4cf5c279ed04c94db513e08f091838378b103412..06a65bb15e926865ac43ff257dbbaa50
}
public boolean dolphinRidable = false;
@@ -623,19 +693,45 @@ public class PurpurWorldConfig {
@@ -633,19 +703,45 @@ public class PurpurWorldConfig {
public float dolphinSpitSpeed = 1.0F;
public float dolphinSpitDamage = 2.0F;
public boolean dolphinDisableTreasureSearching = false;
@@ -1616,7 +1616,7 @@ index 4cf5c279ed04c94db513e08f091838378b103412..06a65bb15e926865ac43ff257dbbaa50
}
public boolean drownedRidable = false;
@@ -643,73 +739,135 @@ public class PurpurWorldConfig {
@@ -653,73 +749,135 @@ public class PurpurWorldConfig {
public boolean drownedJockeyOnlyBaby = true;
public double drownedJockeyChance = 0.05D;
public boolean drownedJockeyTryExistingChickens = true;
@@ -1752,7 +1752,7 @@ index 4cf5c279ed04c94db513e08f091838378b103412..06a65bb15e926865ac43ff257dbbaa50
}
public boolean giantRidable = false;
@@ -732,31 +890,68 @@ public class PurpurWorldConfig {
@@ -742,31 +900,68 @@ public class PurpurWorldConfig {
giantHaveHostileAI = getBoolean("mobs.giant.have-hostile-ai", giantHaveHostileAI);
if (PurpurConfig.version < 8) {
double oldValue = getDouble("mobs.giant.max-health", giantMaxHealth);
@@ -1823,7 +1823,7 @@ index 4cf5c279ed04c94db513e08f091838378b103412..06a65bb15e926865ac43ff257dbbaa50
}
public boolean huskRidable = false;
@@ -764,12 +959,21 @@ public class PurpurWorldConfig {
@@ -774,12 +969,21 @@ public class PurpurWorldConfig {
public boolean huskJockeyOnlyBaby = true;
public double huskJockeyChance = 0.05D;
public boolean huskJockeyTryExistingChickens = true;
@@ -1845,7 +1845,7 @@ index 4cf5c279ed04c94db513e08f091838378b103412..06a65bb15e926865ac43ff257dbbaa50
}
public boolean illusionerRidable = false;
@@ -784,85 +988,188 @@ public class PurpurWorldConfig {
@@ -794,85 +998,188 @@ public class PurpurWorldConfig {
illusionerFollowRange = getDouble("mobs.illusioner.follow-range", illusionerFollowRange);
if (PurpurConfig.version < 8) {
double oldValue = getDouble("mobs.illusioner.max-health", illusionerMaxHealth);
@@ -2036,7 +2036,7 @@ index 4cf5c279ed04c94db513e08f091838378b103412..06a65bb15e926865ac43ff257dbbaa50
}
public boolean phantomRidable = false;
@@ -889,6 +1196,7 @@ public class PurpurWorldConfig {
@@ -899,6 +1206,7 @@ public class PurpurWorldConfig {
public boolean phantomIgnorePlayersWithTorch = false;
public boolean phantomBurnInDaylight = true;
public boolean phantomAllowGriefing = false;
@@ -2044,7 +2044,7 @@ index 4cf5c279ed04c94db513e08f091838378b103412..06a65bb15e926865ac43ff257dbbaa50
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -914,38 +1222,72 @@ public class PurpurWorldConfig {
@@ -924,38 +1232,72 @@ public class PurpurWorldConfig {
phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight);
phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch);
phantomAllowGriefing = getBoolean("mobs.phantom.allow-griefing", phantomAllowGriefing);
@@ -2117,7 +2117,7 @@ index 4cf5c279ed04c94db513e08f091838378b103412..06a65bb15e926865ac43ff257dbbaa50
}
public boolean polarBearRidable = false;
@@ -953,6 +1295,7 @@ public class PurpurWorldConfig {
@@ -963,6 +1305,7 @@ public class PurpurWorldConfig {
public String polarBearBreedableItemString = "";
public Item polarBearBreedableItem = null;
public int polarBearBreedingTicks = 6000;
@@ -2125,7 +2125,7 @@ index 4cf5c279ed04c94db513e08f091838378b103412..06a65bb15e926865ac43ff257dbbaa50
private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
@@ -960,11 +1303,24 @@ public class PurpurWorldConfig {
@@ -970,11 +1313,24 @@ public class PurpurWorldConfig {
Item item = IRegistry.ITEM.get(new MinecraftKey(polarBearBreedableItemString));
if (item != Items.AIR) polarBearBreedableItem = item;
polarBearBreedingTicks = getInt("mobs.polar_bear.breeding-delay-ticks", polarBearBreedingTicks);
@@ -2150,7 +2150,7 @@ index 4cf5c279ed04c94db513e08f091838378b103412..06a65bb15e926865ac43ff257dbbaa50
}
public boolean rabbitRidable = false;
@@ -972,68 +1328,144 @@ public class PurpurWorldConfig {
@@ -982,68 +1338,144 @@ public class PurpurWorldConfig {
public double rabbitNaturalToast = 0.0D;
public double rabbitNaturalKiller = 0.0D;
public int rabbitBreedingTicks = 6000;
@@ -2295,7 +2295,7 @@ index 4cf5c279ed04c94db513e08f091838378b103412..06a65bb15e926865ac43ff257dbbaa50
}
public boolean snowGolemRidable = false;
@@ -1045,6 +1477,7 @@ public class PurpurWorldConfig {
@@ -1055,6 +1487,7 @@ public class PurpurWorldConfig {
public int snowGolemSnowBallMax = 20;
public float snowGolemSnowBallModifier = 10.0F;
public double snowGolemAttackDistance = 1.25D;
@@ -2303,7 +2303,7 @@ index 4cf5c279ed04c94db513e08f091838378b103412..06a65bb15e926865ac43ff257dbbaa50
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1055,63 +1488,118 @@ public class PurpurWorldConfig {
@@ -1065,63 +1498,118 @@ public class PurpurWorldConfig {
snowGolemSnowBallMax = getInt("mobs.snow_golem.max-shoot-interval-ticks", snowGolemSnowBallMax);
snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier);
snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance);
@@ -2422,7 +2422,7 @@ index 4cf5c279ed04c94db513e08f091838378b103412..06a65bb15e926865ac43ff257dbbaa50
}
public boolean villagerRidable = false;
@@ -1129,6 +1617,7 @@ public class PurpurWorldConfig {
@@ -1139,6 +1627,7 @@ public class PurpurWorldConfig {
public int villagerLobotomizeCheck = 60;
public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true;
@@ -2430,7 +2430,7 @@ index 4cf5c279ed04c94db513e08f091838378b103412..06a65bb15e926865ac43ff257dbbaa50
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1150,33 +1639,60 @@ public class PurpurWorldConfig {
@@ -1160,33 +1649,60 @@ public class PurpurWorldConfig {
villagerLobotomizeCheck = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheck);
villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts);
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
@@ -2491,7 +2491,7 @@ index 4cf5c279ed04c94db513e08f091838378b103412..06a65bb15e926865ac43ff257dbbaa50
}
public boolean witherRidable = false;
@@ -1193,19 +1709,30 @@ public class PurpurWorldConfig {
@@ -1203,19 +1719,30 @@ public class PurpurWorldConfig {
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
if (PurpurConfig.version < 8) {
double oldValue = getDouble("mobs.wither.max-health", witherMaxHealth);
@@ -2524,7 +2524,7 @@ index 4cf5c279ed04c94db513e08f091838378b103412..06a65bb15e926865ac43ff257dbbaa50
}
public boolean wolfRidable = false;
@@ -1214,6 +1741,7 @@ public class PurpurWorldConfig {
@@ -1224,6 +1751,7 @@ public class PurpurWorldConfig {
public boolean wolfMilkCuresRabies = true;
public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000;
@@ -2532,7 +2532,7 @@ index 4cf5c279ed04c94db513e08f091838378b103412..06a65bb15e926865ac43ff257dbbaa50
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -1225,13 +1753,26 @@ public class PurpurWorldConfig {
@@ -1235,13 +1763,26 @@ public class PurpurWorldConfig {
wolfMilkCuresRabies = getBoolean("mobs.wolf.milk-cures-rabid-wolves", wolfMilkCuresRabies);
wolfNaturalRabid = getDouble("mobs.wolf.spawn-rabid-chance", wolfNaturalRabid);
wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks);
@@ -2559,7 +2559,7 @@ index 4cf5c279ed04c94db513e08f091838378b103412..06a65bb15e926865ac43ff257dbbaa50
}
public boolean zombieRidable = false;
@@ -1241,6 +1782,8 @@ public class PurpurWorldConfig {
@@ -1251,6 +1792,8 @@ public class PurpurWorldConfig {
public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
public EnumDifficulty zombieBreakDoorMinDifficulty = EnumDifficulty.HARD;
@@ -2568,7 +2568,7 @@ index 4cf5c279ed04c94db513e08f091838378b103412..06a65bb15e926865ac43ff257dbbaa50
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1253,15 +1796,40 @@ public class PurpurWorldConfig {
@@ -1263,15 +1806,40 @@ public class PurpurWorldConfig {
} catch (IllegalArgumentException ignore) {
zombieBreakDoorMinDifficulty = EnumDifficulty.HARD;
}
@@ -2609,7 +2609,7 @@ index 4cf5c279ed04c94db513e08f091838378b103412..06a65bb15e926865ac43ff257dbbaa50
}
public boolean zombifiedPiglinRidable = false;
@@ -1270,6 +1838,8 @@ public class PurpurWorldConfig {
@@ -1280,6 +1848,8 @@ public class PurpurWorldConfig {
public double zombifiedPiglinJockeyChance = 0.05D;
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true;
@@ -2618,7 +2618,7 @@ index 4cf5c279ed04c94db513e08f091838378b103412..06a65bb15e926865ac43ff257dbbaa50
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -1277,6 +1847,13 @@ public class PurpurWorldConfig {
@@ -1287,6 +1857,13 @@ public class PurpurWorldConfig {
zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance);
zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens);
zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry);
@@ -2632,7 +2632,7 @@ index 4cf5c279ed04c94db513e08f091838378b103412..06a65bb15e926865ac43ff257dbbaa50
}
public boolean zombieVillagerRidable = false;
@@ -1284,11 +1861,20 @@ public class PurpurWorldConfig {
@@ -1294,11 +1871,20 @@ public class PurpurWorldConfig {
public boolean zombieVillagerJockeyOnlyBaby = true;
public double zombieVillagerJockeyChance = 0.05D;
public boolean zombieVillagerJockeyTryExistingChickens = true;

View File

@@ -17,10 +17,10 @@ index 902b26d609aef8dd46e8875cb7c06f187511e8d5..4f3d4f2596c69881f0653bddcc3bf2b9
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 06a65bb15e926865ac43ff257dbbaa507ad497ec..6b4388b80be8f2a3ca54b667d9fd694f15abb00e 100644
index f0f8165c51c17855d0c719d47bea194b80ff7847..c84a331c157ea1180813cba1107bf901a35b2833 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1196,6 +1196,7 @@ public class PurpurWorldConfig {
@@ -1206,6 +1206,7 @@ public class PurpurWorldConfig {
public boolean phantomIgnorePlayersWithTorch = false;
public boolean phantomBurnInDaylight = true;
public boolean phantomAllowGriefing = false;
@@ -28,7 +28,7 @@ index 06a65bb15e926865ac43ff257dbbaa507ad497ec..6b4388b80be8f2a3ca54b667d9fd694f
public double phantomMaxHealth = 20.0D;
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
@@ -1222,6 +1223,7 @@ public class PurpurWorldConfig {
@@ -1232,6 +1233,7 @@ public class PurpurWorldConfig {
phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight);
phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch);
phantomAllowGriefing = getBoolean("mobs.phantom.allow-griefing", phantomAllowGriefing);

View File

@@ -17,10 +17,10 @@ index a45ee959f41e7f349ff2c309f21fa44ec671cb87..cddf8e3d34385eb264cd28ba6b4392d6
return iblockaccess.getType(blockposition1).isOccluding(iblockaccess, blockposition1);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 6b4388b80be8f2a3ca54b667d9fd694f15abb00e..b021462c7dd5fe9d12f4fcf196bf7eb17bdffb19 100644
index c84a331c157ea1180813cba1107bf901a35b2833..3d1cfd550b12c8dd4bd536c518ac169ff6bbfe50 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -429,6 +429,11 @@ public class PurpurWorldConfig {
@@ -439,6 +439,11 @@ public class PurpurWorldConfig {
}
}

View File

@@ -28,10 +28,10 @@ index 892aa844a98ae0d192737c6fc6df0a219256a47b..5e4cc99a746d98231bbb71672fbc0243
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index b021462c7dd5fe9d12f4fcf196bf7eb17bdffb19..1b4275c3a810da7b464b07e3fe33637258c683b7 100644
index 3d1cfd550b12c8dd4bd536c518ac169ff6bbfe50..130dc441be74963c272381e992ea39883804f9f7 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1552,11 +1552,13 @@ public class PurpurWorldConfig {
@@ -1562,11 +1562,13 @@ public class PurpurWorldConfig {
public boolean striderRidable = false;
public boolean striderRidableInWater = false;
public int striderBreedingTicks = 6000;

View File

@@ -26,10 +26,10 @@ index af10d5aea7909ee9f38982264233f0a45c153003..5a2678cf3a8441344629b6a0bf4b6be5
protected ItemCooldown i() {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 1b4275c3a810da7b464b07e3fe33637258c683b7..59a19ab449287226938852a06b88d20c2062a43c 100644
index 130dc441be74963c272381e992ea39883804f9f7..318513f5612a694c2b240840b24a39210457c202 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -346,6 +346,19 @@ public class PurpurWorldConfig {
@@ -356,6 +356,19 @@ public class PurpurWorldConfig {
playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax);
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add MC-4 fix back
diff --git a/src/main/java/net/minecraft/world/entity/item/EntityItem.java b/src/main/java/net/minecraft/world/entity/item/EntityItem.java
index 3b84039a76843a0784e2d71bb66dc322450c2cab..8640472dba341285a37edb086e1bea387204fd04 100644
index 92cd61cd6b085a03c502223f3861540d8c9f27e1..51663e58def93cc38157a99069db86603faf4c0a 100644
--- a/src/main/java/net/minecraft/world/entity/item/EntityItem.java
+++ b/src/main/java/net/minecraft/world/entity/item/EntityItem.java
@@ -571,7 +571,7 @@ public class EntityItem extends Entity {
@@ -575,7 +575,7 @@ public class EntityItem extends Entity {
// Paper start - fix MC-4
public void setPositionRaw(double x, double y, double z) {

View File

@@ -338,10 +338,10 @@ index 04504901b1933ed760b34b8abb994de8ec340a4e..e18be05c9a9230105ec54395d4391c86
return true;
// Purpur end
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 59a19ab449287226938852a06b88d20c2062a43c..bad517f152bf660d75e9c9ceaea31d0d8b13b279 100644
index 318513f5612a694c2b240840b24a39210457c202..6943af6037c1b8832c2fa652b92b9a2badf8bac5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -286,6 +286,7 @@ public class PurpurWorldConfig {
@@ -296,6 +296,7 @@ public class PurpurWorldConfig {
public boolean disableDropsOnCrammingDeath = false;
public boolean entitiesPickUpLootBypassMobGriefing = false;
public boolean entitiesCanUsePortals = true;
@@ -349,7 +349,7 @@ index 59a19ab449287226938852a06b88d20c2062a43c..bad517f152bf660d75e9c9ceaea31d0d
public boolean milkCuresBadOmen = true;
public boolean persistentTileEntityDisplayNames = false;
public boolean persistentDroppableEntityDisplayNames = false;
@@ -301,6 +302,7 @@ public class PurpurWorldConfig {
@@ -311,6 +312,7 @@ public class PurpurWorldConfig {
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing);
entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals);
@@ -357,7 +357,7 @@ index 59a19ab449287226938852a06b88d20c2062a43c..bad517f152bf660d75e9c9ceaea31d0d
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);
persistentTileEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-tileentity-display-names-and-lore", persistentTileEntityDisplayNames);
persistentDroppableEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-droppable-entity-display-names", persistentDroppableEntityDisplayNames);
@@ -454,9 +456,11 @@ public class PurpurWorldConfig {
@@ -464,9 +466,11 @@ public class PurpurWorldConfig {
dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils);
}
@@ -369,7 +369,7 @@ index 59a19ab449287226938852a06b88d20c2062a43c..bad517f152bf660d75e9c9ceaea31d0d
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
farmlandAlpha = getBoolean("blocks.farmland.use-alpha-farmland", farmlandAlpha);
}
@@ -515,10 +519,12 @@ public class PurpurWorldConfig {
@@ -525,10 +529,12 @@ public class PurpurWorldConfig {
stonecutterDamage = (float) getDouble("blocks.stonecutter.damage", stonecutterDamage);
}
@@ -382,7 +382,7 @@ index 59a19ab449287226938852a06b88d20c2062a43c..bad517f152bf660d75e9c9ceaea31d0d
turtleEggsBreakFromExpOrbs = getBoolean("blocks.turtle_egg.break-from-exp-orbs", turtleEggsBreakFromExpOrbs);
turtleEggsBreakFromItems = getBoolean("blocks.turtle_egg.break-from-items", turtleEggsBreakFromItems);
turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
@@ -790,12 +796,14 @@ public class PurpurWorldConfig {
@@ -800,12 +806,14 @@ public class PurpurWorldConfig {
public boolean enderDragonRidableInWater = false;
public double enderDragonMaxY = 256D;
public boolean enderDragonAlwaysDropsFullExp = false;
@@ -397,7 +397,7 @@ index 59a19ab449287226938852a06b88d20c2062a43c..bad517f152bf660d75e9c9ceaea31d0d
if (PurpurConfig.version < 8) {
double oldValue = getDouble("mobs.ender_dragon.max-health", enderDragonMaxHealth);
set("mobs.ender_dragon.max-health", null);
@@ -811,12 +819,14 @@ public class PurpurWorldConfig {
@@ -821,12 +829,14 @@ public class PurpurWorldConfig {
public boolean endermanRidable = false;
public boolean endermanRidableInWater = false;
public boolean endermanAllowGriefing = true;
@@ -412,7 +412,7 @@ index 59a19ab449287226938852a06b88d20c2062a43c..bad517f152bf660d75e9c9ceaea31d0d
endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock);
if (PurpurConfig.version < 10) {
double oldValue = getDouble("mobs.enderman.attributes.max-health", endermanMaxHealth);
@@ -842,10 +852,12 @@ public class PurpurWorldConfig {
@@ -852,10 +862,12 @@ public class PurpurWorldConfig {
public boolean evokerRidable = false;
public boolean evokerRidableInWater = false;
@@ -425,7 +425,7 @@ index 59a19ab449287226938852a06b88d20c2062a43c..bad517f152bf660d75e9c9ceaea31d0d
if (PurpurConfig.version < 10) {
double oldValue = getDouble("mobs.evoker.attributes.max-health", evokerMaxHealth);
set("mobs.evoker.attributes.max-health", null);
@@ -856,12 +868,14 @@ public class PurpurWorldConfig {
@@ -866,12 +878,14 @@ public class PurpurWorldConfig {
public boolean foxRidable = false;
public boolean foxRidableInWater = false;
@@ -440,7 +440,7 @@ index 59a19ab449287226938852a06b88d20c2062a43c..bad517f152bf660d75e9c9ceaea31d0d
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks);
if (PurpurConfig.version < 10) {
@@ -1298,10 +1312,12 @@ public class PurpurWorldConfig {
@@ -1308,10 +1322,12 @@ public class PurpurWorldConfig {
public boolean pillagerRidable = false;
public boolean pillagerRidableInWater = false;
@@ -453,7 +453,7 @@ index 59a19ab449287226938852a06b88d20c2062a43c..bad517f152bf660d75e9c9ceaea31d0d
if (PurpurConfig.version < 10) {
double oldValue = getDouble("mobs.pillager.attributes.max-health", pillagerMaxHealth);
set("mobs.pillager.attributes.max-health", null);
@@ -1345,6 +1361,7 @@ public class PurpurWorldConfig {
@@ -1355,6 +1371,7 @@ public class PurpurWorldConfig {
public boolean rabbitRidable = false;
public boolean rabbitRidableInWater = false;
@@ -461,7 +461,7 @@ index 59a19ab449287226938852a06b88d20c2062a43c..bad517f152bf660d75e9c9ceaea31d0d
public double rabbitNaturalToast = 0.0D;
public double rabbitNaturalKiller = 0.0D;
public int rabbitBreedingTicks = 6000;
@@ -1352,6 +1369,7 @@ public class PurpurWorldConfig {
@@ -1362,6 +1379,7 @@ public class PurpurWorldConfig {
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -469,7 +469,7 @@ index 59a19ab449287226938852a06b88d20c2062a43c..bad517f152bf660d75e9c9ceaea31d0d
rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast);
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks);
@@ -1365,10 +1383,12 @@ public class PurpurWorldConfig {
@@ -1375,10 +1393,12 @@ public class PurpurWorldConfig {
public boolean ravagerRidable = false;
public boolean ravagerRidableInWater = false;
@@ -482,7 +482,7 @@ index 59a19ab449287226938852a06b88d20c2062a43c..bad517f152bf660d75e9c9ceaea31d0d
if (PurpurConfig.version < 10) {
double oldValue = getDouble("mobs.ravager.attributes.max-health", ravagerMaxHealth);
set("mobs.ravager.attributes.max-health", null);
@@ -1392,11 +1412,13 @@ public class PurpurWorldConfig {
@@ -1402,11 +1422,13 @@ public class PurpurWorldConfig {
public boolean sheepRidable = false;
public boolean sheepRidableInWater = false;
public int sheepBreedingTicks = 6000;
@@ -496,7 +496,7 @@ index 59a19ab449287226938852a06b88d20c2062a43c..bad517f152bf660d75e9c9ceaea31d0d
if (PurpurConfig.version < 10) {
double oldValue = getDouble("mobs.sheep.attributes.max-health", sheepMaxHealth);
set("mobs.sheep.attributes.max-health", null);
@@ -1421,10 +1443,12 @@ public class PurpurWorldConfig {
@@ -1431,10 +1453,12 @@ public class PurpurWorldConfig {
public boolean silverfishRidable = false;
public boolean silverfishRidableInWater = false;
@@ -509,7 +509,7 @@ index 59a19ab449287226938852a06b88d20c2062a43c..bad517f152bf660d75e9c9ceaea31d0d
if (PurpurConfig.version < 10) {
double oldValue = getDouble("mobs.silverfish.attributes.max-health", silverfishMaxHealth);
set("mobs.silverfish.attributes.max-health", null);
@@ -1491,6 +1515,7 @@ public class PurpurWorldConfig {
@@ -1501,6 +1525,7 @@ public class PurpurWorldConfig {
public boolean snowGolemRidable = false;
public boolean snowGolemRidableInWater = false;
public boolean snowGolemLeaveTrailWhenRidden = false;
@@ -517,7 +517,7 @@ index 59a19ab449287226938852a06b88d20c2062a43c..bad517f152bf660d75e9c9ceaea31d0d
public boolean snowGolemDropsPumpkin = true;
public boolean snowGolemPutPumpkinBack = false;
public int snowGolemSnowBallMin = 20;
@@ -1502,6 +1527,7 @@ public class PurpurWorldConfig {
@@ -1512,6 +1537,7 @@ public class PurpurWorldConfig {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
snowGolemLeaveTrailWhenRidden = getBoolean("mobs.snow_golem.leave-trail-when-ridden", snowGolemLeaveTrailWhenRidden);
@@ -525,7 +525,7 @@ index 59a19ab449287226938852a06b88d20c2062a43c..bad517f152bf660d75e9c9ceaea31d0d
snowGolemDropsPumpkin = getBoolean("mobs.snow_golem.drop-pumpkin-when-sheared", snowGolemDropsPumpkin);
snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack);
snowGolemSnowBallMin = getInt("mobs.snow_golem.min-shoot-interval-ticks", snowGolemSnowBallMin);
@@ -1720,6 +1746,7 @@ public class PurpurWorldConfig {
@@ -1730,6 +1756,7 @@ public class PurpurWorldConfig {
public boolean witherRidable = false;
public boolean witherRidableInWater = false;
public double witherMaxY = 256D;
@@ -533,7 +533,7 @@ index 59a19ab449287226938852a06b88d20c2062a43c..bad517f152bf660d75e9c9ceaea31d0d
public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20;
public double witherMaxHealth = 300.0D;
@@ -1727,6 +1754,7 @@ public class PurpurWorldConfig {
@@ -1737,6 +1764,7 @@ public class PurpurWorldConfig {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
witherMaxY = getDouble("mobs.wither.ridable-max-y", witherMaxY);
@@ -541,7 +541,7 @@ index 59a19ab449287226938852a06b88d20c2062a43c..bad517f152bf660d75e9c9ceaea31d0d
witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount);
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
if (PurpurConfig.version < 8) {
@@ -1799,6 +1827,7 @@ public class PurpurWorldConfig {
@@ -1809,6 +1837,7 @@ public class PurpurWorldConfig {
public boolean zombieRidable = false;
public boolean zombieRidableInWater = false;
@@ -549,7 +549,7 @@ index 59a19ab449287226938852a06b88d20c2062a43c..bad517f152bf660d75e9c9ceaea31d0d
public boolean zombieJockeyOnlyBaby = true;
public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true;
@@ -1809,6 +1838,7 @@ public class PurpurWorldConfig {
@@ -1819,6 +1848,7 @@ public class PurpurWorldConfig {
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);

View File

@@ -22,10 +22,10 @@ index 148718f8f96d94e76a4a7a96d5955b624c2dc661..075987567cd4412c8f0fb4e31b786394
org.bukkit.event.block.NotePlayEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callNotePlayEvent(world, blockposition, data.get(BlockNote.INSTRUMENT), data.get(BlockNote.NOTE));
if (!event.isCancelled()) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index bad517f152bf660d75e9c9ceaea31d0d8b13b279..42699837ebade38add65b702d4daaf6a88900c4e 100644
index 6943af6037c1b8832c2fa652b92b9a2badf8bac5..a0df754d98e4be46720ba0962bdf7bf62f3425bb 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -288,6 +288,7 @@ public class PurpurWorldConfig {
@@ -298,6 +298,7 @@ public class PurpurWorldConfig {
public boolean entitiesCanUsePortals = true;
public boolean fireballsBypassMobGriefing = false;
public boolean milkCuresBadOmen = true;
@@ -33,7 +33,7 @@ index bad517f152bf660d75e9c9ceaea31d0d8b13b279..42699837ebade38add65b702d4daaf6a
public boolean persistentTileEntityDisplayNames = false;
public boolean persistentDroppableEntityDisplayNames = false;
public double tridentLoyaltyVoidReturnHeight = 0.0D;
@@ -304,6 +305,7 @@ public class PurpurWorldConfig {
@@ -314,6 +315,7 @@ public class PurpurWorldConfig {
entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals);
fireballsBypassMobGriefing = getBoolean("gameplay-mechanics.fireballs-bypass-mob-griefing", fireballsBypassMobGriefing);
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);

View File

@@ -94,10 +94,10 @@ index 23a3b1b317b6b3e9d812f5a7b09b099b0528c59e..4f40c6c3397596c81147fae4a6a51bfd
public void a(IBlockData iblockdata, World world, BlockPosition blockposition, Entity entity) {}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 42699837ebade38add65b702d4daaf6a88900c4e..ed615dc6c009bb149bd2f2271ea205453dcde6e3 100644
index a0df754d98e4be46720ba0962bdf7bf62f3425bb..c8b510a49ba5c299ec38ea1a56f5245ec6161b55 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1931,4 +1931,9 @@ public class PurpurWorldConfig {
@@ -1941,4 +1941,9 @@ public class PurpurWorldConfig {
zombieVillagerMaxHealth = getDouble("mobs.zombie_villager.attributes.max_health", zombieVillagerMaxHealth);
zombieVillagerSpawnReinforcements = getDouble("mobs.zombie_villager.attributes.spawn_reinforcements", zombieVillagerSpawnReinforcements);
}

View File

@@ -54,10 +54,10 @@ index d3fd0b418b9088b621e44f5da452db74b433efe8..e7e5ee52cb7ac7e406c837db686d0a96
if (CraftEventFactory.callEntityChangeBlockEvent(entity, blockposition, Blocks.DIRT.getBlockData()).isCancelled()) {
return;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index ed615dc6c009bb149bd2f2271ea205453dcde6e3..e0eb88dcbde7c270b050f067dc324cbb42986ad5 100644
index c8b510a49ba5c299ec38ea1a56f5245ec6161b55..e639519a78bababc5d8034841e9ab2c20d34e4f7 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -461,10 +461,16 @@ public class PurpurWorldConfig {
@@ -471,10 +471,16 @@ public class PurpurWorldConfig {
public boolean farmlandBypassMobGriefing = false;
public boolean farmlandGetsMoistFromBelow = false;
public boolean farmlandAlpha = false;

View File

@@ -74,7 +74,7 @@ index 43dc0925887e2e9e86445cccff57be7994ca0d58..ecb797e67554d30e35b3aca4d0fc9b0e
+ // Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e0eb88dcbde7c270b050f067dc324cbb42986ad5..37be98ab5fd1bf2db727137e35f9744074576f9b 100644
index e639519a78bababc5d8034841e9ab2c20d34e4f7..9d8056d7766925fec57b17b55f56dd8c67382b0a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -111,10 +111,16 @@ public class PurpurWorldConfig {

View File

@@ -37,10 +37,10 @@ index 2545b0891a299301a8d9e194e795b0f3856f2178..fdd374232ced8f4da675afaee3f5278c
this.inPortal = true;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 37be98ab5fd1bf2db727137e35f9744074576f9b..1baff8389841b21dbfa00adf6d6213dffb94f47e 100644
index 9d8056d7766925fec57b17b55f56dd8c67382b0a..742db39c2bcd0a1416108e6ee57bd8156b50c0b8 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -398,6 +398,11 @@ public class PurpurWorldConfig {
@@ -408,6 +408,11 @@ public class PurpurWorldConfig {
});
}

View File

@@ -20,10 +20,10 @@ index c7e20b25b4d09463fa54c66e62208e90515013e2..59b803ec4552058f2dda269e9435daf6
} else {
entityhuman.c(enumhand);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 1baff8389841b21dbfa00adf6d6213dffb94f47e..bd81fcec811b65205f77ff3fa81ba649337e0046 100644
index 742db39c2bcd0a1416108e6ee57bd8156b50c0b8..7b0babbd727421ecd05523eadbff3abb758fab6f 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -243,10 +243,12 @@ public class PurpurWorldConfig {
@@ -253,10 +253,12 @@ public class PurpurWorldConfig {
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
}

View File

@@ -83,10 +83,10 @@ index 5e4cc99a746d98231bbb71672fbc02431e4fab48..f52ae7446c16d5b8ac51bd2e12bb51d2
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index bd81fcec811b65205f77ff3fa81ba649337e0046..7cdc7502649e24aefabedbe9965a15c2177ef78f 100644
index 7b0babbd727421ecd05523eadbff3abb758fab6f..faa5df044857f19503b35bbcf7366ac13b2fa2a9 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -619,6 +619,7 @@ public class PurpurWorldConfig {
@@ -629,6 +629,7 @@ public class PurpurWorldConfig {
public boolean blazeRidableInWater = false;
public double blazeMaxY = 256D;
public double blazeMaxHealth = 20.0D;
@@ -94,7 +94,7 @@ index bd81fcec811b65205f77ff3fa81ba649337e0046..7cdc7502649e24aefabedbe9965a15c2
private void blazeSettings() {
blazeRidable = getBoolean("mobs.blaze.ridable", blazeRidable);
blazeRidableInWater = getBoolean("mobs.blaze.ridable-in-water", blazeRidableInWater);
@@ -629,6 +630,7 @@ public class PurpurWorldConfig {
@@ -639,6 +640,7 @@ public class PurpurWorldConfig {
set("mobs.blaze.attributes.max_health", oldValue);
}
blazeMaxHealth = getDouble("mobs.blaze.attributes.max_health", blazeMaxHealth);
@@ -102,7 +102,7 @@ index bd81fcec811b65205f77ff3fa81ba649337e0046..7cdc7502649e24aefabedbe9965a15c2
}
public boolean catRidable = false;
@@ -843,6 +845,7 @@ public class PurpurWorldConfig {
@@ -853,6 +855,7 @@ public class PurpurWorldConfig {
public boolean endermanBypassMobGriefing = false;
public boolean endermanDespawnEvenWithBlock = false;
public double endermanMaxHealth = 40.0D;
@@ -110,7 +110,7 @@ index bd81fcec811b65205f77ff3fa81ba649337e0046..7cdc7502649e24aefabedbe9965a15c2
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -855,6 +858,7 @@ public class PurpurWorldConfig {
@@ -865,6 +868,7 @@ public class PurpurWorldConfig {
set("mobs.enderman.attributes.max_health", oldValue);
}
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
@@ -118,7 +118,7 @@ index bd81fcec811b65205f77ff3fa81ba649337e0046..7cdc7502649e24aefabedbe9965a15c2
}
public boolean endermiteRidable = false;
@@ -1544,6 +1548,7 @@ public class PurpurWorldConfig {
@@ -1554,6 +1558,7 @@ public class PurpurWorldConfig {
public float snowGolemSnowBallModifier = 10.0F;
public double snowGolemAttackDistance = 1.25D;
public double snowGolemMaxHealth = 4.0D;
@@ -126,7 +126,7 @@ index bd81fcec811b65205f77ff3fa81ba649337e0046..7cdc7502649e24aefabedbe9965a15c2
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1561,6 +1566,7 @@ public class PurpurWorldConfig {
@@ -1571,6 +1576,7 @@ public class PurpurWorldConfig {
set("mobs.snow_golem.attributes.max_health", oldValue);
}
snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth);
@@ -134,7 +134,7 @@ index bd81fcec811b65205f77ff3fa81ba649337e0046..7cdc7502649e24aefabedbe9965a15c2
}
public boolean squidRidable = false;
@@ -1614,6 +1620,7 @@ public class PurpurWorldConfig {
@@ -1624,6 +1630,7 @@ public class PurpurWorldConfig {
public int striderBreedingTicks = 6000;
public boolean striderGiveSaddleBack = false;
public double striderMaxHealth = 20.0D;
@@ -142,7 +142,7 @@ index bd81fcec811b65205f77ff3fa81ba649337e0046..7cdc7502649e24aefabedbe9965a15c2
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1625,6 +1632,7 @@ public class PurpurWorldConfig {
@@ -1635,6 +1642,7 @@ public class PurpurWorldConfig {
set("mobs.strider.attributes.max_health", oldValue);
}
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);

View File

@@ -59,10 +59,10 @@ index 090903fbc8f6cd1522c7afb358f708f5ae3395f4..884a3f03c73efb8fb0863976615fba5e
this.navigation.o();
this.setGoalTarget((EntityLiving) null);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 7cdc7502649e24aefabedbe9965a15c2177ef78f..9db449d678840ab1532515ac5f54f285f1d3add9 100644
index faa5df044857f19503b35bbcf7366ac13b2fa2a9..88e28b680e144e1b0bb919e93644b86a48b553e1 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -289,6 +289,7 @@ public class PurpurWorldConfig {
@@ -299,6 +299,7 @@ public class PurpurWorldConfig {
}
public boolean useBetterMending = false;
@@ -70,7 +70,7 @@ index 7cdc7502649e24aefabedbe9965a15c2177ef78f..9db449d678840ab1532515ac5f54f285
public boolean boatEjectPlayersOnLand = false;
public boolean boatsDoFallDamage = true;
public boolean disableDropsOnCrammingDeath = false;
@@ -306,6 +307,7 @@ public class PurpurWorldConfig {
@@ -316,6 +317,7 @@ public class PurpurWorldConfig {
public int animalBreedingCooldownSeconds = 0;
private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);

View File

@@ -52,10 +52,10 @@ index 2c983e6a092464d1867fcbe875b2e1461ec8556b..a92c900a6092c07b34711428fac268f4
this.a(damagesource);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 9db449d678840ab1532515ac5f54f285f1d3add9..aed8a7492268f0193556998fb0713d1f9ee84372 100644
index 88e28b680e144e1b0bb919e93644b86a48b553e1..266b64abb949fca2cc667395d175c962c55435db 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1965,4 +1965,33 @@ public class PurpurWorldConfig {
@@ -1975,4 +1975,33 @@ public class PurpurWorldConfig {
private void imposeTeleportRestrictionsOnGateways() {
imposeTeleportRestrictionsOnGateways = getBoolean("gameplay-mechanics.impose-teleport-restrictions-on-gateways", imposeTeleportRestrictionsOnGateways);
}

View File

@@ -38,10 +38,10 @@ index 61f06eacb4ea4ef869b60c9014cc23b25583eead..627915ee205fdcc93c5424ad7d7ea057
// CraftBukkit start - fire ExplosionPrimeEvent
ExplosionPrimeEvent event = new ExplosionPrimeEvent((org.bukkit.entity.Explosive) this.getBukkitEntity());
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index aed8a7492268f0193556998fb0713d1f9ee84372..e2b0487edbf8eaea38875d93f9eaca9f011a3ce4 100644
index 266b64abb949fca2cc667395d175c962c55435db..23f7a3af8f92fd6e89601b0e1b4b2d1635dfe0b0 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -916,6 +916,7 @@ public class PurpurWorldConfig {
@@ -926,6 +926,7 @@ public class PurpurWorldConfig {
public boolean ghastRidable = false;
public boolean ghastRidableInWater = false;
public double ghastMaxY = 256D;
@@ -49,7 +49,7 @@ index aed8a7492268f0193556998fb0713d1f9ee84372..e2b0487edbf8eaea38875d93f9eaca9f
public double ghastMaxHealth = 10.0D;
private void ghastSettings() {
ghastRidable = getBoolean("mobs.ghast.ridable", ghastRidable);
@@ -926,6 +927,7 @@ public class PurpurWorldConfig {
@@ -936,6 +937,7 @@ public class PurpurWorldConfig {
set("mobs.ghast.attributes.max-health", null);
set("mobs.ghast.attributes.max_health", oldValue);
}

View File

@@ -42,10 +42,10 @@ index fa6b72c7a12b20f8ccffa360a3895e4d8f4277e4..4a3e0f7f59ca4fd64be62a580d08b6ab
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e2b0487edbf8eaea38875d93f9eaca9f011a3ce4..5f1f3403351503e08c71486571439b672936a1be 100644
index 23f7a3af8f92fd6e89601b0e1b4b2d1635dfe0b0..b2d7e4ee4ecef476d633278c960130110c862520 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -823,6 +823,7 @@ public class PurpurWorldConfig {
@@ -833,6 +833,7 @@ public class PurpurWorldConfig {
public boolean enderDragonAlwaysDropsFullExp = false;
public boolean enderDragonBypassMobGriefing = false;
public double enderDragonMaxHealth = 200.0D;
@@ -53,7 +53,7 @@ index e2b0487edbf8eaea38875d93f9eaca9f011a3ce4..5f1f3403351503e08c71486571439b67
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -839,6 +840,7 @@ public class PurpurWorldConfig {
@@ -849,6 +850,7 @@ public class PurpurWorldConfig {
set("mobs.ender_dragon.attributes.max_health", oldValue);
}
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);
@@ -61,7 +61,7 @@ index e2b0487edbf8eaea38875d93f9eaca9f011a3ce4..5f1f3403351503e08c71486571439b67
}
public boolean endermanRidable = false;
@@ -1783,6 +1785,7 @@ public class PurpurWorldConfig {
@@ -1793,6 +1795,7 @@ public class PurpurWorldConfig {
public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20;
public double witherMaxHealth = 300.0D;
@@ -69,7 +69,7 @@ index e2b0487edbf8eaea38875d93f9eaca9f011a3ce4..5f1f3403351503e08c71486571439b67
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1800,6 +1803,7 @@ public class PurpurWorldConfig {
@@ -1810,6 +1813,7 @@ public class PurpurWorldConfig {
set("mobs.wither.attributes.max_health", oldValue);
}
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);

View File

@@ -22,21 +22,21 @@ index f55485094a5b676d8051d1f8d3151340bf176b33..03a61aa91191b44284e9b4d02f2c57ea
this.o = this.player.locX();
this.p = this.player.locY();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 5f1f3403351503e08c71486571439b672936a1be..e9b77536de0ce19afc00d28996837cdb83cda689 100644
index b2d7e4ee4ecef476d633278c960130110c862520..02ebb0fc704b5e77cf508893d67feef036df80ed 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -202,6 +202,8 @@ public class PurpurWorldConfig {
public List<Item> itemImmuneToCactus = new ArrayList<>();
@@ -203,6 +203,8 @@ public class PurpurWorldConfig {
public List<Item> itemImmuneToExplosion = new ArrayList<>();
public List<Item> itemImmuneToFire = new ArrayList<>();
public List<Item> itemImmuneToLightning = new ArrayList<>();
+ public boolean dontRunWithScissors = false;
+ public double scissorsRunningDamage = 1D;
private void itemSettings() {
itemImmuneToCactus.clear();
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
@@ -230,6 +232,8 @@ public class PurpurWorldConfig {
@@ -240,6 +242,8 @@ public class PurpurWorldConfig {
Item item = IRegistry.ITEM.get(new MinecraftKey(key.toString()));
if (item != Items.AIR) itemImmuneToFire.add(item);
if (item != Items.AIR) itemImmuneToLightning.add(item);
});
+ dontRunWithScissors = getBoolean("gameplay-mechanics.item.shears.damage-if-sprinting", dontRunWithScissors);
+ scissorsRunningDamage = getDouble("gameplay-mechanics.item.shears.sprinting-damage", scissorsRunningDamage);

View File

@@ -45,10 +45,10 @@ index 132972755ac74838f3386e0fac5033380b71fce5..26fff0540e3d8863e83b0a60df220542
Object object;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e9b77536de0ce19afc00d28996837cdb83cda689..4cb48812344272c9d93aec60e68a7db7f602850e 100644
index 02ebb0fc704b5e77cf508893d67feef036df80ed..f577b1054f8bdd2be933f7dae3ffe18dfeb87fe5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -309,6 +309,7 @@ public class PurpurWorldConfig {
@@ -319,6 +319,7 @@ public class PurpurWorldConfig {
public double voidDamageDealt = 4.0D;
public int raidCooldownSeconds = 0;
public int animalBreedingCooldownSeconds = 0;
@@ -56,7 +56,7 @@ index e9b77536de0ce19afc00d28996837cdb83cda689..4cb48812344272c9d93aec60e68a7db7
private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
alwaysTameInCreative = getBoolean("gameplay-mechanics.always-tame-in-creative", alwaysTameInCreative);
@@ -327,6 +328,7 @@ public class PurpurWorldConfig {
@@ -337,6 +338,7 @@ public class PurpurWorldConfig {
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds);
animalBreedingCooldownSeconds = getInt("gameplay-mechanics.animal-breeding-cooldown-seconds", animalBreedingCooldownSeconds);

View File

@@ -29,10 +29,10 @@ index d44b88185ce58346007c6ef70b76f8e0df23e95c..4b7497acc5b26da48375625b4a31fb05
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 4cb48812344272c9d93aec60e68a7db7f602850e..cd5deda81433a9ac738e3598e3d0bddd697756ec 100644
index f577b1054f8bdd2be933f7dae3ffe18dfeb87fe5..8cf40f10dccd9b4f52507e432dcfd6b2015e90f2 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -467,6 +467,11 @@ public class PurpurWorldConfig {
@@ -477,6 +477,11 @@ public class PurpurWorldConfig {
}
}

View File

@@ -43,11 +43,11 @@ index 9896d77381e7fadf1ef2619210713e190c1445d0..61512c6755f29cb2c228ae3e80b1e083
// Paper end
if (entityhuman instanceof net.minecraft.server.level.EntityPlayer) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index cd5deda81433a9ac738e3598e3d0bddd697756ec..c0d75601fb8fe1221bbd47433174ceb14c70755f 100644
index 8cf40f10dccd9b4f52507e432dcfd6b2015e90f2..129fef2e4da94bcd80153379a7246590e4ea9cdd 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -204,6 +204,10 @@ public class PurpurWorldConfig {
public List<Item> itemImmuneToFire = new ArrayList<>();
@@ -205,6 +205,10 @@ public class PurpurWorldConfig {
public List<Item> itemImmuneToLightning = new ArrayList<>();
public boolean dontRunWithScissors = false;
public double scissorsRunningDamage = 1D;
+ public float enderPearlDamage = 5.0F;
@@ -57,7 +57,7 @@ index cd5deda81433a9ac738e3598e3d0bddd697756ec..c0d75601fb8fe1221bbd47433174ceb1
private void itemSettings() {
itemImmuneToCactus.clear();
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
@@ -234,6 +238,10 @@ public class PurpurWorldConfig {
@@ -244,6 +248,10 @@ public class PurpurWorldConfig {
});
dontRunWithScissors = getBoolean("gameplay-mechanics.item.shears.damage-if-sprinting", dontRunWithScissors);
scissorsRunningDamage = getDouble("gameplay-mechanics.item.shears.sprinting-damage", scissorsRunningDamage);

View File

@@ -18,10 +18,10 @@ index 9c520e7600986b7b7df3af96a715c91c5347f30d..4ec18d28c0022614b0ef6900774ddd4b
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index c0d75601fb8fe1221bbd47433174ceb14c70755f..35cfc470a83e7643eec2473bb5efe187964b3d6b 100644
index 129fef2e4da94bcd80153379a7246590e4ea9cdd..eaaaf9e5490095cd70ca892fa927017e6ea9de9d 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -318,6 +318,7 @@ public class PurpurWorldConfig {
@@ -328,6 +328,7 @@ public class PurpurWorldConfig {
public int raidCooldownSeconds = 0;
public int animalBreedingCooldownSeconds = 0;
public boolean creativeOnePunch = false;
@@ -29,7 +29,7 @@ index c0d75601fb8fe1221bbd47433174ceb14c70755f..35cfc470a83e7643eec2473bb5efe187
private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
alwaysTameInCreative = getBoolean("gameplay-mechanics.always-tame-in-creative", alwaysTameInCreative);
@@ -337,6 +338,7 @@ public class PurpurWorldConfig {
@@ -347,6 +348,7 @@ public class PurpurWorldConfig {
raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds);
animalBreedingCooldownSeconds = getInt("gameplay-mechanics.animal-breeding-cooldown-seconds", animalBreedingCooldownSeconds);
creativeOnePunch = getBoolean("gameplay-mechanics.player.one-punch-in-creative", creativeOnePunch);

View File

@@ -19,10 +19,10 @@ index d290787f74579dd4c138eb827e44544814bfe315..46143a710e057378ebe0ad644de27560
private int br = Integer.MIN_VALUE;
private int bs;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 35cfc470a83e7643eec2473bb5efe187964b3d6b..7d345347edac1a376299c4de8f7b334e55e98d8c 100644
index eaaaf9e5490095cd70ca892fa927017e6ea9de9d..bb8ad6a4ac87c4c34d12c5fc1dd92f3d63b84bc1 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -871,6 +871,7 @@ public class PurpurWorldConfig {
@@ -881,6 +881,7 @@ public class PurpurWorldConfig {
public boolean endermanDespawnEvenWithBlock = false;
public double endermanMaxHealth = 40.0D;
public boolean endermanTakeDamageFromWater = true;
@@ -30,7 +30,7 @@ index 35cfc470a83e7643eec2473bb5efe187964b3d6b..7d345347edac1a376299c4de8f7b334e
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -884,6 +885,7 @@ public class PurpurWorldConfig {
@@ -894,6 +895,7 @@ public class PurpurWorldConfig {
}
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
endermanTakeDamageFromWater = getBoolean("mobs.enderman.takes-damage-from-water", endermanTakeDamageFromWater);

View File

@@ -28,10 +28,10 @@ index 46143a710e057378ebe0ad644de275604b11d886..0ed19429c1a9021e636fdfffa582b4e0
} else {
Vec3D vec3d = entityhuman.f(1.0F).d();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 7d345347edac1a376299c4de8f7b334e55e98d8c..2ef2b93e1b9fd9cc85c4255c8ff85d65099f5e98 100644
index bb8ad6a4ac87c4c34d12c5fc1dd92f3d63b84bc1..838f97829dcb2926a56e3c34c4cbcdb9a13d6d84 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -872,6 +872,8 @@ public class PurpurWorldConfig {
@@ -882,6 +882,8 @@ public class PurpurWorldConfig {
public double endermanMaxHealth = 40.0D;
public boolean endermanTakeDamageFromWater = true;
public boolean endermanAggroSpawnedEndermites = false;
@@ -40,7 +40,7 @@ index 7d345347edac1a376299c4de8f7b334e55e98d8c..2ef2b93e1b9fd9cc85c4255c8ff85d65
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -886,6 +888,8 @@ public class PurpurWorldConfig {
@@ -896,6 +898,8 @@ public class PurpurWorldConfig {
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
endermanTakeDamageFromWater = getBoolean("mobs.enderman.takes-damage-from-water", endermanTakeDamageFromWater);
endermanAggroSpawnedEndermites = getBoolean("mobs.enderman.aggressive-towards-spawned-endermites", endermanAggroSpawnedEndermites);

View File

@@ -36,10 +36,10 @@ index 0ed8d938b8fafdb03e01a00a201ba3f8597ac6e9..0eff89bf9e114271c34c37cad1b98691
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 2ef2b93e1b9fd9cc85c4255c8ff85d65099f5e98..044dddc01b3dcae64d8e9e7b6e49e5453ff63a3a 100644
index 838f97829dcb2926a56e3c34c4cbcdb9a13d6d84..d9fee278a2a5c04cc1a1796df2a6a77b432f47cc 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -295,6 +295,11 @@ public class PurpurWorldConfig {
@@ -305,6 +305,11 @@ public class PurpurWorldConfig {
witherSkullDespawnRate = getInt("gameplay-mechanics.projectile-despawn-rates.wither_skull", witherSkullDespawnRate);
}

View File

@@ -32,10 +32,10 @@ index 762fed5ba27474951c1962e6f034e8494b1035d6..567a1da3c167c20ae3fb86c2a1f3608e
this.bB.bC = this;
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 044dddc01b3dcae64d8e9e7b6e49e5453ff63a3a..e6c439191483dff645fb2f216f9065d23533ff2e 100644
index d9fee278a2a5c04cc1a1796df2a6a77b432f47cc..c58a64f8ff38cde2de70ef9e06c1a6ca9e263669 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1111,6 +1111,7 @@ public class PurpurWorldConfig {
@@ -1121,6 +1121,7 @@ public class PurpurWorldConfig {
public boolean llamaRidable = false;
public boolean llamaRidableInWater = false;
@@ -43,7 +43,7 @@ index 044dddc01b3dcae64d8e9e7b6e49e5453ff63a3a..e6c439191483dff645fb2f216f9065d2
public int llamaBreedingTicks = 6000;
public double llamaMaxHealthMin = 15.0D;
public double llamaMaxHealthMax = 30.0D;
@@ -1121,6 +1122,7 @@ public class PurpurWorldConfig {
@@ -1131,6 +1132,7 @@ public class PurpurWorldConfig {
private void llamaSettings() {
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);

View File

@@ -57,10 +57,10 @@ index 62d40f726355283baddde349c52bee0599bb293c..014091f35ee5aac0ee2f155ccec2daf5
private void createEffectCloud() {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e6c439191483dff645fb2f216f9065d23533ff2e..4d6eb4a86ee0c6e0f93fc70e68969ea9f984cbde 100644
index c58a64f8ff38cde2de70ef9e06c1a6ca9e263669..1fcd11d5f14458cd42e8ff54d4f244067ab0736e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -747,12 +747,14 @@ public class PurpurWorldConfig {
@@ -757,12 +757,14 @@ public class PurpurWorldConfig {
public boolean creeperRidable = false;
public boolean creeperRidableInWater = false;

View File

@@ -31,10 +31,10 @@ index 5f8366beeaac7153a0421554f9bf91fbf265edca..7fca4d1713e8061d9de825cdae484012
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 4d6eb4a86ee0c6e0f93fc70e68969ea9f984cbde..430f0fe008e74410737e11fbd3960d0645a2c264 100644
index 1fcd11d5f14458cd42e8ff54d4f244067ab0736e..e360409a15feeb793bd3b4be82f9eda89b5660d7 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1452,6 +1452,7 @@ public class PurpurWorldConfig {
@@ -1462,6 +1462,7 @@ public class PurpurWorldConfig {
public boolean ravagerRidableInWater = false;
public boolean ravagerBypassMobGriefing = false;
public double ravagerMaxHealth = 100.0D;
@@ -42,7 +42,7 @@ index 4d6eb4a86ee0c6e0f93fc70e68969ea9f984cbde..430f0fe008e74410737e11fbd3960d06
private void ravagerSettings() {
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
@@ -1462,6 +1463,23 @@ public class PurpurWorldConfig {
@@ -1472,6 +1473,23 @@ public class PurpurWorldConfig {
set("mobs.ravager.attributes.max_health", oldValue);
}
ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth);

View File

@@ -44,10 +44,10 @@ index e4e519ba773388b8d26a8f794a6eff51e3d8f72e..c0b235d5edf3cd14021696d1b4f76ce3
// CraftBukkit start
double rand = worldserver.getRandom().nextDouble();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 430f0fe008e74410737e11fbd3960d0645a2c264..47426ce54de82a14113cbb1484f86a193c93ff47 100644
index e360409a15feeb793bd3b4be82f9eda89b5660d7..bb3c5d34b58ccf9bbaa1102e36b82a56f0dda7e3 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -492,6 +492,11 @@ public class PurpurWorldConfig {
@@ -502,6 +502,11 @@ public class PurpurWorldConfig {
chestOpenWithBlockOnTop = getBoolean("blocks.chest.open-with-solid-block-on-top", chestOpenWithBlockOnTop);
}

View File

@@ -18,10 +18,10 @@ index 028911ebe843751080564d90e96306524e5a2e21..f84066233f551be145a7db2694b3c7cb
})) {
// CraftBukkit start
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 47426ce54de82a14113cbb1484f86a193c93ff47..a2e67a30bcf76405c150f207f784f5713f7ed74c 100644
index bb3c5d34b58ccf9bbaa1102e36b82a56f0dda7e3..c87ce9aed539f382e91fcfae956339068a618b79 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -324,6 +324,7 @@ public class PurpurWorldConfig {
@@ -334,6 +334,7 @@ public class PurpurWorldConfig {
public int animalBreedingCooldownSeconds = 0;
public boolean creativeOnePunch = false;
public boolean playerSleepNearMonsters = false;
@@ -29,7 +29,7 @@ index 47426ce54de82a14113cbb1484f86a193c93ff47..a2e67a30bcf76405c150f207f784f571
private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
alwaysTameInCreative = getBoolean("gameplay-mechanics.always-tame-in-creative", alwaysTameInCreative);
@@ -344,6 +345,7 @@ public class PurpurWorldConfig {
@@ -354,6 +355,7 @@ public class PurpurWorldConfig {
animalBreedingCooldownSeconds = getInt("gameplay-mechanics.animal-breeding-cooldown-seconds", animalBreedingCooldownSeconds);
creativeOnePunch = getBoolean("gameplay-mechanics.player.one-punch-in-creative", creativeOnePunch);
playerSleepNearMonsters = getBoolean("gameplay-mechanics.player.sleep-ignore-nearby-mobs", playerSleepNearMonsters);

View File

@@ -31,10 +31,10 @@ index b84916c0c58fd208ef5547299f8db8462d1c42fe..0b6b6aa6b358759c45bbcf4a9ffa5377
this.openTrade(entityhuman, this.getScoreboardDisplayName(), 1);
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a2e67a30bcf76405c150f207f784f5713f7ed74c..6a140fc847e428f1b7063aa65223b3fd5edecdee 100644
index c87ce9aed539f382e91fcfae956339068a618b79..c2314380e7064459dd104b09b900c5a28b592b71 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1762,6 +1762,7 @@ public class PurpurWorldConfig {
@@ -1772,6 +1772,7 @@ public class PurpurWorldConfig {
public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true;
public double villagerMaxHealth = 20.0D;
@@ -42,7 +42,7 @@ index a2e67a30bcf76405c150f207f784f5713f7ed74c..6a140fc847e428f1b7063aa65223b3fd
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1789,6 +1790,7 @@ public class PurpurWorldConfig {
@@ -1799,6 +1800,7 @@ public class PurpurWorldConfig {
set("mobs.villager.attributes.max_health", oldValue);
}
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
@@ -50,7 +50,7 @@ index a2e67a30bcf76405c150f207f784f5713f7ed74c..6a140fc847e428f1b7063aa65223b3fd
}
public boolean villagerTraderRidable = false;
@@ -1796,6 +1798,7 @@ public class PurpurWorldConfig {
@@ -1806,6 +1808,7 @@ public class PurpurWorldConfig {
public boolean villagerTraderCanBeLeashed = false;
public boolean villagerTraderFollowEmeraldBlock = false;
public double villagerTraderMaxHealth = 20.0D;
@@ -58,7 +58,7 @@ index a2e67a30bcf76405c150f207f784f5713f7ed74c..6a140fc847e428f1b7063aa65223b3fd
private void villagerTraderSettings() {
villagerTraderRidable = getBoolean("mobs.wandering_trader.ridable", villagerTraderRidable);
villagerTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", villagerTraderRidableInWater);
@@ -1807,6 +1810,7 @@ public class PurpurWorldConfig {
@@ -1817,6 +1820,7 @@ public class PurpurWorldConfig {
set("mobs.wandering_trader.attributes.max_health", oldValue);
}
villagerTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", villagerTraderMaxHealth);

View File

@@ -40,10 +40,10 @@ index 535fbd84b23275398954d312bf825b321b87da4d..89b8840e5cfc0fe0aa023882375c9b83
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 6a140fc847e428f1b7063aa65223b3fd5edecdee..ee8178e4dd105caf586483434cb2e2c1d7e9deb7 100644
index c2314380e7064459dd104b09b900c5a28b592b71..82da1dd5bb8b02c948be51fa941d3b31a3f0dc20 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -2037,6 +2037,15 @@ public class PurpurWorldConfig {
@@ -2047,6 +2047,15 @@ public class PurpurWorldConfig {
imposeTeleportRestrictionsOnGateways = getBoolean("gameplay-mechanics.impose-teleport-restrictions-on-gateways", imposeTeleportRestrictionsOnGateways);
}

View File

@@ -57,10 +57,10 @@ index 12c0fa5072755fd2a4f575b0cc5e4222617490ce..94965b216d50b29b95f09fa9019c177b
+ // Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index ee8178e4dd105caf586483434cb2e2c1d7e9deb7..84dd2a7f11b9d732acf671561c6804d3c84abc3c 100644
index 82da1dd5bb8b02c948be51fa941d3b31a3f0dc20..accfdc659f97fb75387776326f4d1b6bd1742aaf 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -565,6 +565,11 @@ public class PurpurWorldConfig {
@@ -575,6 +575,11 @@ public class PurpurWorldConfig {
signRightClickEdit = getBoolean("blocks.sign.right-click-edit", signRightClickEdit);
}

View File

@@ -22,10 +22,10 @@ index c484e27650364b6537fe6b2e8e14de98382b86a3..096a7b76e0ae42ba8b859159e20fb72e
return false;
} else {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 84dd2a7f11b9d732acf671561c6804d3c84abc3c..627dec10edf379e132f3fc512671d930cb4e1ddd 100644
index accfdc659f97fb75387776326f4d1b6bd1742aaf..cb20d4cccbaf52d71df7e1e4f877f6938f2969e3 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -485,8 +485,12 @@ public class PurpurWorldConfig {
@@ -495,8 +495,12 @@ public class PurpurWorldConfig {
}
public boolean snowOnBlueIce = true;

View File

@@ -17,7 +17,7 @@ index ecb797e67554d30e35b3aca4d0fc9b0e3f6c1a50..ddc1c3383cdc32fa832485f3922c7418
public EntityArmorStand(World world, double d0, double d1, double d2) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 627dec10edf379e132f3fc512671d930cb4e1ddd..9457e0f4a8cef60ca73e40bebb3b1d5561391555 100644
index cb20d4cccbaf52d71df7e1e4f877f6938f2969e3..295cc5427a1bdc8f89a0b0c34b3c1f1db7c47a2f 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 {

View File

@@ -70,10 +70,10 @@ index 453b46851f021d4285be123bedc8982fc8844da2..2a7695c899b12c87ab89d00116b6f0dd
+ // Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 9457e0f4a8cef60ca73e40bebb3b1d5561391555..b1b662a2b6b0cca1e9e7bc290da977385fd1a0cc 100644
index 295cc5427a1bdc8f89a0b0c34b3c1f1db7c47a2f..9cb06d3e3109c08b2e9f3336365dd14241c4faca 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -486,6 +486,16 @@ public class PurpurWorldConfig {
@@ -496,6 +496,16 @@ public class PurpurWorldConfig {
}
}

View File

@@ -43,10 +43,10 @@ index d80eee47390ab202eea0368571421bbc94655ab1..b36536d4cc95797c59549f5db1f67b34
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index b1b662a2b6b0cca1e9e7bc290da977385fd1a0cc..79465cc5126f7e4da89b37b9673c7778180ba84b 100644
index 9cb06d3e3109c08b2e9f3336365dd14241c4faca..8be800300b6cbbd17ede87f279ebb04e9c9123fc 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -591,6 +591,13 @@ public class PurpurWorldConfig {
@@ -601,6 +601,13 @@ public class PurpurWorldConfig {
spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone);
}

View File

@@ -96,10 +96,10 @@ index 0711d195c654edef5875f587e391bacfdea096da..2341c98859faa61662d7ed343e6ed157
entitythrowntrident.fromPlayer = EntityArrow.PickupStatus.CREATIVE_ONLY;
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 79465cc5126f7e4da89b37b9673c7778180ba84b..480363d2b1e9b22d5bee82c269f16203d4a5fbeb 100644
index 8be800300b6cbbd17ede87f279ebb04e9c9123fc..ad2e2ae106295a8ce84b404998de535724fd9427 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -307,6 +307,23 @@ public class PurpurWorldConfig {
@@ -317,6 +317,23 @@ public class PurpurWorldConfig {
snowballDamage = getInt("gameplay-mechanics.projectile-damage.snowball", snowballDamage);
}

View File

@@ -18,10 +18,10 @@ index b26e168fbf49bbe7ec981b5b186c94ca67827f4a..bc91c96a29dcc60c578b342055b8eaf3
} else {
int j = blockposition.getX();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 480363d2b1e9b22d5bee82c269f16203d4a5fbeb..d0bcc928a80264debc92ddf22275c38281fdc4af 100644
index ad2e2ae106295a8ce84b404998de535724fd9427..37835f19ce917b36cb56e0d0d58d9be349919cab 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -575,6 +575,11 @@ public class PurpurWorldConfig {
@@ -585,6 +585,11 @@ public class PurpurWorldConfig {
lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
}

View File

@@ -31,10 +31,10 @@ index ac5ce96ab62ec210816e7af85a4269073b7a9270..84140e01eba780ffb8289bff75d1b58a
blockposition = blockposition.down();
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d0bcc928a80264debc92ddf22275c38281fdc4af..4f96d43389b0fd725ec3843a6388bf47eadd1782 100644
index 37835f19ce917b36cb56e0d0d58d9be349919cab..78e4ef0103e1c9f96ec160e74b870902eda5e842 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1409,6 +1409,7 @@ public class PurpurWorldConfig {
@@ -1419,6 +1419,7 @@ public class PurpurWorldConfig {
public boolean piglinRidable = false;
public boolean piglinRidableInWater = false;
public double piglinMaxHealth = 16.0D;
@@ -42,7 +42,7 @@ index d0bcc928a80264debc92ddf22275c38281fdc4af..4f96d43389b0fd725ec3843a6388bf47
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -1418,6 +1419,7 @@ public class PurpurWorldConfig {
@@ -1428,6 +1429,7 @@ public class PurpurWorldConfig {
set("mobs.piglin.attributes.max_health", oldValue);
}
piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth);

View File

@@ -51,10 +51,10 @@ index 4559085fa4452d3a9f59ed967ccb69a7823718e5..f1c53428c8f9eb0922fc16f152c6566d
entity.damageEntity(DamageSource.HOT_FLOOR, 1.0F);
org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = null; // CraftBukkit
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 4f96d43389b0fd725ec3843a6388bf47eadd1782..1e8ec6f6cd7740fe6935d9c7a068c19490e16f9b 100644
index 78e4ef0103e1c9f96ec160e74b870902eda5e842..9ad9d80331ea52c08500cd9155ba6fdc1bc22a3a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -2126,4 +2126,11 @@ public class PurpurWorldConfig {
@@ -2136,4 +2136,11 @@ public class PurpurWorldConfig {
baseCrystalExplosionEffect = Explosion.Effect.DESTROY;
}
}

View File

@@ -18,10 +18,10 @@ index 616b5267d1d94b2be37ec48983b45e4478502fb5..052cffb156e4e6f31df3935fd8312eb3
if (!event.isCancelled()) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 1e8ec6f6cd7740fe6935d9c7a068c19490e16f9b..a2ee911497783f79a8da1142082a8236b28c9c6f 100644
index 9ad9d80331ea52c08500cd9155ba6fdc1bc22a3a..3d3e4e686cd74145b002b2df276e61762697918b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1903,6 +1903,7 @@ public class PurpurWorldConfig {
@@ -1913,6 +1913,7 @@ public class PurpurWorldConfig {
public int witherHealthRegenDelay = 20;
public double witherMaxHealth = 300.0D;
public boolean witherCanRideVehicles = false;
@@ -29,7 +29,7 @@ index 1e8ec6f6cd7740fe6935d9c7a068c19490e16f9b..a2ee911497783f79a8da1142082a8236
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1921,6 +1922,7 @@ public class PurpurWorldConfig {
@@ -1931,6 +1932,7 @@ public class PurpurWorldConfig {
}
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);
witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles);

View File

@@ -18,10 +18,10 @@ index 9ba8ae49e18fb8714b434715bd669b8e22004cd7..c0c87d0dc8d6f02597219cd6a74e6ed7
if (iblockdata1 != null && world.getType(blockposition.up()).isAir()) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a2ee911497783f79a8da1142082a8236b28c9c6f..10590525f70e080ce7ffe6d7a3d908c2b60f8810 100644
index 3d3e4e686cd74145b002b2df276e61762697918b..63a1b0f569c8f034e7577c304ec23a7a96c666f7 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -459,6 +459,18 @@ public class PurpurWorldConfig {
@@ -469,6 +469,18 @@ public class PurpurWorldConfig {
totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory);
}

View File

@@ -45,10 +45,10 @@ index 6c9c4ab65b7e42efa68027057242e25b70313081..cbe34059659e0f80ff384508b01e516c
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 10590525f70e080ce7ffe6d7a3d908c2b60f8810..d9c836dd20d104cb9997d7fa0b88bb87d70d0bce 100644
index 63a1b0f569c8f034e7577c304ec23a7a96c666f7..a08bf2a374a486cf44128a87667567df65329e0c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -2147,4 +2147,9 @@ public class PurpurWorldConfig {
@@ -2157,4 +2157,9 @@ public class PurpurWorldConfig {
magmaBlockDamageWhenSneaking = getBoolean("blocks.magma-block.damage-when-sneaking", magmaBlockDamageWhenSneaking);
magmaBlockDamageWithFrostWalker = getBoolean("blocks.magma-block.damage-with-frost-walker", magmaBlockDamageWithFrostWalker);
}