re-add removing curse of binding with weakness patch

This commit is contained in:
granny
2024-06-16 00:34:15 -07:00
parent dedcdd053d
commit 00126e86ea
99 changed files with 293 additions and 293 deletions

View File

@@ -4,24 +4,24 @@ Date: Sun, 8 Aug 2021 16:59:21 -0400
Subject: [PATCH] Config to remove curse of binding with weakness
diff --git a/src/main/java/net/minecraft/world/inventory/InventoryMenu.java b/src/main/java/net/minecraft/world/inventory/InventoryMenu.java
index 9992599dbe4f4a430e822a44b03c00505abfbfaf..3fea9339420aa38b303ccf6c154aec246e617b5b 100644
--- a/src/main/java/net/minecraft/world/inventory/InventoryMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/InventoryMenu.java
@@ -97,7 +97,7 @@ public class InventoryMenu extends RecipeBookMenu<CraftingContainer> {
public boolean mayPickup(Player playerEntity) {
ItemStack itemstack = this.getItem();
diff --git a/src/main/java/net/minecraft/world/inventory/ArmorSlot.java b/src/main/java/net/minecraft/world/inventory/ArmorSlot.java
index 6c0b6abb1698fac9bb902f695b725d4ab783ee90..091e3c3514fcb378b68098114106d09f04d8fb0d 100644
--- a/src/main/java/net/minecraft/world/inventory/ArmorSlot.java
+++ b/src/main/java/net/minecraft/world/inventory/ArmorSlot.java
@@ -45,7 +45,7 @@ class ArmorSlot extends Slot {
@Override
public boolean mayPickup(Player playerEntity) {
ItemStack itemStack = this.getItem();
- return (itemStack.isEmpty() || playerEntity.isCreative() || !EnchantmentHelper.has(itemStack, EnchantmentEffectComponents.PREVENT_ARMOR_CHANGE))
+ return (itemStack.isEmpty() || playerEntity.isCreative() || (!EnchantmentHelper.has(itemStack, EnchantmentEffectComponents.PREVENT_ARMOR_CHANGE) || playerEntity.level().purpurConfig.playerRemoveBindingWithWeakness && playerEntity.hasEffect(net.minecraft.world.effect.MobEffects.WEAKNESS)))
&& super.mayPickup(playerEntity);
}
- return !itemstack.isEmpty() && !playerEntity.isCreative() && EnchantmentHelper.hasBindingCurse(itemstack) ? false : super.mayPickup(playerEntity);
+ return !itemstack.isEmpty() && !playerEntity.isCreative() && EnchantmentHelper.hasBindingCurse(itemstack) ? playerEntity.level().purpurConfig.playerRemoveBindingWithWeakness && playerEntity.hasEffect(net.minecraft.world.effect.MobEffects.WEAKNESS) : super.mayPickup(playerEntity); // Purpur
}
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 27f34e56820351223707c305f67c5e50aadbbe4f..a673122f46d4e4ad48e8c42e2d50e5ea2870df24 100644
index 6052c3609796a90e73f8531ec1e9940cf4ebaf4c..58a1fcf60b157ca1b135500218bdc42063d4fe9d 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 {
@@ -389,6 +389,7 @@ public class PurpurWorldConfig {
public int playerBurpDelay = 10;
public boolean playerBurpWhenFull = false;
public boolean playerRidableInWater = false;
@@ -29,7 +29,7 @@ index 27f34e56820351223707c305f67c5e50aadbbe4f..a673122f46d4e4ad48e8c42e2d50e5ea
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -427,6 +428,7 @@ public class PurpurWorldConfig {
@@ -412,6 +413,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

@@ -97,10 +97,10 @@ index c1759aeb3e6ad0e4eb66cba3da1b120dd1dce812..1a91bc2e422db0eba65694ac046f1b36
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6052c3609796a90e73f8531ec1e9940cf4ebaf4c..b8e41284cb5c4fa5996d02d2160da35a65f51ba1 100644
index 58a1fcf60b157ca1b135500218bdc42063d4fe9d..8176952dcff842039c7782f489fbf6160bc12379 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2901,4 +2901,27 @@ public class PurpurWorldConfig {
@@ -2903,4 +2903,27 @@ public class PurpurWorldConfig {
private void hungerSettings() {
hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage);
}

View File

@@ -47,10 +47,10 @@ index a2bd54dae4b0460d200f6d5300194a7ef5a28830..bf189a171530abfc9bba5db5a305feb3
if (dripChance < f1) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b8e41284cb5c4fa5996d02d2160da35a65f51ba1..89e5918d0a79b0c28c6d9f73f5c33de9f5b04a10 100644
index 8176952dcff842039c7782f489fbf6160bc12379..08f5759ad14f22e1af5bae16f5e978ad321df7c2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2924,4 +2924,15 @@ public class PurpurWorldConfig {
@@ -2926,4 +2926,15 @@ public class PurpurWorldConfig {
});
conduitBlocks = conduitBlockList.toArray(Block[]::new);
}

View File

@@ -18,7 +18,7 @@ index d5004290e40a1ff5e0fcfe75f8da34ae15962359..31ae0f466ae522d767907ec5066b2669
&& pathType != PathType.POWDER_SNOW) {
node = this.tryJumpOn(x, y, z, maxYStep, prevFeetY, direction, nodeType, mutableBlockPos);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 89e5918d0a79b0c28c6d9f73f5c33de9f5b04a10..43b1da25411169fde7e25621b1dbeab3a83fb0af 100644
index 08f5759ad14f22e1af5bae16f5e978ad321df7c2..792299ec1ed47a7eda31464b17da33a30f09c82b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -136,6 +136,7 @@ public class PurpurWorldConfig {

View File

@@ -29,10 +29,10 @@ index fde6bae8a5d9eba7ec87c73047a6e3f91629828e..0e9a4e473b1f1887804507cfadfdeeed
protected void registerGoals() {
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 43b1da25411169fde7e25621b1dbeab3a83fb0af..e7c3eced685bd75bd5b09ecd7c47cc73bac6fae8 100644
index 792299ec1ed47a7eda31464b17da33a30f09c82b..d191b3401194b6a00f82f1e7bed8eef4f26f9875 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2242,6 +2242,7 @@ public class PurpurWorldConfig {
@@ -2244,6 +2244,7 @@ public class PurpurWorldConfig {
public double shulkerSpawnFromBulletNearbyRange = 8.0D;
public String shulkerSpawnFromBulletNearbyEquation = "(nearby - 1) / 5.0";
public boolean shulkerSpawnFromBulletRandomColor = false;
@@ -40,7 +40,7 @@ index 43b1da25411169fde7e25621b1dbeab3a83fb0af..e7c3eced685bd75bd5b09ecd7c47cc73
private void shulkerSettings() {
shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable);
shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater);
@@ -2258,6 +2259,7 @@ public class PurpurWorldConfig {
@@ -2260,6 +2261,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

@@ -25,7 +25,7 @@ index 74200fab686750cd53fc30edd050189cb11fe857..9e3dc4bf5ad390e6e49a5193c7788d0c
// CraftBukkit start
// If we stop due to everyone sleeping we should reset the weather duration to some other random value.
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e7c3eced685bd75bd5b09ecd7c47cc73bac6fae8..21e4fa3fe335733c1c9c3772526d573cf8464ce5 100644
index d191b3401194b6a00f82f1e7bed8eef4f26f9875..5e8f6c9542358888f897dc67af20efb2022e7be1 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -137,6 +137,8 @@ public class PurpurWorldConfig {

View File

@@ -50,10 +50,10 @@ index 223259e7a09ada681b6181c898f6857888594f85..7d58a95f7ae8983b466b275f4f82597d
.sound(SoundType.FLOWERING_AZALEA)
.noOcclusion()
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 21e4fa3fe335733c1c9c3772526d573cf8464ce5..2762490934b27e555efbb9cfa92bd3946d618444 100644
index 5e8f6c9542358888f897dc67af20efb2022e7be1..3f9da1c367a397c9e386517d690f048a93787686 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -789,6 +789,11 @@ public class PurpurWorldConfig {
@@ -791,6 +791,11 @@ public class PurpurWorldConfig {
anvilColorsUseMiniMessage = getBoolean("blocks.anvil.use-mini-message", anvilColorsUseMiniMessage);
}
@@ -65,7 +65,7 @@ index 21e4fa3fe335733c1c9c3772526d573cf8464ce5..2762490934b27e555efbb9cfa92bd394
public int beaconLevelOne = 20;
public int beaconLevelTwo = 30;
public int beaconLevelThree = 40;
@@ -926,6 +931,11 @@ public class PurpurWorldConfig {
@@ -928,6 +933,11 @@ public class PurpurWorldConfig {
farmlandTramplingFeatherFalling = getBoolean("blocks.farmland.feather-fall-distance-affects-trampling", farmlandTramplingFeatherFalling);
}

View File

@@ -48,21 +48,21 @@ index 22979d8531fd9732b1fd5eaf76aec52b22fdf6bb..d0672ed5abf3488fc3ec6ea8b153e2d2
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 2762490934b27e555efbb9cfa92bd3946d618444..977ba750ed0faa9d45c56a2cb76a9c4497c3b984 100644
index 3f9da1c367a397c9e386517d690f048a93787686..205b3ec04cc2e713b474242fae0792317ce708c9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -395,6 +395,7 @@ public class PurpurWorldConfig {
public int playerBurpDelay = 10;
@@ -396,6 +396,7 @@ public class PurpurWorldConfig {
public boolean playerBurpWhenFull = false;
public boolean playerRidableInWater = false;
public boolean playerRemoveBindingWithWeakness = false;
+ public int shiftRightClickRepairsMendingPoints = 0;
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -418,6 +419,7 @@ public class PurpurWorldConfig {
playerBurpDelay = getInt("gameplay-mechanics.player.burp-delay", playerBurpDelay);
@@ -420,6 +421,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);
+ shiftRightClickRepairsMendingPoints = getInt("gameplay-mechanics.player.shift-right-click-repairs-mending-points", shiftRightClickRepairsMendingPoints);
}

View File

@@ -48,10 +48,10 @@ index 439fa9a5070889a4dee48786509940c4d56b6806..f2e1954a1e80862ec3818af448cf4096
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 977ba750ed0faa9d45c56a2cb76a9c4497c3b984..7e8284774c7a1837ecf36b1dcdd682307fe0e012 100644
index 205b3ec04cc2e713b474242fae0792317ce708c9..0f5fc85cdd9210627b09e31d6f5d9b8f7cbed691 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1340,6 +1340,7 @@ public class PurpurWorldConfig {
@@ -1342,6 +1342,7 @@ public class PurpurWorldConfig {
public double dolphinMaxHealth = 10.0D;
public boolean dolphinDisableTreasureSearching = false;
public boolean dolphinTakeDamageFromWater = false;
@@ -59,7 +59,7 @@ index 977ba750ed0faa9d45c56a2cb76a9c4497c3b984..7e8284774c7a1837ecf36b1dcdd68230
private void dolphinSettings() {
dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable);
dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable);
@@ -1354,6 +1355,7 @@ public class PurpurWorldConfig {
@@ -1356,6 +1357,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

@@ -61,10 +61,10 @@ index c519883f4ed3772378b5563401b8c557dc315ace..78f00014c034949b6559ca948b1b78fa
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7e8284774c7a1837ecf36b1dcdd682307fe0e012..76372d3723cf5f84eb998bb68e5ede21c674efd4 100644
index 0f5fc85cdd9210627b09e31d6f5d9b8f7cbed691..6db545951f0923ba14a06f2a98b6f39ec3c31f9f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1289,7 +1289,14 @@ public class PurpurWorldConfig {
@@ -1291,7 +1291,14 @@ public class PurpurWorldConfig {
public int cowFeedMushrooms = 0;
public int cowBreedingTicks = 6000;
public boolean cowTakeDamageFromWater = false;
@@ -79,7 +79,7 @@ index 7e8284774c7a1837ecf36b1dcdd682307fe0e012..76372d3723cf5f84eb998bb68e5ede21
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
cowControllable = getBoolean("mobs.cow.controllable", cowControllable);
@@ -1302,6 +1309,8 @@ public class PurpurWorldConfig {
@@ -1304,6 +1311,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 1e100de8d30777e83907c523ffc1a3a54c670205..a9f6016b76dce5ca63b3a1093241c9e6
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 76372d3723cf5f84eb998bb68e5ede21c674efd4..a0d26e77e7c08c65c6d6bd47d0103499e3571790 100644
index 6db545951f0923ba14a06f2a98b6f39ec3c31f9f..38768c545488f6062a2af68a2f744f07ef00541c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -808,6 +808,7 @@ public class PurpurWorldConfig {
@@ -810,6 +810,7 @@ public class PurpurWorldConfig {
}
public boolean bedExplode = true;
@@ -33,7 +33,7 @@ index 76372d3723cf5f84eb998bb68e5ede21c674efd4..a0d26e77e7c08c65c6d6bd47d0103499
public double bedExplosionPower = 5.0D;
public boolean bedExplosionFire = true;
public net.minecraft.world.level.Level.ExplosionInteraction bedExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK;
@@ -818,6 +819,7 @@ public class PurpurWorldConfig {
@@ -820,6 +821,7 @@ public class PurpurWorldConfig {
}
}
bedExplode = getBoolean("blocks.bed.explode", bedExplode);

View File

@@ -60,10 +60,10 @@ index c8a664447f19e437eb7c615563add92715be9650..fc6914d459b1985a2cba0f963a7d79eb
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 a0d26e77e7c08c65c6d6bd47d0103499e3571790..0b68d1be5fa4be9e68bdcfb0df733138154a9d43 100644
index 38768c545488f6062a2af68a2f744f07ef00541c..5b9671669fef3844a02e2c79b965d3eea1bea87a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1682,6 +1682,13 @@ public class PurpurWorldConfig {
@@ -1684,6 +1684,13 @@ public class PurpurWorldConfig {
guardianTakeDamageFromWater = getBoolean("mobs.guardian.takes-damage-from-water", guardianTakeDamageFromWater);
}

View File

@@ -18,10 +18,10 @@ index 7f6058f4def83867971121751acd51c398583651..5a49daf7b6bf9e0ec3d50494287a620d
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0b68d1be5fa4be9e68bdcfb0df733138154a9d43..81ca14a36b03a9ee2871a3be3a0c443add270d46 100644
index 5b9671669fef3844a02e2c79b965d3eea1bea87a..786c880cb4bb0be0b3ddbfadfd1a3b4dcf72e1a2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -851,6 +851,11 @@ public class PurpurWorldConfig {
@@ -853,6 +853,11 @@ public class PurpurWorldConfig {
cactusBreaksFromSolidNeighbors = getBoolean("blocks.cactus.breaks-from-solid-neighbors", cactusBreaksFromSolidNeighbors);
}

View File

@@ -46,7 +46,7 @@ index f59a2903bfb8ae591a638ea5bb387caaa93ce664..1b9d0e28e518c501b4b93ae385ddd64a
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 81ca14a36b03a9ee2871a3be3a0c443add270d46..c58528599fd3231948582cf6f789b68b1eaecbe2 100644
index 786c880cb4bb0be0b3ddbfadfd1a3b4dcf72e1a2..56607d301b0d5a0cca98f93d371709d998458a19 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -216,6 +216,9 @@ public class PurpurWorldConfig {

View File

@@ -18,10 +18,10 @@ index 9bb75b49ea2d0bd8aafbe537b65f86eb04f6cfe2..612907fe87e46b5b13ed80635f203fa9
if (!this.level().isClientSide) {
this.startConverting(player.getUUID(), this.random.nextInt(level().purpurConfig.zombieVillagerCuringTimeMax - level().purpurConfig.zombieVillagerCuringTimeMin + 1) + level().purpurConfig.zombieVillagerCuringTimeMin); // Purpur
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c58528599fd3231948582cf6f789b68b1eaecbe2..48173dd974319c4f8e3b859c3b2ebde6065b8b7b 100644
index 56607d301b0d5a0cca98f93d371709d998458a19..af752f79ae28224b114afac6ba0dee1eed1590df 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2901,6 +2901,7 @@ public class PurpurWorldConfig {
@@ -2903,6 +2903,7 @@ public class PurpurWorldConfig {
public boolean zombieVillagerTakeDamageFromWater = false;
public int zombieVillagerCuringTimeMin = 3600;
public int zombieVillagerCuringTimeMax = 6000;
@@ -29,7 +29,7 @@ index c58528599fd3231948582cf6f789b68b1eaecbe2..48173dd974319c4f8e3b859c3b2ebde6
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2918,6 +2919,7 @@ public class PurpurWorldConfig {
@@ -2920,6 +2921,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

@@ -135,7 +135,7 @@ index c0563260277f9f4bd9ff08993b2efb4bca9a0c60..cd0e43f4c53a746dd6183a8406269f9b
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 48173dd974319c4f8e3b859c3b2ebde6065b8b7b..8f30f8f17d38201344c0275f9db706831125ad1e 100644
index af752f79ae28224b114afac6ba0dee1eed1590df..f637f01551cb83303d97716f50c93ab60923a1da 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -128,6 +128,8 @@ public class PurpurWorldConfig {

View File

@@ -84,10 +84,10 @@ index a28be7a332659be655f419d969e0c64e659b6c21..8cd812a25b1cc05ea14675658bf9c150
public ClientboundBlockEntityDataPacket getUpdatePacket() {
return ClientboundBlockEntityDataPacket.create(this);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8f30f8f17d38201344c0275f9db706831125ad1e..2abad992ce2634c3bab521a2091d440c41795450 100644
index f637f01551cb83303d97716f50c93ab60923a1da..a188ef9206211d4a0071255b90b740ce08199c84 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1024,6 +1024,11 @@ public class PurpurWorldConfig {
@@ -1026,6 +1026,11 @@ public class PurpurWorldConfig {
}
}

View File

@@ -74,10 +74,10 @@ index acbd60a2f162fe0e254e36d0e8e7face3fc8a7b3..da1c7999ca64199387054de46489d3ff
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8e2fe4cd6cc9ebfda022f9dd2ad52d9a786bed6d..bf6e78aa6e8e7e26e5ac451ff650cdc48dd5bcde 100644
index d0b77f8c0653f855d9afffd4a27ac23b9b4bf59e..23befe69c8add7b4c6cda29a1dafe826d2ab89a9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -531,6 +531,8 @@ public class PurpurWorldConfig {
@@ -533,6 +533,8 @@ public class PurpurWorldConfig {
public Map<Block, Weatherable> axeWeatherables = new HashMap<>();
public Map<Block, Tillable> hoeTillables = new HashMap<>();
public Map<Block, Flattenable> shovelFlattenables = new HashMap<>();
@@ -86,7 +86,7 @@ index 8e2fe4cd6cc9ebfda022f9dd2ad52d9a786bed6d..bf6e78aa6e8e7e26e5ac451ff650cdc4
private void toolSettings() {
axeStrippables.clear();
axeWaxables.clear();
@@ -798,6 +800,8 @@ public class PurpurWorldConfig {
@@ -800,6 +802,8 @@ public class PurpurWorldConfig {
});
shovelFlattenables.put(block, new Flattenable(into, drops));
});

View File

@@ -18,10 +18,10 @@ index 0c732cfbd9ce50198a3f85ae8ef2263d7ae0bc1a..2f0e8aeb9c45853fca12ddd78a7d5181
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index bf6e78aa6e8e7e26e5ac451ff650cdc48dd5bcde..f8a31098eaccee7803aa2c186fbfd18fa8484f8d 100644
index 23befe69c8add7b4c6cda29a1dafe826d2ab89a9..26bc162342b8bf3d9a5e89712ca4b0a7a311267a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1058,11 +1058,13 @@ public class PurpurWorldConfig {
@@ -1060,11 +1060,13 @@ public class PurpurWorldConfig {
public boolean turtleEggsBreakFromItems = false;
public boolean turtleEggsBreakFromMinecarts = false;
public boolean turtleEggsBypassMobGriefing = false;

View File

@@ -32,10 +32,10 @@ index bc31065aed8d09b5242310de52f895a0173c0534..aa8997468c50810c3c9713c98a7786f2
// 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 f8a31098eaccee7803aa2c186fbfd18fa8484f8d..d7e073764928fb69576ee931a9509f7449cfa9cd 100644
index 26bc162342b8bf3d9a5e89712ca4b0a7a311267a..5ed9442312b07887bff555896525fc6249508ee2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1376,6 +1376,7 @@ public class PurpurWorldConfig {
@@ -1378,6 +1378,7 @@ public class PurpurWorldConfig {
public boolean creeperExplodeWhenKilled = false;
public boolean creeperHealthRadius = false;
public boolean creeperAlwaysDropExp = false;
@@ -43,7 +43,7 @@ index f8a31098eaccee7803aa2c186fbfd18fa8484f8d..d7e073764928fb69576ee931a9509f74
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -1393,6 +1394,7 @@ public class PurpurWorldConfig {
@@ -1395,6 +1396,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 f8a31098eaccee7803aa2c186fbfd18fa8484f8d..d7e073764928fb69576ee931a9509f74
}
public boolean dolphinRidable = false;
@@ -2179,6 +2181,7 @@ public class PurpurWorldConfig {
@@ -2181,6 +2183,7 @@ public class PurpurWorldConfig {
public boolean piglinTakeDamageFromWater = false;
public int piglinPortalSpawnModifier = 2000;
public boolean piglinAlwaysDropExp = false;
@@ -59,7 +59,7 @@ index f8a31098eaccee7803aa2c186fbfd18fa8484f8d..d7e073764928fb69576ee931a9509f74
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -2193,6 +2196,7 @@ public class PurpurWorldConfig {
@@ -2195,6 +2198,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 f8a31098eaccee7803aa2c186fbfd18fa8484f8d..d7e073764928fb69576ee931a9509f74
}
public boolean piglinBruteRidable = false;
@@ -2452,6 +2456,7 @@ public class PurpurWorldConfig {
@@ -2454,6 +2458,7 @@ public class PurpurWorldConfig {
public double skeletonMaxHealth = 20.0D;
public boolean skeletonTakeDamageFromWater = false;
public boolean skeletonAlwaysDropExp = false;
@@ -75,7 +75,7 @@ index f8a31098eaccee7803aa2c186fbfd18fa8484f8d..d7e073764928fb69576ee931a9509f74
private void skeletonSettings() {
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
@@ -2464,6 +2469,7 @@ public class PurpurWorldConfig {
@@ -2466,6 +2471,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 f8a31098eaccee7803aa2c186fbfd18fa8484f8d..d7e073764928fb69576ee931a9509f74
}
public boolean skeletonHorseRidable = false;
@@ -2998,6 +3004,7 @@ public class PurpurWorldConfig {
@@ -3000,6 +3006,7 @@ public class PurpurWorldConfig {
public boolean zombieBypassMobGriefing = false;
public boolean zombieTakeDamageFromWater = false;
public boolean zombieAlwaysDropExp = false;
@@ -91,7 +91,7 @@ index f8a31098eaccee7803aa2c186fbfd18fa8484f8d..d7e073764928fb69576ee931a9509f74
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -3016,6 +3023,7 @@ public class PurpurWorldConfig {
@@ -3018,6 +3025,7 @@ public class PurpurWorldConfig {
zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing);
zombieTakeDamageFromWater = getBoolean("mobs.zombie.takes-damage-from-water", zombieTakeDamageFromWater);
zombieAlwaysDropExp = getBoolean("mobs.zombie.always-drop-exp", zombieAlwaysDropExp);

View File

@@ -17,10 +17,10 @@ index ca56f5781c1c02e40179a4dd359c5d167d3160dc..0dfdecff129a6b34833eb3fb7d7d967b
++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 d7e073764928fb69576ee931a9509f7449cfa9cd..aa35b3a8cb124c7b9fb92e457bc17755e6fc6149 100644
index 5ed9442312b07887bff555896525fc6249508ee2..d902ebbbc8144c344342d24aae2e34279ad77e7f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1166,6 +1166,7 @@ public class PurpurWorldConfig {
@@ -1168,6 +1168,7 @@ public class PurpurWorldConfig {
public boolean beeCanWorkAtNight = false;
public boolean beeCanWorkInRain = false;
public boolean beeAlwaysDropExp = false;
@@ -28,7 +28,7 @@ index d7e073764928fb69576ee931a9509f7449cfa9cd..aa35b3a8cb124c7b9fb92e457bc17755
private void beeSettings() {
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
@@ -1182,6 +1183,7 @@ public class PurpurWorldConfig {
@@ -1184,6 +1185,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 12a0c69f8fec30fad64cbb00af2ca1bbf0ea5153..d0ec0722496ed931b48c4e7076fddbb1
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 aa35b3a8cb124c7b9fb92e457bc17755e6fc6149..49753a308b7124e9b1d7c9f6857e747147cfba84 100644
index d902ebbbc8144c344342d24aae2e34279ad77e7f..658f6b01f27c3559e2d8965c16975f3badfc00a2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -951,6 +951,7 @@ public class PurpurWorldConfig {
@@ -953,6 +953,7 @@ public class PurpurWorldConfig {
public boolean farmlandTramplingDisabled = false;
public boolean farmlandTramplingOnlyPlayers = false;
public boolean farmlandTramplingFeatherFalling = false;
@@ -46,7 +46,7 @@ index aa35b3a8cb124c7b9fb92e457bc17755e6fc6149..49753a308b7124e9b1d7c9f6857e7471
private void farmlandSettings() {
farmlandBypassMobGriefing = getBoolean("blocks.farmland.bypass-mob-griefing", farmlandBypassMobGriefing);
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
@@ -958,6 +959,7 @@ public class PurpurWorldConfig {
@@ -960,6 +961,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

@@ -35,20 +35,20 @@ index cb6f161d32fe9642e9e9b1efc47d88612041ea15..92df67d9e1d32c8a7aaeaaa46c7641af
} 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 49753a308b7124e9b1d7c9f6857e747147cfba84..24e6b90f79fe94416967503f72e9a444c6af4a60 100644
index 658f6b01f27c3559e2d8965c16975f3badfc00a2..f1d59fd5d9f624319b96f7f5d815ec4341d24f38 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -412,6 +412,7 @@ public class PurpurWorldConfig {
public boolean playerBurpWhenFull = false;
@@ -413,6 +413,7 @@ public class PurpurWorldConfig {
public boolean playerRidableInWater = false;
public boolean playerRemoveBindingWithWeakness = false;
public int shiftRightClickRepairsMendingPoints = 0;
+ public int playerExpPickupDelay = 2;
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -436,6 +437,7 @@ public class PurpurWorldConfig {
playerBurpWhenFull = getBoolean("gameplay-mechanics.player.burp-when-full", playerBurpWhenFull);
@@ -438,6 +439,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);
+ playerExpPickupDelay = getInt("gameplay-mechanics.player.exp-pickup-delay-ticks", playerExpPickupDelay);
}

View File

@@ -18,19 +18,19 @@ index 9e3dc4bf5ad390e6e49a5193c7788d0c0c536f0f..49f77274309befcdef1548e875480b9f
}
// Paper end - Fix merchant inventory not closing on entity removal
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 24e6b90f79fe94416967503f72e9a444c6af4a60..274d162127c6d5cc5514f906e7bd697b213e4e9e 100644
index f1d59fd5d9f624319b96f7f5d815ec4341d24f38..5c92d0b952100deb3b721565bbd73c8c603b43ed 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -413,6 +413,7 @@ public class PurpurWorldConfig {
public boolean playerRidableInWater = false;
@@ -414,6 +414,7 @@ public class PurpurWorldConfig {
public boolean playerRemoveBindingWithWeakness = false;
public int shiftRightClickRepairsMendingPoints = 0;
public int playerExpPickupDelay = 2;
+ public boolean playerVoidTrading = false;
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -438,6 +439,7 @@ public class PurpurWorldConfig {
playerRidableInWater = getBoolean("gameplay-mechanics.player.ridable-in-water", playerRidableInWater);
@@ -440,6 +441,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);
+ playerVoidTrading = getBoolean("gameplay-mechanics.player.allow-void-trading", playerVoidTrading);

View File

@@ -22,10 +22,10 @@ index 98b4eecf1685dcf43880b983493597bd22de4877..260c5d22ee10582974a5006cfeefa067
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 274d162127c6d5cc5514f906e7bd697b213e4e9e..3d258742ce91c9dee81b9bc5a7ff73b5c4114f0b 100644
index 5c92d0b952100deb3b721565bbd73c8c603b43ed..589ee97f28f24de35fd755fcae4ec35b8d0e0cba 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2119,6 +2119,8 @@ public class PurpurWorldConfig {
@@ -2121,6 +2121,8 @@ public class PurpurWorldConfig {
public boolean phantomFlamesOnSwoop = false;
public boolean phantomTakeDamageFromWater = false;
public boolean phantomAlwaysDropExp = false;
@@ -34,7 +34,7 @@ index 274d162127c6d5cc5514f906e7bd697b213e4e9e..3d258742ce91c9dee81b9bc5a7ff73b5
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -2155,6 +2157,13 @@ public class PurpurWorldConfig {
@@ -2157,6 +2159,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 0efc8d997b34302c3e0a5d7ec73a11a940dbeefe..af157881d440b34cfe79fbc9b03cc9ef
public ItemStack assemble() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3d258742ce91c9dee81b9bc5a7ff73b5c4114f0b..2ad466c83b72272abbc2ff9dfbd0beaecf642da1 100644
index 589ee97f28f24de35fd755fcae4ec35b8d0e0cba..cb09de7b27e4bcc8594a901a3c19abd2c06c4813 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2800,6 +2800,7 @@ public class PurpurWorldConfig {
@@ -2802,6 +2802,7 @@ public class PurpurWorldConfig {
public boolean villagerTakeDamageFromWater = false;
public boolean villagerAllowTrading = true;
public boolean villagerAlwaysDropExp = false;
@@ -51,7 +51,7 @@ index 3d258742ce91c9dee81b9bc5a7ff73b5c4114f0b..2ad466c83b72272abbc2ff9dfbd0beae
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2820,6 +2821,7 @@ public class PurpurWorldConfig {
@@ -2822,6 +2823,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

@@ -104,10 +104,10 @@ index 6c15d40979fd3e3d246a447c432b321fbf29ada3..6ace76a829c88e2e747dbbcce0a6582c
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2ad466c83b72272abbc2ff9dfbd0beaecf642da1..ca66752f7a44835fc6a06f819699a6419f5ce21a 100644
index cb09de7b27e4bcc8594a901a3c19abd2c06c4813..4912f510b8245db1627dad910824e8157a88aaec 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2801,6 +2801,9 @@ public class PurpurWorldConfig {
@@ -2803,6 +2803,9 @@ public class PurpurWorldConfig {
public boolean villagerAllowTrading = true;
public boolean villagerAlwaysDropExp = false;
public int villagerMinimumDemand = 0;
@@ -117,7 +117,7 @@ index 2ad466c83b72272abbc2ff9dfbd0beaecf642da1..ca66752f7a44835fc6a06f819699a641
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2822,6 +2825,18 @@ public class PurpurWorldConfig {
@@ -2824,6 +2827,18 @@ 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 18dad0825616c4167a0a7555689ee64910a87e09..6945992491027d43eca4f1ca697ad45c
&& this.lookTime > 0
&& entity.getBrain().getMemory(MemoryModuleType.INTERACTION_TARGET).isPresent();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ca66752f7a44835fc6a06f819699a6419f5ce21a..2c3689423978af4cc99772fa108bbf9dce14619f 100644
index 4912f510b8245db1627dad910824e8157a88aaec..bf0d87f68ca561e01b1a5f839f74879d8e7d4013 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2804,6 +2804,7 @@ public class PurpurWorldConfig {
@@ -2806,6 +2806,7 @@ public class PurpurWorldConfig {
public boolean villagerLobotomizeEnabled = false;
public int villagerLobotomizeCheckInterval = 100;
public boolean villagerLobotomizeWaitUntilTradeLocked = false;
@@ -28,7 +28,7 @@ index ca66752f7a44835fc6a06f819699a6419f5ce21a..2c3689423978af4cc99772fa108bbf9d
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2837,6 +2838,7 @@ public class PurpurWorldConfig {
@@ -2839,6 +2840,7 @@ public class PurpurWorldConfig {
villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled);
villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval);
villagerLobotomizeWaitUntilTradeLocked = getBoolean("mobs.villager.lobotomize.wait-until-trade-locked", villagerLobotomizeWaitUntilTradeLocked);

View File

@@ -17,10 +17,10 @@ index c9cabb061ebc9172647304431cc3fb2593dd47ba..565408c03849fb3011fb708478a99ec6
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2c3689423978af4cc99772fa108bbf9dce14619f..5815e27f4cfe2eb3c25acee91c4ceb1a1d99e86f 100644
index bf0d87f68ca561e01b1a5f839f74879d8e7d4013..572feb00a0a580d05145b1b2d65c13e09bd079fc 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1045,8 +1045,10 @@ public class PurpurWorldConfig {
@@ -1047,8 +1047,10 @@ public class PurpurWorldConfig {
}
public boolean spawnerDeactivateByRedstone = false;

View File

@@ -38,7 +38,7 @@ index 88be8ebe619f2e42bdffab534da4f269b802cf41..ed594f9446646e30de3d4e8afa22f672
// Paper end
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5815e27f4cfe2eb3c25acee91c4ceb1a1d99e86f..15526da0c870b05ba5ddaafa26f5dac4aa990852 100644
index 572feb00a0a580d05145b1b2d65c13e09bd079fc..85ffa8bdfc6ce0fa6a79d8b1bd84a37ec63f6786 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -141,6 +141,7 @@ public class PurpurWorldConfig {

View File

@@ -63,10 +63,10 @@ index 923357251ad950ec4f893e8771fcfa99de8a60c5..78a341ac80806f86f2ca0bd895fb091a
protected InteractionResult useWithoutItem(BlockState state, Level world, BlockPos pos, Player player, BlockHitResult hit) {
if (world.isClientSide) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 15526da0c870b05ba5ddaafa26f5dac4aa990852..bbccb2536f9a0f6b3e59735a658c2b9e4155022b 100644
index 85ffa8bdfc6ce0fa6a79d8b1bd84a37ec63f6786..b996cb0703671233645caae1986464b0b45b0b38 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -812,9 +812,13 @@ public class PurpurWorldConfig {
@@ -814,9 +814,13 @@ public class PurpurWorldConfig {
public boolean anvilAllowColors = false;
public boolean anvilColorsUseMiniMessage;

View File

@@ -24,10 +24,10 @@ index 2f0e8aeb9c45853fca12ddd78a7d51813a600e67..08ba90f760abb9fb62311dddd7b5bdbd
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 bbccb2536f9a0f6b3e59735a658c2b9e4155022b..29202d5975e771c43b336785e5cf122f294324cd 100644
index b996cb0703671233645caae1986464b0b45b0b38..d03790ab14b90871cf52f0cd7d1662ec103d05ff 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1073,12 +1073,14 @@ public class PurpurWorldConfig {
@@ -1075,12 +1075,14 @@ public class PurpurWorldConfig {
public boolean turtleEggsBreakFromMinecarts = false;
public boolean turtleEggsBypassMobGriefing = false;
public int turtleEggsRandomTickCrackChance = 500;

View File

@@ -18,10 +18,10 @@ index 1f1d6fcdf89051761715f2422efe74e432a8d27a..2b55f05b727f862ea79ab2c200a756f6
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 29202d5975e771c43b336785e5cf122f294324cd..e3535f083ddc6c365f80eccb454f591b7aea10c6 100644
index d03790ab14b90871cf52f0cd7d1662ec103d05ff..83f8cea30ba4120a2f7036ac4ceead678fd25a75 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2815,6 +2815,8 @@ public class PurpurWorldConfig {
@@ -2817,6 +2817,8 @@ public class PurpurWorldConfig {
public int villagerLobotomizeCheckInterval = 100;
public boolean villagerLobotomizeWaitUntilTradeLocked = false;
public boolean villagerDisplayTradeItem = true;
@@ -30,7 +30,7 @@ index 29202d5975e771c43b336785e5cf122f294324cd..e3535f083ddc6c365f80eccb454f591b
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2849,6 +2851,8 @@ public class PurpurWorldConfig {
@@ -2851,6 +2853,8 @@ public class PurpurWorldConfig {
villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval);
villagerLobotomizeWaitUntilTradeLocked = getBoolean("mobs.villager.lobotomize.wait-until-trade-locked", villagerLobotomizeWaitUntilTradeLocked);
villagerDisplayTradeItem = getBoolean("mobs.villager.display-trade-item", villagerDisplayTradeItem);

View File

@@ -143,10 +143,10 @@ index 08b10246b4cb7374a230bea470d737670dae5edd..8aa2354bee8de0193863628c2d928699
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 e3535f083ddc6c365f80eccb454f591b7aea10c6..52bdb0f623ce3d3ccee7bf357feec1f1c46364ec 100644
index 83f8cea30ba4120a2f7036ac4ceead678fd25a75..d9bdb889d6318cb3ca4ff1b49d9d58b3d3abe5bc 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1068,6 +1068,11 @@ public class PurpurWorldConfig {
@@ -1070,6 +1070,11 @@ public class PurpurWorldConfig {
spongeAbsorbsWaterFromMud = getBoolean("blocks.sponge.absorbs-water-from-mud", spongeAbsorbsWaterFromMud);
}

View File

@@ -18,10 +18,10 @@ index 02d59789c09f58045fea302ea6f2ee3856114de3..8072713da7ed8b7a44b63c241050c3a9
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 52bdb0f623ce3d3ccee7bf357feec1f1c46364ec..9f2adedfa13d25f18952c667af7fd26194db7737 100644
index d9bdb889d6318cb3ca4ff1b49d9d58b3d3abe5bc..5af650db85969f069b79cda43f411a32282cdee9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1009,6 +1009,11 @@ public class PurpurWorldConfig {
@@ -1011,6 +1011,11 @@ public class PurpurWorldConfig {
pistonBlockPushLimit = getInt("blocks.piston.block-push-limit", pistonBlockPushLimit);
}

View File

@@ -22,10 +22,10 @@ index 93e8e5107ac047c1f2579b4fe6b0a202edb695f6..f82d275aac7bf3949d3dcc412c7e39e1
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9f2adedfa13d25f18952c667af7fd26194db7737..7a296aacb444c63ab312a4ae96509bf10d47a9c8 100644
index 5af650db85969f069b79cda43f411a32282cdee9..df45bdd528517a8e832bf6151e35c328447c6d3f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -990,9 +990,11 @@ public class PurpurWorldConfig {
@@ -992,9 +992,11 @@ public class PurpurWorldConfig {
public boolean mobsSpawnOnPackedIce = true;
public boolean mobsSpawnOnBlueIce = true;

View File

@@ -94,10 +94,10 @@ index 3f81faffc1a54ab1148c410ef80964d9876e4b77..dfa8bd613c7575338c6bb76234b7cb4a
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7a296aacb444c63ab312a4ae96509bf10d47a9c8..33d095f3309e003954c3c0c426c99e06ffa45902 100644
index df45bdd528517a8e832bf6151e35c328447c6d3f..48cc255a35e24dfa3b7563b92f791237eb4e7904 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2496,6 +2496,7 @@ public class PurpurWorldConfig {
@@ -2498,6 +2498,7 @@ public class PurpurWorldConfig {
public boolean skeletonTakeDamageFromWater = false;
public boolean skeletonAlwaysDropExp = false;
public double skeletonHeadVisibilityPercent = 0.5D;
@@ -105,7 +105,7 @@ index 7a296aacb444c63ab312a4ae96509bf10d47a9c8..33d095f3309e003954c3c0c426c99e06
private void skeletonSettings() {
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
@@ -2509,6 +2510,7 @@ public class PurpurWorldConfig {
@@ -2511,6 +2512,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

@@ -137,10 +137,10 @@ index d47bc2f54c4722a0b8c419b99ee57eb3cb25d750..fdeabdcc781b605d6f3ee18528fd380f
+ // Purpur
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 33d095f3309e003954c3c0c426c99e06ffa45902..045626e0e65d7dab2c53524a3b3d321988b6b323 100644
index 48cc255a35e24dfa3b7563b92f791237eb4e7904..f8eedeb83261aaf7346e4111a46fc6bc1c8f5f19 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1533,6 +1533,11 @@ public class PurpurWorldConfig {
@@ -1535,6 +1535,11 @@ public class PurpurWorldConfig {
elderGuardianAlwaysDropExp = getBoolean("mobs.elder_guardian.always-drop-exp", elderGuardianAlwaysDropExp);
}

View File

@@ -18,10 +18,10 @@ index b6b367492ebe2af3e63381bef935c6077f6ddb27..09f34c30d9a03751ed826b26375ac5ae
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 045626e0e65d7dab2c53524a3b3d321988b6b323..b52886864c0131bc8855a33a127ba60525188223 100644
index f8eedeb83261aaf7346e4111a46fc6bc1c8f5f19..08ec112edbd29823d2c9ecca9c6808f7dc8101f2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1047,6 +1047,11 @@ public class PurpurWorldConfig {
@@ -1049,6 +1049,11 @@ public class PurpurWorldConfig {
}
}

View File

@@ -29,10 +29,10 @@ index 81fe0dea8e6e23c4a78f07fc2f9c0d68cd683f11..bff97b7d3909f2ec9e58a341b901b374
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 b52886864c0131bc8855a33a127ba60525188223..15b0775787ad1015bd919193c086da5412d81a1a 100644
index 08ec112edbd29823d2c9ecca9c6808f7dc8101f2..ce0438a45cff8829d62f008323a72a8717ee12cd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -896,6 +896,11 @@ public class PurpurWorldConfig {
@@ -898,6 +898,11 @@ public class PurpurWorldConfig {
composterBulkProcess = getBoolean("blocks.composter.sneak-to-bulk-process", composterBulkProcess);
}

View File

@@ -33,7 +33,7 @@ index b9c8fe36c6a6256097ea69383bef678bbfb6c45b..8ec27ee82cd6f31bee722852c5fc6e7c
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 15b0775787ad1015bd919193c086da5412d81a1a..78db6aab7d0b4dc9253ce0dc3bd8261a4876e203 100644
index ce0438a45cff8829d62f008323a72a8717ee12cd..b26d42857eec11d92372bd9c6a0df4ef3dadb140 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -208,9 +208,11 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ index 35e94c06361795d032f995e8282f8b35c075dae7..0f90a6803851eba51e164772c984b1cd
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 78db6aab7d0b4dc9253ce0dc3bd8261a4876e203..3146fdda9aa8b8fd08874d0ac2e75799487e742a 100644
index b26d42857eec11d92372bd9c6a0df4ef3dadb140..d1ca8b4947faf6114492626a298ee0dd46f6fe32 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -370,6 +370,7 @@ public class PurpurWorldConfig {

View File

@@ -18,10 +18,10 @@ index 63cbec52bc4637a0b787cbc22041188691527def..45b09f79a0ae8b7ebdd015d6edfa1fe0
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 3146fdda9aa8b8fd08874d0ac2e75799487e742a..d6f8eb7e474144ccf8bf6610ef80019b513660b0 100644
index d1ca8b4947faf6114492626a298ee0dd46f6fe32..987e61dc9f1688b378005f95850841bf896e9cf9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2516,6 +2516,8 @@ public class PurpurWorldConfig {
@@ -2518,6 +2518,8 @@ public class PurpurWorldConfig {
public boolean skeletonAlwaysDropExp = false;
public double skeletonHeadVisibilityPercent = 0.5D;
public int skeletonFeedWitherRoses = 0;
@@ -30,7 +30,7 @@ index 3146fdda9aa8b8fd08874d0ac2e75799487e742a..d6f8eb7e474144ccf8bf6610ef80019b
private void skeletonSettings() {
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
@@ -2530,6 +2532,18 @@ public class PurpurWorldConfig {
@@ -2532,6 +2534,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

@@ -30,7 +30,7 @@ index d342752271c76b447bb8cde50d57407259b93c43..360514d5afcafcf6dd83335938bfa09b
this.goalSelector.addGoal(1, new TradeWithPlayerGoal(this));
this.goalSelector.addGoal(1, new AvoidEntityGoal<>(this, Zombie.class, 8.0F, 0.5D, 0.5D));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d6f8eb7e474144ccf8bf6610ef80019b513660b0..8415a1def3c9a4c2c7ba2b47e2dde38555e50cc5 100644
index 987e61dc9f1688b378005f95850841bf896e9cf9..f3a83c902a5d4fd66ef2af78ac180fc629d405fe 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -126,6 +126,7 @@ public class PurpurWorldConfig {

View File

@@ -24,10 +24,10 @@ index 137ec75ee803789deb7b1ca93dd9369c9af362b9..ca95d25af3e9a0536868b0c7fd8e7d2f
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8415a1def3c9a4c2c7ba2b47e2dde38555e50cc5..6054a97826b716f9a670a58f4448f9e98a7bfae3 100644
index f3a83c902a5d4fd66ef2af78ac180fc629d405fe..4101ffc947d55fec0870046d95ca8796d814bc3a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1423,6 +1423,7 @@ public class PurpurWorldConfig {
@@ -1425,6 +1425,7 @@ public class PurpurWorldConfig {
public boolean creeperHealthRadius = false;
public boolean creeperAlwaysDropExp = false;
public double creeperHeadVisibilityPercent = 0.5D;
@@ -35,7 +35,7 @@ index 8415a1def3c9a4c2c7ba2b47e2dde38555e50cc5..6054a97826b716f9a670a58f4448f9e9
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -1441,6 +1442,7 @@ public class PurpurWorldConfig {
@@ -1443,6 +1444,7 @@ public class PurpurWorldConfig {
creeperHealthRadius = getBoolean("mobs.creeper.health-impacts-explosion", creeperHealthRadius);
creeperAlwaysDropExp = getBoolean("mobs.creeper.always-drop-exp", creeperAlwaysDropExp);
creeperHeadVisibilityPercent = getDouble("mobs.creeper.head-visibility-percent", creeperHeadVisibilityPercent);

View File

@@ -17,7 +17,7 @@ index eb6ec199cb61f91b32144f51388785d355e2fce0..1d1b7a9b8f40610d19faaff876e2f725
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6054a97826b716f9a670a58f4448f9e98a7bfae3..dea3b8f9c913c2a69b6dbed920319b19ebaa3e7b 100644
index 4101ffc947d55fec0870046d95ca8796d814bc3a..161ecb87855a2450c5b7dffdf26a761c3a86f351 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -410,6 +410,7 @@ public class PurpurWorldConfig {
@@ -28,7 +28,7 @@ index 6054a97826b716f9a670a58f4448f9e98a7bfae3..dea3b8f9c913c2a69b6dbed920319b19
public boolean totemOfUndyingWorksInInventory = false;
public boolean playerFixStuckPortal = false;
public boolean creativeOnePunch = false;
@@ -436,6 +437,7 @@ public class PurpurWorldConfig {
@@ -437,6 +438,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 02f1d0418395b100cabfad7294466aaad34ac7c6..c0275197cc9aab2a49d88476e072a94f
// Purpur start
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index dea3b8f9c913c2a69b6dbed920319b19ebaa3e7b..995d3583886b0cbf3f01890cce273d6f7e20808e 100644
index 161ecb87855a2450c5b7dffdf26a761c3a86f351..9001cedb13c057a17de9bc778c755cced6676e07 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 {
@@ -941,6 +941,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 dea3b8f9c913c2a69b6dbed920319b19ebaa3e7b..995d3583886b0cbf3f01890cce273d6f
private void endCrystalSettings() {
if (PurpurConfig.version < 31) {
if ("DESTROY".equals(getString("blocks.end-crystal.baseless.explosion-effect", baselessEndCrystalExplosionEffect.name()))) {
@@ -966,6 +967,7 @@ public class PurpurWorldConfig {
@@ -968,6 +969,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 d1fb77d83d48183a9a37dbeec7bb0fda623d7e9b..df02a78855f1d0c32d1f744c20803fc9
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 995d3583886b0cbf3f01890cce273d6f7e20808e..30405ef3db291e924fb77214b54e17a658a37c14 100644
index 9001cedb13c057a17de9bc778c755cced6676e07..d7b6ee51f1e9e5bf33cecedbeb27bb12ad332916 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -838,11 +838,13 @@ public class PurpurWorldConfig {
@@ -840,11 +840,13 @@ public class PurpurWorldConfig {
public int beaconLevelTwo = 30;
public int beaconLevelThree = 40;
public int beaconLevelFour = 50;

View File

@@ -27,7 +27,7 @@ index 3ee7bf7e10f8120258baaae8f77cdcbb6a781f78..754373da9a5246c11f3c33a8907d387e
}
// CraftBukkit end
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 30405ef3db291e924fb77214b54e17a658a37c14..7b99e6b8f887a00a8ff6b7f4b739c8da3a48f0df 100644
index d7b6ee51f1e9e5bf33cecedbeb27bb12ad332916..46e49af0af0f4e0a6023543059d5d0bb1e3807df 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -217,6 +217,11 @@ public class PurpurWorldConfig {

View File

@@ -137,10 +137,10 @@ index c48c622e92cedeaa46b929c7adfedec98dd5a3fb..6449b5c424443b5f0ee7e3fce8034494
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7b99e6b8f887a00a8ff6b7f4b739c8da3a48f0df..6b80437501a6de3abe63c4933a83b4462a70ebe7 100644
index 46e49af0af0f4e0a6023543059d5d0bb1e3807df..efd50934c728bb5dd7e54a22aafeca77fb0588b5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -892,8 +892,20 @@ public class PurpurWorldConfig {
@@ -894,8 +894,20 @@ public class PurpurWorldConfig {
}
public boolean cactusBreaksFromSolidNeighbors = true;

View File

@@ -42,10 +42,10 @@ index 42bd2d9a1528b6210e4dfb56233062fd97c9743b..2a4425d04917b32c7ae5af3e7422c0ba
+ // Purpur end - Shears can defuse TNT
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6b80437501a6de3abe63c4933a83b4462a70ebe7..d82aefe7a550bde00320148df606b483bf34801d 100644
index efd50934c728bb5dd7e54a22aafeca77fb0588b5..c37f67a58d8e0877f7c7e2f732cf21b711c5bb7b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -3285,4 +3285,11 @@ public class PurpurWorldConfig {
@@ -3287,4 +3287,11 @@ public class PurpurWorldConfig {
cauldronDripstoneWaterFillChance = (float) getDouble("blocks.cauldron.fill-chances.dripstone-water", cauldronDripstoneWaterFillChance);
cauldronDripstoneLavaFillChance = (float) getDouble("blocks.cauldron.fill-chances.dripstone-lava", cauldronDripstoneLavaFillChance);
}

View File

@@ -18,10 +18,10 @@ index e09ca4aa99f2e58f97159a40e33ed863fa2ae7df..6e866ec44a83ec9064ac3228bd96eb25
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d82aefe7a550bde00320148df606b483bf34801d..208f2d2377a70913dc7d7cf553178f17f9cb7f9c 100644
index c37f67a58d8e0877f7c7e2f732cf21b711c5bb7b..c0b7362de8d5296c728d8485e33726e6252a8371 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2100,6 +2100,7 @@ public class PurpurWorldConfig {
@@ -2102,6 +2102,7 @@ public class PurpurWorldConfig {
public int ocelotBreedingTicks = 6000;
public boolean ocelotTakeDamageFromWater = false;
public boolean ocelotAlwaysDropExp = false;
@@ -29,7 +29,7 @@ index d82aefe7a550bde00320148df606b483bf34801d..208f2d2377a70913dc7d7cf553178f17
private void ocelotSettings() {
ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable);
ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater);
@@ -2113,6 +2114,7 @@ public class PurpurWorldConfig {
@@ -2115,6 +2116,7 @@ public class PurpurWorldConfig {
ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks);
ocelotTakeDamageFromWater = getBoolean("mobs.ocelot.takes-damage-from-water", ocelotTakeDamageFromWater);
ocelotAlwaysDropExp = getBoolean("mobs.ocelot.always-drop-exp", ocelotAlwaysDropExp);

View File

@@ -29,10 +29,10 @@ index 0192b62fd66621a72fcf2f20896647e5950ba993..d079d5492b6ed709b1e0a7d84fb5f8f6
piglin.getBrain().eraseMemory(MemoryModuleType.WALK_TARGET);
piglin.getNavigation().stop();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 208f2d2377a70913dc7d7cf553178f17f9cb7f9c..860635e73c266723f59f1ec3f48d526e1cf33cbd 100644
index c0b7362de8d5296c728d8485e33726e6252a8371..a93f224baa7b5894094acbf6a7963b0ad1015e6a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2269,6 +2269,7 @@ public class PurpurWorldConfig {
@@ -2271,6 +2271,7 @@ public class PurpurWorldConfig {
public int piglinPortalSpawnModifier = 2000;
public boolean piglinAlwaysDropExp = false;
public double piglinHeadVisibilityPercent = 0.5D;
@@ -40,7 +40,7 @@ index 208f2d2377a70913dc7d7cf553178f17f9cb7f9c..860635e73c266723f59f1ec3f48d526e
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -2284,6 +2285,7 @@ public class PurpurWorldConfig {
@@ -2286,6 +2287,7 @@ public class PurpurWorldConfig {
piglinPortalSpawnModifier = getInt("mobs.piglin.portal-spawn-modifier", piglinPortalSpawnModifier);
piglinAlwaysDropExp = getBoolean("mobs.piglin.always-drop-exp", piglinAlwaysDropExp);
piglinHeadVisibilityPercent = getDouble("mobs.piglin.head-visibility-percent", piglinHeadVisibilityPercent);

View File

@@ -18,10 +18,10 @@ index 5f51e64cb0611a4ba6bdcdcacbcba1063a7f3a5c..8fb564f43e2f1194d2ad68d35c4df6b9
} else {
BlockPos blockposition1 = blockposition.above(); final BlockPos aboveBlockPosition = blockposition1; // Paper - OBFHELPER
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 860635e73c266723f59f1ec3f48d526e1cf33cbd..b4d96aa67f92993be250165bd26733925d830d4a 100644
index a93f224baa7b5894094acbf6a7963b0ad1015e6a..e82fb81d8b48597a3933e250510604c09662e340 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -959,6 +959,7 @@ public class PurpurWorldConfig {
@@ -961,6 +961,7 @@ public class PurpurWorldConfig {
public boolean basedEndCrystalExplosionFire = false;
public net.minecraft.world.level.Level.ExplosionInteraction basedEndCrystalExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK;
public int endCrystalCramming = 0;
@@ -29,7 +29,7 @@ index 860635e73c266723f59f1ec3f48d526e1cf33cbd..b4d96aa67f92993be250165bd2673392
private void endCrystalSettings() {
if (PurpurConfig.version < 31) {
if ("DESTROY".equals(getString("blocks.end-crystal.baseless.explosion-effect", baselessEndCrystalExplosionEffect.name()))) {
@@ -987,6 +988,7 @@ public class PurpurWorldConfig {
@@ -989,6 +990,7 @@ public class PurpurWorldConfig {
basedEndCrystalExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK;
}
endCrystalCramming = getInt("blocks.end-crystal.cramming-amount", endCrystalCramming);

View File

@@ -18,7 +18,7 @@ index daae7fd6e0148cfba8e359d990748a0c83a3376e..0e06b1bcd906e92c083dc74d56d6d0a2
return random.nextFloat() < f1 ? this.getNext(state) : Optional.empty();
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b4d96aa67f92993be250165bd26733925d830d4a..1093dcdda3087d120f32d32b40ac48c8b7cfc26c 100644
index e82fb81d8b48597a3933e250510604c09662e340..3f36995a2f5135c3e9014ffa021d8ef3fc2d40bd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -143,6 +143,7 @@ public class PurpurWorldConfig {

View File

@@ -31,10 +31,10 @@ index d5a549f08b98c80a5cf0eef02cb8a389c32dfecb..222c87e80cb089867ce9a7d2dceebe21
.collect(Collectors.toSet());
Path path = AcquirePoi.findPathToPois(entity, set);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1093dcdda3087d120f32d32b40ac48c8b7cfc26c..18906db3235348222d28f08a49d143bf114f8c06 100644
index 3f36995a2f5135c3e9014ffa021d8ef3fc2d40bd..d6ccc6cb1d89279c1786403f4288d33bf89b5546 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2899,6 +2899,8 @@ public class PurpurWorldConfig {
@@ -2901,6 +2901,8 @@ public class PurpurWorldConfig {
public boolean villagerDisplayTradeItem = true;
public int villagerSpawnIronGolemRadius = 0;
public int villagerSpawnIronGolemLimit = 0;
@@ -43,7 +43,7 @@ index 1093dcdda3087d120f32d32b40ac48c8b7cfc26c..18906db3235348222d28f08a49d143bf
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2935,6 +2937,8 @@ public class PurpurWorldConfig {
@@ -2937,6 +2939,8 @@ public class PurpurWorldConfig {
villagerDisplayTradeItem = getBoolean("mobs.villager.display-trade-item", villagerDisplayTradeItem);
villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius);
villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);

View File

@@ -18,10 +18,10 @@ index 714a37974e3256913c15193f2bd292fe45072c7f..0c494a8c71e316307af2c0e256ccfd23
this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 0.4D));
this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 18906db3235348222d28f08a49d143bf114f8c06..1cb994c100472de9fc985025c2bd00b37ab6a9e0 100644
index d6ccc6cb1d89279c1786403f4288d33bf89b5546..574a690070fe19d77d2f6b5f711bbf65b6357278 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2415,6 +2415,7 @@ public class PurpurWorldConfig {
@@ -2417,6 +2417,7 @@ public class PurpurWorldConfig {
public boolean ravagerTakeDamageFromWater = false;
public List<Block> ravagerGriefableBlocks = new ArrayList<>();
public boolean ravagerAlwaysDropExp = false;
@@ -29,7 +29,7 @@ index 18906db3235348222d28f08a49d143bf114f8c06..1cb994c100472de9fc985025c2bd00b3
private void ravagerSettings() {
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
@@ -2445,6 +2446,7 @@ public class PurpurWorldConfig {
@@ -2447,6 +2448,7 @@ public class PurpurWorldConfig {
}
});
ravagerAlwaysDropExp = getBoolean("mobs.ravager.always-drop-exp", ravagerAlwaysDropExp);