add back leashable villagers option

This commit is contained in:
granny
2024-06-15 23:43:54 -07:00
parent 331c21644a
commit b27c8b2689
241 changed files with 396 additions and 396 deletions

View File

@@ -4,50 +4,50 @@ Date: Thu, 3 Oct 2019 18:08:03 -0500
Subject: [PATCH] Allow leashing villagers
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 3fdb1ba2e9249cda6f09406cfbf4cc677a258f13..a0e0d3ca25bf047a5520a3ed47f93ab97377b8b4 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -1450,6 +1450,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti
if (!this.isAlive()) {
return InteractionResult.PASS;
} else if (this.getLeashHolder() == player) {
+ if (hand == InteractionHand.OFF_HAND && (level().purpurConfig.villagerCanBeLeashed || level().purpurConfig.wanderingTraderCanBeLeashed) && this instanceof net.minecraft.world.entity.npc.AbstractVillager) return InteractionResult.CONSUME; // Purpur
// CraftBukkit start - fire PlayerUnleashEntityEvent
// Paper start - Expand EntityUnleashEvent
org.bukkit.event.player.PlayerUnleashEntityEvent event = CraftEventFactory.callPlayerUnleashEntityEvent(this, player, hand, !player.hasInfiniteMaterials());
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index de93640d0b458bafac8f661fb73c99c0bb596551..289a516b56a6a6c97ecda3768ea08b91348a79ed 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2731,6 +2731,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
if (this.isAlive() && this instanceof Leashable leashable) {
if (leashable.getLeashHolder() == player) {
if (!this.level().isClientSide()) {
+ if (hand == InteractionHand.OFF_HAND && (level().purpurConfig.villagerCanBeLeashed || level().purpurConfig.wanderingTraderCanBeLeashed) && this instanceof net.minecraft.world.entity.npc.AbstractVillager) return InteractionResult.CONSUME; // Purpur
// CraftBukkit start - fire PlayerUnleashEntityEvent
// Paper start - Expand EntityUnleashEvent
org.bukkit.event.player.PlayerUnleashEntityEvent event = CraftEventFactory.callPlayerUnleashEntityEvent(this, player, hand, !player.hasInfiniteMaterials());
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index fad0d393a96d818e90aaa42f3d8d32fa97f7b337..051940da69567274f48485f060cbc3ac21a0907f 100644
index 4ae45a7dae279cb1b8048ce4eff2aa1ae4e19f68..33c0ac18fa4c5b47d60cc774fe72d2d68c14e025 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -184,6 +184,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.villagerMaxHealth);
@@ -177,6 +177,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
protected void registerGoals() {
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this));
}
+ @Override
+ public boolean canBeLeashed(Player player) {
+ return level().purpurConfig.villagerCanBeLeashed && !this.isLeashed();
+ }
+
+ @Override
+ public boolean canBeLeashed() {
+ return level().purpurConfig.villagerCanBeLeashed;
+ }
// Purpur end
@Override
public Brain<Villager> getBrain() {
return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
index 30f13bc35a96950f05b065b5c77830834e5792d1..9d5eaaf1869a3ecb61947ab0c09af558fa1cd283 100644
index 6990d6dc306b1d25544793b365fd6f7be8a37201..0d5e828a7fb6fd6facc04a27175541ac463c918e 100644
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
@@ -93,6 +93,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
this.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.wanderingTraderMaxHealth);
@@ -86,6 +86,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
public boolean isControllable() {
return level().purpurConfig.wanderingTraderControllable;
}
+ @Override
+ public boolean canBeLeashed(Player player) {
+ return level().purpurConfig.wanderingTraderCanBeLeashed && !this.isLeashed();
+ }
+
+ @Override
+ public boolean canBeLeashed() {
+ return level().purpurConfig.wanderingTraderCanBeLeashed;
+ }
// Purpur end
@Override
protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 851014c5c02491cdbe778844251d3ec6a4236ff8..28ca277a383eefbc96f07e05d98d4a9f460807af 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java

View File

@@ -67,7 +67,7 @@ index 109f71401c65f476ccf6813137386fc9fef10254..9dcdb2f4001115db0c26fdbf86531dbe
@Override
protected void beforeDestroyingBlock(LevelAccessor world, BlockPos pos, BlockState state, BlockPos source) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 851014c5c02491cdbe778844251d3ec6a4236ff8..72c5c766b20622713ed6971d1d78bf0a615a5cd1 100644
index 28ca277a383eefbc96f07e05d98d4a9f460807af..de44c8ffa61bb5d694cd635ebf3a5ce8ac9ef414 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -221,6 +221,11 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ index 4c230136d832d50ae16ffa037b0b30ff1101b50a..2d492d849ff73a738dfbcb16507feb89
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 72c5c766b20622713ed6971d1d78bf0a615a5cd1..2e47b2d81d99b7f1c2e1ee1d658e890e64c7212f 100644
index de44c8ffa61bb5d694cd635ebf3a5ce8ac9ef414..b9a1a8497b5d5a55d7547da5755ceeb4fd35f3c8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -222,8 +222,12 @@ public class PurpurWorldConfig {

View File

@@ -32,7 +32,7 @@ index 9ef4ab973508eb139f7a44feb4bd484d8e0e03cd..025309a47e9683ec29cd94f997663b7f
return 0;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2e47b2d81d99b7f1c2e1ee1d658e890e64c7212f..ea0268f2b8a3fc7c1b25c8d80e98096cc607031e 100644
index b9a1a8497b5d5a55d7547da5755ceeb4fd35f3c8..c6c38f53357f79c984e3e5d23298067a7688efcd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -171,6 +171,8 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable void damage height and damage
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index de93640d0b458bafac8f661fb73c99c0bb596551..2a0bbf6bc92be8f30dd7b1d82f22a92f18df0901 100644
index 289a516b56a6a6c97ecda3768ea08b91348a79ed..0056b23f6e883a057c267b4ca4c807b8a929a515 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -881,7 +881,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -31,7 +31,7 @@ index a3f400336e0013dab8845492b0e124f4414cf59f..6f7188ccba2675264ba8fbfd05cacc1c
protected void updateSwingTime() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ea0268f2b8a3fc7c1b25c8d80e98096cc607031e..d9b3dacbb61027437dae8a2afec396cd9b484f6e 100644
index c6c38f53357f79c984e3e5d23298067a7688efcd..be57857fc31ba32b47bd5d50d2898c5eb1ff9bd8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -98,10 +98,14 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add canSaveToDisk to Entity
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 2a0bbf6bc92be8f30dd7b1d82f22a92f18df0901..ccee271764b3bffff1a7d302d71a02c8533ff8cc 100644
index 0056b23f6e883a057c267b4ca4c807b8a929a515..92c7c8e75a8d8d97496b24bf0b6719aeeb1440dc 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -530,6 +530,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess

View File

@@ -35,7 +35,7 @@ index 647a4601deace52f8d855f512a73671f82b4762a..d6bdd6313e0e5be3ddfa04f40cf035e7
// CraftBukkit start
Level world = pointer.level();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d9b3dacbb61027437dae8a2afec396cd9b484f6e..55b8f6d46637b56a6f175649a5fdfbe3154b6323 100644
index be57857fc31ba32b47bd5d50d2898c5eb1ff9bd8..4e4f037c6b1c75467a4f2c58001c8a1cb7a9d79f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -224,6 +224,11 @@ public class PurpurWorldConfig {

View File

@@ -17,7 +17,7 @@ index 907f751c859855484151fb5d607acee2f2a35076..4e1b2d65182f7d562a8470449b9f7c2e
} else {
return Boat.Status.IN_AIR;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 55b8f6d46637b56a6f175649a5fdfbe3154b6323..e6333a4177e5e3bde40fa66d57299e676b8aebef 100644
index 4e4f037c6b1c75467a4f2c58001c8a1cb7a9d79f..240c34bd95be07f19fb92d9b6678e6feffe2430e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -95,12 +95,14 @@ public class PurpurWorldConfig {

View File

@@ -26,7 +26,7 @@ index 15844971ce2cca8c679ad3aaa2dfe160e6d0b564..6598a737db11fb0c7e7a95b9bbfaabd7
if (optional.isPresent()) {
ItemStack itemstack = ((EnchantedItemInUse) optional.get()).itemStack();
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index 86197725f0f2ac1e650297ae7a79907578e0e8f1..5e86f7d7d7594bd82c50db6d17763a50dc58e7a5 100644
index 312b57b4ef340935f4335989ce1d6a4b8b61532c..930cc4c38a7c7631b140f7735cb03f4c82553375 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -643,6 +643,16 @@ public final class ItemStack implements DataComponentHolder {
@@ -89,7 +89,7 @@ index fce49b17905ab97e691aa8499a5dfed67adf0c40..5ef8f69a4271c0a70380b5bd321735ff
MutableBoolean mutableBoolean = new MutableBoolean(false);
runIterationOnItem(stack, (enchantment, level) -> {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e6333a4177e5e3bde40fa66d57299e676b8aebef..69df43378e11579715fac8afbed3207892d69242 100644
index 240c34bd95be07f19fb92d9b6678e6feffe2430e..9c87144050ed62ca030e51ae08d8a977e935ba68 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -95,6 +95,7 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Implement elytra settings
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index f35663c26b17a5c89cd4dbb3c9d1a439018b3b07..6f6427b47d5ec64fedcc9c50ee9e11618ba8a672 100644
index 6f7188ccba2675264ba8fbfd05cacc1c60211157..b183a9e42178ff02c5d70abacee3cfaa7b7b93c3 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3558,7 +3558,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -46,7 +46,7 @@ index 218f2f085309f04438f8b07bc41cf242583db2dc..ea8e49b42b9dde74784189430be66ed6
itemStack.shrink(1);
} else ((net.minecraft.server.level.ServerPlayer) user).getBukkitEntity().updateInventory();
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index 5e86f7d7d7594bd82c50db6d17763a50dc58e7a5..ff721322468571aa86aa1fadf4e59fc0e62c457a 100644
index 930cc4c38a7c7631b140f7735cb03f4c82553375..bb9f480e5a2083633ddde5607b05048bab5f1b52 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -675,6 +675,7 @@ public final class ItemStack implements DataComponentHolder {
@@ -90,7 +90,7 @@ index f1b2d388a1a40a1d909a2e726f32d6c15e1eb0eb..4934bae61114b49a9f8d0ed044fbb881
entityhuman.startAutoSpinAttack(20, 8.0F, stack);
if (entityhuman.onGround()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 69df43378e11579715fac8afbed3207892d69242..b1f8030868c938525916011b8a207058b702d4b8 100644
index 9c87144050ed62ca030e51ae08d8a977e935ba68..e408d9753b6e2bae9bf276e60c3670654ab4782f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -112,6 +112,19 @@ public class PurpurWorldConfig {

View File

@@ -117,7 +117,7 @@ index 30d62ee4d5cd2ddacb8783b5bbbf475d592b3e02..01e4395f1669d21c30465aa1366bd2f1
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b1f8030868c938525916011b8a207058b702d4b8..1c8ce9506007cdd68f314af866ea99a7cf1fc2e9 100644
index e408d9753b6e2bae9bf276e60c3670654ab4782f..06acffbb57d961d1c8a48bce5983b063146181f3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -125,6 +125,49 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add ping command
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
index f12f208c1c4669b0aae35cb86b122bbf06fd884a..7af65fb843142ae1dbc4bc3a3b449f2463e5da55 100644
index f5989a4e4a9f6d983d664a9f74ccdfebf91ed4d9..3bb11eeff4e855ae9a57f8179491c1756d14e04e 100644
--- a/src/main/java/net/minecraft/commands/Commands.java
+++ b/src/main/java/net/minecraft/commands/Commands.java
@@ -250,6 +250,7 @@ public class Commands {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add demo command
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
index 7af65fb843142ae1dbc4bc3a3b449f2463e5da55..df5343bb6c4987e2c81b3eb33f131e2db93f9ddd 100644
index 3bb11eeff4e855ae9a57f8179491c1756d14e04e..1da5184311b51494ca0cf426ba466404599b8d2c 100644
--- a/src/main/java/net/minecraft/commands/Commands.java
+++ b/src/main/java/net/minecraft/commands/Commands.java
@@ -250,6 +250,7 @@ public class Commands {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add credits command
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
index df5343bb6c4987e2c81b3eb33f131e2db93f9ddd..a8f81bcbfccbce42ca4d194fcaa35222c0a547cb 100644
index 1da5184311b51494ca0cf426ba466404599b8d2c..c44832599a95039f9ca0f772e7b405e40d7a97b5 100644
--- a/src/main/java/net/minecraft/commands/Commands.java
+++ b/src/main/java/net/minecraft/commands/Commands.java
@@ -250,6 +250,7 @@ public class Commands {

View File

@@ -167,7 +167,7 @@ index 883cd9a96a1d4276ca10c5558b553c36a1bb0d79..0dcf5638e12c7670e6a5e577210e2542
public void setPersistentAngerTarget(@Nullable UUID angryAt) {
this.persistentAngerTarget = angryAt;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1c8ce9506007cdd68f314af866ea99a7cf1fc2e9..5f72a1a5a4f26d2a6fa595c72e3557a10a3f5107 100644
index 06acffbb57d961d1c8a48bce5983b063146181f3..803387f232c25ed43c252fa05335e5e1915048ff 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -610,6 +610,9 @@ public class PurpurWorldConfig {
@@ -210,7 +210,7 @@ index 1c8ce9506007cdd68f314af866ea99a7cf1fc2e9..5f72a1a5a4f26d2a6fa595c72e3557a1
}
public boolean illusionerRidable = false;
@@ -1692,6 +1704,9 @@ public class PurpurWorldConfig {
@@ -1696,6 +1708,9 @@ public class PurpurWorldConfig {
public boolean zombieControllable = true;
public double zombieMaxHealth = 20.0D;
public double zombieSpawnReinforcements = 0.1D;
@@ -220,7 +220,7 @@ index 1c8ce9506007cdd68f314af866ea99a7cf1fc2e9..5f72a1a5a4f26d2a6fa595c72e3557a1
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1703,6 +1718,9 @@ public class PurpurWorldConfig {
@@ -1707,6 +1722,9 @@ public class PurpurWorldConfig {
}
zombieMaxHealth = getDouble("mobs.zombie.attributes.max_health", zombieMaxHealth);
zombieSpawnReinforcements = getDouble("mobs.zombie.attributes.spawn_reinforcements", zombieSpawnReinforcements);
@@ -230,7 +230,7 @@ index 1c8ce9506007cdd68f314af866ea99a7cf1fc2e9..5f72a1a5a4f26d2a6fa595c72e3557a1
}
public boolean zombieHorseRidable = false;
@@ -1739,6 +1757,9 @@ public class PurpurWorldConfig {
@@ -1743,6 +1761,9 @@ public class PurpurWorldConfig {
public boolean zombieVillagerControllable = true;
public double zombieVillagerMaxHealth = 20.0D;
public double zombieVillagerSpawnReinforcements = 0.1D;
@@ -240,7 +240,7 @@ index 1c8ce9506007cdd68f314af866ea99a7cf1fc2e9..5f72a1a5a4f26d2a6fa595c72e3557a1
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -1750,6 +1771,9 @@ public class PurpurWorldConfig {
@@ -1754,6 +1775,9 @@ public class PurpurWorldConfig {
}
zombieVillagerMaxHealth = getDouble("mobs.zombie_villager.attributes.max_health", zombieVillagerMaxHealth);
zombieVillagerSpawnReinforcements = getDouble("mobs.zombie_villager.attributes.spawn_reinforcements", zombieVillagerSpawnReinforcements);
@@ -250,7 +250,7 @@ index 1c8ce9506007cdd68f314af866ea99a7cf1fc2e9..5f72a1a5a4f26d2a6fa595c72e3557a1
}
public boolean zombifiedPiglinRidable = false;
@@ -1757,6 +1781,9 @@ public class PurpurWorldConfig {
@@ -1761,6 +1785,9 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinControllable = true;
public double zombifiedPiglinMaxHealth = 20.0D;
public double zombifiedPiglinSpawnReinforcements = 0.0D;
@@ -260,7 +260,7 @@ index 1c8ce9506007cdd68f314af866ea99a7cf1fc2e9..5f72a1a5a4f26d2a6fa595c72e3557a1
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -1768,5 +1795,8 @@ public class PurpurWorldConfig {
@@ -1772,5 +1799,8 @@ public class PurpurWorldConfig {
}
zombifiedPiglinMaxHealth = getDouble("mobs.zombified_piglin.attributes.max_health", zombifiedPiglinMaxHealth);
zombifiedPiglinSpawnReinforcements = getDouble("mobs.zombified_piglin.attributes.spawn_reinforcements", zombifiedPiglinSpawnReinforcements);

View File

@@ -256,7 +256,7 @@ index 4dea7aed072caf383986e09ead8ee790b35d9706..7a80cb45ff5d96380755d37ff43ddeac
private float speed = 0.1F;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5f72a1a5a4f26d2a6fa595c72e3557a10a3f5107..b9b9d23929cc390ebb97e93758f6b746606edc95 100644
index 803387f232c25ed43c252fa05335e5e1915048ff..bfa1ed9e0927f919648ab67ae49681fcd1286e3a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1087,6 +1087,9 @@ public class PurpurWorldConfig {

View File

@@ -40,7 +40,7 @@ index 1b1b475ca27e799e251d6f8a8c9fe1a4fd8bae83..04f67f7b43d2f461c776c76614dc3e5f
for (int l = 0; l < k; ++l) {
// Paper start - PhantomPreSpawnEvent
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b9b9d23929cc390ebb97e93758f6b746606edc95..1ce621db17377c3f35151096db9bca048161981c 100644
index bfa1ed9e0927f919648ab67ae49681fcd1286e3a..07f3b64e5d117957262ce6c8290052d707d17508 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1090,6 +1090,12 @@ public class PurpurWorldConfig {

View File

@@ -27,7 +27,7 @@ index 85d598c3354ee62f0fd1b26e485e0084967c0380..b59dd6b512021c335f3c21999958e2ea
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1ce621db17377c3f35151096db9bca048161981c..ff9d6c6b5e999c61f450d90327dff9461b7bc34a 100644
index 07f3b64e5d117957262ce6c8290052d707d17508..6c4ada076bcabfbf0622e66ccaeaf3508ec6826c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -284,6 +284,27 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ index 94d067e9eeee73183de25165d8c97043fe256103..00b6941951e1af9993f8f6da5425d31b
public static boolean canSetSpawn(Level world) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ff9d6c6b5e999c61f450d90327dff9461b7bc34a..a922ae826a3c542094eacd551a9aa04cd81fd02b 100644
index 6c4ada076bcabfbf0622e66ccaeaf3508ec6826c..709afe70fccfc31457a4743f441cdeb9f6abb9f9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -324,6 +324,27 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Allow color codes in books
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 58e3f6f0febff3956b80ebeab387c46deb5fe8ae..9d5c044ec96be46c8ad32579e9a719fccf9f17f5 100644
index dce0df639765a1c49b23f592c08cce14278f67b7..a2381960e213ade5ade22ad180666e4b74185beb 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1203,10 +1203,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl

View File

@@ -94,7 +94,7 @@ index 28ff18c341703148e880e4d4a64b73daa136c32a..1ebc4a8a54081ac9b3ba01e651d611f0
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a922ae826a3c542094eacd551a9aa04cd81fd02b..f601c4b0c40706a241ca2906f07dfcd869afe9cd 100644
index 709afe70fccfc31457a4743f441cdeb9f6abb9f9..ccd571d2e4971a281479c24c7f84388ba3fbbf65 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -125,6 +125,11 @@ public class PurpurWorldConfig {

View File

@@ -48,7 +48,7 @@ index b183a9e42178ff02c5d70abacee3cfaa7b7b93c3..d9215a42c8dd761fa04269c936ed0cca
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f601c4b0c40706a241ca2906f07dfcd869afe9cd..efc357e2a4eb33a8e77c84599d88103b29542dca 100644
index ccd571d2e4971a281479c24c7f84388ba3fbbf65..859ea7beb9f9644d45f805c1ecc18e7b87be67a7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -242,6 +242,7 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Squid EAR immunity
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index efc357e2a4eb33a8e77c84599d88103b29542dca..9873f78eb7f4739c65014b0a0c63c328813c0d9c 100644
index 859ea7beb9f9644d45f805c1ecc18e7b87be67a7..1da67c207b18e4c0eaf9a822360dbbe3215e7a6d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1475,6 +1475,7 @@ public class PurpurWorldConfig {

View File

@@ -51,7 +51,7 @@ index 7a80cb45ff5d96380755d37ff43ddeac2cd451e1..8f221fe016ea7221eb3a2116a2213139
list.sort(Comparator.comparing((Entity e) -> { return e.getY(); }).reversed()); // CraftBukkit - decompile error
Iterator iterator = list.iterator();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9873f78eb7f4739c65014b0a0c63c328813c0d9c..42ca14fb05af1c3088143aab064ea6fc594ade6e 100644
index 1da67c207b18e4c0eaf9a822360dbbe3215e7a6d..2c6167946e8186f378142b0cd02b71abf1780bea 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1145,6 +1145,9 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable villager breeding
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 4ae45a7dae279cb1b8048ce4eff2aa1ae4e19f68..a72089363b458a9a880d31c9e2ae7aed500a4f7a 100644
index 33c0ac18fa4c5b47d60cc774fe72d2d68c14e025..ad3e340c2487aa1dc2ed3ab08fa8747b7516022e 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -774,7 +774,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -779,7 +779,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@Override
public boolean canBreed() {
@@ -18,21 +18,21 @@ index 4ae45a7dae279cb1b8048ce4eff2aa1ae4e19f68..a72089363b458a9a880d31c9e2ae7aed
private boolean hungry() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 42ca14fb05af1c3088143aab064ea6fc594ade6e..e45b2ec9d119623ec53104a602aadc0ad4949f1d 100644
index 2c6167946e8186f378142b0cd02b71abf1780bea..2a8ec23926af200a8bd8d33ecd930387117fc71b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1632,6 +1632,7 @@ public class PurpurWorldConfig {
public boolean villagerControllable = true;
@@ -1633,6 +1633,7 @@ public class PurpurWorldConfig {
public double villagerMaxHealth = 20.0D;
public boolean villagerFollowEmeraldBlock = false;
public boolean villagerCanBeLeashed = false;
+ public boolean villagerCanBreed = true;
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1643,6 +1644,7 @@ public class PurpurWorldConfig {
}
@@ -1645,6 +1646,7 @@ public class PurpurWorldConfig {
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
+ villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
}

View File

@@ -17,7 +17,7 @@ index f57e1b78204dff661ad5d3ee93a88a00330af2dc..967af8771ff8564c715d89f4b4b69b16
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e45b2ec9d119623ec53104a602aadc0ad4949f1d..41c097246b84920187969e4cac72d6d025a2a926 100644
index 2a8ec23926af200a8bd8d33ecd930387117fc71b..03586ea6d669022461e02ead826596167f5bd1ae 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -352,6 +352,11 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Totems work in inventory
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 7ac62e6ada528e6efe1ea49db1a40edc891d74a8..d7175268bf615e20a7e14ad024ab5e3843c91f64 100644
index d9215a42c8dd761fa04269c936ed0cca3d96ff84..7fa56c1bb7ba6a535a486cd452358b6d2dc59d9b 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1630,6 +1630,18 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -28,7 +28,7 @@ index 7ac62e6ada528e6efe1ea49db1a40edc891d74a8..d7175268bf615e20a7e14ad024ab5e38
EntityResurrectEvent event = new EntityResurrectEvent((org.bukkit.entity.LivingEntity) this.getBukkitEntity(), handSlot);
event.setCancelled(itemstack == null);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 41c097246b84920187969e4cac72d6d025a2a926..5f0610d06902aa1fea9cd130ea2724b809790e0e 100644
index 03586ea6d669022461e02ead826596167f5bd1ae..1c4446ce2ca2e9c9d3d85a38752a6f27f8121d12 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -243,6 +243,7 @@ public class PurpurWorldConfig {

View File

@@ -21,10 +21,10 @@ index eb6dce8b2dcc7f4e63c69cfa6acbd9b36a923706..feb7eb93bd20e141ff86ed2e91b9cd0f
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5f0610d06902aa1fea9cd130ea2724b809790e0e..c5c7ba3449fea61b8a94a99e97867f5d47be5c38 100644
index 1c4446ce2ca2e9c9d3d85a38752a6f27f8121d12..8df777ce71b649de697bbf9b77636f3a30df3d1c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1658,6 +1658,7 @@ public class PurpurWorldConfig {
@@ -1660,6 +1660,7 @@ public class PurpurWorldConfig {
public boolean vindicatorRidableInWater = true;
public boolean vindicatorControllable = true;
public double vindicatorMaxHealth = 24.0D;
@@ -32,7 +32,7 @@ index 5f0610d06902aa1fea9cd130ea2724b809790e0e..c5c7ba3449fea61b8a94a99e97867f5d
private void vindicatorSettings() {
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
@@ -1668,6 +1669,7 @@ public class PurpurWorldConfig {
@@ -1670,6 +1671,7 @@ public class PurpurWorldConfig {
set("mobs.vindicator.attributes.max_health", oldValue);
}
vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Dispensers place anvils option
diff --git a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java
index 9d71388c6e8ff56228afbf8cb18c37f861d0b246..b659f413d8c771e4b3b2e79a03ca21b72fba98a1 100644
index 7bf250bba4179a506c0a39b7866a9389552d2905..6548e595ab5c06044be438bc7eac181f413c261a 100644
--- a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java
+++ b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java
@@ -1015,5 +1015,22 @@ public interface DispenseItemBehavior {
@@ -32,7 +32,7 @@ index 9d71388c6e8ff56228afbf8cb18c37f861d0b246..b659f413d8c771e4b3b2e79a03ca21b7
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c5c7ba3449fea61b8a94a99e97867f5d47be5c38..3d5c523611532b35453b86524af80d66879638c4 100644
index 8df777ce71b649de697bbf9b77636f3a30df3d1c..913238de812cdb9e745201a28f5200f4c457d537 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -315,8 +315,10 @@ public class PurpurWorldConfig {

View File

@@ -64,7 +64,7 @@ index 2348ee0065367ade5354d54aac53ab23d43d0622..48d803a3e8419a04fce934263f7a01db
}
} else if (itemstack.has(DataComponents.CUSTOM_NAME)) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3d5c523611532b35453b86524af80d66879638c4..e065cd4d0bc1f0ffe04023ceaa024d0598f343e9 100644
index 913238de812cdb9e745201a28f5200f4c457d537..d6ebaed09f0b84ec7641ad660f47aed95fdac1b9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -293,6 +293,13 @@ public class PurpurWorldConfig {

View File

@@ -17,7 +17,7 @@ index e60464efd9986e1cf857d8595b13535df7ffc7b1..30da8d977d5b591d6bce619eba71181c
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e065cd4d0bc1f0ffe04023ceaa024d0598f343e9..5ff9c2977b4efd67743b898219ba0a68bfb92dd8 100644
index d6ebaed09f0b84ec7641ad660f47aed95fdac1b9..dff99dafb0869106fc8f70ee583ba8e269e07777 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -632,6 +632,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Stop squids floating on top of water
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index ccee271764b3bffff1a7d302d71a02c8533ff8cc..db9c0ac1f307c2750af1a4df07964b01955ff75d 100644
index 92c7c8e75a8d8d97496b24bf0b6719aeeb1440dc..501684ad04b5ecfb20570284cf1031a84544a4c6 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4298,6 +4298,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -4299,6 +4299,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
return Mth.lerp(delta, this.yRotO, this.yRot);
}
@@ -54,7 +54,7 @@ index c8f7c43134e7c51ce8af5b3c1a28c11db67715a2..5b98889715bf62eb4f15c0b45ada2c70
+ // Purpur
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5ff9c2977b4efd67743b898219ba0a68bfb92dd8..83e5f4437e88d56060db2278e8fa2dbba5256d64 100644
index dff99dafb0869106fc8f70ee583ba8e269e07777..0ca54a08809ff058912a82e3a8e611cbfe61b682 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1500,6 +1500,7 @@ public class PurpurWorldConfig {

View File

@@ -23,10 +23,10 @@ index c4894f62a2c3d84d063e5caa5a38df80575660cb..8f1458d250bb875396c6318a7abc520f
this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth());
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 83e5f4437e88d56060db2278e8fa2dbba5256d64..349129c09abb8d33b02753fe85412bf7b2ad3d72 100644
index 0ca54a08809ff058912a82e3a8e611cbfe61b682..07160ebf5890dbbd1daa590055f7f6c03fdcae78 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1733,6 +1733,8 @@ public class PurpurWorldConfig {
@@ -1737,6 +1737,8 @@ public class PurpurWorldConfig {
public boolean witherControllable = true;
public double witherMaxY = 320D;
public double witherMaxHealth = 300.0D;
@@ -35,7 +35,7 @@ index 83e5f4437e88d56060db2278e8fa2dbba5256d64..349129c09abb8d33b02753fe85412bf7
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1748,6 +1750,8 @@ public class PurpurWorldConfig {
@@ -1752,6 +1754,8 @@ public class PurpurWorldConfig {
set("mobs.wither.attributes.max_health", oldValue);
}
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);

View File

@@ -59,7 +59,7 @@ index c72b6ea5530e54fc373c701028e1c147cea34b59..96e9fce5f9084737d2fcf4deb8330573
if (spawnplacementtype.isSpawnPositionOk(world, blockposition2, EntityType.WANDERING_TRADER)) {
blockposition1 = blockposition2;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 349129c09abb8d33b02753fe85412bf7b2ad3d72..41f29a0b6aaa76f2a1d4f269849f442f89cec6ac 100644
index 07160ebf5890dbbd1daa590055f7f6c03fdcae78..f517a050e7634b0c7616a5c9878b78a3c0706cfa 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -69,6 +69,12 @@ public class PurpurWorldConfig {

View File

@@ -49,7 +49,7 @@ index 8c60f71270d909c10e6617eb64b8fdb42deb73e9..eedce2a3d67d875d5174ee125e267948
if (!raid.isStarted() && !this.raidMap.containsKey(raid.getId())) {
this.raidMap.put(raid.getId(), raid);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 41f29a0b6aaa76f2a1d4f269849f442f89cec6ac..44ade9073446e80685bf264571a3922fbab5fb08 100644
index f517a050e7634b0c7616a5c9878b78a3c0706cfa..bd6d7f795d81095d22e975e37835e53685c56f54 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -108,6 +108,7 @@ public class PurpurWorldConfig {

View File

@@ -7,7 +7,7 @@ This patch's implementation has been removed in favor of Pufferfish's entity-tim
The config remains for migration purposes.
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 44ade9073446e80685bf264571a3922fbab5fb08..91c45e6da2ddd7547144f35f38cdfa2b3e1cc3fc 100644
index bd6d7f795d81095d22e975e37835e53685c56f54..16b591138dc14414535ad48230a824597383a2fc 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -316,6 +316,40 @@ public class PurpurWorldConfig {

View File

@@ -70,10 +70,10 @@ index 43c48bb14957b93ee3b0191360c09f710bc008e0..b39d8ee4c6e9483a15991be3b1440384
this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR));
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 91c45e6da2ddd7547144f35f38cdfa2b3e1cc3fc..e1b809b493dddb6656903c10dd5e7d63037431c7 100644
index 16b591138dc14414535ad48230a824597383a2fc..45ff2269cad6a54a2bcb5a46000555d6f56e77b9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1867,6 +1867,7 @@ public class PurpurWorldConfig {
@@ -1871,6 +1871,7 @@ public class PurpurWorldConfig {
public boolean zombieJockeyOnlyBaby = true;
public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true;
@@ -81,7 +81,7 @@ index 91c45e6da2ddd7547144f35f38cdfa2b3e1cc3fc..e1b809b493dddb6656903c10dd5e7d63
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1881,6 +1882,7 @@ public class PurpurWorldConfig {
@@ -1885,6 +1886,7 @@ public class PurpurWorldConfig {
zombieJockeyOnlyBaby = getBoolean("mobs.zombie.jockey.only-babies", zombieJockeyOnlyBaby);
zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);

View File

@@ -58,7 +58,7 @@ index df071be3179898b77ba82ce8697da18196f16ad8..b4cb9fc3f543b70233fe88a31565252e
float g = Mth.cos(f) * 0.2F;
float h = -0.1F + this.squid.getRandom().nextFloat() * 0.2F;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e1b809b493dddb6656903c10dd5e7d63037431c7..50e368eeaf0d34320a529fedc7ca6038b00c97bf 100644
index 45ff2269cad6a54a2bcb5a46000555d6f56e77b9..ea071ec327ccfc524b3f6aefb46828e8cfc640c8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -923,10 +923,12 @@ public class PurpurWorldConfig {

View File

@@ -88,7 +88,7 @@ index 6a2e5d18039310f8fbb3021db92d8f8f79c5c423..ce843a15043fb8bb40d96351ee00f044
public void tickCustomSpawners(boolean spawnMonsters, boolean spawnAnimals) {
Iterator iterator = this.customSpawners.iterator();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 50e368eeaf0d34320a529fedc7ca6038b00c97bf..c35776bd050820795edaed0cf9aa86cbfe1aed60 100644
index ea071ec327ccfc524b3f6aefb46828e8cfc640c8..17295e0bebe94f76a18c71f5261ac99484e08bc9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -120,6 +120,13 @@ public class PurpurWorldConfig {

View File

@@ -39,7 +39,7 @@ index 730aca233f6e7564d4cb85b5b628d23c4f01d2f4..699bdc1f01a95ecdfe899493c8d81ec3
private static boolean canBurn(RegistryAccess registryManager, @Nullable RecipeHolder<?> recipe, NonNullList<ItemStack> slots, int count) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c35776bd050820795edaed0cf9aa86cbfe1aed60..aa6f4a02b9559fe1d60df0d57cdf72423fc12b76 100644
index 17295e0bebe94f76a18c71f5261ac99484e08bc9..6398f3df493c6257398100ac92a6f65ae8740260 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -397,6 +397,17 @@ public class PurpurWorldConfig {

View File

@@ -7,7 +7,7 @@ This prevents keeping arrows alive indefinitely (such as when the block
the arrow is stuck in gets removed, like a piston head going up/down)
diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
index 0bf0e1586c80076a41b9f75b5e59e806b91bf825..4d8860c862a355969ec801c6a2a0abb95aabbfa6 100644
index ddf47dab1ab92c45e3eea09239d418a9798ed59e..8d8944a0455b3401d84cab636d61447e7d51ab19 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
@@ -356,7 +356,7 @@ public abstract class AbstractArrow extends Projectile {
@@ -20,7 +20,7 @@ index 0bf0e1586c80076a41b9f75b5e59e806b91bf825..4d8860c862a355969ec801c6a2a0abb9
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index aa6f4a02b9559fe1d60df0d57cdf72423fc12b76..a8fbd9f4491076ae51a10b60047c28feac4e2ad3 100644
index 6398f3df493c6257398100ac92a6f65ae8740260..fb942c024ee94f5d1b898a2b1c53b0cce9b9e0fd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -101,6 +101,11 @@ public class PurpurWorldConfig {

View File

@@ -24,7 +24,7 @@ index da85fabd75e9bd5ebece7127ef5b512df16fe3ac..dc356bd0931af9bdab9ec71e3de66e88
return;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a8fbd9f4491076ae51a10b60047c28feac4e2ad3..54d4ee904372e2b5f3cc288e1c1438922ef082b4 100644
index fb942c024ee94f5d1b898a2b1c53b0cce9b9e0fd..bce60b7f11b614cba639e716fdea5082a9f24722 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -398,8 +398,10 @@ public class PurpurWorldConfig {

View File

@@ -104,7 +104,7 @@ index 1da37b076fbbbd4b756fc30c5995995528653ddf..6b1dc40787e53723ff48b1ed4d408bb9
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 54d4ee904372e2b5f3cc288e1c1438922ef082b4..aad064f27997ad4263de2d3afb162b53d2c891c1 100644
index bce60b7f11b614cba639e716fdea5082a9f24722..faa6058548379cf38cdc8b6d4996eb44f5086700 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -114,6 +114,7 @@ public class PurpurWorldConfig {

View File

@@ -538,7 +538,7 @@ index 373bf138f8b77413e6c29724e01572f64e0bc005..d43e26af79be5078124d8013167f452b
public boolean canBeLeashed() {
return true;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index aad064f27997ad4263de2d3afb162b53d2c891c1..49831c7589aefc6a9e9e5b9f563fe0330b3c2000 100644
index faa6058548379cf38cdc8b6d4996eb44f5086700..6ec21dfc65117530fbfe9388f445d28cba887852 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -490,20 +490,24 @@ public class PurpurWorldConfig {
@@ -941,23 +941,23 @@ index aad064f27997ad4263de2d3afb162b53d2c891c1..49831c7589aefc6a9e9e5b9f563fe033
}
public boolean vexRidable = false;
@@ -1741,6 +1793,7 @@ public class PurpurWorldConfig {
public double villagerMaxHealth = 20.0D;
@@ -1742,6 +1794,7 @@ public class PurpurWorldConfig {
public boolean villagerFollowEmeraldBlock = false;
public boolean villagerCanBeLeashed = false;
public boolean villagerCanBreed = true;
+ public int villagerBreedingTicks = 6000;
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1753,6 +1806,7 @@ public class PurpurWorldConfig {
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
@@ -1755,6 +1808,7 @@ public class PurpurWorldConfig {
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
+ villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);
}
public boolean vindicatorRidable = false;
@@ -1862,6 +1916,7 @@ public class PurpurWorldConfig {
@@ -1866,6 +1920,7 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = true;
public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D;
@@ -965,7 +965,7 @@ index aad064f27997ad4263de2d3afb162b53d2c891c1..49831c7589aefc6a9e9e5b9f563fe033
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -1872,6 +1927,7 @@ public class PurpurWorldConfig {
@@ -1876,6 +1931,7 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -126,7 +126,7 @@ index d8a63ac5444eff8e3decb2f4addc2decb8a5d648..41cc9229108aa8e4f5655dfe590ff414
if (((HangingEntity) object).survives()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 49831c7589aefc6a9e9e5b9f563fe0330b3c2000..28e074e5d966d02c07bf9151d2452eff63871ac7 100644
index 6ec21dfc65117530fbfe9388f445d28cba887852..10563f959d01cc1018ff335bfe47f0ca16edbfb4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -97,8 +97,10 @@ public class PurpurWorldConfig {

View File

@@ -17,7 +17,7 @@ index 774c982f28b4f127fc3f036c19dfb47fb9ae3264..d49b60e7e643498b49c03593dc0da2f8
// Paper end - Add PlayerNameEntityEvent
mob.setPersistenceRequired();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 28e074e5d966d02c07bf9151d2452eff63871ac7..50a21def146bf009f9275335f7b8640b8182441b 100644
index 10563f959d01cc1018ff335bfe47f0ca16edbfb4..3b121f729214f206fb2c2ead8a56d503171db95d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -98,9 +98,11 @@ public class PurpurWorldConfig {

View File

@@ -21,7 +21,7 @@ index 8604db61d2c8042d0399262cb60b98457e4f894c..ada2403856aeb7cb50c0b00fb1dad18b
private static class EndermanFreezeWhenLookedAt extends Goal {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 50a21def146bf009f9275335f7b8640b8182441b..f53b06363f2a7b3977bb8e99297468bb06e5be31 100644
index 3b121f729214f206fb2c2ead8a56d503171db95d..0c29734755a7517dc3e010a70206afbbfbc6ba45 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -845,6 +845,7 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ index 2b4d206c0d31ba38d7b2af654bd420e85145d441..f59a2903bfb8ae591a638ea5bb387caa
entity.hurt(this.damageSources().thrown(this, this.getOwner()), (float) i);
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f53b06363f2a7b3977bb8e99297468bb06e5be31..d0105b3673c0ef1e04b565e80f4f661463fbc75c 100644
index 0c29734755a7517dc3e010a70206afbbfbc6ba45..cfa94a6941c4fa3288a7c7596cf6748381fec4fe 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -370,6 +370,11 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ index 1ebc4a8a54081ac9b3ba01e651d611f0237a8970..df5c13451e065a19cf195be4ddfd8d41
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d0105b3673c0ef1e04b565e80f4f661463fbc75c..8eb20e10b14b8798aed433a5b1a208add61573d7 100644
index cfa94a6941c4fa3288a7c7596cf6748381fec4fe..4dd085fe116dbb965292485fddd0bc48410435ab 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -154,8 +154,10 @@ public class PurpurWorldConfig {

View File

@@ -27,7 +27,7 @@ index b891e9ce0e0dcb7353f512a10ee0660c75f18e44..8a439ba84c5a27e24adfe47acee10a69
if (!flag && this.spawnInvulnerableTime > 0 && !source.is(DamageTypeTags.BYPASSES_INVULNERABILITY)) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8eb20e10b14b8798aed433a5b1a208add61573d7..28016e60278abafb6fc4cc2535eb63c5dbafd28b 100644
index 4dd085fe116dbb965292485fddd0bc48410435ab..602db405b6675dd200386082b5f8256d7b2254a6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -112,6 +112,7 @@ public class PurpurWorldConfig {

View File

@@ -23,7 +23,7 @@ index 0060414b1d5afde56372ce121e9d37a1668cd03b..ee4d4a4fe314ee9bce69c96dd65d84ed
this.goalSelector.addGoal(3, new LookAtPlayerGoal(this, Player.class, 6.0F));
this.goalSelector.addGoal(4, new RandomLookAroundGoal(this));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 28016e60278abafb6fc4cc2535eb63c5dbafd28b..ed3e51879d558e65553d1ea2d6d135499baab318 100644
index 602db405b6675dd200386082b5f8256d7b2254a6..16934efeea6a2da0adab1ff0bde9b80ebe1dcf7c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1618,6 +1618,10 @@ public class PurpurWorldConfig {

View File

@@ -136,10 +136,10 @@ index a0e0692d17760f440fe81d52887284c787e562db..ab9bebc07b5228dbc0d3ba4b0f7d1bbe
brain.setMemory(MemoryModuleType.SECONDARY_JOB_SITE, list);
} else {
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index a72089363b458a9a880d31c9e2ae7aed500a4f7a..05185ddc9413633a9831e6c3e6e9deed7c6a4d95 100644
index ad3e340c2487aa1dc2ed3ab08fa8747b7516022e..2368d4d347cc0a1d670b9b1ee568560ed8e1a98c 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -218,7 +218,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -223,7 +223,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
brain.addActivity(Activity.PLAY, VillagerGoalPackages.getPlayPackage(0.5F));
} else {
brain.setSchedule(Schedule.VILLAGER_DEFAULT);
@@ -148,7 +148,7 @@ index a72089363b458a9a880d31c9e2ae7aed500a4f7a..05185ddc9413633a9831e6c3e6e9deed
}
brain.addActivity(Activity.CORE, VillagerGoalPackages.getCorePackage(villagerprofession, 0.5F));
@@ -967,6 +967,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -972,6 +972,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
public boolean hasFarmSeeds() {
return this.getInventory().hasAnyMatching((itemstack) -> {
@@ -174,11 +174,11 @@ index 8734ab1bd8299bbf43906d81a349c2a13e0981a7..3ca83269311cbc18c9ef3ce62cff6a2d
"farmer",
PoiTypes.FARMER,
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ed3e51879d558e65553d1ea2d6d135499baab318..bbb9e5a420b327da9546f07592bc6e47eb365d5d 100644
index 16934efeea6a2da0adab1ff0bde9b80ebe1dcf7c..154daa28ec56b4fbb2dc52ad69f30aaa5b96b1a7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1819,6 +1819,8 @@ public class PurpurWorldConfig {
public boolean villagerFollowEmeraldBlock = false;
@@ -1820,6 +1820,8 @@ public class PurpurWorldConfig {
public boolean villagerCanBeLeashed = false;
public boolean villagerCanBreed = true;
public int villagerBreedingTicks = 6000;
+ public boolean villagerClericsFarmWarts = false;
@@ -186,8 +186,8 @@ index ed3e51879d558e65553d1ea2d6d135499baab318..bbb9e5a420b327da9546f07592bc6e47
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1832,6 +1834,8 @@ public class PurpurWorldConfig {
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
@@ -1834,6 +1836,8 @@ public class PurpurWorldConfig {
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);
+ villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts);

View File

@@ -35,10 +35,10 @@ index 0dcf5638e12c7670e6a5e577210e2542de1fd38b..47419219d4f435a17344361f4a60d5aa
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index bbb9e5a420b327da9546f07592bc6e47eb365d5d..a86332fceebc02466f194e038dd473c7a7b621cd 100644
index 154daa28ec56b4fbb2dc52ad69f30aaa5b96b1a7..efaa50fa5ac586ca8b5ed3a977b812b0899d83d7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2062,6 +2062,7 @@ public class PurpurWorldConfig {
@@ -2066,6 +2066,7 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinJockeyOnlyBaby = true;
public double zombifiedPiglinJockeyChance = 0.05D;
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
@@ -46,7 +46,7 @@ index bbb9e5a420b327da9546f07592bc6e47eb365d5d..a86332fceebc02466f194e038dd473c7
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -2076,5 +2077,6 @@ public class PurpurWorldConfig {
@@ -2080,5 +2081,6 @@ public class PurpurWorldConfig {
zombifiedPiglinJockeyOnlyBaby = getBoolean("mobs.zombified_piglin.jockey.only-babies", zombifiedPiglinJockeyOnlyBaby);
zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance);
zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens);

View File

@@ -182,10 +182,10 @@ index 86574da257731de7646a712ed73384955fe35aa3..e223234dd64b0e41441c3b9f649f0b64
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a86332fceebc02466f194e038dd473c7a7b621cd..b108a65f9ef7487b19104791417b7f00ea42db5a 100644
index efaa50fa5ac586ca8b5ed3a977b812b0899d83d7..4f32c632cc47de6c45b7d490ffdeab4e2e35323c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1945,6 +1945,8 @@ public class PurpurWorldConfig {
@@ -1949,6 +1949,8 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = true;
public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D;
@@ -194,7 +194,7 @@ index a86332fceebc02466f194e038dd473c7a7b621cd..b108a65f9ef7487b19104791417b7f00
public int wolfBreedingTicks = 6000;
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
@@ -1956,6 +1958,8 @@ public class PurpurWorldConfig {
@@ -1960,6 +1962,8 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -43,7 +43,7 @@ index 04d7e4bc6cc1deda5f53f6ae5f46d2402e0d0c10..5dd146d318851ce581a0d7841bd87ae9
protected void registerGoals() {
this.goalSelector.addGoal(1, new FloatGoal(this));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b108a65f9ef7487b19104791417b7f00ea42db5a..97715b00dd469fc7d0a3862ea149300f48ddac8b 100644
index 4f32c632cc47de6c45b7d490ffdeab4e2e35323c..0ff20cfbaf874a11ee04df4010d4d9d2f6dd3b4f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -633,6 +633,7 @@ public class PurpurWorldConfig {
@@ -66,7 +66,7 @@ index b108a65f9ef7487b19104791417b7f00ea42db5a..97715b00dd469fc7d0a3862ea149300f
}
public boolean caveSpiderRidable = false;
@@ -1945,6 +1951,7 @@ public class PurpurWorldConfig {
@@ -1949,6 +1955,7 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = true;
public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D;
@@ -74,7 +74,7 @@ index b108a65f9ef7487b19104791417b7f00ea42db5a..97715b00dd469fc7d0a3862ea149300f
public boolean wolfMilkCuresRabies = true;
public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000;
@@ -1958,6 +1965,11 @@ public class PurpurWorldConfig {
@@ -1962,6 +1969,11 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -17,7 +17,7 @@ index 8f221fe016ea7221eb3a2116a2213139cf961797..88725e6f8c6490253e110485f5a62e9d
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 97715b00dd469fc7d0a3862ea149300f48ddac8b..a3a3203fb34d4e22484a6c0d3461706029c82ae1 100644
index 0ff20cfbaf874a11ee04df4010d4d9d2f6dd3b4f..fb808af2199abb6e15873be345a4d6e1e0cfe53a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1311,6 +1311,7 @@ public class PurpurWorldConfig {

View File

@@ -17,7 +17,7 @@ index 8fbfd18b3caeed769396b3ffb1b1778b2f38edc0..dbfe8f5d4df244cb694b73ea8763628c
return world.getBlockState(blockposition1).isRedstoneConductor(world, blockposition1);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a3a3203fb34d4e22484a6c0d3461706029c82ae1..cb5dd760a689107dbde6ef884577c233f88c3e9a 100644
index fb808af2199abb6e15873be345a4d6e1e0cfe53a..82bf342f90cd47c110c8554abe8d1c10a32d9bd2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -407,6 +407,11 @@ public class PurpurWorldConfig {

View File

@@ -29,7 +29,7 @@ index 0a297368678cafb92eb0374d1d410271c0d10033..13d40773ff8272ca081e852d4ae3dc09
if (!this.level().isClientSide) {
player.startRiding(this);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index cb5dd760a689107dbde6ef884577c233f88c3e9a..0df12cd3ace5077e4a916a79af180316df0ad4c3 100644
index 82bf342f90cd47c110c8554abe8d1c10a32d9bd2..436e89cac054e1ceebddc1fe14492a9f6d0b627b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1723,6 +1723,7 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] PlayerBookTooLargeEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 3de25a0f8e8242986c9fc8660ca9d0af976d9088..66fe42636f1b1d9f57121f7a98be4f512cc4f999 100644
index 7c55d86901eb591554703e6c83bdfb67dfded0b1..010c03f9ec0b5fca563ce62bbb785af9cc28fad2 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1152,10 +1152,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Full netherite armor grants fire resistance
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 db8b5a85895ef68f9c492103b0530951e2b71ba3..2578bfa9d31e04506d0e91da22913d3948f9656d 100644
index 025309a47e9683ec29cd94f997663b7faec1acb4..2dafba96353c208b89da7b65c0d56a51e00547c3 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -386,6 +386,16 @@ public abstract class Player extends LivingEntity {
@@ -26,7 +26,7 @@ index db8b5a85895ef68f9c492103b0530951e2b71ba3..2578bfa9d31e04506d0e91da22913d39
protected ItemCooldowns createItemCooldowns() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0df12cd3ace5077e4a916a79af180316df0ad4c3..706365b7299e5ae2c70a3ce99866982cd3f32729 100644
index 436e89cac054e1ceebddc1fe14492a9f6d0b627b..f6628c2bee53f73d6471de1bf8108385900311ba 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -282,6 +282,19 @@ public class PurpurWorldConfig {

View File

@@ -375,7 +375,7 @@ index c7377d04ceac3ea624117439783a443c6d6f6d08..0c732cfbd9ce50198a3f85ae8ef2263d
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 706365b7299e5ae2c70a3ce99866982cd3f32729..c03e7560b09d2540278e557867569bcb1eb9722c 100644
index f6628c2bee53f73d6471de1bf8108385900311ba..34de8ed25ee4f7c5bd95a004e83c6016ede396bc 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -114,8 +114,11 @@ public class PurpurWorldConfig {
@@ -630,7 +630,7 @@ index 706365b7299e5ae2c70a3ce99866982cd3f32729..c03e7560b09d2540278e557867569bcb
}
public boolean snifferRidable = false;
@@ -1849,6 +1888,7 @@ public class PurpurWorldConfig {
@@ -1850,6 +1889,7 @@ public class PurpurWorldConfig {
public int villagerBreedingTicks = 6000;
public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true;
@@ -638,7 +638,7 @@ index 706365b7299e5ae2c70a3ce99866982cd3f32729..c03e7560b09d2540278e557867569bcb
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1864,6 +1904,7 @@ public class PurpurWorldConfig {
@@ -1866,6 +1906,7 @@ public class PurpurWorldConfig {
villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);
villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts);
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
@@ -646,7 +646,7 @@ index 706365b7299e5ae2c70a3ce99866982cd3f32729..c03e7560b09d2540278e557867569bcb
}
public boolean vindicatorRidable = false;
@@ -1934,6 +1975,7 @@ public class PurpurWorldConfig {
@@ -1938,6 +1979,7 @@ public class PurpurWorldConfig {
public double witherMaxHealth = 300.0D;
public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20;
@@ -654,7 +654,7 @@ index 706365b7299e5ae2c70a3ce99866982cd3f32729..c03e7560b09d2540278e557867569bcb
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1951,6 +1993,7 @@ public class PurpurWorldConfig {
@@ -1955,6 +1997,7 @@ public class PurpurWorldConfig {
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);
witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount);
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
@@ -662,7 +662,7 @@ index 706365b7299e5ae2c70a3ce99866982cd3f32729..c03e7560b09d2540278e557867569bcb
}
public boolean witherSkeletonRidable = false;
@@ -2022,6 +2065,7 @@ public class PurpurWorldConfig {
@@ -2026,6 +2069,7 @@ public class PurpurWorldConfig {
public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
@@ -670,7 +670,7 @@ index 706365b7299e5ae2c70a3ce99866982cd3f32729..c03e7560b09d2540278e557867569bcb
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -2037,6 +2081,7 @@ public class PurpurWorldConfig {
@@ -2041,6 +2085,7 @@ public class PurpurWorldConfig {
zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);
zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging);

View File

@@ -22,7 +22,7 @@ index 1d82cfe7af0dc42f88901fb0c44896771fdf8a93..43dd972b374daa1072608f3a68e812e7
// org.bukkit.event.block.NotePlayEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callNotePlayEvent(world, pos, state.getValue(NoteBlock.INSTRUMENT), state.getValue(NoteBlock.NOTE));
// if (event.isCancelled()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c03e7560b09d2540278e557867569bcb1eb9722c..e7bcc4cd6b9e2018e717e62b85165d203ed0d925 100644
index 34de8ed25ee4f7c5bd95a004e83c6016ede396bc..4440d17e6f375c6687273ae8172f6ac593ec16b0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -117,6 +117,7 @@ public class PurpurWorldConfig {

View File

@@ -37,7 +37,7 @@ index 99798220b6e0ad06db2ba5c9b74bfb72af185fee..12a0c69f8fec30fad64cbb00af2ca1bb
if (!CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.DIRT.defaultBlockState())) {
return;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e7bcc4cd6b9e2018e717e62b85165d203ed0d925..255203353384df09f09ffe481094b37f6aa499e0 100644
index 4440d17e6f375c6687273ae8172f6ac593ec16b0..ac1c901b023c3d21f1f4cb258c3eeebe71979d82 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -443,10 +443,16 @@ public class PurpurWorldConfig {

View File

@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index db9c0ac1f307c2750af1a4df07964b01955ff75d..c9eee2c313f658a027dfab977c6a7cb0992e97a2 100644
index 501684ad04b5ecfb20570284cf1031a84544a4c6..10aaa05948839d43933a2de32bfc6fe54f61fbff 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1791,7 +1791,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -66,7 +66,7 @@ index a37054d39ee142e5f3ca3c5e1e3a15c150a3ba32..ea3cad6c9cc561b225cd41f04bd204c9
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 255203353384df09f09ffe481094b37f6aa499e0..24b90abc3171c824008af0a8e49b7963a9636493 100644
index ac1c901b023c3d21f1f4cb258c3eeebe71979d82..fc653ee2afaae715a4c57a3cc764079c58e692c0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -99,10 +99,16 @@ public class PurpurWorldConfig {

View File

@@ -1167,10 +1167,10 @@ index 362f3fddd8090799278f4b4e58c5af5de00315f2..6c7e0f177382cb6329002dcde270f6ce
return Monster.createMonsterAttributes().add(Attributes.MAX_HEALTH, 50.0).add(Attributes.MOVEMENT_SPEED, 0.35F).add(Attributes.ATTACK_DAMAGE, 7.0);
}
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index ba2e1ea184bf31efdf30050fdcc3a5f193d2f096..80f6a5a6553d752857ccd53815a9341c5e7502e8 100644
index 2368d4d347cc0a1d670b9b1ee568560ed8e1a98c..7d1dca008bd506a4cbd1b25624f03a1c378e80a0 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -184,6 +184,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -189,6 +189,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.villagerMaxHealth);
}
@@ -1183,10 +1183,10 @@ index ba2e1ea184bf31efdf30050fdcc3a5f193d2f096..80f6a5a6553d752857ccd53815a9341c
public Brain<Villager> getBrain() {
return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
index 6990d6dc306b1d25544793b365fd6f7be8a37201..5951e0f583b5ab8a5b13dca6d8fcb537be4be73f 100644
index 0d5e828a7fb6fd6facc04a27175541ac463c918e..05c63eb6cf8a7067105c58d244c7cc27d6bf1125 100644
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
@@ -93,6 +93,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
@@ -98,6 +98,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
this.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.wanderingTraderMaxHealth);
}
@@ -1199,7 +1199,7 @@ index 6990d6dc306b1d25544793b365fd6f7be8a37201..5951e0f583b5ab8a5b13dca6d8fcb537
protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 24b90abc3171c824008af0a8e49b7963a9636493..409cd7ab15931b378a39993e906a7cc92eb1273e 100644
index fc653ee2afaae715a4c57a3cc764079c58e692c0..f788114ef17fec22d329029b62d52137cc4d006b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -565,11 +565,13 @@ public class PurpurWorldConfig {
@@ -2153,7 +2153,7 @@ index 24b90abc3171c824008af0a8e49b7963a9636493..409cd7ab15931b378a39993e906a7cc9
}
public boolean villagerRidable = false;
@@ -1903,6 +2025,7 @@ public class PurpurWorldConfig {
@@ -1904,6 +2026,7 @@ public class PurpurWorldConfig {
public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true;
public boolean villagerBypassMobGriefing = false;
@@ -2161,7 +2161,7 @@ index 24b90abc3171c824008af0a8e49b7963a9636493..409cd7ab15931b378a39993e906a7cc9
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1919,6 +2042,7 @@ public class PurpurWorldConfig {
@@ -1921,6 +2044,7 @@ public class PurpurWorldConfig {
villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts);
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing);
@@ -2169,7 +2169,7 @@ index 24b90abc3171c824008af0a8e49b7963a9636493..409cd7ab15931b378a39993e906a7cc9
}
public boolean vindicatorRidable = false;
@@ -1926,6 +2050,7 @@ public class PurpurWorldConfig {
@@ -1928,6 +2052,7 @@ public class PurpurWorldConfig {
public boolean vindicatorControllable = true;
public double vindicatorMaxHealth = 24.0D;
public double vindicatorJohnnySpawnChance = 0D;
@@ -2177,7 +2177,7 @@ index 24b90abc3171c824008af0a8e49b7963a9636493..409cd7ab15931b378a39993e906a7cc9
private void vindicatorSettings() {
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
@@ -1937,6 +2062,7 @@ public class PurpurWorldConfig {
@@ -1939,6 +2064,7 @@ public class PurpurWorldConfig {
}
vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth);
vindicatorJohnnySpawnChance = getDouble("mobs.vindicator.johnny.spawn-chance", vindicatorJohnnySpawnChance);
@@ -2185,23 +2185,23 @@ index 24b90abc3171c824008af0a8e49b7963a9636493..409cd7ab15931b378a39993e906a7cc9
}
public boolean wanderingTraderRidable = false;
@@ -1944,6 +2070,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderControllable = true;
@@ -1947,6 +2073,7 @@ public class PurpurWorldConfig {
public double wanderingTraderMaxHealth = 20.0D;
public boolean wanderingTraderFollowEmeraldBlock = false;
public boolean wanderingTraderCanBeLeashed = false;
+ public boolean wanderingTraderTakeDamageFromWater = false;
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1955,6 +2082,7 @@ public class PurpurWorldConfig {
}
@@ -1959,6 +2086,7 @@ public class PurpurWorldConfig {
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);
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);
}
public boolean wardenRidable = false;
@@ -1970,6 +2098,7 @@ public class PurpurWorldConfig {
@@ -1974,6 +2102,7 @@ public class PurpurWorldConfig {
public boolean witchRidableInWater = true;
public boolean witchControllable = true;
public double witchMaxHealth = 26.0D;
@@ -2209,7 +2209,7 @@ index 24b90abc3171c824008af0a8e49b7963a9636493..409cd7ab15931b378a39993e906a7cc9
private void witchSettings() {
witchRidable = getBoolean("mobs.witch.ridable", witchRidable);
witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater);
@@ -1980,6 +2109,7 @@ public class PurpurWorldConfig {
@@ -1984,6 +2113,7 @@ public class PurpurWorldConfig {
set("mobs.witch.attributes.max_health", oldValue);
}
witchMaxHealth = getDouble("mobs.witch.attributes.max_health", witchMaxHealth);
@@ -2217,7 +2217,7 @@ index 24b90abc3171c824008af0a8e49b7963a9636493..409cd7ab15931b378a39993e906a7cc9
}
public boolean witherRidable = false;
@@ -1990,6 +2120,7 @@ public class PurpurWorldConfig {
@@ -1994,6 +2124,7 @@ public class PurpurWorldConfig {
public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20;
public boolean witherBypassMobGriefing = false;
@@ -2225,7 +2225,7 @@ index 24b90abc3171c824008af0a8e49b7963a9636493..409cd7ab15931b378a39993e906a7cc9
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2008,12 +2139,14 @@ public class PurpurWorldConfig {
@@ -2012,12 +2143,14 @@ public class PurpurWorldConfig {
witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount);
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
@@ -2240,7 +2240,7 @@ index 24b90abc3171c824008af0a8e49b7963a9636493..409cd7ab15931b378a39993e906a7cc9
private void witherSkeletonSettings() {
witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable);
witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater);
@@ -2024,6 +2157,7 @@ public class PurpurWorldConfig {
@@ -2028,6 +2161,7 @@ public class PurpurWorldConfig {
set("mobs.wither_skeleton.attributes.max_health", oldValue);
}
witherSkeletonMaxHealth = getDouble("mobs.wither_skeleton.attributes.max_health", witherSkeletonMaxHealth);
@@ -2248,7 +2248,7 @@ index 24b90abc3171c824008af0a8e49b7963a9636493..409cd7ab15931b378a39993e906a7cc9
}
public boolean wolfRidable = false;
@@ -2034,6 +2168,7 @@ public class PurpurWorldConfig {
@@ -2038,6 +2172,7 @@ public class PurpurWorldConfig {
public boolean wolfMilkCuresRabies = true;
public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000;
@@ -2256,7 +2256,7 @@ index 24b90abc3171c824008af0a8e49b7963a9636493..409cd7ab15931b378a39993e906a7cc9
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -2052,12 +2187,14 @@ public class PurpurWorldConfig {
@@ -2056,12 +2191,14 @@ public class PurpurWorldConfig {
wolfMilkCuresRabies = getBoolean("mobs.wolf.milk-cures-rabid-wolves", wolfMilkCuresRabies);
wolfNaturalRabid = getDouble("mobs.wolf.spawn-rabid-chance", wolfNaturalRabid);
wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks);
@@ -2271,7 +2271,7 @@ index 24b90abc3171c824008af0a8e49b7963a9636493..409cd7ab15931b378a39993e906a7cc9
private void zoglinSettings() {
zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable);
zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater);
@@ -2068,6 +2205,7 @@ public class PurpurWorldConfig {
@@ -2072,6 +2209,7 @@ public class PurpurWorldConfig {
set("mobs.zoglin.attributes.max_health", oldValue);
}
zoglinMaxHealth = getDouble("mobs.zoglin.attributes.max_health", zoglinMaxHealth);
@@ -2279,7 +2279,7 @@ index 24b90abc3171c824008af0a8e49b7963a9636493..409cd7ab15931b378a39993e906a7cc9
}
public boolean zombieRidable = false;
@@ -2080,6 +2218,7 @@ public class PurpurWorldConfig {
@@ -2084,6 +2222,7 @@ public class PurpurWorldConfig {
public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
public boolean zombieBypassMobGriefing = false;
@@ -2287,7 +2287,7 @@ index 24b90abc3171c824008af0a8e49b7963a9636493..409cd7ab15931b378a39993e906a7cc9
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -2096,6 +2235,7 @@ public class PurpurWorldConfig {
@@ -2100,6 +2239,7 @@ public class PurpurWorldConfig {
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);
zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging);
zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing);
@@ -2295,7 +2295,7 @@ index 24b90abc3171c824008af0a8e49b7963a9636493..409cd7ab15931b378a39993e906a7cc9
}
public boolean zombieHorseRidable = false;
@@ -2108,6 +2248,7 @@ public class PurpurWorldConfig {
@@ -2112,6 +2252,7 @@ public class PurpurWorldConfig {
public double zombieHorseMovementSpeedMin = 0.2D;
public double zombieHorseMovementSpeedMax = 0.2D;
public double zombieHorseSpawnChance = 0.0D;
@@ -2303,7 +2303,7 @@ index 24b90abc3171c824008af0a8e49b7963a9636493..409cd7ab15931b378a39993e906a7cc9
private void zombieHorseSettings() {
zombieHorseRidable = getBoolean("mobs.zombie_horse.ridable", zombieHorseRidable);
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
@@ -2125,6 +2266,7 @@ public class PurpurWorldConfig {
@@ -2129,6 +2270,7 @@ public class PurpurWorldConfig {
zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin);
zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax);
zombieHorseSpawnChance = getDouble("mobs.zombie_horse.spawn-chance", zombieHorseSpawnChance);
@@ -2311,7 +2311,7 @@ index 24b90abc3171c824008af0a8e49b7963a9636493..409cd7ab15931b378a39993e906a7cc9
}
public boolean zombieVillagerRidable = false;
@@ -2135,6 +2277,7 @@ public class PurpurWorldConfig {
@@ -2139,6 +2281,7 @@ public class PurpurWorldConfig {
public boolean zombieVillagerJockeyOnlyBaby = true;
public double zombieVillagerJockeyChance = 0.05D;
public boolean zombieVillagerJockeyTryExistingChickens = true;
@@ -2319,7 +2319,7 @@ index 24b90abc3171c824008af0a8e49b7963a9636493..409cd7ab15931b378a39993e906a7cc9
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2149,6 +2292,7 @@ public class PurpurWorldConfig {
@@ -2153,6 +2296,7 @@ public class PurpurWorldConfig {
zombieVillagerJockeyOnlyBaby = getBoolean("mobs.zombie_villager.jockey.only-babies", zombieVillagerJockeyOnlyBaby);
zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance);
zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens);
@@ -2327,7 +2327,7 @@ index 24b90abc3171c824008af0a8e49b7963a9636493..409cd7ab15931b378a39993e906a7cc9
}
public boolean zombifiedPiglinRidable = false;
@@ -2160,6 +2304,7 @@ public class PurpurWorldConfig {
@@ -2164,6 +2308,7 @@ public class PurpurWorldConfig {
public double zombifiedPiglinJockeyChance = 0.05D;
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true;
@@ -2335,7 +2335,7 @@ index 24b90abc3171c824008af0a8e49b7963a9636493..409cd7ab15931b378a39993e906a7cc9
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -2175,5 +2320,6 @@ public class PurpurWorldConfig {
@@ -2179,5 +2324,6 @@ public class PurpurWorldConfig {
zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance);
zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens);
zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry);

View File

@@ -59,7 +59,7 @@ index 5802d5a43c5f2dc569130cc70c4ba519c471abc0..ca8b7dcd2a93b41dfd22f6f112dcac1b
this.navigation.stop();
this.setTarget((LivingEntity) null);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 409cd7ab15931b378a39993e906a7cc92eb1273e..8a236bab86a5d846ffba10e373256da891b1cd62 100644
index f788114ef17fec22d329029b62d52137cc4d006b..0a55f019ed05d23e9bd2ab0d06a6d76bdac269af 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -117,6 +117,7 @@ public class PurpurWorldConfig {

View File

@@ -53,7 +53,7 @@ index 72122333cf0247e4a8511ac633487f170b89586c..02f1d0418395b100cabfad7294466aaa
this.remove(Entity.RemovalReason.KILLED, EntityRemoveEvent.Cause.DEATH); // CraftBukkit - add Bukkit remove cause
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8a236bab86a5d846ffba10e373256da891b1cd62..0ac8a148886dfb39ac540c0b0cb533d2bf88bd16 100644
index 0a55f019ed05d23e9bd2ab0d06a6d76bdac269af..6a87048aab53067ce8b211f9d48165d79e1cb41a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -448,6 +448,43 @@ public class PurpurWorldConfig {

View File

@@ -29,7 +29,7 @@ index 9f232d8e1dc5adf3cc3adc5af7fd42c5e78ed48d..962ab1025f42734c11e3ce4c792d1795
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0ac8a148886dfb39ac540c0b0cb533d2bf88bd16..f9e50c581ebd61b3dc19a73cf9f73a99e9b4f006 100644
index 6a87048aab53067ce8b211f9d48165d79e1cb41a..34e2383c709c991c0ab9f24a8dd3dfe52ba186fd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -955,6 +955,7 @@ public class PurpurWorldConfig {
@@ -48,7 +48,7 @@ index 0ac8a148886dfb39ac540c0b0cb533d2bf88bd16..f9e50c581ebd61b3dc19a73cf9f73a99
}
public boolean endermanRidable = false;
@@ -2160,6 +2162,7 @@ public class PurpurWorldConfig {
@@ -2164,6 +2166,7 @@ public class PurpurWorldConfig {
public int witherHealthRegenDelay = 20;
public boolean witherBypassMobGriefing = false;
public boolean witherTakeDamageFromWater = false;
@@ -56,7 +56,7 @@ index 0ac8a148886dfb39ac540c0b0cb533d2bf88bd16..f9e50c581ebd61b3dc19a73cf9f73a99
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2179,6 +2182,7 @@ public class PurpurWorldConfig {
@@ -2183,6 +2186,7 @@ public class PurpurWorldConfig {
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater);

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Dont run with scissors!
inspired by https://modrinth.com/mod/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 66fe42636f1b1d9f57121f7a98be4f512cc4f999..df23496844d4b41e79efe23c99a5449ca40a4ccd 100644
index 010c03f9ec0b5fca563ce62bbb785af9cc28fad2..22979d8531fd9732b1fd5eaf76aec52b22fdf6bb 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1610,6 +1610,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -149,7 +149,7 @@ index 4e5e04915f912d873eb5c86037e6b78c82c2ca53..a601f18f94e80b16ae22d077a405d685
public static String serverModName = io.papermc.paper.ServerBuildInfo.buildInfo().brandName();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f9e50c581ebd61b3dc19a73cf9f73a99e9b4f006..12d70d3a064c3cf031818f25777eb0aaf97b7ea1 100644
index 34e2383c709c991c0ab9f24a8dd3dfe52ba186fd..f0519a282a461a92aeecf20d2aa403c791b9fb48 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -182,6 +182,10 @@ public class PurpurWorldConfig {

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] One Punch Man!
inspired by https://modrinth.com/mod/creative-one-punch
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 13ada4aa83ddb75d6107d41b4a7d10196d5f01f0..ab9769d9a14d7736f9a9d1c3afbf44dc9339fc3b 100644
index 897e9da03a4e1cc0cac5da542c9e695f49ae60e4..583e0cfc3478df74188526a10494d81ba4303054 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1428,6 +1428,24 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -35,7 +35,7 @@ index 13ada4aa83ddb75d6107d41b4a7d10196d5f01f0..ab9769d9a14d7736f9a9d1c3afbf44dc
float f1 = amount;
boolean flag = amount > 0.0F && this.isDamageSourceBlocked(source); // Copied from below
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 12d70d3a064c3cf031818f25777eb0aaf97b7ea1..0913c3f49fb36dd63c15e3cfb891a60a9495a92a 100644
index f0519a282a461a92aeecf20d2aa403c791b9fb48..61453cf17d846a1c9cd09b2f10f6c9143d347da7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -328,6 +328,7 @@ public class PurpurWorldConfig {

View File

@@ -43,7 +43,7 @@ index 20a91d798d31a71b3c05efa2cc5bda55494e26cc..fc62754f93bd11a10c28b8b7b116e9ff
// Paper end - PlayerLaunchProjectileEvent
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 0913c3f49fb36dd63c15e3cfb891a60a9495a92a..cab510c8a0cb68b0d741cad6c46505f9916ac835 100644
index 61453cf17d846a1c9cd09b2f10f6c9143d347da7..5906f75dbb1b7969fd7807feafa9d23e82021c95 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -186,6 +186,10 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ index ae8235ed2a817776d052173c94a54ede9d2d275e..b93c42ba349e6315edfb372714287123
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index cab510c8a0cb68b0d741cad6c46505f9916ac835..dba6c5ef3138347321ab2a5d2871bcf71fbb1796 100644
index 5906f75dbb1b7969fd7807feafa9d23e82021c95..7db72a10132ffdd894bac3f2db67c3ca22a835af 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -337,6 +337,7 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ index 75d462d7f55dedfa62844549fa6690a4a652bd1f..cc9da5134ece550e8a1902e90282090f
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index dba6c5ef3138347321ab2a5d2871bcf71fbb1796..023858324966929b8fb45b046309e403ec937351 100644
index 7db72a10132ffdd894bac3f2db67c3ca22a835af..c90b57eec4e6a6d1fbe37f291bd8423aa455275e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1005,6 +1005,8 @@ public class PurpurWorldConfig {

View File

@@ -20,7 +20,7 @@ index cc9da5134ece550e8a1902e90282090f05818fd8..f2e21c9d3cefb635c4eb583ac9355b46
} 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 023858324966929b8fb45b046309e403ec937351..e9f1fce3c10fc44a4a092f7b32fa5f2ac5dcc3da 100644
index c90b57eec4e6a6d1fbe37f291bd8423aa455275e..3303e0015b156c54d2a4721bab46564cb31bf6aa 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1007,6 +1007,8 @@ public class PurpurWorldConfig {

View File

@@ -36,7 +36,7 @@ index 84623c632d8c2f0fa7ec939c711316d757117d23..1851035b9fdcc076442d0699567a3b02
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e9f1fce3c10fc44a4a092f7b32fa5f2ac5dcc3da..9d5852c9c0009db15134af1b40fca619090a6732 100644
index 3303e0015b156c54d2a4721bab46564cb31bf6aa..b7dd164763232edaeeb12a1f5011daeef3b5cbda 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -127,6 +127,7 @@ public class PurpurWorldConfig {

View File

@@ -32,7 +32,7 @@ index 96f1eba4a356e131a8f3c689bedc9eb8821e1a72..8edfc34a17d8c05cfa2928738306c1ab
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 9d5852c9c0009db15134af1b40fca619090a6732..684ea13121c39b3ce2aaa65dd8fc2943a9d1caad 100644
index b7dd164763232edaeeb12a1f5011daeef3b5cbda..c5e8990b2cd6cda6f5aca39086c096097f111425 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1339,6 +1339,7 @@ public class PurpurWorldConfig {

View File

@@ -50,7 +50,7 @@ index d68897b167918ba1e28b083b665ce70aaec437df..a194cc234e24094da0cbee8c6c4fe123
private void spawnLingeringCloud() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 684ea13121c39b3ce2aaa65dd8fc2943a9d1caad..a8bea2f329a498911be26197a1d2e2fffb2fbfe9 100644
index c5e8990b2cd6cda6f5aca39086c096097f111425..66e933fb901e049c3ce54955be0bfbff4d41d1af 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -859,6 +859,7 @@ public class PurpurWorldConfig {

View File

@@ -31,7 +31,7 @@ index 2af4c365743b2956939335512f74e0a1d84298f7..a69e7e8da81bd13578d230cc1e3f0f90
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a8bea2f329a498911be26197a1d2e2fffb2fbfe9..2dad1dbffb7846eb410915096f794ba64234744a 100644
index 66e933fb901e049c3ce54955be0bfbff4d41d1af..de99247dcb87c0b06c98d63bbc3800a8e37fb45d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1711,6 +1711,7 @@ public class PurpurWorldConfig {

View File

@@ -87,7 +87,7 @@ index d3d12f9114173f4971f95d7ef895a4374705bd3f..f34159f8d6c51af2341bf49db0d6d6f0
protected InteractionResult useWithoutItem(BlockState state, Level world, BlockPos pos, Player player, BlockHitResult hit) {
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 2dad1dbffb7846eb410915096f794ba64234744a..949c3acc1d77492e0f04d03a88d5e93be10ee61e 100644
index de99247dcb87c0b06c98d63bbc3800a8e37fb45d..c5a249fc181a56db861c9ed416dc6b870c532cf2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -463,6 +463,11 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ index ce843a15043fb8bb40d96351ee00f0440d0a53d4..e8e5704937350cc65ae24980c56a3a89
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 949c3acc1d77492e0f04d03a88d5e93be10ee61e..a983ef20da54ddb7cd9206c923e4ea3d810e5cac 100644
index c5a249fc181a56db861c9ed416dc6b870c532cf2..9c1dfc4e0c6511f1d374c535e43fdb96d4728b16 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -340,6 +340,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add config for villager trading
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index f3e622f1cdbe46ea12a1d5a969b209d1e5dde5a3..b9c464fbba1c18c524b3d1a7855c0392266e0734 100644
index 7d1dca008bd506a4cbd1b25624f03a1c378e80a0..1e100de8d30777e83907c523ffc1a3a54c670205 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -368,6 +368,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -373,6 +373,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
}
if (level().purpurConfig.villagerRidable && itemstack.isEmpty()) return tryRide(player, hand); // Purpur
@@ -17,10 +17,10 @@ index f3e622f1cdbe46ea12a1d5a969b209d1e5dde5a3..b9c464fbba1c18c524b3d1a7855c0392
}
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
index 5951e0f583b5ab8a5b13dca6d8fcb537be4be73f..07204c4d56d0a33bd596a255f3281dd6a29233ae 100644
index 05c63eb6cf8a7067105c58d244c7cc27d6bf1125..7c2d5d28f8c2aba2cd8255a4aef22247fe04d0e0 100644
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
@@ -150,8 +150,10 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
@@ -155,8 +155,10 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
return tryRide(player, hand, InteractionResult.CONSUME); // Purpur
}
if (level().purpurConfig.wanderingTraderRidable && itemstack.isEmpty()) return tryRide(player, hand); // Purpur
@@ -32,10 +32,10 @@ index 5951e0f583b5ab8a5b13dca6d8fcb537be4be73f..07204c4d56d0a33bd596a255f3281dd6
return InteractionResult.sidedSuccess(this.level().isClientSide);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a983ef20da54ddb7cd9206c923e4ea3d810e5cac..0c027631ece28a48c373ba453b5caa0fc64c6b9b 100644
index 9c1dfc4e0c6511f1d374c535e43fdb96d4728b16..57a22d68a94b2c55d56e1b3a884571a7f0fd14b9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2130,6 +2130,7 @@ public class PurpurWorldConfig {
@@ -2131,6 +2131,7 @@ public class PurpurWorldConfig {
public boolean villagerClericFarmersThrowWarts = true;
public boolean villagerBypassMobGriefing = false;
public boolean villagerTakeDamageFromWater = false;
@@ -43,7 +43,7 @@ index a983ef20da54ddb7cd9206c923e4ea3d810e5cac..0c027631ece28a48c373ba453b5caa0f
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2147,6 +2148,7 @@ public class PurpurWorldConfig {
@@ -2149,6 +2150,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);
@@ -51,17 +51,17 @@ index a983ef20da54ddb7cd9206c923e4ea3d810e5cac..0c027631ece28a48c373ba453b5caa0f
}
public boolean vindicatorRidable = false;
@@ -2175,6 +2177,7 @@ public class PurpurWorldConfig {
public double wanderingTraderMaxHealth = 20.0D;
@@ -2178,6 +2180,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderFollowEmeraldBlock = false;
public boolean wanderingTraderCanBeLeashed = false;
public boolean wanderingTraderTakeDamageFromWater = false;
+ public boolean wanderingTraderAllowTrading = true;
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -2187,6 +2190,7 @@ public class PurpurWorldConfig {
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);
@@ -2191,6 +2194,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);
+ wanderingTraderAllowTrading = getBoolean("mobs.wandering_trader.allow-trading", wanderingTraderAllowTrading);
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Drowning Settings
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index c9eee2c313f658a027dfab977c6a7cb0992e97a2..f578cae1423e297d2e00c9b869b3fcede2eb209f 100644
index 10aaa05948839d43933a2de32bfc6fe54f61fbff..a657b37c56bd656e81c71ae47d6cf7625d282117 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3298,7 +3298,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -3299,7 +3299,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public int getMaxAirSupply() {
@@ -40,7 +40,7 @@ index 583e0cfc3478df74188526a10494d81ba4303054..d76c5014ad03471874f945f58c8eb7a5
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0c027631ece28a48c373ba453b5caa0fc64c6b9b..aff1e4f6ffaafb81ee792fee393e122761e130a3 100644
index 57a22d68a94b2c55d56e1b3a884571a7f0fd14b9..aded3ca8095e2bdaa7cbcf736c2ab62edfac7f78 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -160,6 +160,15 @@ public class PurpurWorldConfig {

View File

@@ -47,7 +47,7 @@ index fa29eb15934b3dad171d27c21d99b2451cfe553b..ba4aa69425d796d306791ea193f9c6b2
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index aff1e4f6ffaafb81ee792fee393e122761e130a3..db63a695564c8af10394bf6070ed1d952ab03989 100644
index aded3ca8095e2bdaa7cbcf736c2ab62edfac7f78..3df3e503fb0dc4084143af2bd9a93170be409a4b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -584,6 +584,11 @@ public class PurpurWorldConfig {

View File

@@ -24,7 +24,7 @@ index 759839e912c54598b257ad738481364940f88a18..e60e6b3e5ae5a468cfe649ed2222412f
return false;
} else {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index db63a695564c8af10394bf6070ed1d952ab03989..ee1e812fcfc7a2e1efc43bed88290fe3f7074d10 100644
index 3df3e503fb0dc4084143af2bd9a93170be409a4b..65e75fa986fe041e958281b291d36440efb6f9f9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -549,6 +549,13 @@ public class PurpurWorldConfig {

View File

@@ -17,7 +17,7 @@ index ea3cad6c9cc561b225cd41f04bd204c99ecd66ec..ad1ec2578fa428baa6b172c44b6c17e5
public ArmorStand(Level world, double x, double y, double z) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ee1e812fcfc7a2e1efc43bed88290fe3f7074d10..1c23b9aa694bd107344e18ee765d0d651cd22240 100644
index 65e75fa986fe041e958281b291d36440efb6f9f9..7b2f6a64865168094164eb22938c6c07228dce0e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -102,6 +102,7 @@ public class PurpurWorldConfig {

View File

@@ -36,10 +36,10 @@ index 3513b15f6622bfc134ecfcd9129f81a8acc2c601..6e70579a58a1bf906b176b81713e5531
} else {
DoorBlock blockdoor = (DoorBlock) iblockdata.getBlock();
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
index 07204c4d56d0a33bd596a255f3281dd6a29233ae..ac95d5acc275d69d2b420173540d7ddb64b6d711 100644
index 7c2d5d28f8c2aba2cd8255a4aef22247fe04d0e0..6250bc28db4bbac0f101cdc93c90ec4d7ec6b2ba 100644
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
@@ -151,8 +151,8 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
@@ -156,8 +156,8 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
}
if (level().purpurConfig.wanderingTraderRidable && itemstack.isEmpty()) return tryRide(player, hand); // Purpur
if (this.level().purpurConfig.wanderingTraderAllowTrading) { // Purpur
@@ -82,7 +82,7 @@ index 6dd75bc722f9c20b4869e6353115c3b02dd79f99..dfaf82f5b0180cf08c4125347867d37a
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1c23b9aa694bd107344e18ee765d0d651cd22240..9be6d30c688e4929e34e9f039b32e3db177f6f57 100644
index 7b2f6a64865168094164eb22938c6c07228dce0e..c3bd56715c119068e6735abcd60971679c5e0145 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -488,6 +488,16 @@ public class PurpurWorldConfig {

View File

@@ -21,7 +21,7 @@ index 902825ec9ea05f4418b45f56a008d73f217bd178..a676ccfa6b02e8986df6f6a2e04cbb06
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 9be6d30c688e4929e34e9f039b32e3db177f6f57..43e26db7e22115c6814c5e6e01a96b4d08ad8bd7 100644
index c3bd56715c119068e6735abcd60971679c5e0145..6f4865bb24761cdc5732253ab6b32606fa8fd681 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -613,6 +613,13 @@ public class PurpurWorldConfig {

View File

@@ -96,7 +96,7 @@ index 4934bae61114b49a9f8d0ed044fbb881210df32a..1be074074283f12543ac771ac9201580
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 43e26db7e22115c6814c5e6e01a96b4d08ad8bd7..ebc3615b395e9f9ff9a6dd5ac65eec6b530edad4 100644
index 6f4865bb24761cdc5732253ab6b32606fa8fd681..8ccc5c29e72b2f03449c82f9aeed0a3bb451e836 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -438,6 +438,23 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ index 9603d8c84ff483030dc08e82d3579b89e5c1f6e9..8fc65c32a3c6e6842a76b36f45e1b1c2
} 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 ebc3615b395e9f9ff9a6dd5ac65eec6b530edad4..948fcb804e6ca46f2af1de41472c70c88711c47f 100644
index 8ccc5c29e72b2f03449c82f9aeed0a3bb451e836..a6c2d158490a7972d821cda0516eb9659ccd621a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -599,6 +599,11 @@ public class PurpurWorldConfig {

View File

@@ -31,7 +31,7 @@ index caa22afb0781671b901c23ebcc89e5bb0d2bd615..259f7e162968714e2959b199c7b1ab84
pos = pos.below();
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 948fcb804e6ca46f2af1de41472c70c88711c47f..fdd84855671d21a4ecc5743b5ae72a645fc46443 100644
index a6c2d158490a7972d821cda0516eb9659ccd621a..b15c74a0c1c4ce623cdc4eb15300db6b8cc24714 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1655,6 +1655,7 @@ public class PurpurWorldConfig {

Some files were not shown because too many files have changed in this diff Show More