add portal-wait-time options for player

This commit is contained in:
granny
2023-05-16 18:40:29 -07:00
parent 3b02c0439a
commit 68117a4e35
59 changed files with 363 additions and 341 deletions

View File

@@ -1,39 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 26 Jun 2021 23:05:12 -0500
Subject: [PATCH] Add permission bypass for portal waiting
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 75250719f8d10dd06471758b2848d132e5b1aa70..48d8198277720f17bd06e774746a96298ef3b164 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -187,6 +187,7 @@ public abstract class Player extends LivingEntity {
public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET;
// Paper end
public int sixRowEnderchestSlotCount = -1; // Purpur
+ public boolean canPortalInstant = false; // Purpur
// CraftBukkit start
public boolean fauxSleeping;
@@ -469,7 +470,7 @@ public abstract class Player extends LivingEntity {
@Override
public int getPortalWaitTime() {
- return this.abilities.invulnerable ? 1 : 80;
+ return this.abilities.invulnerable || canPortalInstant ? 1 : 80; // Purpur
}
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
index 1b008e5217c5bbf566a213abb92e1c7c43a3a7c2..468023414b4a9119a3418b8e8a5e38375bbd2407 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
@@ -266,6 +266,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
@Override
public void recalculatePermissions() {
this.perm.recalculatePermissions();
+ getHandle().canPortalInstant = hasPermission("purpur.portal.instant"); // Purpur
}
@Override

View File

@@ -0,0 +1,61 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 26 Jun 2021 23:05:12 -0500
Subject: [PATCH] Add portal waiting option & permission bypass
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 75250719f8d10dd06471758b2848d132e5b1aa70..4557ae0ab9387c99f4f416205e16a2ab92dbaab5 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -187,6 +187,7 @@ public abstract class Player extends LivingEntity {
public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET;
// Paper end
public int sixRowEnderchestSlotCount = -1; // Purpur
+ public boolean canPortalInstant = false; // Purpur
// CraftBukkit start
public boolean fauxSleeping;
@@ -469,7 +470,7 @@ public abstract class Player extends LivingEntity {
@Override
public int getPortalWaitTime() {
- return this.abilities.invulnerable ? 1 : 80;
+ return canPortalInstant ? 1 : this.abilities.invulnerable ? this.level.purpurConfig.playerCreativePortalWaitTime : this.level.purpurConfig.playerPortalWaitTime; // Purpur
}
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
index 1b008e5217c5bbf566a213abb92e1c7c43a3a7c2..468023414b4a9119a3418b8e8a5e38375bbd2407 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
@@ -266,6 +266,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
@Override
public void recalculatePermissions() {
this.perm.recalculatePermissions();
+ getHandle().canPortalInstant = hasPermission("purpur.portal.instant"); // Purpur
}
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 62f984a5bbfd50a2ad66bfcde4c1b461cb9c1e6a..09716be179c69cbab1561c2b36cbdf9d03269d7f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -394,6 +394,8 @@ public class PurpurWorldConfig {
public double playerCriticalDamageMultiplier = 1.5D;
public int playerBurpDelay = 10;
public boolean playerBurpWhenFull = false;
+ public int playerPortalWaitTime = 80;
+ public int playerCreativePortalWaitTime = 1;
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -418,6 +420,8 @@ public class PurpurWorldConfig {
playerCriticalDamageMultiplier = getDouble("gameplay-mechanics.player.critical-damage-multiplier", playerCriticalDamageMultiplier);
playerBurpDelay = getInt("gameplay-mechanics.player.burp-delay", playerBurpDelay);
playerBurpWhenFull = getBoolean("gameplay-mechanics.player.burp-when-full", playerBurpWhenFull);
+ playerPortalWaitTime = getInt("gameplay-mechanics.player.portal-wait-time", playerPortalWaitTime);
+ playerCreativePortalWaitTime = getInt("gameplay-mechanics.player.creative-portal-wait-time", playerCreativePortalWaitTime);
}
private static boolean projectileDespawnRateSettingsMigrated = false;

View File

@@ -67,10 +67,10 @@ index 2170715ed0e81a3055e4ab546c8b294c5ef7f142..beae4e2b9f61df83215de860d64c4ce2
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 62f984a5bbfd50a2ad66bfcde4c1b461cb9c1e6a..80aa54f4e04009a044db29f0aa523777904bf6c3 100644
index 09716be179c69cbab1561c2b36cbdf9d03269d7f..1ffa2a0336351162d09fd2cdd70aa9db5f344f41 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1939,6 +1939,11 @@ public class PurpurWorldConfig {
@@ -1943,6 +1943,11 @@ public class PurpurWorldConfig {
public boolean shulkerControllable = true;
public double shulkerMaxHealth = 30.0D;
public boolean shulkerTakeDamageFromWater = false;
@@ -82,7 +82,7 @@ index 62f984a5bbfd50a2ad66bfcde4c1b461cb9c1e6a..80aa54f4e04009a044db29f0aa523777
private void shulkerSettings() {
shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable);
shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater);
@@ -1950,6 +1955,11 @@ public class PurpurWorldConfig {
@@ -1954,6 +1959,11 @@ public class PurpurWorldConfig {
}
shulkerMaxHealth = getDouble("mobs.shulker.attributes.max_health", shulkerMaxHealth);
shulkerTakeDamageFromWater = getBoolean("mobs.shulker.takes-damage-from-water", shulkerTakeDamageFromWater);

View File

@@ -34,10 +34,10 @@ index 81646291540b07d6e1fa4ca06eda35f048a7a4fe..7a348d243f2a39c4e3faa1995eaf3f0c
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2ddb58e7703cc936f0b6b8765e82bc1be40044d3..0fd50512402abcae8be322491f853da68843dabb 100644
index 443d32da515574765d2bfd7430110c119cdd2256..0234b1c52738bc8f831486fd4c4911d7ad8f3eb0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1085,6 +1085,7 @@ public class PurpurWorldConfig {
@@ -1089,6 +1089,7 @@ public class PurpurWorldConfig {
public double drownedJockeyChance = 0.05D;
public boolean drownedJockeyTryExistingChickens = true;
public boolean drownedTakeDamageFromWater = false;
@@ -45,7 +45,7 @@ index 2ddb58e7703cc936f0b6b8765e82bc1be40044d3..0fd50512402abcae8be322491f853da6
private void drownedSettings() {
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
@@ -1100,6 +1101,7 @@ public class PurpurWorldConfig {
@@ -1104,6 +1105,7 @@ public class PurpurWorldConfig {
drownedJockeyChance = getDouble("mobs.drowned.jockey.chance", drownedJockeyChance);
drownedJockeyTryExistingChickens = getBoolean("mobs.drowned.jockey.try-existing-chickens", drownedJockeyTryExistingChickens);
drownedTakeDamageFromWater = getBoolean("mobs.drowned.takes-damage-from-water", drownedTakeDamageFromWater);

View File

@@ -18,10 +18,10 @@ index 87f9e03fb5e095396e054a84be60ec455d3fbd35..3d2e3c7dd3bf5c8f483a933e9f686858
this.tickTimer = 0;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0fd50512402abcae8be322491f853da68843dabb..6c912eed4ba23d06152d27c6f5e51780a6b525b2 100644
index 0234b1c52738bc8f831486fd4c4911d7ad8f3eb0..4f864dd35bc5ecd1631b51080468b4c7d8b9af56 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2596,4 +2596,9 @@ public class PurpurWorldConfig {
@@ -2600,4 +2600,9 @@ public class PurpurWorldConfig {
zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry);
zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater);
}

View File

@@ -122,10 +122,10 @@ index 180aec596110309aade13d2080f8824d152b07cb..c4aec1e5135a79837918b692e75a7b55
return InteractionResult.PASS;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6c912eed4ba23d06152d27c6f5e51780a6b525b2..e7c6f73fecea09c0f26307a9d18a967652f6200a 100644
index 4f864dd35bc5ecd1631b51080468b4c7d8b9af56..d5f3e9ebf5b068cbb95c7a27d674e9f9d4e05b59 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -524,6 +524,167 @@ public class PurpurWorldConfig {
@@ -528,6 +528,167 @@ public class PurpurWorldConfig {
});
}

View File

@@ -24,10 +24,10 @@ index bedccb8717d08d5a60058445b04ddff149e7d36c..5293ffca3da94c9c485a87d1232b6a90
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a587f7c8eb8400caf37dc87fd305b960ba7cb577..e0597971dbf26d38d69909d50d39c260bc026fd4 100644
index 55508e7df23be27a17e5ad320262ecd0b69ef11d..e2caaaa817fc458f500ca01af2e7061fe8f53088 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -726,6 +726,11 @@ public class PurpurWorldConfig {
@@ -730,6 +730,11 @@ public class PurpurWorldConfig {
}
}
@@ -39,7 +39,7 @@ index a587f7c8eb8400caf37dc87fd305b960ba7cb577..e0597971dbf26d38d69909d50d39c260
public boolean chestOpenWithBlockOnTop = false;
private void chestSettings() {
chestOpenWithBlockOnTop = getBoolean("blocks.chest.open-with-solid-block-on-top", chestOpenWithBlockOnTop);
@@ -2765,3 +2770,4 @@ public class PurpurWorldConfig {
@@ -2769,3 +2774,4 @@ public class PurpurWorldConfig {
hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage);
}
}

View File

@@ -24,10 +24,10 @@ index 8537581e7ca1f4efb492a2e734f46f947f36cffa..5f89229ff68d923c5cdee40e72e379ba
if (i != -1) {
world.scheduleTick(blockposition, (Block) this, i);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e0597971dbf26d38d69909d50d39c260bc026fd4..c3fc9f7dab12b0dfd7041962191eb419b3199008 100644
index e2caaaa817fc458f500ca01af2e7061fe8f53088..332721c3917d73f9d60445bc0013595faf1eb35a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -726,6 +726,22 @@ public class PurpurWorldConfig {
@@ -730,6 +730,22 @@ public class PurpurWorldConfig {
}
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Player ridable in water option
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 48d8198277720f17bd06e774746a96298ef3b164..74c660bcc77c18241c6ccc0450174a15b0ac4d1f 100644
index 4557ae0ab9387c99f4f416205e16a2ab92dbaab5..d548510ab31185d8c4978b86834a2684fff90570 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -2078,6 +2078,11 @@ public abstract class Player extends LivingEntity {
@@ -21,21 +21,21 @@ index 48d8198277720f17bd06e774746a96298ef3b164..74c660bcc77c18241c6ccc0450174a15
if (!this.isPassenger() && this.onGround && !this.isInWater() && !this.isInPowderSnow) {
if (this.getShoulderEntityLeft().isEmpty()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 312f1a7cc9f15d0cd7627f32cfa9f86ae12eae7a..b368159f9e7cb5c048673d3330693f8b02c2a7c1 100644
index 332721c3917d73f9d60445bc0013595faf1eb35a..52fbd22e5f19c38b3f53acd63c005644d411b0e6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -398,6 +398,7 @@ public class PurpurWorldConfig {
public double playerCriticalDamageMultiplier = 1.5D;
public int playerBurpDelay = 10;
@@ -400,6 +400,7 @@ public class PurpurWorldConfig {
public boolean playerBurpWhenFull = false;
public int playerPortalWaitTime = 80;
public int playerCreativePortalWaitTime = 1;
+ public boolean playerRidableInWater = false;
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -422,6 +423,7 @@ public class PurpurWorldConfig {
playerCriticalDamageMultiplier = getDouble("gameplay-mechanics.player.critical-damage-multiplier", playerCriticalDamageMultiplier);
playerBurpDelay = getInt("gameplay-mechanics.player.burp-delay", playerBurpDelay);
@@ -426,6 +427,7 @@ public class PurpurWorldConfig {
playerBurpWhenFull = getBoolean("gameplay-mechanics.player.burp-when-full", playerBurpWhenFull);
playerPortalWaitTime = getInt("gameplay-mechanics.player.portal-wait-time", playerPortalWaitTime);
playerCreativePortalWaitTime = getInt("gameplay-mechanics.player.creative-portal-wait-time", playerCreativePortalWaitTime);
+ playerRidableInWater = getBoolean("gameplay-mechanics.player.ridable-in-water", playerRidableInWater);
}

View File

@@ -17,10 +17,10 @@ index bfde674f2e5f88cfe9a4c760a9f8eb9038eaef21..0cb3a52990eb17339fbd61e1649a2774
for (int i = 0; i < 64; ++i) {
if (this.teleport()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2613b962d13fecc6c6bb029b98ea47b338188b2f..6ea932028d3d429b23f3ed9e5f7fe852a0534ad4 100644
index 52fbd22e5f19c38b3f53acd63c005644d411b0e6..3523fed89e2f42ef3e92c91a5f12c9aa92e3d32d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1348,6 +1348,7 @@ public class PurpurWorldConfig {
@@ -1352,6 +1352,7 @@ public class PurpurWorldConfig {
public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false;
public boolean endermanIgnorePlayerDragonHead = false;
public boolean endermanDisableStareAggro = false;
@@ -28,7 +28,7 @@ index 2613b962d13fecc6c6bb029b98ea47b338188b2f..6ea932028d3d429b23f3ed9e5f7fe852
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -1370,6 +1371,7 @@ public class PurpurWorldConfig {
@@ -1374,6 +1375,7 @@ public class PurpurWorldConfig {
endermanAggroEndermitesOnlyIfPlayerSpawned = getBoolean("mobs.enderman.aggressive-towards-endermites-only-spawned-by-player-thrown-ender-pearls", endermanAggroEndermitesOnlyIfPlayerSpawned);
endermanIgnorePlayerDragonHead = getBoolean("mobs.enderman.ignore-players-wearing-dragon-head", endermanIgnorePlayerDragonHead);
endermanDisableStareAggro = getBoolean("mobs.enderman.disable-player-stare-aggression", endermanDisableStareAggro);

View File

@@ -18,10 +18,10 @@ index 6e1caf05b5577fec82354b4c59e3f86b3c1c1dbc..a6d9354d8ddac808cc89c5fe70842fc2
return InteractionResult.SUCCESS;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5ddb672215761df5b19cde908ff2d31c933894b1..9c4a8fffcb992e7a1f7422ec1ac1535f795a053d 100644
index 6758c34aea78d8633729c4269017605c8dbf2f7d..6bf505571f44af7d7bae7ee99f29dad81c6ff4ec 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2749,6 +2749,8 @@ public class PurpurWorldConfig {
@@ -2753,6 +2753,8 @@ public class PurpurWorldConfig {
public double zombieVillagerJockeyChance = 0.05D;
public boolean zombieVillagerJockeyTryExistingChickens = true;
public boolean zombieVillagerTakeDamageFromWater = false;
@@ -30,7 +30,7 @@ index 5ddb672215761df5b19cde908ff2d31c933894b1..9c4a8fffcb992e7a1f7422ec1ac1535f
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2764,6 +2766,8 @@ public class PurpurWorldConfig {
@@ -2768,6 +2770,8 @@ public class PurpurWorldConfig {
zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance);
zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens);
zombieVillagerTakeDamageFromWater = getBoolean("mobs.zombie_villager.takes-damage-from-water", zombieVillagerTakeDamageFromWater);

View File

@@ -18,10 +18,10 @@ index d96e3fbc0fd4275c29e7e6154ef66e9ed1a5d829..df04a571ebd3c04bc7b58c1ee5661a1f
++i;
if (j < world.purpurConfig.spongeAbsorptionRadius) { // Purpur
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9c4a8fffcb992e7a1f7422ec1ac1535f795a053d..92d1abe0854603bedfd6f38404d8716d57572be2 100644
index 6bf505571f44af7d7bae7ee99f29dad81c6ff4ec..18e06df80a74203c2dd38c4d616ab90e448ee5c3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -937,9 +937,11 @@ public class PurpurWorldConfig {
@@ -941,9 +941,11 @@ public class PurpurWorldConfig {
public int spongeAbsorptionArea = 64;
public int spongeAbsorptionRadius = 6;

View File

@@ -18,10 +18,10 @@ index eeab4bb9727be75a4167aeb8ed1c80a2a2145be9..b746f793228560275e2a50bd2342f20d
// this.world.globalLevelEvent(1023, new BlockPosition(this), 0);
int viewDistance = ((ServerLevel) this.level).getCraftServer().getViewDistance() * 16;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 92d1abe0854603bedfd6f38404d8716d57572be2..f920f804b22b3fc03f03b66bfc8a382a1d89929f 100644
index 18e06df80a74203c2dd38c4d616ab90e448ee5c3..5f8df9955293042ce98f8cc453fa618a18d9be0f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2594,6 +2594,7 @@ public class PurpurWorldConfig {
@@ -2598,6 +2598,7 @@ public class PurpurWorldConfig {
public boolean witherTakeDamageFromWater = false;
public boolean witherCanRideVehicles = false;
public float witherExplosionRadius = 1.0F;
@@ -29,7 +29,7 @@ index 92d1abe0854603bedfd6f38404d8716d57572be2..f920f804b22b3fc03f03b66bfc8a382a
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2615,6 +2616,7 @@ public class PurpurWorldConfig {
@@ -2619,6 +2620,7 @@ public class PurpurWorldConfig {
witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater);
witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles);
witherExplosionRadius = (float) getDouble("mobs.wither.explosion-radius", witherExplosionRadius);

View File

@@ -18,10 +18,10 @@ index 7579946ce222b6ab3685a7fd9821bcd5a4babe33..2fffe4452d8f3fa5b9365dff1cfe5b5d
return false;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f920f804b22b3fc03f03b66bfc8a382a1d89929f..32d2d06e70566bac1cced7e6358acc328e8d56b9 100644
index 5f8df9955293042ce98f8cc453fa618a18d9be0f..80ba5482192e449ea67408340d6bba349b97fb0a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -758,6 +758,11 @@ public class PurpurWorldConfig {
@@ -762,6 +762,11 @@ public class PurpurWorldConfig {
buddingAmethystSilkTouch = getBoolean("blocks.budding_amethyst.silk-touch", buddingAmethystSilkTouch);
}

View File

@@ -26,20 +26,20 @@ index da0f5c5e6ca7ce7b38792e6da52c5cdcdbae3b78..4136bcd49fe05d916ab65de0e8661451
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6b0ed4fc2138f2a8f91cc90af334e4a502929d88..daf3c30dc7f8d40e6e71184b6e0a2f5305027849 100644
index 80ba5482192e449ea67408340d6bba349b97fb0a..449f48e8447b820edc53db4cdff56b2cc0af99c1 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -408,6 +408,7 @@ public class PurpurWorldConfig {
public int playerBurpDelay = 10;
public boolean playerBurpWhenFull = false;
@@ -410,6 +410,7 @@ public class PurpurWorldConfig {
public int playerPortalWaitTime = 80;
public int playerCreativePortalWaitTime = 1;
public boolean playerRidableInWater = false;
+ public boolean playerRemoveBindingWithWeakness = false;
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -433,6 +434,7 @@ public class PurpurWorldConfig {
playerBurpDelay = getInt("gameplay-mechanics.player.burp-delay", playerBurpDelay);
playerBurpWhenFull = getBoolean("gameplay-mechanics.player.burp-when-full", playerBurpWhenFull);
@@ -437,6 +438,7 @@ public class PurpurWorldConfig {
playerPortalWaitTime = getInt("gameplay-mechanics.player.portal-wait-time", playerPortalWaitTime);
playerCreativePortalWaitTime = getInt("gameplay-mechanics.player.creative-portal-wait-time", playerCreativePortalWaitTime);
playerRidableInWater = getBoolean("gameplay-mechanics.player.ridable-in-water", playerRidableInWater);
+ playerRemoveBindingWithWeakness = getBoolean("gameplay-mechanics.player.curse-of-binding.remove-with-weakness", playerRemoveBindingWithWeakness);
}

View File

@@ -77,10 +77,10 @@ index 963a596154091b79ca139af6274aa323518ad1ad..4dcac3899a500d8586580bcfd5b4516e
});
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 87b54db440a793f805cfa6abfe9d5c5b6f37aaae..944ea228713704695dfaf4c673178ceb73d08008 100644
index 449f48e8447b820edc53db4cdff56b2cc0af99c1..9bed8e9875f270aeca4ef41ff15208a464a428a1 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2813,5 +2813,28 @@ public class PurpurWorldConfig {
@@ -2817,5 +2817,28 @@ public class PurpurWorldConfig {
private void hungerSettings() {
hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage);
}

View File

@@ -47,10 +47,10 @@ index 6b909d41ccdf6c1ac3ac0c4e673ff52f0d14a238..b8f69063cec4d31c9d9525a04c46ed89
if (dripChance < f1) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 944ea228713704695dfaf4c673178ceb73d08008..711cc863c06731e347893c75fe84d9873859297e 100644
index 9bed8e9875f270aeca4ef41ff15208a464a428a1..ed2b5652e814b035cef56b1e1fe2de63c5176521 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2836,5 +2836,16 @@ public class PurpurWorldConfig {
@@ -2840,5 +2840,16 @@ public class PurpurWorldConfig {
});
conduitBlocks = conduitBlockList.toArray(Block[]::new);
}

View File

@@ -47,10 +47,10 @@ index a0d34af033130d88a19a078b628ea4fbce3d268e..8825407882bbfe1b92b4da384bc0f0a3
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5356508723b92fa608c86179d0de5850f240ecaf..ae41ff2cd534efaacf8ca1f108b7cdc079b2a1b5 100644
index 260fec619fe389abac6a14c5190b2b9d7e6044af..d3a3f42e171d804cd4953cf1ca19a033759f8c61 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2156,6 +2156,7 @@ public class PurpurWorldConfig {
@@ -2160,6 +2160,7 @@ public class PurpurWorldConfig {
public double shulkerSpawnFromBulletNearbyRange = 8.0D;
public String shulkerSpawnFromBulletNearbyEquation = "(nearby - 1) / 5.0";
public boolean shulkerSpawnFromBulletRandomColor = false;
@@ -58,7 +58,7 @@ index 5356508723b92fa608c86179d0de5850f240ecaf..ae41ff2cd534efaacf8ca1f108b7cdc0
private void shulkerSettings() {
shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable);
shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater);
@@ -2172,6 +2173,7 @@ public class PurpurWorldConfig {
@@ -2176,6 +2177,7 @@ public class PurpurWorldConfig {
shulkerSpawnFromBulletNearbyRange = getDouble("mobs.shulker.spawn-from-bullet.nearby-range", shulkerSpawnFromBulletNearbyRange);
shulkerSpawnFromBulletNearbyEquation = getString("mobs.shulker.spawn-from-bullet.nearby-equation", shulkerSpawnFromBulletNearbyEquation);
shulkerSpawnFromBulletRandomColor = getBoolean("mobs.shulker.spawn-from-bullet.random-color", shulkerSpawnFromBulletRandomColor);

View File

@@ -45,10 +45,10 @@ index 8584a65433555133cdcfc24a078fb0b53b9f83bc..4afc4670f9b00a4087410ec366fe45fe
public static final Block PINK_PETALS = register("pink_petals", new PinkPetalsBlock(BlockBehaviour.Properties.of(Material.PLANT).noCollission().sound(SoundType.PINK_PETALS).requiredFeatures(FeatureFlags.UPDATE_1_20)));
public static final Block MOSS_BLOCK = register("moss_block", new MossBlock(BlockBehaviour.Properties.of(Material.MOSS, MaterialColor.COLOR_GREEN).strength(0.1F).sound(SoundType.MOSS)));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c62c3b29fd9178952610f47d5fc30096cd2829da..b0b0f8b250a789e1e137305cbec4722e91b8047d 100644
index 6edbc74030c264a042e1ae0a10059453cb42c009..2fb231490abb495e6fe8247d3eba4c7767efdc68 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -713,6 +713,11 @@ public class PurpurWorldConfig {
@@ -717,6 +717,11 @@ public class PurpurWorldConfig {
anvilColorsUseMiniMessage = getBoolean("blocks.anvil.use-mini-message", anvilColorsUseMiniMessage);
}
@@ -60,7 +60,7 @@ index c62c3b29fd9178952610f47d5fc30096cd2829da..b0b0f8b250a789e1e137305cbec4722e
public int beaconLevelOne = 20;
public int beaconLevelTwo = 30;
public int beaconLevelThree = 40;
@@ -855,6 +860,11 @@ public class PurpurWorldConfig {
@@ -859,6 +864,11 @@ public class PurpurWorldConfig {
farmlandTramplingFeatherFalling = getBoolean("blocks.farmland.feather-fall-distance-affects-trampling", farmlandTramplingFeatherFalling);
}

View File

@@ -48,19 +48,19 @@ index 4345b10d2aad2d82155fe50f31139917e9e0d315..d65e562202557019bc941552b15476c9
cancelled = event.useItemInHand() == Event.Result.DENY;
} else {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b0b0f8b250a789e1e137305cbec4722e91b8047d..ec8ce58e11a31d5de4db55cd4030aa3526161d49 100644
index 2fb231490abb495e6fe8247d3eba4c7767efdc68..bb18991cf6f987fe156a712dc3523d5b076e77bc 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -415,6 +415,7 @@ public class PurpurWorldConfig {
public boolean playerBurpWhenFull = false;
@@ -417,6 +417,7 @@ public class PurpurWorldConfig {
public int playerCreativePortalWaitTime = 1;
public boolean playerRidableInWater = false;
public boolean playerRemoveBindingWithWeakness = false;
+ public int shiftRightClickRepairsMendingPoints = 0;
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -441,6 +442,7 @@ public class PurpurWorldConfig {
playerBurpWhenFull = getBoolean("gameplay-mechanics.player.burp-when-full", playerBurpWhenFull);
@@ -445,6 +446,7 @@ public class PurpurWorldConfig {
playerCreativePortalWaitTime = getInt("gameplay-mechanics.player.creative-portal-wait-time", playerCreativePortalWaitTime);
playerRidableInWater = getBoolean("gameplay-mechanics.player.ridable-in-water", playerRidableInWater);
playerRemoveBindingWithWeakness = getBoolean("gameplay-mechanics.player.curse-of-binding.remove-with-weakness", playerRemoveBindingWithWeakness);
+ shiftRightClickRepairsMendingPoints = getInt("gameplay-mechanics.player.shift-right-click-repairs-mending-points", shiftRightClickRepairsMendingPoints);

View File

@@ -47,10 +47,10 @@ index f8d3a5d2dc254501c7e4405444ed4439f9af915e..c038a23c4e19c5bf160792cf599acc8f
public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ec8ce58e11a31d5de4db55cd4030aa3526161d49..989347b0958fb096437d9c3fd7004b32dc335944 100644
index bb18991cf6f987fe156a712dc3523d5b076e77bc..0815363cb21f5669d4a755d6a6549cc17e93a9f0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1254,6 +1254,7 @@ public class PurpurWorldConfig {
@@ -1258,6 +1258,7 @@ public class PurpurWorldConfig {
public double dolphinMaxHealth = 10.0D;
public boolean dolphinDisableTreasureSearching = false;
public boolean dolphinTakeDamageFromWater = false;
@@ -58,7 +58,7 @@ index ec8ce58e11a31d5de4db55cd4030aa3526161d49..989347b0958fb096437d9c3fd7004b32
private void dolphinSettings() {
dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable);
dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable);
@@ -1268,6 +1269,7 @@ public class PurpurWorldConfig {
@@ -1272,6 +1273,7 @@ public class PurpurWorldConfig {
dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth);
dolphinDisableTreasureSearching = getBoolean("mobs.dolphin.disable-treasure-searching", dolphinDisableTreasureSearching);
dolphinTakeDamageFromWater = getBoolean("mobs.dolphin.takes-damage-from-water", dolphinTakeDamageFromWater);

View File

@@ -59,10 +59,10 @@ index d1966126950d086649c1e3c7cd140669c36d7e76..f6dc68ddea67e9573d2420c8f852b092
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 989347b0958fb096437d9c3fd7004b32dc335944..9394684fa1bf26954cb878d4a2b7066502979d38 100644
index 0815363cb21f5669d4a755d6a6549cc17e93a9f0..fc9398cfa1fc4a48530714062d59d7ae92b08e2c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1203,7 +1203,14 @@ public class PurpurWorldConfig {
@@ -1207,7 +1207,14 @@ public class PurpurWorldConfig {
public int cowFeedMushrooms = 0;
public int cowBreedingTicks = 6000;
public boolean cowTakeDamageFromWater = false;
@@ -77,7 +77,7 @@ index 989347b0958fb096437d9c3fd7004b32dc335944..9394684fa1bf26954cb878d4a2b70665
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
cowControllable = getBoolean("mobs.cow.controllable", cowControllable);
@@ -1216,6 +1223,8 @@ public class PurpurWorldConfig {
@@ -1220,6 +1227,8 @@ public class PurpurWorldConfig {
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
cowBreedingTicks = getInt("mobs.cow.breeding-delay-ticks", cowBreedingTicks);
cowTakeDamageFromWater = getBoolean("mobs.cow.takes-damage-from-water", cowTakeDamageFromWater);

View File

@@ -22,10 +22,10 @@ index 401d0885852edbb30b12cfb58c86479d722143ff..2e759f0b3766377c65608deb3d1859c7
this.brain.setMemory(MemoryModuleType.LAST_SLEPT, this.level.getGameTime()); // CraftBukkit - decompile error
this.brain.eraseMemory(MemoryModuleType.WALK_TARGET);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9394684fa1bf26954cb878d4a2b7066502979d38..07a35c7b9b329e0967bb2ea78c6d060b40544eb6 100644
index fc9398cfa1fc4a48530714062d59d7ae92b08e2c..69484ea2a23f80e694d75b26bb316a47b30765ba 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -732,6 +732,7 @@ public class PurpurWorldConfig {
@@ -736,6 +736,7 @@ public class PurpurWorldConfig {
}
public boolean bedExplode = true;
@@ -33,7 +33,7 @@ index 9394684fa1bf26954cb878d4a2b7066502979d38..07a35c7b9b329e0967bb2ea78c6d060b
public double bedExplosionPower = 5.0D;
public boolean bedExplosionFire = true;
public net.minecraft.world.level.Level.ExplosionInteraction bedExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK;
@@ -742,6 +743,7 @@ public class PurpurWorldConfig {
@@ -746,6 +747,7 @@ public class PurpurWorldConfig {
}
}
bedExplode = getBoolean("blocks.bed.explode", bedExplode);

View File

@@ -60,10 +60,10 @@ index 114093185454a428e0ef9f0877ea4efd9532c2f8..d2ab6c240bc45f1c19ade78a7c050930
this.armorDropChances[EquipmentSlot.HEAD.getIndex()] = 0.0F;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 07a35c7b9b329e0967bb2ea78c6d060b40544eb6..695b480b3fbb0e0e8f9fc9e42abce32772f64c2e 100644
index 69484ea2a23f80e694d75b26bb316a47b30765ba..3fa36ab54543be869b3979865c6c38a2392c98db 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1596,6 +1596,13 @@ public class PurpurWorldConfig {
@@ -1600,6 +1600,13 @@ public class PurpurWorldConfig {
guardianTakeDamageFromWater = getBoolean("mobs.guardian.takes-damage-from-water", guardianTakeDamageFromWater);
}

View File

@@ -18,10 +18,10 @@ index 219c87dcf065e86512f330fbeec59e55f4675083..f8fd3b320494d1c1e8ee3d170f2feebd
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 695b480b3fbb0e0e8f9fc9e42abce32772f64c2e..128b18135799b7934818f3c8a7a864d04a8a417e 100644
index 3fa36ab54543be869b3979865c6c38a2392c98db..0b8110d023cc3d54879baf59a4d7a17095b5addf 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -780,6 +780,11 @@ public class PurpurWorldConfig {
@@ -784,6 +784,11 @@ public class PurpurWorldConfig {
cactusBreaksFromSolidNeighbors = getBoolean("blocks.cactus.breaks-from-solid-neighbors", cactusBreaksFromSolidNeighbors);
}

View File

@@ -18,10 +18,10 @@ index a6d9354d8ddac808cc89c5fe70842fc2472ff6fa..87556ffdfb93eba9c84931b1f922b936
itemstack.shrink(1);
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ddb3b1a8da6c96d1e388e9d2022724d7606ba2a0..4abce335a3089c04572b3867c9a585600e58a96a 100644
index 34367920931fc7c11defb331c84aea9c77f43fae..dd8ed07888e740ed95e4527b8c437412d625190e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2813,6 +2813,7 @@ public class PurpurWorldConfig {
@@ -2817,6 +2817,7 @@ public class PurpurWorldConfig {
public boolean zombieVillagerTakeDamageFromWater = false;
public int zombieVillagerCuringTimeMin = 3600;
public int zombieVillagerCuringTimeMax = 6000;
@@ -29,7 +29,7 @@ index ddb3b1a8da6c96d1e388e9d2022724d7606ba2a0..4abce335a3089c04572b3867c9a58560
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2830,6 +2831,7 @@ public class PurpurWorldConfig {
@@ -2834,6 +2835,7 @@ public class PurpurWorldConfig {
zombieVillagerTakeDamageFromWater = getBoolean("mobs.zombie_villager.takes-damage-from-water", zombieVillagerTakeDamageFromWater);
zombieVillagerCuringTimeMin = getInt("mobs.zombie_villager.curing_time.min", zombieVillagerCuringTimeMin);
zombieVillagerCuringTimeMax = getInt("mobs.zombie_villager.curing_time.max", zombieVillagerCuringTimeMax);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Signs allow color codes
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 0ac5a879c9098ea37f23cf4a23046e82c27231f4..d6edd8501d044980900ac011e1c4938b7fc4e64d 100644
index a7cd9d4f83a6e0df28818c55788cdc2db369dfac..dd21804bb62ad7ae2a086600d9cec7e6ca05f3e8 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1529,6 +1529,7 @@ public class ServerPlayer extends Player {
@@ -70,10 +70,10 @@ index 4da4edae517a0efec6e03a719ec47b700509dab1..9e760a8e8244b15daaf0abdfc5f8a51d
public CompoundTag getUpdateTag() {
return this.saveWithoutMetadata();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6cc896727c698f196ca36fe5d3e431e2527e6816..0e0cc6bc1b32b64b9776d88cbcbf83913af20f33 100644
index 0f16621231f97bb757edb59cc73169bccc60937a..b9346bfeaab87363f88738be6d6f35d9515c3186 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -961,8 +961,10 @@ public class PurpurWorldConfig {
@@ -965,8 +965,10 @@ public class PurpurWorldConfig {
}
public boolean signRightClickEdit = false;

File diff suppressed because it is too large Load Diff

View File

@@ -74,10 +74,10 @@ index e55720c4d2fbdf6aae526910e87a67c29cf906fd..0e4026e9d39735b840f12e59f84469b9
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 223a20d6aa5c1d7f50da1d1df237687e18eb4bdc..26f578f24f9a72e110bd4302fd49b2e38c08318a 100644
index 47ceab345b4cced11753dbed903c356b746089fd..59b46e7de80f84987f2882a3e1cb26390f270aea 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -559,6 +559,8 @@ public class PurpurWorldConfig {
@@ -563,6 +563,8 @@ public class PurpurWorldConfig {
public Map<Block, Waxable> axeWaxables = new HashMap<>();
public Map<Block, Weatherable> axeWeatherables = new HashMap<>();
public Map<Block, Tillable> hoeTillables = new HashMap<>();
@@ -86,7 +86,7 @@ index 223a20d6aa5c1d7f50da1d1df237687e18eb4bdc..26f578f24f9a72e110bd4302fd49b2e3
private void toolSettings() {
axeStrippables.clear();
axeWaxables.clear();
@@ -714,6 +716,8 @@ public class PurpurWorldConfig {
@@ -718,6 +720,8 @@ public class PurpurWorldConfig {
});
hoeTillables.put(block, new Tillable(condition, into, drops));
});

View File

@@ -18,10 +18,10 @@ index ecde7e3f3bbc511d152153082671ca67e0d960ba..86ac81efb31b59c37bca9b0c53755cb6
if (entityitem != null) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 26f578f24f9a72e110bd4302fd49b2e38c08318a..b3d2d126bbf7045b4e00f52c950a2e5d2c9b8660 100644
index 59b46e7de80f84987f2882a3e1cb26390f270aea..531579d1b57d9bb2221d818e500649225f3b3b2b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2277,6 +2277,7 @@ public class PurpurWorldConfig {
@@ -2281,6 +2281,7 @@ public class PurpurWorldConfig {
public boolean sheepBypassMobGriefing = false;
public boolean sheepTakeDamageFromWater = false;
public boolean sheepAlwaysDropExp = false;
@@ -29,7 +29,7 @@ index 26f578f24f9a72e110bd4302fd49b2e38c08318a..b3d2d126bbf7045b4e00f52c950a2e5d
private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -2291,6 +2292,7 @@ public class PurpurWorldConfig {
@@ -2295,6 +2296,7 @@ public class PurpurWorldConfig {
sheepBypassMobGriefing = getBoolean("mobs.sheep.bypass-mob-griefing", sheepBypassMobGriefing);
sheepTakeDamageFromWater = getBoolean("mobs.sheep.takes-damage-from-water", sheepTakeDamageFromWater);
sheepAlwaysDropExp = getBoolean("mobs.sheep.always-drop-exp", sheepAlwaysDropExp);

View File

@@ -18,10 +18,10 @@ index 7495e0e8beedad59fff24ebf189b58b307f7d796..70997b83fd7631ebf3c5bda67ef77bef
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b3d2d126bbf7045b4e00f52c950a2e5d2c9b8660..d8a5cf270e4af7daa71b2ac68d7da25bceefe44d 100644
index 531579d1b57d9bb2221d818e500649225f3b3b2b..f2e6a0948530aa0830dc417cb56c7fb78a4cc483 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -994,11 +994,13 @@ public class PurpurWorldConfig {
@@ -998,11 +998,13 @@ public class PurpurWorldConfig {
public boolean turtleEggsBreakFromItems = true;
public boolean turtleEggsBreakFromMinecarts = true;
public boolean turtleEggsBypassMobGriefing = false;

View File

@@ -32,10 +32,10 @@ index db6ee0ef067c42dd7f3a69cc796e2dd2c8fc059d..5718d70cdc4f5afb14320a20c3e72362
// Purpur start
if (entity instanceof LivingEntity entityliving) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d8a5cf270e4af7daa71b2ac68d7da25bceefe44d..df92283920356712464c31560a1c9eec21dee86e 100644
index f2e6a0948530aa0830dc417cb56c7fb78a4cc483..f33621315bbf65c79917f766dea1896d55cd5322 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1279,6 +1279,7 @@ public class PurpurWorldConfig {
@@ -1283,6 +1283,7 @@ public class PurpurWorldConfig {
public boolean creeperExplodeWhenKilled = false;
public boolean creeperHealthRadius = false;
public boolean creeperAlwaysDropExp = false;
@@ -43,7 +43,7 @@ index d8a5cf270e4af7daa71b2ac68d7da25bceefe44d..df92283920356712464c31560a1c9eec
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -1296,6 +1297,7 @@ public class PurpurWorldConfig {
@@ -1300,6 +1301,7 @@ public class PurpurWorldConfig {
creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled);
creeperHealthRadius = getBoolean("mobs.creeper.health-impacts-explosion", creeperHealthRadius);
creeperAlwaysDropExp = getBoolean("mobs.creeper.always-drop-exp", creeperAlwaysDropExp);
@@ -51,7 +51,7 @@ index d8a5cf270e4af7daa71b2ac68d7da25bceefe44d..df92283920356712464c31560a1c9eec
}
public boolean dolphinRidable = false;
@@ -2082,6 +2084,7 @@ public class PurpurWorldConfig {
@@ -2086,6 +2088,7 @@ public class PurpurWorldConfig {
public boolean piglinTakeDamageFromWater = false;
public int piglinPortalSpawnModifier = 2000;
public boolean piglinAlwaysDropExp = false;
@@ -59,7 +59,7 @@ index d8a5cf270e4af7daa71b2ac68d7da25bceefe44d..df92283920356712464c31560a1c9eec
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -2096,6 +2099,7 @@ public class PurpurWorldConfig {
@@ -2100,6 +2103,7 @@ public class PurpurWorldConfig {
piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater);
piglinPortalSpawnModifier = getInt("mobs.piglin.portal-spawn-modifier", piglinPortalSpawnModifier);
piglinAlwaysDropExp = getBoolean("mobs.piglin.always-drop-exp", piglinAlwaysDropExp);
@@ -67,7 +67,7 @@ index d8a5cf270e4af7daa71b2ac68d7da25bceefe44d..df92283920356712464c31560a1c9eec
}
public boolean piglinBruteRidable = false;
@@ -2357,6 +2361,7 @@ public class PurpurWorldConfig {
@@ -2361,6 +2365,7 @@ public class PurpurWorldConfig {
public double skeletonMaxHealth = 20.0D;
public boolean skeletonTakeDamageFromWater = false;
public boolean skeletonAlwaysDropExp = false;
@@ -75,7 +75,7 @@ index d8a5cf270e4af7daa71b2ac68d7da25bceefe44d..df92283920356712464c31560a1c9eec
private void skeletonSettings() {
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
@@ -2369,6 +2374,7 @@ public class PurpurWorldConfig {
@@ -2373,6 +2378,7 @@ public class PurpurWorldConfig {
skeletonMaxHealth = getDouble("mobs.skeleton.attributes.max_health", skeletonMaxHealth);
skeletonTakeDamageFromWater = getBoolean("mobs.skeleton.takes-damage-from-water", skeletonTakeDamageFromWater);
skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp);
@@ -83,7 +83,7 @@ index d8a5cf270e4af7daa71b2ac68d7da25bceefe44d..df92283920356712464c31560a1c9eec
}
public boolean skeletonHorseRidableInWater = true;
@@ -2903,6 +2909,7 @@ public class PurpurWorldConfig {
@@ -2907,6 +2913,7 @@ public class PurpurWorldConfig {
public boolean zombieBypassMobGriefing = false;
public boolean zombieTakeDamageFromWater = false;
public boolean zombieAlwaysDropExp = false;
@@ -91,7 +91,7 @@ index d8a5cf270e4af7daa71b2ac68d7da25bceefe44d..df92283920356712464c31560a1c9eec
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -2921,6 +2928,7 @@ public class PurpurWorldConfig {
@@ -2925,6 +2932,7 @@ public class PurpurWorldConfig {
zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing);
zombieTakeDamageFromWater = getBoolean("mobs.zombie.takes-damage-from-water", zombieTakeDamageFromWater);
zombieAlwaysDropExp = getBoolean("mobs.zombie.always-drop-exp", zombieAlwaysDropExp);

View File

@@ -17,10 +17,10 @@ index 86d49924f4fb5b38dfe7ec23a15e9bb5b2816543..e97731c58b86562827fb6b0a32a7a00e
++this.timeSinceSting;
if (this.timeSinceSting % 5 == 0 && this.random.nextInt(Mth.clamp(1200 - this.timeSinceSting, 1, 1200)) == 0) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index df92283920356712464c31560a1c9eec21dee86e..5ee59e2e25466d094a675471cc71aedf33afa808 100644
index f33621315bbf65c79917f766dea1896d55cd5322..3968d2005ebdd4a8d953e5276fdc544a02da1441 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1082,6 +1082,7 @@ public class PurpurWorldConfig {
@@ -1086,6 +1086,7 @@ public class PurpurWorldConfig {
public boolean beeCanWorkAtNight = false;
public boolean beeCanWorkInRain = false;
public boolean beeAlwaysDropExp = false;
@@ -28,7 +28,7 @@ index df92283920356712464c31560a1c9eec21dee86e..5ee59e2e25466d094a675471cc71aedf
private void beeSettings() {
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
@@ -1098,6 +1099,7 @@ public class PurpurWorldConfig {
@@ -1102,6 +1103,7 @@ public class PurpurWorldConfig {
beeCanWorkAtNight = getBoolean("mobs.bee.can-work-at-night", beeCanWorkAtNight);
beeCanWorkInRain = getBoolean("mobs.bee.can-work-in-rain", beeCanWorkInRain);
beeAlwaysDropExp = getBoolean("mobs.bee.always-drop-exp", beeAlwaysDropExp);

View File

@@ -35,10 +35,10 @@ index eed062c9cf1103d7ac96695e3620d4276edcd2aa..69cc276fecd4cac51d38bd3cc7de490a
org.bukkit.event.Cancellable cancellable;
if (entity instanceof Player) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5ee59e2e25466d094a675471cc71aedf33afa808..e4394fbe3d7ff9b9424772014c0b528407a13081 100644
index 3968d2005ebdd4a8d953e5276fdc544a02da1441..fbaa54229ff7283bec4ff6e5bf8c3bf4343fcd68 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -872,6 +872,7 @@ public class PurpurWorldConfig {
@@ -876,6 +876,7 @@ public class PurpurWorldConfig {
public boolean farmlandTramplingDisabled = false;
public boolean farmlandTramplingOnlyPlayers = false;
public boolean farmlandTramplingFeatherFalling = false;
@@ -46,7 +46,7 @@ index 5ee59e2e25466d094a675471cc71aedf33afa808..e4394fbe3d7ff9b9424772014c0b5284
private void farmlandSettings() {
farmlandBypassMobGriefing = getBoolean("blocks.farmland.bypass-mob-griefing", farmlandBypassMobGriefing);
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
@@ -879,6 +880,7 @@ public class PurpurWorldConfig {
@@ -883,6 +884,7 @@ public class PurpurWorldConfig {
farmlandTramplingDisabled = getBoolean("blocks.farmland.disable-trampling", farmlandTramplingDisabled);
farmlandTramplingOnlyPlayers = getBoolean("blocks.farmland.only-players-trample", farmlandTramplingOnlyPlayers);
farmlandTramplingFeatherFalling = getBoolean("blocks.farmland.feather-fall-distance-affects-trampling", farmlandTramplingFeatherFalling);

View File

@@ -22,7 +22,7 @@ index 0813151ba9d1dcf1aa40fb4c7f259510adc326da..0c0f422ef0c20477295cea0b6b3c4b2d
int i = this.repairPlayerItems(player, this.value);
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 74c660bcc77c18241c6ccc0450174a15b0ac4d1f..d055cfc257cc7282170ba67c848af3e6c5f2ec1f 100644
index d548510ab31185d8c4978b86834a2684fff90570..7edcb5b86f27d05a0526229262e0d3a3e160362b 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -630,7 +630,7 @@ public abstract class Player extends LivingEntity {
@@ -35,10 +35,10 @@ index 74c660bcc77c18241c6ccc0450174a15b0ac4d1f..d055cfc257cc7282170ba67c848af3e6
} else if (!entity.isRemoved()) {
this.touch(entity);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e4394fbe3d7ff9b9424772014c0b528407a13081..8abdc8df16a56988f9fe799773fc82bc7bffa16e 100644
index fbaa54229ff7283bec4ff6e5bf8c3bf4343fcd68..20c51a26adbe30d4a0e335bdc588792a62f2f084 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -424,6 +424,7 @@ public class PurpurWorldConfig {
@@ -426,6 +426,7 @@ public class PurpurWorldConfig {
public boolean playerRidableInWater = false;
public boolean playerRemoveBindingWithWeakness = false;
public int shiftRightClickRepairsMendingPoints = 0;
@@ -46,7 +46,7 @@ index e4394fbe3d7ff9b9424772014c0b528407a13081..8abdc8df16a56988f9fe799773fc82bc
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -451,6 +452,7 @@ public class PurpurWorldConfig {
@@ -455,6 +456,7 @@ public class PurpurWorldConfig {
playerRidableInWater = getBoolean("gameplay-mechanics.player.ridable-in-water", playerRidableInWater);
playerRemoveBindingWithWeakness = getBoolean("gameplay-mechanics.player.curse-of-binding.remove-with-weakness", playerRemoveBindingWithWeakness);
shiftRightClickRepairsMendingPoints = getInt("gameplay-mechanics.player.shift-right-click-repairs-mending-points", shiftRightClickRepairsMendingPoints);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Allow void trading
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 169eb774eea589cab7daec9fe5764a639ecd8ed4..3bf150a5f9ce1d497bf80174b80eca82c5fe06b5 100644
index ff9547262d4bbfb6da4d14e8aa5409020b1e8c62..a3c316997605e4e5747e60dba5e2337316779339 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -2687,7 +2687,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -18,10 +18,10 @@ index 169eb774eea589cab7daec9fe5764a639ecd8ed4..3bf150a5f9ce1d497bf80174b80eca82
}
// Paper end
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a7f2ae2ff3f1ad928768851dc286687d28748bc3..915099ab343d1fd65ba779ef70ebc704612f246a 100644
index 20c51a26adbe30d4a0e335bdc588792a62f2f084..ad48cb549025b0ceb1db39a263b44788c071878e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -425,6 +425,7 @@ public class PurpurWorldConfig {
@@ -427,6 +427,7 @@ public class PurpurWorldConfig {
public boolean playerRemoveBindingWithWeakness = false;
public int shiftRightClickRepairsMendingPoints = 0;
public int playerExpPickupDelay = 2;
@@ -29,7 +29,7 @@ index a7f2ae2ff3f1ad928768851dc286687d28748bc3..915099ab343d1fd65ba779ef70ebc704
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -453,6 +454,7 @@ public class PurpurWorldConfig {
@@ -457,6 +458,7 @@ public class PurpurWorldConfig {
playerRemoveBindingWithWeakness = getBoolean("gameplay-mechanics.player.curse-of-binding.remove-with-weakness", playerRemoveBindingWithWeakness);
shiftRightClickRepairsMendingPoints = getInt("gameplay-mechanics.player.shift-right-click-repairs-mending-points", shiftRightClickRepairsMendingPoints);
playerExpPickupDelay = getInt("gameplay-mechanics.player.exp-pickup-delay-ticks", playerExpPickupDelay);

View File

@@ -22,10 +22,10 @@ index b4e13b4e02c37f5ff93164f01604e7e56580be72..2c00a9fdd3a6ea16ee765339857cf585
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c9c5c5f58204b95be55a84eabfcf027cc7d5d781..291ca4e81b0f8b18d0926099fd0c0c1f76cb3859 100644
index ad48cb549025b0ceb1db39a263b44788c071878e..a470194347dd112ad68131345aa3aaab9f41a647 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2022,6 +2022,8 @@ public class PurpurWorldConfig {
@@ -2026,6 +2026,8 @@ public class PurpurWorldConfig {
public boolean phantomFlamesOnSwoop = false;
public boolean phantomTakeDamageFromWater = false;
public boolean phantomAlwaysDropExp = false;
@@ -34,7 +34,7 @@ index c9c5c5f58204b95be55a84eabfcf027cc7d5d781..291ca4e81b0f8b18d0926099fd0c0c1f
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -2058,6 +2060,13 @@ public class PurpurWorldConfig {
@@ -2062,6 +2064,13 @@ public class PurpurWorldConfig {
phantomFlamesOnSwoop = getBoolean("mobs.phantom.flames-on-swoop", phantomFlamesOnSwoop);
phantomTakeDamageFromWater = getBoolean("mobs.phantom.takes-damage-from-water", phantomTakeDamageFromWater);
phantomAlwaysDropExp = getBoolean("mobs.phantom.always-drop-exp", phantomAlwaysDropExp);

View File

@@ -40,10 +40,10 @@ index fd50d1c2435b82215bc5b3fdbe5044d426bc342e..68ffea572045634f1ad67a6954d480e6
public ItemStack assemble() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 291ca4e81b0f8b18d0926099fd0c0c1f76cb3859..05d58b17c705e6a1d779bec497fab1c4299c477c 100644
index a470194347dd112ad68131345aa3aaab9f41a647..9000cb06ceabbf2a0049b0ff0ef446933127e050 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2705,6 +2705,7 @@ public class PurpurWorldConfig {
@@ -2709,6 +2709,7 @@ public class PurpurWorldConfig {
public boolean villagerTakeDamageFromWater = false;
public boolean villagerAllowTrading = true;
public boolean villagerAlwaysDropExp = false;
@@ -51,7 +51,7 @@ index 291ca4e81b0f8b18d0926099fd0c0c1f76cb3859..05d58b17c705e6a1d779bec497fab1c4
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2725,6 +2726,7 @@ public class PurpurWorldConfig {
@@ -2729,6 +2730,7 @@ public class PurpurWorldConfig {
villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater);
villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading);
villagerAlwaysDropExp = getBoolean("mobs.villager.always-drop-exp", villagerAlwaysDropExp);

View File

@@ -110,10 +110,10 @@ index 4e880409b06086568627f3e930159f1abb979984..48fb7302b54f8e7f5c424210b550c03d
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 05d58b17c705e6a1d779bec497fab1c4299c477c..c75fdb8d118b6b05b54693c99849440274700ecf 100644
index 9000cb06ceabbf2a0049b0ff0ef446933127e050..3a85206129ecd9570bdfb5453c57dc8fac618587 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2706,6 +2706,8 @@ public class PurpurWorldConfig {
@@ -2710,6 +2710,8 @@ public class PurpurWorldConfig {
public boolean villagerAllowTrading = true;
public boolean villagerAlwaysDropExp = false;
public int villagerMinimumDemand = 0;
@@ -122,7 +122,7 @@ index 05d58b17c705e6a1d779bec497fab1c4299c477c..c75fdb8d118b6b05b54693c998494402
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2727,6 +2729,17 @@ public class PurpurWorldConfig {
@@ -2731,6 +2733,17 @@ public class PurpurWorldConfig {
villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading);
villagerAlwaysDropExp = getBoolean("mobs.villager.always-drop-exp", villagerAlwaysDropExp);
villagerMinimumDemand = getInt("mobs.villager.minimum-demand", villagerMinimumDemand);

View File

@@ -17,10 +17,10 @@ index 98373e013748817209b811d4adbb40a8787242a6..567b501f4de7556e55e2418d2f5700b4
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c75fdb8d118b6b05b54693c99849440274700ecf..24be313e32bd09acfd515c766117ed72860597a8 100644
index 3a85206129ecd9570bdfb5453c57dc8fac618587..82d04c5f4705de059507c7633ab276a79152b6b5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2708,6 +2708,7 @@ public class PurpurWorldConfig {
@@ -2712,6 +2712,7 @@ public class PurpurWorldConfig {
public int villagerMinimumDemand = 0;
public boolean villagerLobotomizeEnabled = false;
public int villagerLobotomizeCheckInterval = 100;
@@ -28,7 +28,7 @@ index c75fdb8d118b6b05b54693c99849440274700ecf..24be313e32bd09acfd515c766117ed72
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2740,6 +2741,7 @@ public class PurpurWorldConfig {
@@ -2744,6 +2745,7 @@ public class PurpurWorldConfig {
}
villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled);
villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval);

View File

@@ -17,10 +17,10 @@ index 35cfa366baf6747105faa93f1220bb9cc31a5bd5..ff3a6755d04f2280a36bd363ab1722e0
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 24be313e32bd09acfd515c766117ed72860597a8..30ef79eb2b77083be2a705558b65d563d00e8899 100644
index 82d04c5f4705de059507c7633ab276a79152b6b5..f4fa610e93b5c74ca4c804bc13b5edca4019ce90 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -983,8 +983,10 @@ public class PurpurWorldConfig {
@@ -987,8 +987,10 @@ public class PurpurWorldConfig {
}
public boolean spawnerDeactivateByRedstone = false;

View File

@@ -64,10 +64,10 @@ index 5c5a3b169795bf8a527b316c666cbc2105c66622..020afeca950d2c7fb6c7b179d424548f
return InteractionResult.SUCCESS;
} else {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1735589ef14d87b5f4f96a400ec8ca91936b0482..144e3e7a5d03acd51b846d0b75d0b32d414843c3 100644
index 71b803f244ec392898db423652b35e8603507f2f..a060ca451f6c0b1df4f87cbc98b05a8dc3bb2c0f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -728,9 +728,13 @@ public class PurpurWorldConfig {
@@ -732,9 +732,13 @@ public class PurpurWorldConfig {
public boolean anvilAllowColors = false;
public boolean anvilColorsUseMiniMessage;

View File

@@ -24,10 +24,10 @@ index 70997b83fd7631ebf3c5bda67ef77bef605eb464..a8c227e2cb62cfa8225798329cde9078
return world.purpurConfig.turtleEggsBypassMobGriefing || world.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING);
// Purpur end
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 144e3e7a5d03acd51b846d0b75d0b32d414843c3..7e5f074a8a6f97bde0e18131d27d6187a232daec 100644
index a060ca451f6c0b1df4f87cbc98b05a8dc3bb2c0f..77ec7bfd2b31d7346ddc56f8808904be624dc6ef 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1009,12 +1009,14 @@ public class PurpurWorldConfig {
@@ -1013,12 +1013,14 @@ public class PurpurWorldConfig {
public boolean turtleEggsBreakFromMinecarts = true;
public boolean turtleEggsBypassMobGriefing = false;
public int turtleEggsRandomTickCrackChance = 500;

View File

@@ -18,10 +18,10 @@ index 75df9d6d69ad5e979ab7b99435dbae1dcb901e30..6f47f6c785dc8da6b211ac87630a3d83
AABB axisalignedbb = this.getBoundingBox().inflate(10.0D, 10.0D, 10.0D);
List<Villager> list = world.getEntitiesOfClass(Villager.class, axisalignedbb);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7e5f074a8a6f97bde0e18131d27d6187a232daec..701ba05acf86a9ca345a4673af906b6c47c8aea5 100644
index 77ec7bfd2b31d7346ddc56f8808904be624dc6ef..dd39765b0b89126421834c1b9c79882347ae8a5c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2719,6 +2719,8 @@ public class PurpurWorldConfig {
@@ -2723,6 +2723,8 @@ public class PurpurWorldConfig {
public boolean villagerLobotomizeEnabled = false;
public int villagerLobotomizeCheckInterval = 100;
public boolean villagerDisplayTradeItem = true;
@@ -30,7 +30,7 @@ index 7e5f074a8a6f97bde0e18131d27d6187a232daec..701ba05acf86a9ca345a4673af906b6c
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2752,6 +2754,8 @@ public class PurpurWorldConfig {
@@ -2756,6 +2758,8 @@ public class PurpurWorldConfig {
villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled);
villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval);
villagerDisplayTradeItem = getBoolean("mobs.villager.display-trade-item", villagerDisplayTradeItem);

View File

@@ -48,7 +48,7 @@ index 17a7fab20b4174273354fdc2fc700b7f2d669a98..a7578e112e80ed2585a7eb4fff9542f6
return BlockPathTypes.STICKY_HONEY;
} else if (blockState.is(Blocks.COCOA)) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 8a098947e748e3abd798dcfffd360b9d65c41695..bab204904dd8e7bc949d83c59d075cc6f90ce60c 100644
index 6160699f5d680b65a85bace844bd694153688b3c..431e81c64219412a5a0dca1ac0a6a1b1751567f7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -205,8 +205,10 @@ public class PurpurConfig {
@@ -63,10 +63,10 @@ index 8a098947e748e3abd798dcfffd360b9d65c41695..bab204904dd8e7bc949d83c59d075cc6
public static boolean advancementOnlyBroadcastToAffectedPlayer = false;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 701ba05acf86a9ca345a4673af906b6c47c8aea5..657e22e8c774992212a43470a512487ea5e06906 100644
index dd39765b0b89126421834c1b9c79882347ae8a5c..2b405b145c4369933f2aee5262bcee1a4c077978 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1004,6 +1004,11 @@ public class PurpurWorldConfig {
@@ -1008,6 +1008,11 @@ public class PurpurWorldConfig {
spongeAbsorbsLava = getBoolean("blocks.sponge.absorbs-lava", spongeAbsorbsLava);
}

View File

@@ -18,10 +18,10 @@ index 12ffb5714f088f4aeafa1ad6a36f5b64a86c4c96..293aa5c8f91a997045f8d9f2951fe3a7
entity.hurt(world.damageSources().hotFloor(), 1.0F);
org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = null; // CraftBukkit
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 657e22e8c774992212a43470a512487ea5e06906..403295ff6871ae70bc2839d0bf74fe19de3fadaf 100644
index 2b405b145c4369933f2aee5262bcee1a4c077978..2a1740fe8aab03c59427b01277068e6c87d6b241 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -935,6 +935,13 @@ public class PurpurWorldConfig {
@@ -939,6 +939,13 @@ public class PurpurWorldConfig {
pistonBlockPushLimit = getInt("blocks.piston.block-push-limit", pistonBlockPushLimit);
}

View File

@@ -22,10 +22,10 @@ index 14e00c7feb1c051d56a3d27cd00dcef072dd771a..4952fb1aaaafb55baa0fddb389f966a1
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 403295ff6871ae70bc2839d0bf74fe19de3fadaf..6c4d46c772f18cc230d980e7f8625942e7375dc9 100644
index 2a1740fe8aab03c59427b01277068e6c87d6b241..aaeceeb1969c6c222a0d252d207e01762b7fb27c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -916,9 +916,11 @@ public class PurpurWorldConfig {
@@ -920,9 +920,11 @@ public class PurpurWorldConfig {
public boolean mobsSpawnOnPackedIce = true;
public boolean mobsSpawnOnBlueIce = true;

View File

@@ -94,10 +94,10 @@ index 78fc17c45e566e0844ffbebb85044b9bfe64c6db..64a5e000adbfa5de2abc32ea9182847d
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6c4d46c772f18cc230d980e7f8625942e7375dc9..c2d0e8259b34a5a4e0a5a047e1b504f6c7e4f19a 100644
index aaeceeb1969c6c222a0d252d207e01762b7fb27c..2120da75446b48d58f16c187a01d73e4e1eb7a1e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2403,6 +2403,7 @@ public class PurpurWorldConfig {
@@ -2407,6 +2407,7 @@ public class PurpurWorldConfig {
public boolean skeletonTakeDamageFromWater = false;
public boolean skeletonAlwaysDropExp = false;
public double skeletonHeadVisibilityPercent = 0.5D;
@@ -105,7 +105,7 @@ index 6c4d46c772f18cc230d980e7f8625942e7375dc9..c2d0e8259b34a5a4e0a5a047e1b504f6
private void skeletonSettings() {
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
@@ -2416,6 +2417,7 @@ public class PurpurWorldConfig {
@@ -2420,6 +2421,7 @@ public class PurpurWorldConfig {
skeletonTakeDamageFromWater = getBoolean("mobs.skeleton.takes-damage-from-water", skeletonTakeDamageFromWater);
skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp);
skeletonHeadVisibilityPercent = getDouble("mobs.skeleton.head-visibility-percent", skeletonHeadVisibilityPercent);

View File

@@ -146,10 +146,10 @@ index 65e1381bb2d10bd212463feb602c60f8fdb9ade1..b7370e64fd0d50e8725d7d5afc30af2e
+ // Purpur
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c2d0e8259b34a5a4e0a5a047e1b504f6c7e4f19a..4a4eee4090b834104bdd428ad5d6aacdb1add6be 100644
index 2120da75446b48d58f16c187a01d73e4e1eb7a1e..61081f7e117777174b064353aa6453cecbad275d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1438,6 +1438,11 @@ public class PurpurWorldConfig {
@@ -1442,6 +1442,11 @@ public class PurpurWorldConfig {
elderGuardianAlwaysDropExp = getBoolean("mobs.elder_guardian.always-drop-exp", elderGuardianAlwaysDropExp);
}

View File

@@ -18,10 +18,10 @@ index 437b44fb68bcbe81d1c431689431225b6a17a1a6..06d091b7c4df949c4abda16c4f73c194
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4a4eee4090b834104bdd428ad5d6aacdb1add6be..c786e5b8fd74cd1ff9fab14f597dac87e92dea65 100644
index 61081f7e117777174b064353aa6453cecbad275d..f31c457aa8bbccb4b9a6db9ab73eaeb2094140b7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -980,6 +980,11 @@ public class PurpurWorldConfig {
@@ -984,6 +984,11 @@ public class PurpurWorldConfig {
fixSandDuping = getBoolean("blocks.sand.fix-duping", fixSandDuping);
}

View File

@@ -29,10 +29,10 @@ index 88faea00be60a519f56f975a5311df5e1eb3e6b8..cbb726ac367be81e27d3a86643baf7c4
int i = aenumdirection.length;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c786e5b8fd74cd1ff9fab14f597dac87e92dea65..523c69b4dfc8c2fb1a6a780f64ee848a8a2d8ead 100644
index f31c457aa8bbccb4b9a6db9ab73eaeb2094140b7..2e1da0979b9672a4361dddf97bd8359a30c4d943 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -817,6 +817,11 @@ public class PurpurWorldConfig {
@@ -821,6 +821,11 @@ public class PurpurWorldConfig {
composterBulkProcess = getBoolean("blocks.composter.sneak-to-bulk-process", composterBulkProcess);
}

View File

@@ -18,10 +18,10 @@ index 32a303f9ac9768daf621e3aa561cd6b31e5f5dff..9c8713ef3aeb2ff203bd0328d15d80c2
org.bukkit.event.entity.EntityShootBowEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityShootBowEvent(this, this.getMainHandItem(), entityarrow.getPickupItem(), entityarrow, net.minecraft.world.InteractionHand.MAIN_HAND, 0.8F, true); // Paper
if (event.isCancelled()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7e210cfc6fb6556400c89d7f38ff8dd865168b2c..e856ec94168af165ec46eff34e7e20ddca73a6e8 100644
index 890697f97c5eb91ced0e31069c64139b99a902f1..121f08d682afad6d30e72b32950f69db5dd8b646 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2423,6 +2423,8 @@ public class PurpurWorldConfig {
@@ -2427,6 +2427,8 @@ public class PurpurWorldConfig {
public boolean skeletonAlwaysDropExp = false;
public double skeletonHeadVisibilityPercent = 0.5D;
public int skeletonFeedWitherRoses = 0;
@@ -30,7 +30,7 @@ index 7e210cfc6fb6556400c89d7f38ff8dd865168b2c..e856ec94168af165ec46eff34e7e20dd
private void skeletonSettings() {
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
@@ -2437,6 +2439,18 @@ public class PurpurWorldConfig {
@@ -2441,6 +2443,18 @@ public class PurpurWorldConfig {
skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp);
skeletonHeadVisibilityPercent = getDouble("mobs.skeleton.head-visibility-percent", skeletonHeadVisibilityPercent);
skeletonFeedWitherRoses = getInt("mobs.skeleton.feed-wither-roses", skeletonFeedWitherRoses);

View File

@@ -44,10 +44,10 @@ index 1c136aa0d6dcad18b5e6e2084d2c166105d54a3a..e95540122ae6a486ce12a5f50fb4d2d0
private boolean allayConsidersItemEqual(ItemStack stack, ItemStack stack2) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e856ec94168af165ec46eff34e7e20ddca73a6e8..43b34d77e5f2d2418c3ed8ca2b17f86722739f91 100644
index 121f08d682afad6d30e72b32950f69db5dd8b646..1b5d3d214b7390cb960f5ee180a21a2bc54e8123 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1066,10 +1066,13 @@ public class PurpurWorldConfig {
@@ -1070,10 +1070,13 @@ public class PurpurWorldConfig {
public boolean allayRidable = false;
public boolean allayRidableInWater = true;
public boolean allayControllable = true;

View File

@@ -40,10 +40,10 @@ index c2309434b4d48a44587590623ac98dbf997b9578..6f723171fa71d74b351b5cf0cd167bb6
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 43b34d77e5f2d2418c3ed8ca2b17f86722739f91..e05110d98e82b2aa0d91f7579068f10ebdf350d5 100644
index 1b5d3d214b7390cb960f5ee180a21a2bc54e8123..eb35509626914354af3b6a54387b5e9673766697 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1675,6 +1675,7 @@ public class PurpurWorldConfig {
@@ -1679,6 +1679,7 @@ public class PurpurWorldConfig {
public boolean glowSquidsCanFly = false;
public boolean glowSquidTakeDamageFromWater = false;
public boolean glowSquidAlwaysDropExp = false;
@@ -51,7 +51,7 @@ index 43b34d77e5f2d2418c3ed8ca2b17f86722739f91..e05110d98e82b2aa0d91f7579068f10e
private void glowSquidSettings() {
glowSquidRidable = getBoolean("mobs.glow_squid.ridable", glowSquidRidable);
glowSquidControllable = getBoolean("mobs.glow_squid.controllable", glowSquidControllable);
@@ -1682,6 +1683,7 @@ public class PurpurWorldConfig {
@@ -1686,6 +1687,7 @@ public class PurpurWorldConfig {
glowSquidsCanFly = getBoolean("mobs.glow_squid.can-fly", glowSquidsCanFly);
glowSquidTakeDamageFromWater = getBoolean("mobs.glow_squid.takes-damage-from-water", glowSquidTakeDamageFromWater);
glowSquidAlwaysDropExp = getBoolean("mobs.glow_squid.always-drop-exp", glowSquidAlwaysDropExp);

View File

@@ -24,10 +24,10 @@ index e241ae250f4f04a17ef2c583d00b065a4ca56a4c..02b567e4e808e1a809d285ef39e1abc5
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5f31dc0eae48b3ba51ec5db59ca1482da49caec5..9c364e2c687e9708b391cd319203636ebaacb3da 100644
index 7e89940e9add24fcd13287dc1afe1089260bd718..6943202332bf20392afc63617584ce2a07faa0dd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1331,6 +1331,7 @@ public class PurpurWorldConfig {
@@ -1335,6 +1335,7 @@ public class PurpurWorldConfig {
public boolean creeperHealthRadius = false;
public boolean creeperAlwaysDropExp = false;
public double creeperHeadVisibilityPercent = 0.5D;
@@ -35,7 +35,7 @@ index 5f31dc0eae48b3ba51ec5db59ca1482da49caec5..9c364e2c687e9708b391cd319203636e
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -1349,6 +1350,7 @@ public class PurpurWorldConfig {
@@ -1353,6 +1354,7 @@ public class PurpurWorldConfig {
creeperHealthRadius = getBoolean("mobs.creeper.health-impacts-explosion", creeperHealthRadius);
creeperAlwaysDropExp = getBoolean("mobs.creeper.always-drop-exp", creeperAlwaysDropExp);
creeperHeadVisibilityPercent = getDouble("mobs.creeper.head-visibility-percent", creeperHeadVisibilityPercent);

View File

@@ -17,7 +17,7 @@ index d18304939e062453cf8ca7d6c1b377930f69174e..f31f4ecf8fb07f6cf01eea0aa14f5d45
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9c364e2c687e9708b391cd319203636ebaacb3da..3b1e8d6e9b0a7fc5dddd2f033819c1bfe2410212 100644
index 6943202332bf20392afc63617584ce2a07faa0dd..3bccb20fb131878c3bbbefa833a8b64a5dc599d6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -421,6 +421,7 @@ public class PurpurWorldConfig {
@@ -28,7 +28,7 @@ index 9c364e2c687e9708b391cd319203636ebaacb3da..3b1e8d6e9b0a7fc5dddd2f033819c1bf
public boolean totemOfUndyingWorksInInventory = false;
public boolean playerFixStuckPortal = false;
public boolean creativeOnePunch = false;
@@ -450,6 +451,7 @@ public class PurpurWorldConfig {
@@ -452,6 +453,7 @@ public class PurpurWorldConfig {
playerDeathExpDropEquation = getString("gameplay-mechanics.player.exp-dropped-on-death.equation", playerDeathExpDropEquation);
playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax);
teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder);

View File

@@ -17,10 +17,10 @@ index a4fc0e9cb52bb5937effe5cd09f8bbefcf8dd531..e3fe5f18c77e36479eaeb7edfd2a3eb9
// Purpur start
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3b1e8d6e9b0a7fc5dddd2f033819c1bfe2410212..0578229216f0d2ede202f1ea6837f4d95a977c3b 100644
index 3bccb20fb131878c3bbbefa833a8b64a5dc599d6..74e094982005e4f6044e063b1e168a96c7e7d976 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -860,6 +860,7 @@ public class PurpurWorldConfig {
@@ -864,6 +864,7 @@ public class PurpurWorldConfig {
public double basedEndCrystalExplosionPower = 6.0D;
public boolean basedEndCrystalExplosionFire = false;
public net.minecraft.world.level.Level.ExplosionInteraction basedEndCrystalExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK;
@@ -28,7 +28,7 @@ index 3b1e8d6e9b0a7fc5dddd2f033819c1bfe2410212..0578229216f0d2ede202f1ea6837f4d9
private void endCrystalSettings() {
if (PurpurConfig.version < 31) {
if ("DESTROY".equals(getString("blocks.end-crystal.baseless.explosion-effect", baselessEndCrystalExplosionEffect.name()))) {
@@ -887,6 +888,7 @@ public class PurpurWorldConfig {
@@ -891,6 +892,7 @@ public class PurpurWorldConfig {
log(Level.SEVERE, "Unknown value for `blocks.end-crystal.base.explosion-effect`! Using default of `BLOCK`");
basedEndCrystalExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK;
}

View File

@@ -36,10 +36,10 @@ index c787019b5cbadec81dd33ef4021708b9b423485a..8f82b0ce87afc8890c5b3386d5f6e22c
BeaconBlockEntity.playSound(world, pos, SoundEvents.BEACON_AMBIENT);
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0578229216f0d2ede202f1ea6837f4d95a977c3b..98cd8e066da2efe3e0192377c17171b66ef4377d 100644
index 74e094982005e4f6044e063b1e168a96c7e7d976..820fe69d6eaa74c1d903770e56e7b436928a7fb4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -754,11 +754,13 @@ public class PurpurWorldConfig {
@@ -758,11 +758,13 @@ public class PurpurWorldConfig {
public int beaconLevelTwo = 30;
public int beaconLevelThree = 40;
public int beaconLevelFour = 50;

View File

@@ -137,10 +137,10 @@ index 6b400a4759c8c8612a3b5c96ca0d87ef9dc71435..992de1ab2c00a2545a857f1b5533926b
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a1e8bcfcfc044acc9752b575fb260228742d12aa..157c5ce26015cabd5a007cf7444c8255db1a0b0f 100644
index 4018817ad32fa06befd4fd90f1f06d0231a78bbe..0db8a1a51c857a3930d0b20028964fb355d8e5b4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -813,8 +813,20 @@ public class PurpurWorldConfig {
@@ -817,8 +817,20 @@ public class PurpurWorldConfig {
}
public boolean cactusBreaksFromSolidNeighbors = true;