Add option to disable scissor damage in liquid (#1295)

Co-authored-by: granny <granny@purpurmc.org>
This commit is contained in:
JustDoom
2023-03-22 16:15:48 +10:00
committed by GitHub
parent be8f6be0b4
commit 20115a4b2e
98 changed files with 436 additions and 432 deletions

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Dont run with scissors!
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index e28bc6ad060b487b2223379e0187c082c0e69f7f..fb4852272753747ba925962e51cff848fd1af9e3 100644
index e28bc6ad060b487b2223379e0187c082c0e69f7f..2bfa3ee8fba634c33545b68dbd5d49fa1984ed55 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1686,6 +1686,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -13,7 +13,7 @@ index e28bc6ad060b487b2223379e0187c082c0e69f7f..fb4852272753747ba925962e51cff848
}
+ // Purpur Start
+ if (this.player.level.purpurConfig.dontRunWithScissors && this.player.isSprinting() && (isScissor(this.player.getItemInHand(InteractionHand.MAIN_HAND)) || isScissor(this.player.getItemInHand(InteractionHand.OFF_HAND))) && (int) (Math.random() * 10) == 0) {
+ if (this.player.level.purpurConfig.dontRunWithScissors && this.player.isSprinting() && !(this.player.level.purpurConfig.ignoreScissorsInWater && this.player.isInWater()) && !(this.player.level.purpurConfig.ignoreScissorsInLava && this.player.isInLava()) && (isScissor(this.player.getItemInHand(InteractionHand.MAIN_HAND)) || isScissor(this.player.getItemInHand(InteractionHand.OFF_HAND))) && (int) (Math.random() * 10) == 0) {
+ this.player.hurt(this.player.damageSources().magic(), (float) this.player.level.purpurConfig.scissorsRunningDamage);
+ if (!org.purpurmc.purpur.PurpurConfig.dontRunWithScissors.isBlank()) this.player.sendActionBarMessage(org.purpurmc.purpur.PurpurConfig.dontRunWithScissors);
+ }
@@ -61,23 +61,27 @@ index 5b0625955e2a65f689c8a128d73170bc1f0c8025..c8097ec7887ac8e689b6843d9ff7744d
public static String serverModName = "Purpur";
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d7a87f582ba3f9f1af1605313208212011c53c58..8d0e2bb1f4e58339768cb1dad878142e33ad84bd 100644
index 91aefbfb74acb1eb94751507cee98e7291fd2b82..5161f70dbb5eda657b0738065777bd158b5ed633 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -199,6 +199,8 @@ public class PurpurWorldConfig {
@@ -199,6 +199,10 @@ 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 boolean ignoreScissorsInWater = false;
+ public boolean ignoreScissorsInLava = false;
+ public double scissorsRunningDamage = 1D;
private void itemSettings() {
itemImmuneToCactus.clear();
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
@@ -236,6 +238,8 @@ public class PurpurWorldConfig {
@@ -236,6 +240,10 @@ public class PurpurWorldConfig {
Item item = BuiltInRegistries.ITEM.get(new ResourceLocation(key.toString()));
if (item != Items.AIR) itemImmuneToLightning.add(item);
});
+ dontRunWithScissors = getBoolean("gameplay-mechanics.item.shears.damage-if-sprinting", dontRunWithScissors);
+ ignoreScissorsInWater = getBoolean("gameplay-mechanics.item.shears.ignore-in-water", ignoreScissorsInWater);
+ ignoreScissorsInLava = getBoolean("gameplay-mechanics.item.shears.ignore-in-lava", ignoreScissorsInLava);
+ scissorsRunningDamage = getDouble("gameplay-mechanics.item.shears.sprinting-damage", scissorsRunningDamage);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] One Punch Man!
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 41b03010c42d4692187803e3debc01c5182bac3a..4ce236340a5d22a3017f1c8ff71e85f44d204234 100644
index 11f7902e30771d5c279e0116b813295a5daf3510..999d5fce5a4647a235717fe6f436b04add0bd26a 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2235,6 +2235,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -30,10 +30,10 @@ index 41b03010c42d4692187803e3debc01c5182bac3a..4ce236340a5d22a3017f1c8ff71e85f4
if (human) {
// PAIL: Be sure to drag all this code from the EntityHuman subclass each update.
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0eef3049df089ec17c213e4a4ab4c23815775dc4..0de6977b939349f8d2a6a481db5dd049acf97d69 100644
index 5161f70dbb5eda657b0738065777bd158b5ed633..462361b4f7599f0289bf7587a9f23d1d0e787913 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -344,6 +344,7 @@ public class PurpurWorldConfig {
@@ -348,6 +348,7 @@ public class PurpurWorldConfig {
public boolean teleportIfOutsideBorder = false;
public boolean totemOfUndyingWorksInInventory = false;
public boolean playerFixStuckPortal = false;
@@ -41,7 +41,7 @@ index 0eef3049df089ec17c213e4a4ab4c23815775dc4..0de6977b939349f8d2a6a481db5dd049
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -362,6 +363,7 @@ public class PurpurWorldConfig {
@@ -366,6 +367,7 @@ public class PurpurWorldConfig {
teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder);
totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory);
playerFixStuckPortal = getBoolean("gameplay-mechanics.player.fix-stuck-in-portal", playerFixStuckPortal);

View File

@@ -43,12 +43,12 @@ index 749ab72edc0d2e9c6f1161415ab8d59d3d6ca976..897c202c0905040072a06fdfa2032a7f
// Paper end
if (user instanceof net.minecraft.server.level.ServerPlayer) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0de6977b939349f8d2a6a481db5dd049acf97d69..3afce466836c9c9961fdabd749903869dd5ace91 100644
index 462361b4f7599f0289bf7587a9f23d1d0e787913..0ee53ad66d1e2dbf16fb0d982cc2ed845e58fa28 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -201,6 +201,10 @@ public class PurpurWorldConfig {
public List<Item> itemImmuneToLightning = new ArrayList<>();
public boolean dontRunWithScissors = false;
@@ -203,6 +203,10 @@ public class PurpurWorldConfig {
public boolean ignoreScissorsInWater = false;
public boolean ignoreScissorsInLava = false;
public double scissorsRunningDamage = 1D;
+ public float enderPearlDamage = 5.0F;
+ public int enderPearlCooldown = 20;
@@ -57,9 +57,9 @@ index 0de6977b939349f8d2a6a481db5dd049acf97d69..3afce466836c9c9961fdabd749903869
private void itemSettings() {
itemImmuneToCactus.clear();
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
@@ -240,6 +244,10 @@ public class PurpurWorldConfig {
});
dontRunWithScissors = getBoolean("gameplay-mechanics.item.shears.damage-if-sprinting", dontRunWithScissors);
@@ -244,6 +248,10 @@ public class PurpurWorldConfig {
ignoreScissorsInWater = getBoolean("gameplay-mechanics.item.shears.ignore-in-water", ignoreScissorsInWater);
ignoreScissorsInLava = getBoolean("gameplay-mechanics.item.shears.ignore-in-lava", ignoreScissorsInLava);
scissorsRunningDamage = getDouble("gameplay-mechanics.item.shears.sprinting-damage", scissorsRunningDamage);
+ enderPearlDamage = (float) getDouble("gameplay-mechanics.item.ender-pearl.damage", enderPearlDamage);
+ enderPearlCooldown = getInt("gameplay-mechanics.item.ender-pearl.cooldown", enderPearlCooldown);

View File

@@ -18,10 +18,10 @@ index bc2c592a416c64619527bf5d1040f4a2523b2bfb..64dc052f41e0ef96753e0ffd3d6517fc
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3afce466836c9c9961fdabd749903869dd5ace91..dde6bec7a83f7c11d234b09937680c02e4b8dd69 100644
index 0ee53ad66d1e2dbf16fb0d982cc2ed845e58fa28..c4c5b70736f0a38e5d1b4a14640e64512a26a3ce 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -353,6 +353,7 @@ public class PurpurWorldConfig {
@@ -357,6 +357,7 @@ public class PurpurWorldConfig {
public boolean totemOfUndyingWorksInInventory = false;
public boolean playerFixStuckPortal = false;
public boolean creativeOnePunch = false;
@@ -29,7 +29,7 @@ index 3afce466836c9c9961fdabd749903869dd5ace91..dde6bec7a83f7c11d234b09937680c02
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -372,6 +373,7 @@ public class PurpurWorldConfig {
@@ -376,6 +377,7 @@ public class PurpurWorldConfig {
totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory);
playerFixStuckPortal = getBoolean("gameplay-mechanics.player.fix-stuck-in-portal", playerFixStuckPortal);
creativeOnePunch = getBoolean("gameplay-mechanics.player.one-punch-in-creative", creativeOnePunch);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Config Enderman aggressiveness towards Endermites
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index 9e60e5d8a2005669c3187cdd84d8d7ef8f5da6be..38a483298b73c31d0c3d292a4c796c7b938c6961 100644
index e7308cf659fba62669753ea53e52f40fb96976b1..c702f4b6534d0bf2e9d763bedbf58bf2a3190b5d 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -128,7 +128,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -18,10 +18,10 @@ index 9e60e5d8a2005669c3187cdd84d8d7ef8f5da6be..38a483298b73c31d0c3d292a4c796c7b
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index dde6bec7a83f7c11d234b09937680c02e4b8dd69..fb0a15654b5545ff74116215d5a52f782a1ff4b8 100644
index c4c5b70736f0a38e5d1b4a14640e64512a26a3ce..4f098761f1f7b753ab8d9f96458a5f344e93aa42 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -993,6 +993,8 @@ public class PurpurWorldConfig {
@@ -997,6 +997,8 @@ public class PurpurWorldConfig {
public boolean endermanDespawnEvenWithBlock = false;
public boolean endermanBypassMobGriefing = false;
public boolean endermanTakeDamageFromWater = true;
@@ -30,7 +30,7 @@ index dde6bec7a83f7c11d234b09937680c02e4b8dd69..fb0a15654b5545ff74116215d5a52f78
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -1002,11 +1004,17 @@ public class PurpurWorldConfig {
@@ -1006,11 +1008,17 @@ public class PurpurWorldConfig {
set("mobs.enderman.attributes.max-health", null);
set("mobs.enderman.attributes.max_health", oldValue);
}

View File

@@ -7,7 +7,7 @@ Prevents Enderman from becoming aggresive towards players that are wearing a Dra
Adds functionality to a useless item!
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index 38a483298b73c31d0c3d292a4c796c7b938c6961..2ac667ec7bdc59363af0bd2209f6e456372d73e7 100644
index c702f4b6534d0bf2e9d763bedbf58bf2a3190b5d..60720f0bad840d35c9d0f1fc327f6069b348a41a 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -265,7 +265,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -20,10 +20,10 @@ index 38a483298b73c31d0c3d292a4c796c7b938c6961..2ac667ec7bdc59363af0bd2209f6e456
} else {
Vec3 vec3d = player.getViewVector(1.0F).normalize();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index fb0a15654b5545ff74116215d5a52f782a1ff4b8..7be8a006914ac746e92f683b785eef4a5de308e2 100644
index 4f098761f1f7b753ab8d9f96458a5f344e93aa42..5668ee41a5f904169b6bcf24bf73ec0227876510 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -995,6 +995,8 @@ public class PurpurWorldConfig {
@@ -999,6 +999,8 @@ public class PurpurWorldConfig {
public boolean endermanTakeDamageFromWater = true;
public boolean endermanAggroEndermites = true;
public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false;
@@ -32,7 +32,7 @@ index fb0a15654b5545ff74116215d5a52f782a1ff4b8..7be8a006914ac746e92f683b785eef4a
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -1015,6 +1017,8 @@ public class PurpurWorldConfig {
@@ -1019,6 +1021,8 @@ public class PurpurWorldConfig {
endermanTakeDamageFromWater = getBoolean("mobs.enderman.takes-damage-from-water", endermanTakeDamageFromWater);
endermanAggroEndermites = getBoolean("mobs.enderman.aggressive-towards-endermites", endermanAggroEndermites);
endermanAggroEndermitesOnlyIfPlayerSpawned = getBoolean("mobs.enderman.aggressive-towards-endermites-only-spawned-by-player-thrown-ender-pearls", endermanAggroEndermitesOnlyIfPlayerSpawned);

View File

@@ -32,10 +32,10 @@ index 185749df0c7c08f625145a29810ffed6042550bb..3f3e6633a3de2ceb5a082777a24ff045
this.caravanHead.caravanTail = this;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ab07a785f7017882f3ee31ee32625fae8392c7c5..e8c890ee982489206b5e8d36786c48bdcf66968f 100644
index 8223228a721ce26eb2a7a955cb6eff40040d464f..92b0823f51e81bd9fb6b402d840be3d45483d99a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1327,6 +1327,7 @@ public class PurpurWorldConfig {
@@ -1331,6 +1331,7 @@ public class PurpurWorldConfig {
public double llamaMovementSpeedMax = 0.175D;
public int llamaBreedingTicks = 6000;
public boolean llamaTakeDamageFromWater = false;
@@ -43,7 +43,7 @@ index ab07a785f7017882f3ee31ee32625fae8392c7c5..e8c890ee982489206b5e8d36786c48bd
private void llamaSettings() {
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
@@ -1346,6 +1347,7 @@ public class PurpurWorldConfig {
@@ -1350,6 +1351,7 @@ public class PurpurWorldConfig {
llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax);
llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks);
llamaTakeDamageFromWater = getBoolean("mobs.llama.takes-damage-from-water", llamaTakeDamageFromWater);

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Config to make Creepers explode on death
Creepers exploded after being killed in the alpha days. This brings that back.
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
index 7a16984f0eb5f48e16dd718f44e39c7cc4a28d9a..1d099bfb7b35062178d65a0808ba99b0da5ef885 100644
index 8db007569fc8a5085071813e1476a27d0f1cff7c..8568be97dcd5bb269e0204faf8b42dc8cb152282 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -63,6 +63,7 @@ public class Creeper extends Monster implements PowerableMob {
@@ -50,10 +50,10 @@ index 7a16984f0eb5f48e16dd718f44e39c7cc4a28d9a..1d099bfb7b35062178d65a0808ba99b0
private void spawnLingeringCloud() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1c6bb583b73a02957cb85fa9ecd0b1edc53c3d0d..bd298eed71a02ccfbbd97ce573ebc9c6976f1943 100644
index 92b0823f51e81bd9fb6b402d840be3d45483d99a..01622381405083485521fea827c67fd7c2bf66a4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -847,6 +847,7 @@ public class PurpurWorldConfig {
@@ -851,6 +851,7 @@ public class PurpurWorldConfig {
public boolean creeperAllowGriefing = true;
public boolean creeperBypassMobGriefing = false;
public boolean creeperTakeDamageFromWater = false;
@@ -61,7 +61,7 @@ index 1c6bb583b73a02957cb85fa9ecd0b1edc53c3d0d..bd298eed71a02ccfbbd97ce573ebc9c6
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -861,6 +862,7 @@ public class PurpurWorldConfig {
@@ -865,6 +866,7 @@ public class PurpurWorldConfig {
creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing);
creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing);
creeperTakeDamageFromWater = getBoolean("mobs.creeper.takes-damage-from-water", creeperTakeDamageFromWater);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable ravager griefable blocks list
diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
index b1ef22e46db43f0c5b8bf3d2463850bba025d086..39f6b2a5fc0a37a96098a75f1972e7316572216f 100644
index 1c28e0f5b96114b2886fcf670ce5ce23526868f3..ee24dd327182387f6547532963972846acfb4da3 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
@@ -205,7 +205,7 @@ public class Ravager extends Raider {
@@ -31,10 +31,10 @@ index f0fbd16c9b9c3772492c32b3924e99e147e412f0..c0c3bba1555e356c0af7e79e1ecb2aa0
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index bd298eed71a02ccfbbd97ce573ebc9c6976f1943..dcc2339369f233c8d02e7c4f8caf8624b89ea49d 100644
index 01622381405083485521fea827c67fd7c2bf66a4..657200645df0547912abe0dd5700c1677e203b60 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1699,6 +1699,7 @@ public class PurpurWorldConfig {
@@ -1703,6 +1703,7 @@ public class PurpurWorldConfig {
public double ravagerMaxHealth = 100.0D;
public boolean ravagerBypassMobGriefing = false;
public boolean ravagerTakeDamageFromWater = false;
@@ -42,7 +42,7 @@ index bd298eed71a02ccfbbd97ce573ebc9c6976f1943..dcc2339369f233c8d02e7c4f8caf8624
private void ravagerSettings() {
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
@@ -1711,6 +1712,23 @@ public class PurpurWorldConfig {
@@ -1715,6 +1716,23 @@ public class PurpurWorldConfig {
ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth);
ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing);
ravagerTakeDamageFromWater = getBoolean("mobs.ravager.takes-damage-from-water", ravagerTakeDamageFromWater);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Sneak to bulk process composter
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
index 58b093bb1de78ee3b3b2ea364aa50474883f443a..2fd89736091bda7005ef27e42a2aad0df27fa3b5 100644
index 0a3eb5e929c605d9eb7369de8ade8b49951f5d37..b69277b2ce0b5e4fd5cc5c21d07f529a16d21cc6 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -568,7 +568,7 @@ public class ServerPlayerGameMode {
@@ -102,10 +102,10 @@ index ae90e86327957bb784e2d81694ee7eea288bb455..c5e4bc4bbeacd4875996ba54e795689f
int i = (Integer) state.getValue(ComposterBlock.LEVEL);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index dcc2339369f233c8d02e7c4f8caf8624b89ea49d..13025266f375a3cf4af4ba352ce64b9a412e4bcf 100644
index 657200645df0547912abe0dd5700c1677e203b60..ee0638c946845efeec8b933d2835ce2e996bb72c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -481,6 +481,11 @@ public class PurpurWorldConfig {
@@ -485,6 +485,11 @@ public class PurpurWorldConfig {
chestOpenWithBlockOnTop = getBoolean("blocks.chest.open-with-solid-block-on-top", chestOpenWithBlockOnTop);
}

View File

@@ -18,10 +18,10 @@ index e017da4617a62169d8888b8f86e6b3abc0ad1ba0..53f1e0b0f982054c9056f0fe27931bb7
j = this.levelData.getDayTime() + 24000L;
TimeSkipEvent event = new TimeSkipEvent(this.getWorld(), TimeSkipEvent.SkipReason.NIGHT_SKIP, (j - j % 24000L) - this.getDayTime());
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 13025266f375a3cf4af4ba352ce64b9a412e4bcf..8ae7369fa0d951a6562b2484a5f6e9be28d9a73d 100644
index ee0638c946845efeec8b933d2835ce2e996bb72c..12fa98f0a2e2579e7ca4c749b53302dfcd2294a6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -356,6 +356,7 @@ public class PurpurWorldConfig {
@@ -360,6 +360,7 @@ public class PurpurWorldConfig {
public boolean playerFixStuckPortal = false;
public boolean creativeOnePunch = false;
public boolean playerSleepNearMonsters = false;
@@ -29,7 +29,7 @@ index 13025266f375a3cf4af4ba352ce64b9a412e4bcf..8ae7369fa0d951a6562b2484a5f6e9be
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -376,6 +377,7 @@ public class PurpurWorldConfig {
@@ -380,6 +381,7 @@ public class PurpurWorldConfig {
playerFixStuckPortal = getBoolean("gameplay-mechanics.player.fix-stuck-in-portal", playerFixStuckPortal);
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 64c8890a54a10abd454a62671fbabfcf9720b7c0..e06f3ee85dde587f1146d4a3d70e8a2e
this.openTradingScreen(player, this.getDisplayName(), 1);
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f875df82b1b92ddcf8a23a021b7d77a4a5802ce9..7c2f2b5bc48d1c1d34ad9b1b265be97f1423c36e 100644
index 12fa98f0a2e2579e7ca4c749b53302dfcd2294a6..442554da3ea74845e9e7a97dea9f497caa48e78a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2117,6 +2117,7 @@ public class PurpurWorldConfig {
@@ -2121,6 +2121,7 @@ public class PurpurWorldConfig {
public boolean villagerClericFarmersThrowWarts = true;
public boolean villagerBypassMobGriefing = false;
public boolean villagerTakeDamageFromWater = false;
@@ -42,7 +42,7 @@ index f875df82b1b92ddcf8a23a021b7d77a4a5802ce9..7c2f2b5bc48d1c1d34ad9b1b265be97f
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2135,6 +2136,7 @@ public class PurpurWorldConfig {
@@ -2139,6 +2140,7 @@ public class PurpurWorldConfig {
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing);
villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater);
@@ -50,7 +50,7 @@ index f875df82b1b92ddcf8a23a021b7d77a4a5802ce9..7c2f2b5bc48d1c1d34ad9b1b265be97f
}
public boolean vindicatorRidable = false;
@@ -2164,6 +2166,7 @@ public class PurpurWorldConfig {
@@ -2168,6 +2170,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderFollowEmeraldBlock = false;
public boolean wanderingTraderCanBeLeashed = false;
public boolean wanderingTraderTakeDamageFromWater = false;
@@ -58,7 +58,7 @@ index f875df82b1b92ddcf8a23a021b7d77a4a5802ce9..7c2f2b5bc48d1c1d34ad9b1b265be97f
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -2177,6 +2180,7 @@ public class PurpurWorldConfig {
@@ -2181,6 +2184,7 @@ public class PurpurWorldConfig {
wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock);
wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed);
wanderingTraderTakeDamageFromWater = getBoolean("mobs.wandering_trader.takes-damage-from-water", wanderingTraderTakeDamageFromWater);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Break individual slabs when sneaking
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
index 2fd89736091bda7005ef27e42a2aad0df27fa3b5..0034831358550491d57360966b1458b34b0908e2 100644
index b69277b2ce0b5e4fd5cc5c21d07f529a16d21cc6..9564cfd3ff593662cf5755ae1d83dee4b627cdf9 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -389,6 +389,7 @@ public class ServerPlayerGameMode {
@@ -47,10 +47,10 @@ index 18b603d646081926343dea108b55d641df1c2c34..03ad3e45fc6d48091ac0c0ba5dc3d014
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 899e320cb3b9fddea44b1844da8ed5103f383196..8a7599c50a07c661f693f43f060c4333486d311e 100644
index b3c02579993969be9297ff2eb51b727ae3d824c1..32a269954a183fdd2377cc59bec2f13833f8de55 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -607,6 +607,11 @@ public class PurpurWorldConfig {
@@ -611,6 +611,11 @@ public class PurpurWorldConfig {
signRightClickEdit = getBoolean("blocks.sign.right-click-edit", signRightClickEdit);
}

View File

@@ -24,10 +24,10 @@ index 55c245d0dfa369dc6de2197ae37335fba4fae4ae..c9b40515f4c2ff1eedfc9510930c3bae
return false;
} else {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8a7599c50a07c661f693f43f060c4333486d311e..45dbcd413f1711aa3ec2d9e97283a1b46f0a5956 100644
index 32a269954a183fdd2377cc59bec2f13833f8de55..0d0a8eb08605326e990787c8da2df8e16bdf730c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -567,6 +567,13 @@ public class PurpurWorldConfig {
@@ -571,6 +571,13 @@ public class PurpurWorldConfig {
furnaceUseLavaFromUnderneath = getBoolean("blocks.furnace.use-lava-from-underneath", furnaceUseLavaFromUnderneath);
}

View File

@@ -67,10 +67,10 @@ index 5ba56ee7d5dd210770e6703be559055d218028d5..b5e90dc00240bccf1a6eca342729a4f4
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 98f74f037c88e147edef3604e896378677e82ba0..abab51201f9741dfdf1689d274d7cf401dec7278 100644
index 61e6cb61771294c7e69d64ec93bf5fa6092da402..f00fcbf7d1b81436268c39d4774b411f3e058e51 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -506,6 +506,16 @@ public class PurpurWorldConfig {
@@ -510,6 +510,16 @@ public class PurpurWorldConfig {
dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils);
}

View File

@@ -43,10 +43,10 @@ index 7304b2659eb45bc4bc9fa7c43e6ca07221d0fc73..d96e3fbc0fd4275c29e7e6154ef66e9e
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index abab51201f9741dfdf1689d274d7cf401dec7278..47cd5e9f266bb881bbe4fffa610c14664ce8c088 100644
index f00fcbf7d1b81436268c39d4774b411f3e058e51..651ce073ba2aabdb8bf90fb6abbd772a71de009c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -636,6 +636,13 @@ public class PurpurWorldConfig {
@@ -640,6 +640,13 @@ public class PurpurWorldConfig {
spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone);
}

View File

@@ -96,10 +96,10 @@ index 41bd45c0720751f348b5cf6eaecac4397a439857..60512d08a45670a164a9b93191aafa40
entitythrowntrident.pickup = AbstractArrow.Pickup.CREATIVE_ONLY;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 47cd5e9f266bb881bbe4fffa610c14664ce8c088..7dd8b7e559cc3414298af214d59f08bcdc338186 100644
index 651ce073ba2aabdb8bf90fb6abbd772a71de009c..b8729b006e2e55b9c914b88d7e1c5b80a96ce171 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -424,6 +424,23 @@ public class PurpurWorldConfig {
@@ -428,6 +428,23 @@ public class PurpurWorldConfig {
//}
}

View File

@@ -18,10 +18,10 @@ index 7fddb6fa8fd30ef88346a59f7867aae792f13772..40893e71fe8447b695350273bef9623b
} else {
int j = pos.getX();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7dd8b7e559cc3414298af214d59f08bcdc338186..05348bd6e516284bdec1bb1675bfcf242dcad2e7 100644
index b8729b006e2e55b9c914b88d7e1c5b80a96ce171..9d2b7b8dbcb109f28722ba511d074f93c45f855f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -617,6 +617,11 @@ public class PurpurWorldConfig {
@@ -621,6 +621,11 @@ public class PurpurWorldConfig {
powderSnowBypassMobGriefing = getBoolean("blocks.powder_snow.bypass-mob-griefing", powderSnowBypassMobGriefing);
}

View File

@@ -31,10 +31,10 @@ index 2c085c4a154cb0f8a1d38453f43474a764398784..589b437e7c97c846410f293e2f014bdc
pos = pos.below();
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 05348bd6e516284bdec1bb1675bfcf242dcad2e7..deb9b89415088a57b7a658d8017ace00155f0956 100644
index 9d2b7b8dbcb109f28722ba511d074f93c45f855f..0c37f3a761d602b9a2a1041b1f2d4e56df372d18 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1643,6 +1643,7 @@ public class PurpurWorldConfig {
@@ -1647,6 +1647,7 @@ public class PurpurWorldConfig {
public double piglinMaxHealth = 16.0D;
public boolean piglinBypassMobGriefing = false;
public boolean piglinTakeDamageFromWater = false;
@@ -42,7 +42,7 @@ index 05348bd6e516284bdec1bb1675bfcf242dcad2e7..deb9b89415088a57b7a658d8017ace00
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -1655,6 +1656,7 @@ public class PurpurWorldConfig {
@@ -1659,6 +1660,7 @@ public class PurpurWorldConfig {
piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth);
piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing);
piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater);

View File

@@ -18,10 +18,10 @@ index 093a00e52062868b4fbf358b307513d0f599f69d..ba753735f3cbb2cb3d0a491d1bd94a04
if (!event.isCancelled()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index be9fb06b266a3cce69cd5650f52a0df05e4dd750..be3c63b843cc24314becf29d4c27273866c776b4 100644
index 0c37f3a761d602b9a2a1041b1f2d4e56df372d18..f46420e65ff6d5863815d9c2d7a8bccd48481d4c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2284,6 +2284,7 @@ public class PurpurWorldConfig {
@@ -2288,6 +2288,7 @@ public class PurpurWorldConfig {
public boolean witherBypassMobGriefing = false;
public boolean witherTakeDamageFromWater = false;
public boolean witherCanRideVehicles = false;
@@ -29,7 +29,7 @@ index be9fb06b266a3cce69cd5650f52a0df05e4dd750..be3c63b843cc24314becf29d4c272738
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2304,6 +2305,7 @@ public class PurpurWorldConfig {
@@ -2308,6 +2309,7 @@ public class PurpurWorldConfig {
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater);
witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles);

View File

@@ -18,10 +18,10 @@ index c7195f2e12bbd6545f7bffcc2b4ba5cc3d48df20..5e730bc9c8ff94b16ac2bf8567dda8ae
Runnable afterAction = null; // Paper
if (blockState2 != null && level.getBlockState(blockPos.above()).isAir()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 319a58d0cfeae9395d0f41a6f4a97ca89b3c4df5..86f5341479c71833124902e14683f03faddaad44 100644
index f46420e65ff6d5863815d9c2d7a8bccd48481d4c..d7352f1f2477b03d51181dba4ca1759745d67596 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -446,6 +446,21 @@ public class PurpurWorldConfig {
@@ -450,6 +450,21 @@ public class PurpurWorldConfig {
snowballDamage = getInt("gameplay-mechanics.projectile-damage.snowball", snowballDamage);
}

View File

@@ -36,10 +36,10 @@ index 744d91546d1a810f60a43c15ed74b4158f341a4a..354538daefa603f6df5a139b6bff87db
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 86f5341479c71833124902e14683f03faddaad44..ce92ab1a31c000a66b8bf45651563f2e8c0c5a9b 100644
index d7352f1f2477b03d51181dba4ca1759745d67596..6b8f31ba8d91c44174f96a0fa28f196d72fb198d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -627,6 +627,11 @@ public class PurpurWorldConfig {
@@ -631,6 +631,11 @@ public class PurpurWorldConfig {
lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Config for health to impact Creeper explosion radius
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
index 1d099bfb7b35062178d65a0808ba99b0da5ef885..415f5fc5c6b1f780a28917c21d0856ee598c59fc 100644
index 8568be97dcd5bb269e0204faf8b42dc8cb152282..30df0e74950c6629fce06923a4a7d57341606fd6 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -370,9 +370,10 @@ public class Creeper extends Monster implements PowerableMob {
@@ -21,10 +21,10 @@ index 1d099bfb7b35062178d65a0808ba99b0da5ef885..415f5fc5c6b1f780a28917c21d0856ee
if (!event.isCancelled()) {
this.dead = true;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8c4b7ad4af57e2547b0e01032e8b6a8341cdb2ba..68c392bcb3a8a553986f9d13bb19d8b982e481ce 100644
index c4189d8f5a0fb7a53a6f0119d37aa297ffea2f7b..2dcb16f02e7d7edac0cc01d4da791af8e6e8960a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -939,6 +939,7 @@ public class PurpurWorldConfig {
@@ -943,6 +943,7 @@ public class PurpurWorldConfig {
public boolean creeperBypassMobGriefing = false;
public boolean creeperTakeDamageFromWater = false;
public boolean creeperExplodeWhenKilled = false;
@@ -32,7 +32,7 @@ index 8c4b7ad4af57e2547b0e01032e8b6a8341cdb2ba..68c392bcb3a8a553986f9d13bb19d8b9
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -954,6 +955,7 @@ public class PurpurWorldConfig {
@@ -958,6 +959,7 @@ public class PurpurWorldConfig {
creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing);
creeperTakeDamageFromWater = getBoolean("mobs.creeper.takes-damage-from-water", creeperTakeDamageFromWater);
creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Iron golem calm anger options
diff --git a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
index 782949596cd160847a0332f48372d186a5e71eab..bb7376bff9c4c90f3e10ae8b8f29ecdf0b51a3db 100644
index f25f7db029c0c21f31693349ef567dddeace3db1..6b651c0c4a4d13f9b9cac5aab1ab843077c4cac0 100644
--- a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
@@ -100,6 +100,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
@@ -26,10 +26,10 @@ index 782949596cd160847a0332f48372d186a5e71eab..bb7376bff9c4c90f3e10ae8b8f29ecdf
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 68c392bcb3a8a553986f9d13bb19d8b982e481ce..e44f013dc36128facd1ef8ba40a2da1c30f6ccab 100644
index 2dcb16f02e7d7edac0cc01d4da791af8e6e8960a..18fc3911cedf5f093fc9c79f4d054f9e09b35be1 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1397,6 +1397,8 @@ public class PurpurWorldConfig {
@@ -1401,6 +1401,8 @@ public class PurpurWorldConfig {
public boolean ironGolemCanSwim = false;
public double ironGolemMaxHealth = 100.0D;
public boolean ironGolemTakeDamageFromWater = false;
@@ -38,7 +38,7 @@ index 68c392bcb3a8a553986f9d13bb19d8b982e481ce..e44f013dc36128facd1ef8ba40a2da1c
private void ironGolemSettings() {
ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable);
ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater);
@@ -1409,6 +1411,8 @@ public class PurpurWorldConfig {
@@ -1413,6 +1415,8 @@ public class PurpurWorldConfig {
}
ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth);
ironGolemTakeDamageFromWater = getBoolean("mobs.iron_golem.takes-damage-from-water", ironGolemTakeDamageFromWater);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Breedable parrots
diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
index 9228dc98360ff34e4cdd105be36ed249c5b67067..6c57b093366019f78627f75bab2d710c6556c030 100644
index f7efb2088c554782fd169b901b4ef3fca3b2c0f9..629ced06cc17ebd6a359b74858d073e12c6a3b88 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
@@ -228,6 +228,7 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
@@ -50,10 +50,10 @@ index 9228dc98360ff34e4cdd105be36ed249c5b67067..6c57b093366019f78627f75bab2d710c
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e44f013dc36128facd1ef8ba40a2da1c30f6ccab..44ac29b4c92fd533e084567caf8f36e81b9dc853 100644
index 18fc3911cedf5f093fc9c79f4d054f9e09b35be1..bd399e23d226448159315e4996f931b11302217f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1567,6 +1567,7 @@ public class PurpurWorldConfig {
@@ -1571,6 +1571,7 @@ public class PurpurWorldConfig {
public double parrotMaxY = 320D;
public double parrotMaxHealth = 6.0D;
public boolean parrotTakeDamageFromWater = false;
@@ -61,7 +61,7 @@ index e44f013dc36128facd1ef8ba40a2da1c30f6ccab..44ac29b4c92fd533e084567caf8f36e8
private void parrotSettings() {
parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable);
parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater);
@@ -1579,6 +1580,7 @@ public class PurpurWorldConfig {
@@ -1583,6 +1584,7 @@ public class PurpurWorldConfig {
}
parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth);
parrotTakeDamageFromWater = getBoolean("mobs.parrot.takes-damage-from-water", parrotTakeDamageFromWater);

View File

@@ -18,10 +18,10 @@ index 14083c591edb9a7b1eae7bd21705a7f5f0c3cbfa..cd8239423d964ef9b708d283a329986c
Vec3 vec3d5 = this.getDeltaMovement();
double d21 = vec3d5.x;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 44ac29b4c92fd533e084567caf8f36e81b9dc853..49a41a94f064fbca3f286c628cb2a9cca0864be7 100644
index bd399e23d226448159315e4996f931b11302217f..9993e555c7fb706e73ca3258724fed2953735ae3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -273,6 +273,7 @@ public class PurpurWorldConfig {
@@ -277,6 +277,7 @@ public class PurpurWorldConfig {
public boolean minecartControllableFallDamage = true;
public double minecartControllableBaseSpeed = 0.1D;
public Map<Block, Double> minecartControllableBlockSpeeds = new HashMap<>();
@@ -29,7 +29,7 @@ index 44ac29b4c92fd533e084567caf8f36e81b9dc853..49a41a94f064fbca3f286c628cb2a9cc
private void minecartSettings() {
if (PurpurConfig.version < 12) {
boolean oldBool = getBoolean("gameplay-mechanics.controllable-minecarts.place-anywhere", minecartPlaceAnywhere);
@@ -325,6 +326,7 @@ public class PurpurWorldConfig {
@@ -329,6 +330,7 @@ public class PurpurWorldConfig {
set("gameplay-mechanics.minecart.controllable.block-speed.grass_block", 0.3D);
set("gameplay-mechanics.minecart.controllable.block-speed.stone", 0.5D);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add config change multiplier critical damage 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 150aaa68340f25c39a9b10eda43e9941a22d0aae..97b6ab27109b1bd7614ff3cc1322452608587ad9 100644
index dc395219fddf7f994200bc943768d9348201e656..4ec3fd47de4d22aa76a742a1fc1edff6fe95c82c 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -1306,7 +1306,7 @@ public abstract class Player extends LivingEntity {
@@ -18,10 +18,10 @@ index 150aaa68340f25c39a9b10eda43e9941a22d0aae..97b6ab27109b1bd7614ff3cc13224526
f += f1;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 49a41a94f064fbca3f286c628cb2a9cca0864be7..779f0658d3b7a9672f3e5bcc8268541ad3a07079 100644
index 9993e555c7fb706e73ca3258724fed2953735ae3..783f3a8684740e91e479c4c1cb9c95807ab856db 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -372,6 +372,7 @@ public class PurpurWorldConfig {
@@ -376,6 +376,7 @@ public class PurpurWorldConfig {
public boolean creativeOnePunch = false;
public boolean playerSleepNearMonsters = false;
public boolean playersSkipNight = true;
@@ -29,7 +29,7 @@ index 49a41a94f064fbca3f286c628cb2a9cca0864be7..779f0658d3b7a9672f3e5bcc8268541a
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -393,6 +394,7 @@ public class PurpurWorldConfig {
@@ -397,6 +398,7 @@ public class PurpurWorldConfig {
creativeOnePunch = getBoolean("gameplay-mechanics.player.one-punch-in-creative", creativeOnePunch);
playerSleepNearMonsters = getBoolean("gameplay-mechanics.player.sleep-ignore-nearby-mobs", playerSleepNearMonsters);
playersSkipNight = getBoolean("gameplay-mechanics.player.can-skip-night", playersSkipNight);

View File

@@ -19,10 +19,10 @@ index 7e1edcc7b9f170b7c649437c2f0dd78c0bab9be4..5f8ac1fdac2c334951261f2b9702f5e7
BlockPos blockposition1 = pos.offset(world.random.nextInt(16) - world.random.nextInt(16), world.random.nextInt(8) - world.random.nextInt(8), world.random.nextInt(16) - world.random.nextInt(16));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 779f0658d3b7a9672f3e5bcc8268541ad3a07079..a4cad3dd976320c16520ebef4de977391b613809 100644
index 783f3a8684740e91e479c4c1cb9c95807ab856db..fbdf0001682aab5a8e8f636ccb19c78beda44f66 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -554,6 +554,11 @@ public class PurpurWorldConfig {
@@ -558,6 +558,11 @@ public class PurpurWorldConfig {
});
}

View File

@@ -9,7 +9,7 @@ creating an itemstack using the TileEntity's NBT data (how it handles it for
creative players) instead of routing it through the LootableBuilder.
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
index 0034831358550491d57360966b1458b34b0908e2..88c8f2c53c024021e7bad1e4666e3438b53ab588 100644
index 9564cfd3ff593662cf5755ae1d83dee4b627cdf9..49335b4fc2a9caab1418531a814210bf52b3cc43 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -420,7 +420,7 @@ public class ServerPlayerGameMode {
@@ -35,10 +35,10 @@ index c89978ecbc5a13dda6f76ea6d1cc3056efc9a174..39868ad3ee4bb573a4dd562894d93f64
blockEntity.saveToItem(itemStack);
if (shulkerBoxBlockEntity.hasCustomName()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a4cad3dd976320c16520ebef4de977391b613809..26d97b1a483f4fd7a301b2bc7eb7c897fc9c0a62 100644
index fbdf0001682aab5a8e8f636ccb19c78beda44f66..db08680cbf624a7115c26294812cfebf6b0d84bb 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -674,6 +674,11 @@ public class PurpurWorldConfig {
@@ -678,6 +678,11 @@ public class PurpurWorldConfig {
}
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Bee can work when raining or at night
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
index 04656231fa0f96eaeb9ae463695ede400b07df09..575dbcf7a5399d7c9067b02337b1dbe294772109 100644
index f379f4c45c5aaf8aa8d166148cdc07517c84649a..9d087295d63115d9b916e052b419789c0aa9fc63 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
@@ -410,7 +410,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -31,10 +31,10 @@ index a16a1df28258d605cf5908dbe19bda5d71ad4f45..7b82842b97ce795745cf6ee6399f618c
return false;
} else {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 26d97b1a483f4fd7a301b2bc7eb7c897fc9c0a62..b2d0cc6032c65e3f70904bb8cd052f7fcf8cb81b 100644
index db08680cbf624a7115c26294812cfebf6b0d84bb..cbcbd108222b560ac3a483e5ebcfbc7a4ae3c23f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -782,6 +782,8 @@ public class PurpurWorldConfig {
@@ -786,6 +786,8 @@ public class PurpurWorldConfig {
public double beeMaxHealth = 10.0D;
public int beeBreedingTicks = 6000;
public boolean beeTakeDamageFromWater = false;
@@ -43,7 +43,7 @@ index 26d97b1a483f4fd7a301b2bc7eb7c897fc9c0a62..b2d0cc6032c65e3f70904bb8cd052f7f
private void beeSettings() {
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
@@ -795,6 +797,8 @@ public class PurpurWorldConfig {
@@ -799,6 +801,8 @@ public class PurpurWorldConfig {
beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth);
beeBreedingTicks = getInt("mobs.bee.breeding-delay-ticks", beeBreedingTicks);
beeTakeDamageFromWater = getBoolean("mobs.bee.takes-damage-from-water", beeTakeDamageFromWater);

View File

@@ -40,10 +40,10 @@ index 2cc714585fc3790b70a7ad1ab8034543462e2b3b..22d7f04cefafa0115a4504e373807877
((ServerPlayer) entityhuman).connection.send(new ClientboundSetHealthPacket(((ServerPlayer) entityhuman).getBukkitEntity().getScaledHealth(), entityhuman.getFoodData().foodLevel, entityhuman.getFoodData().saturationLevel));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b2d0cc6032c65e3f70904bb8cd052f7fcf8cb81b..5075b3c255fed29b6c43ce32d3504fbad9014dcc 100644
index cbcbd108222b560ac3a483e5ebcfbc7a4ae3c23f..d3835f73e52ae3204276bf8716404a66fccdb21d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -329,6 +329,21 @@ public class PurpurWorldConfig {
@@ -333,6 +333,21 @@ public class PurpurWorldConfig {
poweredRailBoostModifier = getDouble("gameplay-mechanics.minecart.powered-rail.boost-modifier", poweredRailBoostModifier);
}

View File

@@ -26,10 +26,10 @@ index ef740d1ad6352ca4af299001a081b720bc472d2e..c787019b5cbadec81dd33ef4021708b9
} else {
return effectRange;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5075b3c255fed29b6c43ce32d3504fbad9014dcc..175975ca0da583645394fa1ff0d76bc548b2c245 100644
index d3835f73e52ae3204276bf8716404a66fccdb21d..757bd64bbdf4ac2abadef4edd0dd0ef0bbe20e08 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -521,6 +521,17 @@ public class PurpurWorldConfig {
@@ -525,6 +525,17 @@ public class PurpurWorldConfig {
anvilColorsUseMiniMessage = getBoolean("blocks.anvil.use-mini-message", anvilColorsUseMiniMessage);
}

View File

@@ -27,10 +27,10 @@ index ce2c3c146ef64400e00084bd2245d2b87a67fbc2..b0dd274fde1ce23a984de9492d7605ff
}
// Paper end - fix sand duping
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 175975ca0da583645394fa1ff0d76bc548b2c245..b6669a8fd4e20c178e9b5d5f0343588e432a718b 100644
index 757bd64bbdf4ac2abadef4edd0dd0ef0bbe20e08..532e7e8fabf89c45707cc5c256f81fd0d4081b1f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -700,6 +700,11 @@ public class PurpurWorldConfig {
@@ -704,6 +704,11 @@ public class PurpurWorldConfig {
}
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add toggle for end portal safe teleporting
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 97046a3764bd5ec09be3e9212568a03ca42fd307..51bb177a52ea52d642ec3300ccd6fd28b3b66bb3 100644
index 89ad0987084828037154d88d80788a8479f3732a..6f876403388f95a5b52f00985df2cde2f4d991f8 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2962,7 +2962,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -45,10 +45,10 @@ index f80f6da484f4144e743079e5104bf503419074b2..2deddc746e43896584bd65ba8e7971a8
entity.portalWorld = ((ServerLevel)world);
entity.portalBlock = pos.immutable();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b6669a8fd4e20c178e9b5d5f0343588e432a718b..996bf44999c6a71943a5d14e4d1849fa329cb737 100644
index 532e7e8fabf89c45707cc5c256f81fd0d4081b1f..cfefd0aab5032133c8512f94280457a4673d7f4f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -648,6 +648,11 @@ public class PurpurWorldConfig {
@@ -652,6 +652,11 @@ public class PurpurWorldConfig {
furnaceUseLavaFromUnderneath = getBoolean("blocks.furnace.use-lava-from-underneath", furnaceUseLavaFromUnderneath);
}

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Burp delay, burp after eating food fills hunger bar
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 97b6ab27109b1bd7614ff3cc1322452608587ad9..ba0684615a20218cf1727ac02b6326589f80cb96 100644
index 4ec3fd47de4d22aa76a742a1fc1edff6fe95c82c..53769c1781a3ea5e3c0330684d6b998adbe15a4e 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -199,6 +199,8 @@ public abstract class Player extends LivingEntity {
@@ -56,10 +56,10 @@ index 4a2dcf9bd83dd3fdff43483f887f4f58dc4715cd..87f9e03fb5e095396e054a84be60ec45
public void eat(Item item, ItemStack stack) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 996bf44999c6a71943a5d14e4d1849fa329cb737..54e6d43554f8cc5c9d5bb10ed869d9a333e4c214 100644
index cfefd0aab5032133c8512f94280457a4673d7f4f..c24cadbdb14e7b16f342b4d22fa0730d42e9c7d1 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -388,6 +388,8 @@ public class PurpurWorldConfig {
@@ -392,6 +392,8 @@ public class PurpurWorldConfig {
public boolean playerSleepNearMonsters = false;
public boolean playersSkipNight = true;
public double playerCriticalDamageMultiplier = 1.5D;
@@ -68,7 +68,7 @@ index 996bf44999c6a71943a5d14e4d1849fa329cb737..54e6d43554f8cc5c9d5bb10ed869d9a3
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -410,6 +412,8 @@ public class PurpurWorldConfig {
@@ -414,6 +416,8 @@ public class PurpurWorldConfig {
playerSleepNearMonsters = getBoolean("gameplay-mechanics.player.sleep-ignore-nearby-mobs", playerSleepNearMonsters);
playersSkipNight = getBoolean("gameplay-mechanics.player.can-skip-night", playersSkipNight);
playerCriticalDamageMultiplier = getDouble("gameplay-mechanics.player.critical-damage-multiplier", playerCriticalDamageMultiplier);

View File

@@ -13,7 +13,7 @@ Subject: [PATCH] Shulker spawn from bullet options
(7 - 1) / 5.0 = 1.2 1.0 - 1.2 = -0.2 0% (6 other shulkers)
diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
index 41a6cd3a81c531b6349ca364b85712954a97aa11..b64c492a245494ab60c325d66dc6ec65418a1e4e 100644
index cd0e0d15868bcefef28d801dbd2aa41ac982baac..6ce1b5223bec2ee093de2374f20b8629a5d68069 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
@@ -510,11 +510,20 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
@@ -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 54e6d43554f8cc5c9d5bb10ed869d9a333e4c214..4323702cb21a37ff9d9e8496906879a516a3c6ed 100644
index c24cadbdb14e7b16f342b4d22fa0730d42e9c7d1..9060abce4148ea3b9a4878463d94135f3aa000a6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1933,6 +1933,11 @@ public class PurpurWorldConfig {
@@ -1937,6 +1937,11 @@ public class PurpurWorldConfig {
public boolean shulkerControllable = true;
public double shulkerMaxHealth = 30.0D;
public boolean shulkerTakeDamageFromWater = false;
@@ -82,7 +82,7 @@ index 54e6d43554f8cc5c9d5bb10ed869d9a333e4c214..4323702cb21a37ff9d9e8496906879a5
private void shulkerSettings() {
shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable);
shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater);
@@ -1944,6 +1949,11 @@ public class PurpurWorldConfig {
@@ -1948,6 +1953,11 @@ public class PurpurWorldConfig {
}
shulkerMaxHealth = getDouble("mobs.shulker.attributes.max_health", shulkerMaxHealth);
shulkerTakeDamageFromWater = getBoolean("mobs.shulker.takes-damage-from-water", shulkerTakeDamageFromWater);

View File

@@ -18,10 +18,10 @@ index 42e6aeea8d2e076aea7fa2c1ccf5edcc5efba46f..1f2e467272dddf3e91b7ab7037a0367b
public static final Item SOUL_CAMPFIRE = registerBlock(Blocks.SOUL_CAMPFIRE);
public static final Item SHROOMLIGHT = registerBlock(Blocks.SHROOMLIGHT);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4323702cb21a37ff9d9e8496906879a516a3c6ed..5f29c9df27495ea34ee22ba2ba8e1fb0cdd85ab9 100644
index 9060abce4148ea3b9a4878463d94135f3aa000a6..5aa344d013bc4d5b7c83a3c6c32cbcbe140985bd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -220,6 +220,7 @@ public class PurpurWorldConfig {
@@ -222,6 +222,7 @@ public class PurpurWorldConfig {
public int enderPearlCooldown = 20;
public int enderPearlCooldownCreative = 20;
public float enderPearlEndermiteChance = 0.05F;
@@ -29,7 +29,7 @@ index 4323702cb21a37ff9d9e8496906879a516a3c6ed..5f29c9df27495ea34ee22ba2ba8e1fb0
private void itemSettings() {
itemImmuneToCactus.clear();
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
@@ -263,6 +264,7 @@ public class PurpurWorldConfig {
@@ -267,6 +268,7 @@ public class PurpurWorldConfig {
enderPearlCooldown = getInt("gameplay-mechanics.item.ender-pearl.cooldown", enderPearlCooldown);
enderPearlCooldownCreative = getInt("gameplay-mechanics.item.ender-pearl.creative-cooldown", enderPearlCooldownCreative);
enderPearlEndermiteChance = (float) getDouble("gameplay-mechanics.item.ender-pearl.endermite-spawn-chance", enderPearlEndermiteChance);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Option to make drowned break doors
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
index 31fb0cd50b4263abcdde323e79300c1a88b572c1..d1f5b3900dbb17d262fea85c45a82ba3a2f46cad 100644
index 5ed737a9656546775540c15f81f308d94e7a3444..feef31edb1833da45c42b73894f610ac3add7c8e 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
@@ -29,6 +29,7 @@ import net.minecraft.world.entity.ai.goal.MoveToBlockGoal;
@@ -34,10 +34,10 @@ index 31fb0cd50b4263abcdde323e79300c1a88b572c1..d1f5b3900dbb17d262fea85c45a82ba3
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5f29c9df27495ea34ee22ba2ba8e1fb0cdd85ab9..56b27b640d1cf772c1fe466d51b3aea84065f1ee 100644
index 5aa344d013bc4d5b7c83a3c6c32cbcbe140985bd..79ee0e450e2f740c5818c4b1b092b2cb93307dee 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1079,6 +1079,7 @@ public class PurpurWorldConfig {
@@ -1083,6 +1083,7 @@ public class PurpurWorldConfig {
public double drownedJockeyChance = 0.05D;
public boolean drownedJockeyTryExistingChickens = true;
public boolean drownedTakeDamageFromWater = false;
@@ -45,7 +45,7 @@ index 5f29c9df27495ea34ee22ba2ba8e1fb0cdd85ab9..56b27b640d1cf772c1fe466d51b3aea8
private void drownedSettings() {
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
@@ -1094,6 +1095,7 @@ public class PurpurWorldConfig {
@@ -1098,6 +1099,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 d5161e92f05a0e8b6722cd5b56e10a2861e75d15..cf1ff8dc7e1279c11293740f1b1bdb6a413ce870 100644
index 79ee0e450e2f740c5818c4b1b092b2cb93307dee..bd6745d1d4ef878f6add91259ef888dafdb0f1cd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2588,4 +2588,9 @@ public class PurpurWorldConfig {
@@ -2592,4 +2592,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 eb1d45c456f28bd49131f835b8e8a65253b0ce74..ce8aac7a189c0e4f8240950673066fb3d82dc86d 100644
index bd6745d1d4ef878f6add91259ef888dafdb0f1cd..217d7314456c977434ef6959fcc682e7fa6679d5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -520,6 +520,159 @@ public class PurpurWorldConfig {
@@ -524,6 +524,159 @@ public class PurpurWorldConfig {
});
}

View File

@@ -19,10 +19,10 @@ index b0204af850ee182773ad458208cccd946ad148d5..81eb7092e6172bf9685d4feb52dabb01
CompoundTag nbttagcompound = BlockItem.getBlockEntityData(itemstack);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ce8aac7a189c0e4f8240950673066fb3d82dc86d..078d5d8248e8d0bb7f055579628f7d032fef4767 100644
index 217d7314456c977434ef6959fcc682e7fa6679d5..00706a28fb5a0967ccaa0e402de1281d85df0fc5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -221,6 +221,7 @@ public class PurpurWorldConfig {
@@ -223,6 +223,7 @@ public class PurpurWorldConfig {
public int enderPearlCooldownCreative = 20;
public float enderPearlEndermiteChance = 0.05F;
public int glowBerriesEatGlowDuration = 0;
@@ -30,7 +30,7 @@ index ce8aac7a189c0e4f8240950673066fb3d82dc86d..078d5d8248e8d0bb7f055579628f7d03
private void itemSettings() {
itemImmuneToCactus.clear();
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
@@ -265,6 +266,7 @@ public class PurpurWorldConfig {
@@ -269,6 +270,7 @@ public class PurpurWorldConfig {
enderPearlCooldownCreative = getInt("gameplay-mechanics.item.ender-pearl.creative-cooldown", enderPearlCooldownCreative);
enderPearlEndermiteChance = (float) getDouble("gameplay-mechanics.item.ender-pearl.endermite-spawn-chance", enderPearlEndermiteChance);
glowBerriesEatGlowDuration = getInt("gameplay-mechanics.item.glow_berries.eat-glow-duration", glowBerriesEatGlowDuration);

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 e84aa0fc0fabc6b3fc4602e0803d21e07f6d5b2e..3b51d99cefd879b5a723017c77f2f8a7cc5f6b70 100644
index 00706a28fb5a0967ccaa0e402de1281d85df0fc5..046266cce1c07950645a7dad832e1944af880550 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -714,6 +714,11 @@ public class PurpurWorldConfig {
@@ -718,6 +718,11 @@ public class PurpurWorldConfig {
}
}
@@ -39,7 +39,7 @@ index e84aa0fc0fabc6b3fc4602e0803d21e07f6d5b2e..3b51d99cefd879b5a723017c77f2f8a7
public boolean chestOpenWithBlockOnTop = false;
private void chestSettings() {
chestOpenWithBlockOnTop = getBoolean("blocks.chest.open-with-solid-block-on-top", chestOpenWithBlockOnTop);
@@ -2749,3 +2754,4 @@ public class PurpurWorldConfig {
@@ -2753,3 +2758,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 132f66e24a84de83327b3cd14069fe3cd4fc21f8..0e3360540a33aae9197200e171dae9a745bbb2d5 100644
index 046266cce1c07950645a7dad832e1944af880550..9642374fd97fc0dc55f668fb6d85d2258b7dd77d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -714,6 +714,22 @@ public class PurpurWorldConfig {
@@ -718,6 +718,22 @@ public class PurpurWorldConfig {
}
}

View File

@@ -21,10 +21,10 @@ index af882016364257f01a154b99783e96f5e932364f..8e088b2a9b10ca0f1188469a7dd360b2
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 ab1248327190ccf3f36cf0b7443902ed5816ca52..967f131637618e03f119c05aadaefa0dc3a6b6fa 100644
index 9642374fd97fc0dc55f668fb6d85d2258b7dd77d..e1f96fc7deec93fb7eea12a600630d603924469b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -394,6 +394,7 @@ public class PurpurWorldConfig {
@@ -398,6 +398,7 @@ public class PurpurWorldConfig {
public double playerCriticalDamageMultiplier = 1.5D;
public int playerBurpDelay = 10;
public boolean playerBurpWhenFull = false;
@@ -32,7 +32,7 @@ index ab1248327190ccf3f36cf0b7443902ed5816ca52..967f131637618e03f119c05aadaefa0d
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -418,6 +419,7 @@ public class PurpurWorldConfig {
@@ -422,6 +423,7 @@ 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);

View File

@@ -17,10 +17,10 @@ index 60720f0bad840d35c9d0f1fc327f6069b348a41a..9e5f6666cbc4303d095a4f95db9acd0b
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 967f131637618e03f119c05aadaefa0dc3a6b6fa..4a7b01606a2fe7aad5ecaf515e2ba8d4fa328539 100644
index e1f96fc7deec93fb7eea12a600630d603924469b..a816046f8da838365a71ed63904ed04ca9b46906 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1334,6 +1334,7 @@ public class PurpurWorldConfig {
@@ -1338,6 +1338,7 @@ public class PurpurWorldConfig {
public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false;
public boolean endermanIgnorePlayerDragonHead = false;
public boolean endermanDisableStareAggro = false;
@@ -28,7 +28,7 @@ index 967f131637618e03f119c05aadaefa0dc3a6b6fa..4a7b01606a2fe7aad5ecaf515e2ba8d4
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -1356,6 +1357,7 @@ public class PurpurWorldConfig {
@@ -1360,6 +1361,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

@@ -89,10 +89,10 @@ index 31f5d9bcc11dc78b0d04c55560d5a2fa18bf3896..42532975d8c5558a7598e759838e75f2
hideHiddenPlayersFromEntitySelector = getBoolean("settings.command.hide-hidden-players-from-entity-selector", hideHiddenPlayersFromEntitySelector);
uptimeFormat = getString("settings.command.uptime.format", uptimeFormat);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8f43f33e86e012c9e6c199ec159ce34b4e45cdef..4450897735088ca7b126556ebb7ee785241e850b 100644
index a816046f8da838365a71ed63904ed04ca9b46906..179907b8a9babefb1b551b5c6055da18a54d5567 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -222,6 +222,7 @@ public class PurpurWorldConfig {
@@ -224,6 +224,7 @@ public class PurpurWorldConfig {
public float enderPearlEndermiteChance = 0.05F;
public int glowBerriesEatGlowDuration = 0;
public boolean shulkerBoxItemDropContentsWhenDestroyed = true;
@@ -100,7 +100,7 @@ index 8f43f33e86e012c9e6c199ec159ce34b4e45cdef..4450897735088ca7b126556ebb7ee785
private void itemSettings() {
itemImmuneToCactus.clear();
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
@@ -267,6 +268,7 @@ public class PurpurWorldConfig {
@@ -271,6 +272,7 @@ public class PurpurWorldConfig {
enderPearlEndermiteChance = (float) getDouble("gameplay-mechanics.item.ender-pearl.endermite-spawn-chance", enderPearlEndermiteChance);
glowBerriesEatGlowDuration = getInt("gameplay-mechanics.item.glow_berries.eat-glow-duration", glowBerriesEatGlowDuration);
shulkerBoxItemDropContentsWhenDestroyed = getBoolean("gameplay-mechanics.item.shulker_box.drop-contents-when-destroyed", shulkerBoxItemDropContentsWhenDestroyed);

View File

@@ -18,10 +18,10 @@ index 7b45d6b9a005036ca5051d089a7be792eb87012f..8806c97ecc6bdd8a64c2d82bb2f58f46
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8725552721e2171a4f00339eb05bd347bab1818f..d7a06f73ee7c1861a0228cb37dbd6e14e938fd17 100644
index 9f8257758ea9766f1cae5c8f8753efc79f18e1e9..e16210dc87535705091b9aa9edb4a59fef06cbfd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -367,6 +367,11 @@ public class PurpurWorldConfig {
@@ -371,6 +371,11 @@ public class PurpurWorldConfig {
villageSiegeSpawning = getBoolean("gameplay-mechanics.mob-spawning.village-sieges", predicate);
}

View File

@@ -18,10 +18,10 @@ index 1084adce8dc55b19ed9d90c0c5ad6675fff0afc5..9d981e392143baa43b6006ca9ef319fd
return InteractionResult.SUCCESS;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 478b00fd65409724fa152fde36b6c7929d07622d..ef4d18edfc90e978e365e5ea0134d72b1c5c386e 100644
index e16210dc87535705091b9aa9edb4a59fef06cbfd..e503b9018183fa6491529d1c5fe630906fb61a50 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2733,6 +2733,8 @@ public class PurpurWorldConfig {
@@ -2737,6 +2737,8 @@ public class PurpurWorldConfig {
public double zombieVillagerJockeyChance = 0.05D;
public boolean zombieVillagerJockeyTryExistingChickens = true;
public boolean zombieVillagerTakeDamageFromWater = false;
@@ -30,7 +30,7 @@ index 478b00fd65409724fa152fde36b6c7929d07622d..ef4d18edfc90e978e365e5ea0134d72b
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2748,6 +2750,8 @@ public class PurpurWorldConfig {
@@ -2752,6 +2754,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 c0ff231020261a78202b0dfb35a14b86415353a0..ace4b438823a3580517360e0fa587d5d5562c804 100644
index e503b9018183fa6491529d1c5fe630906fb61a50..24232ea98d8ba1983b363689397ce4cef2826557 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -925,9 +925,11 @@ public class PurpurWorldConfig {
@@ -929,9 +929,11 @@ public class PurpurWorldConfig {
public int spongeAbsorptionArea = 64;
public int spongeAbsorptionRadius = 6;

View File

@@ -18,10 +18,10 @@ index cb869ddaeed10f8edd0a327553bfe5dcbb405e3d..588ff25c19f7c0acc627f2d8425dbae5
// 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 e306f28641f14897a14eab7f618b4ae954df3afc..e4d20da9aedf0b0232781936d791b6c4a1463f88 100644
index 24232ea98d8ba1983b363689397ce4cef2826557..9d16759f8e736e3981a448ab3a7d784636bc05f3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2578,6 +2578,7 @@ public class PurpurWorldConfig {
@@ -2582,6 +2582,7 @@ public class PurpurWorldConfig {
public boolean witherTakeDamageFromWater = false;
public boolean witherCanRideVehicles = false;
public float witherExplosionRadius = 1.0F;
@@ -29,7 +29,7 @@ index e306f28641f14897a14eab7f618b4ae954df3afc..e4d20da9aedf0b0232781936d791b6c4
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2599,6 +2600,7 @@ public class PurpurWorldConfig {
@@ -2603,6 +2604,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 1316968cc4422f8bf60fae492fb4b1056f56111e..28f83de054bc1bc8477db7671a71dcf11f010370 100644
index 9d16759f8e736e3981a448ab3a7d784636bc05f3..558ce467d5b39d763abc7377053f1432b5d4d3e3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -746,6 +746,11 @@ public class PurpurWorldConfig {
@@ -750,6 +750,11 @@ public class PurpurWorldConfig {
buddingAmethystSilkTouch = getBoolean("blocks.budding_amethyst.silk-touch", buddingAmethystSilkTouch);
}

View File

@@ -26,10 +26,10 @@ 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 28f83de054bc1bc8477db7671a71dcf11f010370..749e884f3b1149a5d875867ac9fa31b85b72ac40 100644
index 558ce467d5b39d763abc7377053f1432b5d4d3e3..6146547d1d980ccf78e7265e51b1c34718834773 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -404,6 +404,7 @@ public class PurpurWorldConfig {
@@ -408,6 +408,7 @@ public class PurpurWorldConfig {
public int playerBurpDelay = 10;
public boolean playerBurpWhenFull = false;
public boolean playerRidableInWater = false;
@@ -37,7 +37,7 @@ index 28f83de054bc1bc8477db7671a71dcf11f010370..749e884f3b1149a5d875867ac9fa31b8
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -429,6 +430,7 @@ public class PurpurWorldConfig {
@@ -433,6 +434,7 @@ public class PurpurWorldConfig {
playerBurpDelay = getInt("gameplay-mechanics.player.burp-delay", playerBurpDelay);
playerBurpWhenFull = getBoolean("gameplay-mechanics.player.burp-when-full", playerBurpWhenFull);
playerRidableInWater = getBoolean("gameplay-mechanics.player.ridable-in-water", playerRidableInWater);

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 5cb2cfea76523cd0dabc1918a5b426ef0052edc1..5d17356098c6d38249e3c813f78836da6d50dc07 100644
index 6146547d1d980ccf78e7265e51b1c34718834773..2ad07c394672ccda23853ee8e384219fb49bcdb4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2797,5 +2797,28 @@ public class PurpurWorldConfig {
@@ -2801,5 +2801,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 5d17356098c6d38249e3c813f78836da6d50dc07..54a086a14ffad32496b5602a4fe1aa4535055579 100644
index 2ad07c394672ccda23853ee8e384219fb49bcdb4..ad4cc60a0187965f7d7ba5c5bd28dfc56b0ee69d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2820,5 +2820,16 @@ public class PurpurWorldConfig {
@@ -2824,5 +2824,16 @@ public class PurpurWorldConfig {
});
conduitBlocks = conduitBlockList.toArray(Block[]::new);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Shulker change color with dye
diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
index b64c492a245494ab60c325d66dc6ec65418a1e4e..893141e599c6e1917831110470b6b1c0bb0ba1d5 100644
index 6ce1b5223bec2ee093de2374f20b8629a5d68069..9ac0caba4dcddc59850ac0ef5260347858f0cd4b 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
@@ -22,6 +22,8 @@ import net.minecraft.tags.DamageTypeTags;
@@ -47,10 +47,10 @@ index b64c492a245494ab60c325d66dc6ec65418a1e4e..893141e599c6e1917831110470b6b1c0
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 79d12e8b16f72badca9cca05bc70423de2fd1e58..8418214dce4920bb42e0042dc4d11cb4764c2f78 100644
index 703f96434c10b0558503a709042f7a6f4ce8fe22..6e62217ae4f548350aa289c36d41285ef808bdef 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2142,6 +2142,7 @@ public class PurpurWorldConfig {
@@ -2146,6 +2146,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 79d12e8b16f72badca9cca05bc70423de2fd1e58..8418214dce4920bb42e0042dc4d11cb4
private void shulkerSettings() {
shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable);
shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater);
@@ -2158,6 +2159,7 @@ public class PurpurWorldConfig {
@@ -2162,6 +2163,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 a0adc2d1bec20b8feb170dab5cc40c306ef453e9..13cb469e9bdde5db59bd93711fe2d2e02cff0722 100644
index a9fedadbfad4fc18a553ae4c31508b7295471840..5a3101216f34ec82d2b49596f1c01a5a1508954d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -701,6 +701,11 @@ public class PurpurWorldConfig {
@@ -705,6 +705,11 @@ public class PurpurWorldConfig {
anvilColorsUseMiniMessage = getBoolean("blocks.anvil.use-mini-message", anvilColorsUseMiniMessage);
}
@@ -60,7 +60,7 @@ index a0adc2d1bec20b8feb170dab5cc40c306ef453e9..13cb469e9bdde5db59bd93711fe2d2e0
public int beaconLevelOne = 20;
public int beaconLevelTwo = 30;
public int beaconLevelThree = 40;
@@ -843,6 +848,11 @@ public class PurpurWorldConfig {
@@ -847,6 +852,11 @@ public class PurpurWorldConfig {
farmlandTramplingFeatherFalling = getBoolean("blocks.farmland.feather-fall-distance-affects-trampling", farmlandTramplingFeatherFalling);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Shift right click to use exp for mending
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
index 88c8f2c53c024021e7bad1e4666e3438b53ab588..41d9bba8466ad9500ff02b9926e5e3cb15561e56 100644
index 49335b4fc2a9caab1418531a814210bf52b3cc43..ebf1ac089202c06fd2cc593dc12c21fe2d0a8de8 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -509,6 +509,7 @@ public class ServerPlayerGameMode {
@@ -36,7 +36,7 @@ index 88c8f2c53c024021e7bad1e4666e3438b53ab588..41d9bba8466ad9500ff02b9926e5e3cb
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 2b8d8dafc0df272ad095130021795cfa7716ef46..f6350fbe18a87a27db70e70bbcb628231a57977c 100644
index 2bfa3ee8fba634c33545b68dbd5d49fa1984ed55..47ff0f978bac2552a04c946ac0bf59ddf6338f7d 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2076,6 +2076,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -48,10 +48,10 @@ index 2b8d8dafc0df272ad095130021795cfa7716ef46..f6350fbe18a87a27db70e70bbcb62823
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 13cb469e9bdde5db59bd93711fe2d2e02cff0722..e71f3d9fe397392c68fc8a3de600f4551c7ccd5f 100644
index 5a3101216f34ec82d2b49596f1c01a5a1508954d..a61b258279e5c44eac353c4e991a7eb5fe238e53 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -411,6 +411,7 @@ public class PurpurWorldConfig {
@@ -415,6 +415,7 @@ public class PurpurWorldConfig {
public boolean playerBurpWhenFull = false;
public boolean playerRidableInWater = false;
public boolean playerRemoveBindingWithWeakness = false;
@@ -59,7 +59,7 @@ index 13cb469e9bdde5db59bd93711fe2d2e02cff0722..e71f3d9fe397392c68fc8a3de600f455
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -437,6 +438,7 @@ public class PurpurWorldConfig {
@@ -441,6 +442,7 @@ public class PurpurWorldConfig {
playerBurpWhenFull = getBoolean("gameplay-mechanics.player.burp-when-full", playerBurpWhenFull);
playerRidableInWater = getBoolean("gameplay-mechanics.player.ridable-in-water", playerRidableInWater);
playerRemoveBindingWithWeakness = getBoolean("gameplay-mechanics.player.curse-of-binding.remove-with-weakness", playerRemoveBindingWithWeakness);

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 e71f3d9fe397392c68fc8a3de600f4551c7ccd5f..6ff66f88aa0c9e16b67bbc057acd4f65b7a604df 100644
index a61b258279e5c44eac353c4e991a7eb5fe238e53..d4511d3c5dde9ae8b4608259d045bedb2323d98f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1240,6 +1240,7 @@ public class PurpurWorldConfig {
@@ -1244,6 +1244,7 @@ public class PurpurWorldConfig {
public double dolphinMaxHealth = 10.0D;
public boolean dolphinDisableTreasureSearching = false;
public boolean dolphinTakeDamageFromWater = false;
@@ -58,7 +58,7 @@ index e71f3d9fe397392c68fc8a3de600f4551c7ccd5f..6ff66f88aa0c9e16b67bbc057acd4f65
private void dolphinSettings() {
dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable);
dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable);
@@ -1254,6 +1255,7 @@ public class PurpurWorldConfig {
@@ -1258,6 +1259,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

@@ -5,7 +5,7 @@ Subject: [PATCH] Cows naturally aggressive to players chance
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
index 48d20fcd481e76e180410c11040b2164315fce23..7bf4b399d68b04a43465e85061113249d7ecf0d3 100644
index ece8f5c4277d6b42fd19df64bfa624f96f1390ca..17c94ffb73b6bc2fbf7b700934a0eb01e117756a 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
@@ -38,6 +38,7 @@ import org.bukkit.craftbukkit.inventory.CraftItemStack;
@@ -59,10 +59,10 @@ index 48d20fcd481e76e180410c11040b2164315fce23..7bf4b399d68b04a43465e85061113249
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6ff66f88aa0c9e16b67bbc057acd4f65b7a604df..d99280d34614bc01303ad0de23dc39400131b915 100644
index d4511d3c5dde9ae8b4608259d045bedb2323d98f..068d204154cf18397fad3a3240a88e76e9a703cc 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1189,7 +1189,14 @@ public class PurpurWorldConfig {
@@ -1193,7 +1193,14 @@ public class PurpurWorldConfig {
public int cowFeedMushrooms = 0;
public int cowBreedingTicks = 6000;
public boolean cowTakeDamageFromWater = false;
@@ -77,7 +77,7 @@ index 6ff66f88aa0c9e16b67bbc057acd4f65b7a604df..d99280d34614bc01303ad0de23dc3940
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
cowControllable = getBoolean("mobs.cow.controllable", cowControllable);
@@ -1202,6 +1209,8 @@ public class PurpurWorldConfig {
@@ -1206,6 +1213,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 1649070edaf0812dd480429cd6d07af84def8311..4f114d7cf5e6429e74bcf3653568beb1
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 e38e3ab793a26e47b0a7882757e0dd99985070c8..d8ae27755319b4655286099ca38d054c07874b8a 100644
index 068d204154cf18397fad3a3240a88e76e9a703cc..c36db31a08bf32bf299a98556ef1b603904c0e5d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -720,6 +720,7 @@ public class PurpurWorldConfig {
@@ -724,6 +724,7 @@ public class PurpurWorldConfig {
}
public boolean bedExplode = true;
@@ -33,7 +33,7 @@ index e38e3ab793a26e47b0a7882757e0dd99985070c8..d8ae27755319b4655286099ca38d054c
public double bedExplosionPower = 5.0D;
public boolean bedExplosionFire = true;
public net.minecraft.world.level.Level.ExplosionInteraction bedExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK;
@@ -730,6 +731,7 @@ public class PurpurWorldConfig {
@@ -734,6 +735,7 @@ public class PurpurWorldConfig {
}
}
bedExplode = getBoolean("blocks.bed.explode", bedExplode);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Halloween options and optimizations
diff --git a/src/main/java/net/minecraft/world/entity/ambient/Bat.java b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
index a108716b9945fafc8c51835151bc7e0ff903be35..68878b236a21a6fec7cbea0eec8e602188bc774e 100644
index fa9ed6d5ae13ddd14ef8677ca9ad30398a2333f4..3541479dac8404b9c2ec3788cd521aec3fae7c24 100644
--- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java
+++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
@@ -314,7 +314,7 @@ public class Bat extends AmbientCreature {
@@ -43,7 +43,7 @@ index ea897da752c96c58d137af56544e9bf50135c6ec..32a303f9ac9768daf621e3aa561cd6b3
this.armorDropChances[EquipmentSlot.HEAD.getIndex()] = 0.0F;
}
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
index d6093557894789eb20f79b83547620b47bb65ffb..dfa2806faedf70ca5ffe77087a67822a21e6aac2 100644
index f4b9d73f5ce95c7725dbffbafc29c837fe1f87e6..074cbcf451f0f524510b4ab0273fceedfba143e3 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
@@ -593,11 +593,7 @@ public class Zombie extends Monster {
@@ -60,10 +60,10 @@ index d6093557894789eb20f79b83547620b47bb65ffb..dfa2806faedf70ca5ffe77087a67822a
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 06d6dacdf928c67fd336da111c1c50142aab523f..1a569f7c27e4880baeaa5b6a1aa2f9542573cb29 100644
index c36db31a08bf32bf299a98556ef1b603904c0e5d..a67a2d78529be584c6c64a23d03a2f40b39066b4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1582,6 +1582,13 @@ public class PurpurWorldConfig {
@@ -1586,6 +1586,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 1a569f7c27e4880baeaa5b6a1aa2f9542573cb29..26277dd2df640b83e823e386b4ab61d66473faf5 100644
index a67a2d78529be584c6c64a23d03a2f40b39066b4..caa705caf37b14efbc3dba79358f9f68cb503a94 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -768,6 +768,11 @@ public class PurpurWorldConfig {
@@ -772,6 +772,11 @@ public class PurpurWorldConfig {
cactusBreaksFromSolidNeighbors = getBoolean("blocks.cactus.breaks-from-solid-neighbors", cactusBreaksFromSolidNeighbors);
}

View File

@@ -46,10 +46,10 @@ index 5827236f351cd0679af764644bb22bb286ac361d..9a84e8cc1d1b2803a061fe9ef6297c9c
protected void onHit(HitResult hitResult) {
super.onHit(hitResult);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 26277dd2df640b83e823e386b4ab61d66473faf5..26cd4abf4e14122ad9e02542c4a901c00eb9c471 100644
index caa705caf37b14efbc3dba79358f9f68cb503a94..1e7fed6def1273d84fa9d30aeaaf2850d4c3955d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -231,6 +231,9 @@ public class PurpurWorldConfig {
@@ -233,6 +233,9 @@ public class PurpurWorldConfig {
public int glowBerriesEatGlowDuration = 0;
public boolean shulkerBoxItemDropContentsWhenDestroyed = true;
public boolean compassItemShowsBossBar = false;
@@ -59,7 +59,7 @@ index 26277dd2df640b83e823e386b4ab61d66473faf5..26cd4abf4e14122ad9e02542c4a901c0
private void itemSettings() {
itemImmuneToCactus.clear();
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
@@ -277,6 +280,9 @@ public class PurpurWorldConfig {
@@ -281,6 +284,9 @@ public class PurpurWorldConfig {
glowBerriesEatGlowDuration = getInt("gameplay-mechanics.item.glow_berries.eat-glow-duration", glowBerriesEatGlowDuration);
shulkerBoxItemDropContentsWhenDestroyed = getBoolean("gameplay-mechanics.item.shulker_box.drop-contents-when-destroyed", shulkerBoxItemDropContentsWhenDestroyed);
compassItemShowsBossBar = getBoolean("gameplay-mechanics.item.compass.holding-shows-bossbar", compassItemShowsBossBar);

View File

@@ -18,10 +18,10 @@ index 9d981e392143baa43b6006ca9ef319fd538c304a..ce644b92598f70872e365584844eaefa
itemstack.shrink(1);
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3c12d3ef4815f191078211582b25092b9c4f984c..c8b77f1838d0edfea3e5750e3e04aaeaa87e1f17 100644
index 1e7fed6def1273d84fa9d30aeaaf2850d4c3955d..59829bbc091874f2ae8d640c9e2c400bb9fcd93b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2797,6 +2797,7 @@ public class PurpurWorldConfig {
@@ -2801,6 +2801,7 @@ public class PurpurWorldConfig {
public boolean zombieVillagerTakeDamageFromWater = false;
public int zombieVillagerCuringTimeMin = 3600;
public int zombieVillagerCuringTimeMax = 6000;
@@ -29,7 +29,7 @@ index 3c12d3ef4815f191078211582b25092b9c4f984c..c8b77f1838d0edfea3e5750e3e04aaea
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2814,6 +2815,7 @@ public class PurpurWorldConfig {
@@ -2818,6 +2819,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

@@ -17,7 +17,7 @@ index b4544ea2a307c2b89796753e33f64ffaf893f83f..087fd880ec62fed20383ef665b4f4d2e
this.connection.send(new ClientboundBlockUpdatePacket(this.level, sign.getBlockPos()));
this.connection.send(new ClientboundOpenSignEditorPacket(sign.getBlockPos()));
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index f6350fbe18a87a27db70e70bbcb628231a57977c..00981d521fd8e73e586efb46926d5e42520ac4f9 100644
index 47ff0f978bac2552a04c946ac0bf59ddf6338f7d..a56a1e9f32f818948c5e2cce39ee02395e460bfd 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3532,11 +3532,17 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -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 35e9d41a22a48f05a9bf0e934ecc1f08dc18412d..06dbb9b24a27552133a57573ffa44e22671dc7ff 100644
index 1d63320d555e92ae0b3fe2ead918b99a55252299..6496bd5297acf36a38994a39c97c4615179993e4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -949,8 +949,10 @@ public class PurpurWorldConfig {
@@ -953,8 +953,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 cc5b1dfd4f28823a40185ea70928a5b90a3e9835..d3fd9a7ad777543811d95044ed461d26ba9c1195 100644
index 599328c1adb0f285d32f41f4f5f2949003416179..ee8ff3e63f7b91804a75a49ac242013c12503b62 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -555,6 +555,8 @@ public class PurpurWorldConfig {
@@ -559,6 +559,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 cc5b1dfd4f28823a40185ea70928a5b90a3e9835..d3fd9a7ad777543811d95044ed461d26
private void toolSettings() {
axeStrippables.clear();
axeWaxables.clear();
@@ -702,6 +704,8 @@ public class PurpurWorldConfig {
@@ -706,6 +708,8 @@ public class PurpurWorldConfig {
});
hoeTillables.put(block, new Tillable(condition, into, drops));
});

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Shearing jeb produces random color wool
diff --git a/src/main/java/net/minecraft/world/entity/animal/Sheep.java b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
index 411fa176dd1b6368437da593140204fdec7721f8..004552b0730a2b35e6a2c973a9f9f8fa9e487967 100644
index 507526b0961f0f22f6ac67d60bb1de039d1ccf10..f168b84507a821f279a3341460dbd8dce0a5569c 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Sheep.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
@@ -314,7 +314,7 @@ public class Sheep extends Animal implements Shearable {
@@ -18,10 +18,10 @@ index 411fa176dd1b6368437da593140204fdec7721f8..004552b0730a2b35e6a2c973a9f9f8fa
if (entityitem != null) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d3fd9a7ad777543811d95044ed461d26ba9c1195..32701d1c4456059b61a034879bd837e5b27b8f50 100644
index ee8ff3e63f7b91804a75a49ac242013c12503b62..133d2c70ee57ff59726be47982d8744a6c728970 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2263,6 +2263,7 @@ public class PurpurWorldConfig {
@@ -2267,6 +2267,7 @@ public class PurpurWorldConfig {
public boolean sheepBypassMobGriefing = false;
public boolean sheepTakeDamageFromWater = false;
public boolean sheepAlwaysDropExp = false;
@@ -29,7 +29,7 @@ index d3fd9a7ad777543811d95044ed461d26ba9c1195..32701d1c4456059b61a034879bd837e5
private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -2277,6 +2278,7 @@ public class PurpurWorldConfig {
@@ -2281,6 +2282,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 32701d1c4456059b61a034879bd837e5b27b8f50..077c1769df4dbebfe5d0c5759b9766d12ee8b601 100644
index 133d2c70ee57ff59726be47982d8744a6c728970..d380c5881400bdddb75f2bff98d9230ad404b961 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -982,11 +982,13 @@ public class PurpurWorldConfig {
@@ -986,11 +986,13 @@ public class PurpurWorldConfig {
public boolean turtleEggsBreakFromItems = true;
public boolean turtleEggsBreakFromMinecarts = true;
public boolean turtleEggsBypassMobGriefing = false;

View File

@@ -32,10 +32,10 @@ index 10dbf4f3fb5b5acb87496c0f06da1d29f7a26521..6da57caf6ed0deb17bb99d0ba0a7344f
// 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 f2b9ad0a778390e4de54075be0f4404260349c4d..004936fc906b0c463625d780341d3da4ef80c9c3 100644
index d380c5881400bdddb75f2bff98d9230ad404b961..3635da728b6444a05a5eaf378f04ad3a6f3cb0a5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1265,6 +1265,7 @@ public class PurpurWorldConfig {
@@ -1269,6 +1269,7 @@ public class PurpurWorldConfig {
public boolean creeperExplodeWhenKilled = false;
public boolean creeperHealthRadius = false;
public boolean creeperAlwaysDropExp = false;
@@ -43,7 +43,7 @@ index f2b9ad0a778390e4de54075be0f4404260349c4d..004936fc906b0c463625d780341d3da4
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -1282,6 +1283,7 @@ public class PurpurWorldConfig {
@@ -1286,6 +1287,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 f2b9ad0a778390e4de54075be0f4404260349c4d..004936fc906b0c463625d780341d3da4
}
public boolean dolphinRidable = false;
@@ -2068,6 +2070,7 @@ public class PurpurWorldConfig {
@@ -2072,6 +2074,7 @@ public class PurpurWorldConfig {
public boolean piglinTakeDamageFromWater = false;
public int piglinPortalSpawnModifier = 2000;
public boolean piglinAlwaysDropExp = false;
@@ -59,7 +59,7 @@ index f2b9ad0a778390e4de54075be0f4404260349c4d..004936fc906b0c463625d780341d3da4
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -2082,6 +2085,7 @@ public class PurpurWorldConfig {
@@ -2086,6 +2089,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 f2b9ad0a778390e4de54075be0f4404260349c4d..004936fc906b0c463625d780341d3da4
}
public boolean piglinBruteRidable = false;
@@ -2343,6 +2347,7 @@ public class PurpurWorldConfig {
@@ -2347,6 +2351,7 @@ public class PurpurWorldConfig {
public double skeletonMaxHealth = 20.0D;
public boolean skeletonTakeDamageFromWater = false;
public boolean skeletonAlwaysDropExp = false;
@@ -75,7 +75,7 @@ index f2b9ad0a778390e4de54075be0f4404260349c4d..004936fc906b0c463625d780341d3da4
private void skeletonSettings() {
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
@@ -2355,6 +2360,7 @@ public class PurpurWorldConfig {
@@ -2359,6 +2364,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 f2b9ad0a778390e4de54075be0f4404260349c4d..004936fc906b0c463625d780341d3da4
}
public boolean skeletonHorseRidableInWater = true;
@@ -2887,6 +2893,7 @@ public class PurpurWorldConfig {
@@ -2891,6 +2897,7 @@ public class PurpurWorldConfig {
public boolean zombieBypassMobGriefing = false;
public boolean zombieTakeDamageFromWater = false;
public boolean zombieAlwaysDropExp = false;
@@ -91,7 +91,7 @@ index f2b9ad0a778390e4de54075be0f4404260349c4d..004936fc906b0c463625d780341d3da4
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -2905,6 +2912,7 @@ public class PurpurWorldConfig {
@@ -2909,6 +2916,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

@@ -5,7 +5,7 @@ Subject: [PATCH] Stop bees from dying after stinging
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
index 2c3967d2b9d3e7999def21af521bfc443f50c02f..7d7f95d8197214505a8309f947aba1a7c8b780e4 100644
index d87b3bca72d4e4866d41053b47adb96555851b3a..0660eb12f47f02cfff9ded1cdb965acbacb0d077 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
@@ -455,6 +455,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -17,10 +17,10 @@ index 2c3967d2b9d3e7999def21af521bfc443f50c02f..7d7f95d8197214505a8309f947aba1a7
++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 559c010dcb476ba7a54b64550a384634180c2a09..c8c1b23c2a3147c236ed1d71a64703697ad7e91f 100644
index 3635da728b6444a05a5eaf378f04ad3a6f3cb0a5..3da3083ed4603590751602c4d9baf79db8c52181 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1068,6 +1068,7 @@ public class PurpurWorldConfig {
@@ -1072,6 +1072,7 @@ public class PurpurWorldConfig {
public boolean beeCanWorkAtNight = false;
public boolean beeCanWorkInRain = false;
public boolean beeAlwaysDropExp = false;
@@ -28,7 +28,7 @@ index 559c010dcb476ba7a54b64550a384634180c2a09..c8c1b23c2a3147c236ed1d71a6470369
private void beeSettings() {
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
@@ -1084,6 +1085,7 @@ public class PurpurWorldConfig {
@@ -1088,6 +1089,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 c8c1b23c2a3147c236ed1d71a64703697ad7e91f..5de3a54fa24576b0badb77cd08a97d9c7f63afa8 100644
index 3da3083ed4603590751602c4d9baf79db8c52181..de89176bf6ab9311fbd5572795afc0361894615a 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 boolean farmlandTramplingDisabled = false;
public boolean farmlandTramplingOnlyPlayers = false;
public boolean farmlandTramplingFeatherFalling = false;
@@ -46,7 +46,7 @@ index c8c1b23c2a3147c236ed1d71a64703697ad7e91f..5de3a54fa24576b0badb77cd08a97d9c
private void farmlandSettings() {
farmlandBypassMobGriefing = getBoolean("blocks.farmland.bypass-mob-griefing", farmlandBypassMobGriefing);
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
@@ -867,6 +868,7 @@ public class PurpurWorldConfig {
@@ -871,6 +872,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

@@ -24,7 +24,7 @@ index 7043f15f84d6c847bf376025c8e2150bdf650457..df8d8f85f8db396b7db9fa6e46aa55c9
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 bc6aef5141ce87e96d2c267ad10a12fc2858a186..e61f7ab7fb711e2567ddae4bf7580d9d26aa6037 100644
index 8e088b2a9b10ca0f1188469a7dd360b209cdde87..cac03bf0c4fc0f4936e3d3eb6bfd9315a2bfdace 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -624,7 +624,7 @@ public abstract class Player extends LivingEntity {
@@ -37,10 +37,10 @@ index bc6aef5141ce87e96d2c267ad10a12fc2858a186..e61f7ab7fb711e2567ddae4bf7580d9d
} 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 5de3a54fa24576b0badb77cd08a97d9c7f63afa8..e2c06ca454ea6dc56f24a3848f5cd14997185ab1 100644
index de89176bf6ab9311fbd5572795afc0361894615a..d247051a1023474e7524554767a0d4551c3c164c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -420,6 +420,7 @@ public class PurpurWorldConfig {
@@ -424,6 +424,7 @@ public class PurpurWorldConfig {
public boolean playerRidableInWater = false;
public boolean playerRemoveBindingWithWeakness = false;
public int shiftRightClickRepairsMendingPoints = 0;
@@ -48,7 +48,7 @@ index 5de3a54fa24576b0badb77cd08a97d9c7f63afa8..e2c06ca454ea6dc56f24a3848f5cd149
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -447,6 +448,7 @@ public class PurpurWorldConfig {
@@ -451,6 +452,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

@@ -18,10 +18,10 @@ index 59d07b07ea81e5462ff7e57c6bc9e6f8d7213b79..2d61a0c7dfeb868403d64abbf847121f
}
// Paper end
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e2c06ca454ea6dc56f24a3848f5cd14997185ab1..abed53c92f4face32811aa0979c595cbd34d4901 100644
index d247051a1023474e7524554767a0d4551c3c164c..14167b1123cc085bd91dc9ad2a6ad8e96676ccba 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 {
@@ -425,6 +425,7 @@ public class PurpurWorldConfig {
public boolean playerRemoveBindingWithWeakness = false;
public int shiftRightClickRepairsMendingPoints = 0;
public int playerExpPickupDelay = 2;
@@ -29,7 +29,7 @@ index e2c06ca454ea6dc56f24a3848f5cd14997185ab1..abed53c92f4face32811aa0979c595cb
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -449,6 +450,7 @@ public class PurpurWorldConfig {
@@ -453,6 +454,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 87ebdf7f5126365d112b1ea91b8202a036637f09..6c157dfc2f730d1a8afbc0a37f247305
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 98eb6672911f9fb1aec63c1a352b1dfef69e7ad5..b76778dde88408667e43c0ea54906051157067b0 100644
index 14167b1123cc085bd91dc9ad2a6ad8e96676ccba..9c26165d36bf392767f4e6dfb4d1e813a75d8d30 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2008,6 +2008,8 @@ public class PurpurWorldConfig {
@@ -2012,6 +2012,8 @@ public class PurpurWorldConfig {
public boolean phantomFlamesOnSwoop = false;
public boolean phantomTakeDamageFromWater = false;
public boolean phantomAlwaysDropExp = false;
@@ -34,7 +34,7 @@ index 98eb6672911f9fb1aec63c1a352b1dfef69e7ad5..b76778dde88408667e43c0ea54906051
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -2044,6 +2046,13 @@ public class PurpurWorldConfig {
@@ -2048,6 +2050,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 db54150501636ed4ea06b271f3041787933ec2b4..d8e070261c1043a7ec612deb4561b361dbc3939d 100644
index 9c26165d36bf392767f4e6dfb4d1e813a75d8d30..e88f55c61d502f691fbeb1ebd0ed31ecbfe0a819 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2689,6 +2689,7 @@ public class PurpurWorldConfig {
@@ -2693,6 +2693,7 @@ public class PurpurWorldConfig {
public boolean villagerTakeDamageFromWater = false;
public boolean villagerAllowTrading = true;
public boolean villagerAlwaysDropExp = false;
@@ -51,7 +51,7 @@ index db54150501636ed4ea06b271f3041787933ec2b4..d8e070261c1043a7ec612deb4561b361
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2709,6 +2710,7 @@ public class PurpurWorldConfig {
@@ -2713,6 +2714,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

@@ -108,10 +108,10 @@ index a1a8ac55e572156671e47317ba061855be79e5ac..ec3fb8865211bd7625103c37af7b96df
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d8e070261c1043a7ec612deb4561b361dbc3939d..bb1f800a4e621b2d283f196e2208a9e4ee2db11f 100644
index e88f55c61d502f691fbeb1ebd0ed31ecbfe0a819..7fd4af2288fcd91d7f845b0a76cdf76d2ca92c3b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2690,6 +2690,8 @@ public class PurpurWorldConfig {
@@ -2694,6 +2694,8 @@ public class PurpurWorldConfig {
public boolean villagerAllowTrading = true;
public boolean villagerAlwaysDropExp = false;
public int villagerMinimumDemand = 0;
@@ -120,7 +120,7 @@ index d8e070261c1043a7ec612deb4561b361dbc3939d..bb1f800a4e621b2d283f196e2208a9e4
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2711,6 +2713,17 @@ public class PurpurWorldConfig {
@@ -2715,6 +2717,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 bb1f800a4e621b2d283f196e2208a9e4ee2db11f..f61af2b223f687ec3d64441c37fb6b47c6b513ec 100644
index 7fd4af2288fcd91d7f845b0a76cdf76d2ca92c3b..ce7d7aafcdd59618c13b7cbb0c037601014db26f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2692,6 +2692,7 @@ public class PurpurWorldConfig {
@@ -2696,6 +2696,7 @@ public class PurpurWorldConfig {
public int villagerMinimumDemand = 0;
public boolean villagerLobotomizeEnabled = false;
public int villagerLobotomizeCheckInterval = 100;
@@ -28,7 +28,7 @@ index bb1f800a4e621b2d283f196e2208a9e4ee2db11f..f61af2b223f687ec3d64441c37fb6b47
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2724,6 +2725,7 @@ public class PurpurWorldConfig {
@@ -2728,6 +2729,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 6a94ed9fc3a40b95dfba420935b0103098bcdbc6..a874dbc550040d6f802408661640f8111600bfd4 100644
index ce7d7aafcdd59618c13b7cbb0c037601014db26f..dba6e60aa3c998964b64fbb5ac82a58732eeee54 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -971,8 +971,10 @@ public class PurpurWorldConfig {
@@ -975,8 +975,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 7125f8af5c76ce43128bb747c9f2cd869117dbe6..100c12b51b1122cc2eea567df575a848ace71f15 100644
index 5e318050a59db7dbb18f96a176726d9134de4cd6..73d2caf7eccc2c5904f81e6cf9aba2d37f7c5d32 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -716,9 +716,13 @@ public class PurpurWorldConfig {
@@ -720,9 +720,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 100c12b51b1122cc2eea567df575a848ace71f15..6167910078b7beb8a8a56e2a5794e8c882fdc6a1 100644
index 73d2caf7eccc2c5904f81e6cf9aba2d37f7c5d32..6c0077316aa3fc284d93ad9b21d3e3760ec1e183 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -997,12 +997,14 @@ public class PurpurWorldConfig {
@@ -1001,12 +1001,14 @@ public class PurpurWorldConfig {
public boolean turtleEggsBreakFromMinecarts = true;
public boolean turtleEggsBypassMobGriefing = false;
public int turtleEggsRandomTickCrackChance = 500;

View File

@@ -18,10 +18,10 @@ index 45579a592f519b54df5761a22f4abb0deff7feb6..d5fce1215d99de3393d06fdc65939920
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 1d1712d2f766939edc7eedbfbdf1e54d17005d1e..a5a40aab0a23bb2d3f39ed156aed682570f6b344 100644
index 6c0077316aa3fc284d93ad9b21d3e3760ec1e183..29ad2bdcc29b3758369acc130517c64d4ce56fa0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2703,6 +2703,8 @@ public class PurpurWorldConfig {
@@ -2707,6 +2707,8 @@ public class PurpurWorldConfig {
public boolean villagerLobotomizeEnabled = false;
public int villagerLobotomizeCheckInterval = 100;
public boolean villagerDisplayTradeItem = true;
@@ -30,7 +30,7 @@ index 1d1712d2f766939edc7eedbfbdf1e54d17005d1e..a5a40aab0a23bb2d3f39ed156aed6825
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2736,6 +2738,8 @@ public class PurpurWorldConfig {
@@ -2740,6 +2742,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

@@ -63,10 +63,10 @@ index 636c032127c2026509764745f805ae0693e4a983..3734f6279005872eac6697e6e22c3a2e
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 a333c3daae7e6416ec1ff897ca5fc6629c31a9c8..608db11e2569ea93b5192cc443c580ebf837f70d 100644
index 29ad2bdcc29b3758369acc130517c64d4ce56fa0..ffde66cb0ffa0651ac308f9020591277c267ca2a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -992,6 +992,11 @@ public class PurpurWorldConfig {
@@ -996,6 +996,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 89323ca8142bea7125c18720bbf26dddbf9f94e5..62c5179454c787369daccd8a5e5a084f771db33e 100644
index ffde66cb0ffa0651ac308f9020591277c267ca2a..c9d125d372978859aaac0ebcf7173ad17ea77c28 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -923,6 +923,13 @@ public class PurpurWorldConfig {
@@ -927,6 +927,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 62c5179454c787369daccd8a5e5a084f771db33e..9b71955ad0416fcfd074c01c296fa5d67a937b0d 100644
index c9d125d372978859aaac0ebcf7173ad17ea77c28..9b10778c3ea1bd0228faef3ce3b90fc18fadbca8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -904,9 +904,11 @@ public class PurpurWorldConfig {
@@ -908,9 +908,11 @@ public class PurpurWorldConfig {
public boolean mobsSpawnOnPackedIce = true;
public boolean mobsSpawnOnBlueIce = true;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Skeletons eat wither roses
diff --git a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
index f5e8fbccd819f6fb66918bceb93d000da038d7ef..e0352f073c95f8caf47d6789c0bd10e5a8c329c8 100644
index 875f1ae6a16301b48ddcf7005c601a161dee124d..35146853e991420f1c97921699d0d220a7f51dc0 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
@@ -14,6 +14,16 @@ import net.minecraft.world.item.Items;
@@ -94,10 +94,10 @@ index f5e8fbccd819f6fb66918bceb93d000da038d7ef..e0352f073c95f8caf47d6789c0bd10e5
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9b71955ad0416fcfd074c01c296fa5d67a937b0d..b18b30020d14260cc8417aafdcf4978cac31dc15 100644
index 9b10778c3ea1bd0228faef3ce3b90fc18fadbca8..f74d10092590eaaccce753c9ba227f909b78adb2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2389,6 +2389,7 @@ public class PurpurWorldConfig {
@@ -2393,6 +2393,7 @@ public class PurpurWorldConfig {
public boolean skeletonTakeDamageFromWater = false;
public boolean skeletonAlwaysDropExp = false;
public double skeletonHeadVisibilityPercent = 0.5D;
@@ -105,7 +105,7 @@ index 9b71955ad0416fcfd074c01c296fa5d67a937b0d..b18b30020d14260cc8417aafdcf4978c
private void skeletonSettings() {
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
@@ -2402,6 +2403,7 @@ public class PurpurWorldConfig {
@@ -2406,6 +2407,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 b18b30020d14260cc8417aafdcf4978cac31dc15..457abb8a30e622648c40324aae1f2c76a903320e 100644
index f74d10092590eaaccce753c9ba227f909b78adb2..9d040d4dc7b0f1ff7884356d9ca1c0fab62c98cf 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1424,6 +1424,11 @@ public class PurpurWorldConfig {
@@ -1428,6 +1428,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 457abb8a30e622648c40324aae1f2c76a903320e..51679edc97086340a0dbc4d0f0a48bbcd3a35285 100644
index 9d040d4dc7b0f1ff7884356d9ca1c0fab62c98cf..5f3f4e4b8dec024816f26103df6eb9e6bdd67f5c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -968,6 +968,11 @@ public class PurpurWorldConfig {
@@ -972,6 +972,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 51679edc97086340a0dbc4d0f0a48bbcd3a35285..8be28314335e2242c12f9e4b2e49c614ca7d10b5 100644
index 5f3f4e4b8dec024816f26103df6eb9e6bdd67f5c..5c9ef7afc1afc55958e8a63b30208adfd1576110 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -805,6 +805,11 @@ public class PurpurWorldConfig {
@@ -809,6 +809,11 @@ public class PurpurWorldConfig {
composterBulkProcess = getBoolean("blocks.composter.sneak-to-bulk-process", composterBulkProcess);
}

View File

@@ -18,10 +18,10 @@ index 6d9af03d434c372f3d306c37809365659122d019..d36e301a1c46c457bc94edb1bab8685f
if (entityhuman != null) {
double d2 = entityhuman.distanceToSqr(d0, (double) i, d1);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7f8bfb94cbbe7b8c569a5df638cc5607c2ea5951..1913edafb83663f9aeacb7a525ee0f8f1f6719d6 100644
index 4687c35911b92683cb371d5221ab011371982961..0fd388db152724327853ec5d27a306b427689b03 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -375,6 +375,7 @@ public class PurpurWorldConfig {
@@ -379,6 +379,7 @@ public class PurpurWorldConfig {
public boolean phantomSpawning;
public boolean villagerTraderSpawning;
public boolean villageSiegeSpawning;
@@ -29,7 +29,7 @@ index 7f8bfb94cbbe7b8c569a5df638cc5607c2ea5951..1913edafb83663f9aeacb7a525ee0f8f
private void mobSpawnerSettings() {
// values of "default" or null will default to true only if the world environment is normal (aka overworld)
Predicate<Boolean> predicate = (bool) -> (bool != null && bool) || (bool == null && environment == World.Environment.NORMAL);
@@ -383,6 +384,7 @@ public class PurpurWorldConfig {
@@ -387,6 +388,7 @@ public class PurpurWorldConfig {
phantomSpawning = getBoolean("gameplay-mechanics.mob-spawning.phantoms", predicate);
villagerTraderSpawning = getBoolean("gameplay-mechanics.mob-spawning.wandering-traders", predicate);
villageSiegeSpawning = getBoolean("gameplay-mechanics.mob-spawning.village-sieges", predicate);

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 d582ebbd7b850bfe4b4e8c56d1ff704a87be3928..ccc6b223090ee71808909bb8e1a13adfdd9fae67 100644
index 0fd388db152724327853ec5d27a306b427689b03..6fa7fd8d188685cbdde6ce737f533b0b5a97b6c2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2409,6 +2409,8 @@ public class PurpurWorldConfig {
@@ -2413,6 +2413,8 @@ public class PurpurWorldConfig {
public boolean skeletonAlwaysDropExp = false;
public double skeletonHeadVisibilityPercent = 0.5D;
public int skeletonFeedWitherRoses = 0;
@@ -30,7 +30,7 @@ index d582ebbd7b850bfe4b4e8c56d1ff704a87be3928..ccc6b223090ee71808909bb8e1a13adf
private void skeletonSettings() {
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
@@ -2423,6 +2425,18 @@ public class PurpurWorldConfig {
@@ -2427,6 +2429,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

@@ -5,7 +5,7 @@ Subject: [PATCH] Allay respect item NBT
diff --git a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
index 4c4b27a762d4faf0467136ee92a3bbba5ab7322d..380cb6baaf934e77a9899647824b5eb96e821a1c 100644
index afbce4fdece213e456ef4e993f07bfb448bb2dd1..6051737b8e16d0790aec73757d13d7862ad74ef4 100644
--- a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
+++ b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
@@ -407,9 +407,31 @@ public class Allay extends PathfinderMob implements InventoryCarrier {
@@ -44,10 +44,10 @@ index 4c4b27a762d4faf0467136ee92a3bbba5ab7322d..380cb6baaf934e77a9899647824b5eb9
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 3437bdba19c1bf8a711e4d27d9900928c17c2fb5..40aaa43eb061d80d3ec479c53584e96f5018d3e2 100644
index 6fa7fd8d188685cbdde6ce737f533b0b5a97b6c2..9fcea4b1543fcd97e67b12064b91e69e846a551d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1052,10 +1052,13 @@ public class PurpurWorldConfig {
@@ -1056,10 +1056,13 @@ public class PurpurWorldConfig {
public boolean allayRidable = false;
public boolean allayRidableInWater = false;
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 40aaa43eb061d80d3ec479c53584e96f5018d3e2..80d042bddc4f51eadeca3a8efe190f6936516fc9 100644
index 9fcea4b1543fcd97e67b12064b91e69e846a551d..c23c279209892ddd78e815828b0b0a8892959d3c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1661,6 +1661,7 @@ public class PurpurWorldConfig {
@@ -1665,6 +1665,7 @@ public class PurpurWorldConfig {
public boolean glowSquidsCanFly = false;
public boolean glowSquidTakeDamageFromWater = false;
public boolean glowSquidAlwaysDropExp = false;
@@ -51,7 +51,7 @@ index 40aaa43eb061d80d3ec479c53584e96f5018d3e2..80d042bddc4f51eadeca3a8efe190f69
private void glowSquidSettings() {
glowSquidRidable = getBoolean("mobs.glow_squid.ridable", glowSquidRidable);
glowSquidControllable = getBoolean("mobs.glow_squid.controllable", glowSquidControllable);
@@ -1668,6 +1669,7 @@ public class PurpurWorldConfig {
@@ -1672,6 +1673,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 6c0136eb8c8b7815aa07bc6614e052c8cab257a3..2b9e60201af155bb3f871c53844663504ed2a4a6 100644
index 19495d46b71f61ac31fc2354e7b01678e642108f..1e729867df0f3f80a785dd6b3b69a045c21f2156 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1317,6 +1317,7 @@ public class PurpurWorldConfig {
@@ -1321,6 +1321,7 @@ public class PurpurWorldConfig {
public boolean creeperHealthRadius = false;
public boolean creeperAlwaysDropExp = false;
public double creeperHeadVisibilityPercent = 0.5D;
@@ -35,7 +35,7 @@ index 6c0136eb8c8b7815aa07bc6614e052c8cab257a3..2b9e60201af155bb3f871c5384466350
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -1335,6 +1336,7 @@ public class PurpurWorldConfig {
@@ -1339,6 +1340,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

@@ -30,10 +30,10 @@ index 099b7da30aaf2dca7fe556d26c1395f662fbf80a..3f59268a8e01cebd9e08984ae754e928
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2b9e60201af155bb3f871c53844663504ed2a4a6..db8e647e043c7d89c8cf7b5c13dd290e7d8b3050 100644
index 1e729867df0f3f80a785dd6b3b69a045c21f2156..44cfe5afb0e5ec087880c0739b1f1c6115d6a05a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -417,6 +417,7 @@ public class PurpurWorldConfig {
@@ -421,6 +421,7 @@ public class PurpurWorldConfig {
public String playerDeathExpDropEquation = "expLevel * 7";
public int playerDeathExpDropMax = 100;
public boolean teleportIfOutsideBorder = false;
@@ -41,7 +41,7 @@ index 2b9e60201af155bb3f871c53844663504ed2a4a6..db8e647e043c7d89c8cf7b5c13dd290e
public boolean totemOfUndyingWorksInInventory = false;
public boolean playerFixStuckPortal = false;
public boolean creativeOnePunch = false;
@@ -446,6 +447,7 @@ public class PurpurWorldConfig {
@@ -450,6 +451,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 69b04d74e3a44b01fc24c67ce9ce627ce2b5a992..ea8e4ad5ba1d5894747e11674bbc63ba57c9a061 100644
index 44cfe5afb0e5ec087880c0739b1f1c6115d6a05a..05c8f4ca98b95d883d962db0aa43903e4a0785f0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -848,6 +848,7 @@ public class PurpurWorldConfig {
@@ -852,6 +852,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 69b04d74e3a44b01fc24c67ce9ce627ce2b5a992..ea8e4ad5ba1d5894747e11674bbc63ba
private void endCrystalSettings() {
if (PurpurConfig.version < 31) {
if ("DESTROY".equals(getString("blocks.end-crystal.baseless.explosion-effect", baselessEndCrystalExplosionEffect.name()))) {
@@ -875,6 +876,7 @@ public class PurpurWorldConfig {
@@ -879,6 +880,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 9efeff43abf589fbb2ffe865cdc010d1ddf7db63..3ae4c95763caf2b4a815c1e4553ead37ea80eb30 100644
index 05c8f4ca98b95d883d962db0aa43903e4a0785f0..dce83c76bf4d4e3e0e98dc0c6b34b2fbff3cfee5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -742,11 +742,13 @@ public class PurpurWorldConfig {
@@ -746,11 +746,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 401803ac4e2d176d8509f240629ad3fb7d1eabc4..7acc69b1a2c5f862b5520631ac8d2baf815ca4c2 100644
index e7e4511abdfa94b990ceb7accee8a5f9e3bf5291..40a66f4ae7be0abd10a62a8945ba62c603c75470 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -801,8 +801,20 @@ public class PurpurWorldConfig {
@@ -805,8 +805,20 @@ public class PurpurWorldConfig {
}
public boolean cactusBreaksFromSolidNeighbors = true;