From 6d7a7b6e32f0ea1cf7eeff3bd381e7f98ca54947 Mon Sep 17 00:00:00 2001 From: granny Date: Tue, 3 Dec 2024 21:01:29 -0800 Subject: [PATCH] 150 patches done --- ...-when-using-a-Name-Tag-on-an-Armor-S.patch | 2 +- ...llowing-Endermen-to-despawn-even-whi.patch | 4 +- ...103-Add-configurable-snowball-damage.patch | 2 +- ...04-Changeable-Mob-Left-Handed-Chance.patch | 4 +- .../0105-Add-boat-fall-damage-config.patch | 12 +-- .../0106-Snow-Golem-rate-of-fire-config.patch | 0 ...C-Configurable-disable-give-dropping.patch | 0 ...Villager-Clerics-to-farm-Nether-Wart.patch | 6 +- ...fied-Piglin-death-always-counting-as.patch | 0 ...ble-chance-for-wolves-to-spawn-rabid.patch | 2 +- ...11-Configurable-default-collar-color.patch | 4 +- .../0112-Phantom-flames-on-swoop.patch | 2 +- ...s-to-open-even-with-a-solid-block-on.patch | 4 +- .../0114-Implement-TPSBar.patch | 16 ++-- .../0115-Striders-give-saddle-back.patch | 2 +- .../0116-PlayerBookTooLargeEvent.patch | 6 +- ...therite-armor-grants-fire-resistance.patch | 4 +- ...iefing-bypass-to-everything-affected.patch | 42 +++++----- ...allow-Note-Block-sounds-when-blocked.patch | 0 ...0120-Add-EntityTeleportHinderedEvent.patch | 10 +-- .../0121-Farmland-trampling-changes.patch | 0 ...22-Movement-options-for-armor-stands.patch | 4 +- .../0123-Fix-stuck-in-portals.patch | 8 +- ...oggle-for-water-sensitive-mob-damage.patch | 78 +++++++++---------- ...25-Config-to-always-tame-in-Creative.patch | 10 +-- .../0126-End-crystal-explosion-options.patch | 0 ...ither-Ender-Dragon-can-ride-vehicles.patch | 8 +- .../0128-Dont-run-with-scissors.patch | 6 +- .../0129-One-Punch-Man.patch | 2 +- ...er-Pearl-cooldown-damage-and-Endermi.patch | 4 +- ...-to-ignore-nearby-mobs-when-sleeping.patch | 4 +- ...dd-back-player-spawned-endermite-API.patch | 0 ...an-aggressiveness-towards-Endermites.patch | 4 +- ...-Dragon-Head-wearers-and-stare-aggro.patch | 12 +-- .../0135-Tick-fluids-config.patch | 0 ...136-Config-to-disable-Llama-caravans.patch | 0 ...ig-to-make-Creepers-explode-on-death.patch | 0 ...urable-ravager-griefable-blocks-list.patch | 6 +- ...0139-Sneak-to-bulk-process-composter.patch | 6 +- .../0140-Config-for-skipping-night.patch | 4 +- ...0141-Add-config-for-villager-trading.patch | 2 +- .../0142-Drowning-Settings.patch | 14 ++-- ...Break-individual-slabs-when-sneaking.patch | 0 ...-to-disable-hostile-mob-spawn-on-ice.patch | 0 ...ig-to-show-Armor-Stand-arms-on-spawn.patch | 0 ...ption-to-make-doors-require-redstone.patch | 0 ...0147-Config-to-allow-unsafe-enchants.patch | 4 +- .../0148-Configurable-sponge-absorption.patch | 2 +- .../0149-Projectile-offset-config.patch | 40 +++++----- ...for-powered-rail-activation-distance.patch | 0 50 files changed, 170 insertions(+), 170 deletions(-) rename patches/{unapplied-server => server}/0101-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch (96%) rename patches/{unapplied-server => server}/0102-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch (93%) rename patches/{unapplied-server => server}/0103-Add-configurable-snowball-damage.patch (94%) rename patches/{unapplied-server => server}/0104-Changeable-Mob-Left-Handed-Chance.patch (91%) rename patches/{unapplied-server => server}/0105-Add-boat-fall-damage-config.patch (78%) rename patches/{unapplied-server => server}/0106-Snow-Golem-rate-of-fire-config.patch (100%) rename patches/{unapplied-server => server}/0107-EMC-Configurable-disable-give-dropping.patch (100%) rename patches/{unapplied-server => server}/0108-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch (98%) rename patches/{unapplied-server => server}/0109-Toggle-for-Zombified-Piglin-death-always-counting-as.patch (100%) rename patches/{unapplied-server => server}/0110-Configurable-chance-for-wolves-to-spawn-rabid.patch (99%) rename patches/{unapplied-server => server}/0111-Configurable-default-collar-color.patch (95%) rename patches/{unapplied-server => server}/0112-Phantom-flames-on-swoop.patch (95%) rename patches/{unapplied-server => server}/0113-Option-for-chests-to-open-even-with-a-solid-block-on.patch (91%) rename patches/{unapplied-server => server}/0114-Implement-TPSBar.patch (97%) rename patches/{unapplied-server => server}/0115-Striders-give-saddle-back.patch (96%) rename patches/{unapplied-server => server}/0116-PlayerBookTooLargeEvent.patch (91%) rename patches/{unapplied-server => server}/0117-Full-netherite-armor-grants-fire-resistance.patch (95%) rename patches/{unapplied-server => server}/0118-Add-mobGriefing-bypass-to-everything-affected.patch (96%) rename patches/{unapplied-server => server}/0119-Config-to-allow-Note-Block-sounds-when-blocked.patch (100%) rename patches/{unapplied-server => server}/0120-Add-EntityTeleportHinderedEvent.patch (95%) rename patches/{unapplied-server => server}/0121-Farmland-trampling-changes.patch (100%) rename patches/{unapplied-server => server}/0122-Movement-options-for-armor-stands.patch (96%) rename patches/{unapplied-server => server}/0123-Fix-stuck-in-portals.patch (92%) rename patches/{unapplied-server => server}/0124-Toggle-for-water-sensitive-mob-damage.patch (97%) rename patches/{unapplied-server => server}/0125-Config-to-always-tame-in-Creative.patch (93%) rename patches/{unapplied-server => server}/0126-End-crystal-explosion-options.patch (100%) rename patches/{unapplied-server => server}/0127-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch (92%) rename patches/{unapplied-server => server}/0128-Dont-run-with-scissors.patch (97%) rename patches/{unapplied-server => server}/0129-One-Punch-Man.patch (97%) rename patches/{unapplied-server => server}/0130-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch (96%) rename patches/{unapplied-server => server}/0131-Config-to-ignore-nearby-mobs-when-sleeping.patch (93%) rename patches/{unapplied-server => server}/0132-Add-back-player-spawned-endermite-API.patch (100%) rename patches/{unapplied-server => server}/0133-Config-Enderman-aggressiveness-towards-Endermites.patch (95%) rename patches/{unapplied-server => server}/0134-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch (77%) rename patches/{unapplied-server => server}/0135-Tick-fluids-config.patch (100%) rename patches/{unapplied-server => server}/0136-Config-to-disable-Llama-caravans.patch (100%) rename patches/{unapplied-server => server}/0137-Config-to-make-Creepers-explode-on-death.patch (100%) rename patches/{unapplied-server => server}/0138-Configurable-ravager-griefable-blocks-list.patch (94%) rename patches/{unapplied-server => server}/0139-Sneak-to-bulk-process-composter.patch (95%) rename patches/{unapplied-server => server}/0140-Config-for-skipping-night.patch (93%) rename patches/{unapplied-server => server}/0141-Add-config-for-villager-trading.patch (97%) rename patches/{unapplied-server => server}/0142-Drowning-Settings.patch (85%) rename patches/{unapplied-server => server}/0143-Break-individual-slabs-when-sneaking.patch (100%) rename patches/{unapplied-server => server}/0144-Config-to-disable-hostile-mob-spawn-on-ice.patch (100%) rename patches/{unapplied-server => server}/0145-Config-to-show-Armor-Stand-arms-on-spawn.patch (100%) rename patches/{unapplied-server => server}/0146-Option-to-make-doors-require-redstone.patch (100%) rename patches/{unapplied-server => server}/0147-Config-to-allow-unsafe-enchants.patch (98%) rename patches/{unapplied-server => server}/0148-Configurable-sponge-absorption.patch (95%) rename patches/{unapplied-server => server}/0149-Projectile-offset-config.patch (84%) rename patches/{unapplied-server => server}/0150-Config-for-powered-rail-activation-distance.patch (100%) diff --git a/patches/unapplied-server/0101-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch b/patches/server/0101-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch similarity index 96% rename from patches/unapplied-server/0101-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch rename to patches/server/0101-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch index 6ec3820a3..8eab72bf5 100644 --- a/patches/unapplied-server/0101-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch +++ b/patches/server/0101-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Set name visible when using a Name Tag on an Armor Stand diff --git a/src/main/java/net/minecraft/world/item/NameTagItem.java b/src/main/java/net/minecraft/world/item/NameTagItem.java -index 000d1863bfba98b5132dfc6743362d687b2f54f3..20fece9908382f40b4082f7b1fb7d41914ae31be 100644 +index df9cdcb9544a171a5a07c65ba0150933fb70d5fc..793bd6392ca3c3792306a20538233e4d7fb69b86 100644 --- a/src/main/java/net/minecraft/world/item/NameTagItem.java +++ b/src/main/java/net/minecraft/world/item/NameTagItem.java @@ -23,6 +23,7 @@ public class NameTagItem extends Item { diff --git a/patches/unapplied-server/0102-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch b/patches/server/0102-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch similarity index 93% rename from patches/unapplied-server/0102-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch rename to patches/server/0102-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch index 008853b5e..c2f2b7472 100644 --- a/patches/unapplied-server/0102-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch +++ b/patches/server/0102-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch @@ -8,10 +8,10 @@ This should help to reduce the amount of dirt, gravel, grass, and etc. that Endermen like to randomly place all over the world. diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java -index 257eac851b6f4628b94784cab7a5cd4ec804944a..a8e2a2096f209fcd24e7921947556691fe6c254a 100644 +index b6200fdef6d032cbaa3fdc4c2c8494fc0ad8ad65..bc17512c6077777169c9759fa445e21f9e51543b 100644 --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java -@@ -474,7 +474,7 @@ public class EnderMan extends Monster implements NeutralMob { +@@ -473,7 +473,7 @@ public class EnderMan extends Monster implements NeutralMob { @Override public boolean requiresCustomPersistence() { diff --git a/patches/unapplied-server/0103-Add-configurable-snowball-damage.patch b/patches/server/0103-Add-configurable-snowball-damage.patch similarity index 94% rename from patches/unapplied-server/0103-Add-configurable-snowball-damage.patch rename to patches/server/0103-Add-configurable-snowball-damage.patch index 80a91011e..d4248b989 100644 --- a/patches/unapplied-server/0103-Add-configurable-snowball-damage.patch +++ b/patches/server/0103-Add-configurable-snowball-damage.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add configurable snowball damage diff --git a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java -index 70961e151666a0ecf5b791853f4581eaebbdcc8b..8c853b6fbbc966ee6ba9ad3770d4e2e2a50ef388 100644 +index 048ca5232d71f07d8ba7d3eaf0236660494c6b35..f712963fcd80535eee2bd04ec55ae1abdadef2bd 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java +++ b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java @@ -58,7 +58,7 @@ public class Snowball extends ThrowableItemProjectile { diff --git a/patches/unapplied-server/0104-Changeable-Mob-Left-Handed-Chance.patch b/patches/server/0104-Changeable-Mob-Left-Handed-Chance.patch similarity index 91% rename from patches/unapplied-server/0104-Changeable-Mob-Left-Handed-Chance.patch rename to patches/server/0104-Changeable-Mob-Left-Handed-Chance.patch index 366814408..2c5f4586b 100644 --- a/patches/unapplied-server/0104-Changeable-Mob-Left-Handed-Chance.patch +++ b/patches/server/0104-Changeable-Mob-Left-Handed-Chance.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Changeable Mob Left Handed Chance diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index e99b72b89abdded3e988bd1a92d36055fb1a84dc..784bf7754c43b02d337da61d6dd7bed134465d11 100644 +index d845d4a0a2ce99b90d4004146be8db90b9ea64c3..263db57683045e99210a68184de382a6d91e0f71 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -1428,7 +1428,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab +@@ -1426,7 +1426,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab attributemodifiable.addPermanentModifier(new AttributeModifier(Mob.RANDOM_SPAWN_BONUS_ID, randomsource.triangle(0.0D, 0.11485000000000001D), AttributeModifier.Operation.ADD_MULTIPLIED_BASE)); } diff --git a/patches/unapplied-server/0105-Add-boat-fall-damage-config.patch b/patches/server/0105-Add-boat-fall-damage-config.patch similarity index 78% rename from patches/unapplied-server/0105-Add-boat-fall-damage-config.patch rename to patches/server/0105-Add-boat-fall-damage-config.patch index b09926310..adf5f8fb5 100644 --- a/patches/unapplied-server/0105-Add-boat-fall-damage-config.patch +++ b/patches/server/0105-Add-boat-fall-damage-config.patch @@ -5,16 +5,16 @@ Subject: [PATCH] Add boat fall damage config diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index cbe608df708d5530813230cddd78568c1a63b448..36058eac6f861ae919bbe8ae6386e8f841586ac2 100644 +index 6f769f90038042ac11cdd59f36d7f3fd85cfd490..f63c1eca0c7ecaec70aaae56c479aaae42df3008 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1442,7 +1442,16 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -1439,7 +1439,16 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple if (this.isInvulnerableTo(world, source)) { return false; } else { -- if (source.is(DamageTypeTags.IS_FALL) && getRootVehicle() instanceof net.minecraft.world.entity.vehicle.AbstractMinecart && level().purpurConfig.minecartControllable && !level().purpurConfig.minecartControllableFallDamage) return false; // Purpur +- if (source.is(net.minecraft.tags.DamageTypeTags.IS_FALL) && getRootVehicle() instanceof net.minecraft.world.entity.vehicle.AbstractMinecart && level().purpurConfig.minecartControllable && !level().purpurConfig.minecartControllableFallDamage) return false; // Purpur + // Purpur start -+ if (source.is(DamageTypeTags.IS_FALL)) { // Purpur ++ if (source.is(net.minecraft.tags.DamageTypeTags.IS_FALL)) { // Purpur + if (getRootVehicle() instanceof net.minecraft.world.entity.vehicle.AbstractMinecart && level().purpurConfig.minecartControllable && !level().purpurConfig.minecartControllableFallDamage) { + return false; + } @@ -23,9 +23,9 @@ index cbe608df708d5530813230cddd78568c1a63b448..36058eac6f861ae919bbe8ae6386e8f8 + } + } + // Purpur end - boolean flag = this.server.isDedicatedServer() && this.isPvpAllowed() && source.is(DamageTypeTags.IS_FALL); + Entity entity = source.getEntity(); - if (!flag && this.spawnInvulnerableTime > 0 && !source.is(DamageTypeTags.BYPASSES_INVULNERABILITY)) { + if (entity instanceof net.minecraft.world.entity.player.Player) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java index 897fac3caeab051cf2634d4e8b3dca62b389acd8..3bd6931d3b19bd9687cdaee2b245cd3f2e9df0bc 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/patches/unapplied-server/0106-Snow-Golem-rate-of-fire-config.patch b/patches/server/0106-Snow-Golem-rate-of-fire-config.patch similarity index 100% rename from patches/unapplied-server/0106-Snow-Golem-rate-of-fire-config.patch rename to patches/server/0106-Snow-Golem-rate-of-fire-config.patch diff --git a/patches/unapplied-server/0107-EMC-Configurable-disable-give-dropping.patch b/patches/server/0107-EMC-Configurable-disable-give-dropping.patch similarity index 100% rename from patches/unapplied-server/0107-EMC-Configurable-disable-give-dropping.patch rename to patches/server/0107-EMC-Configurable-disable-give-dropping.patch diff --git a/patches/unapplied-server/0108-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch b/patches/server/0108-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch similarity index 98% rename from patches/unapplied-server/0108-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch rename to patches/server/0108-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch index 4e8e82f3e..2aa721605 100644 --- a/patches/unapplied-server/0108-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch +++ b/patches/server/0108-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch @@ -90,10 +90,10 @@ index 8508ac7de8cda3127b73e11ff4aee62502e65ead..b1544e028d5a9b84b944e1fb5a12bb16 throwHalfStack(entity, this.trades, villager); } diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java b/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java -index bb65d46967cb04f611b3c9c97d5732cfb21ede9b..7f4156e4690bbd57f9e9141f008851062cae733d 100644 +index 41f4107101bcd5d753b72cdbabe7946a1975c653..4475b406dde30e5be8ce9d2ff45f8d22d242690c 100644 --- a/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java +++ b/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java -@@ -52,8 +52,13 @@ public class VillagerGoalPackages { +@@ -74,8 +74,13 @@ public class VillagerGoalPackages { } public static ImmutableList>> getWorkPackage(VillagerProfession profession, float speed) { @@ -136,7 +136,7 @@ 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 3528cc251ebae1011ec3dac4b893157e446a1e22..280f35782e4b336465ed45373e7843dd9f697d85 100644 +index 973dd0cdccb7787bdb36e4c1e8135490ab59c317..0ceeaef16ce0c4abcc3bd7350ed147c91bda8d64 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -227,7 +227,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler diff --git a/patches/unapplied-server/0109-Toggle-for-Zombified-Piglin-death-always-counting-as.patch b/patches/server/0109-Toggle-for-Zombified-Piglin-death-always-counting-as.patch similarity index 100% rename from patches/unapplied-server/0109-Toggle-for-Zombified-Piglin-death-always-counting-as.patch rename to patches/server/0109-Toggle-for-Zombified-Piglin-death-always-counting-as.patch diff --git a/patches/unapplied-server/0110-Configurable-chance-for-wolves-to-spawn-rabid.patch b/patches/server/0110-Configurable-chance-for-wolves-to-spawn-rabid.patch similarity index 99% rename from patches/unapplied-server/0110-Configurable-chance-for-wolves-to-spawn-rabid.patch rename to patches/server/0110-Configurable-chance-for-wolves-to-spawn-rabid.patch index 9d983622e..af2d20c39 100644 --- a/patches/unapplied-server/0110-Configurable-chance-for-wolves-to-spawn-rabid.patch +++ b/patches/server/0110-Configurable-chance-for-wolves-to-spawn-rabid.patch @@ -7,7 +7,7 @@ Configurable chance to spawn a wolf that is rabid. Rabid wolves attack all players, mobs, and animals. diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java -index bb2e5e97d33ffaf95a6c88b3c077de1a89a60c6e..34ca92be146bec3d2f6e46f473c3e68b0a97b168 100644 +index 71f76046b37705d064dc532ae1244ecc2920393a..7eeb283d969c93e884791709734abf8b64b730d5 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java +++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java @@ -103,6 +103,37 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder implements +@@ -336,6 +336,7 @@ public class ChestBlock extends AbstractChestBlock implements } public static boolean isBlockedChestByBlock(BlockGetter world, BlockPos pos) { diff --git a/patches/unapplied-server/0114-Implement-TPSBar.patch b/patches/server/0114-Implement-TPSBar.patch similarity index 97% rename from patches/unapplied-server/0114-Implement-TPSBar.patch rename to patches/server/0114-Implement-TPSBar.patch index 8666558cc..d115261b3 100644 --- a/patches/unapplied-server/0114-Implement-TPSBar.patch +++ b/patches/server/0114-Implement-TPSBar.patch @@ -17,10 +17,10 @@ index 02c7b57eef9a4462af413415ff268b9daeea0b93..632fd1b7d3474889b700b153d9cb4967 if (environment.includeIntegrated) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 1349b2bbdc38e9f13617c78d3f1079b9e36aece4..b389d24e6f6c2cb1d0592a48bd5b41aa818aad75 100644 +index 6ab178e0541f027791406d547c38f63c1d72ef25..791fa782d5092e17f332dd6660c42d151182e854 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1158,6 +1158,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop byteAllowed) { diff --git a/patches/unapplied-server/0117-Full-netherite-armor-grants-fire-resistance.patch b/patches/server/0117-Full-netherite-armor-grants-fire-resistance.patch similarity index 95% rename from patches/unapplied-server/0117-Full-netherite-armor-grants-fire-resistance.patch rename to patches/server/0117-Full-netherite-armor-grants-fire-resistance.patch index 9d0818491..f37c3c4f7 100644 --- a/patches/unapplied-server/0117-Full-netherite-armor-grants-fire-resistance.patch +++ b/patches/server/0117-Full-netherite-armor-grants-fire-resistance.patch @@ -5,10 +5,10 @@ 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 773be9c116a664e4d0349c58c00df34f203f8ebf..ae5f7c275003b6fb9f6c5a0277482b4fddf8e74c 100644 +index bf6c8abe3c0ba4144c37f2ee53bfb96563340e87..3dbb473655c4f115e28ce31fa647cd0cb7fbe3c6 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -353,6 +353,17 @@ public abstract class Player extends LivingEntity { +@@ -356,6 +356,17 @@ public abstract class Player extends LivingEntity { this.turtleHelmetTick(); } diff --git a/patches/unapplied-server/0118-Add-mobGriefing-bypass-to-everything-affected.patch b/patches/server/0118-Add-mobGriefing-bypass-to-everything-affected.patch similarity index 96% rename from patches/unapplied-server/0118-Add-mobGriefing-bypass-to-everything-affected.patch rename to patches/server/0118-Add-mobGriefing-bypass-to-everything-affected.patch index e8805486c..0bede9123 100644 --- a/patches/unapplied-server/0118-Add-mobGriefing-bypass-to-everything-affected.patch +++ b/patches/server/0118-Add-mobGriefing-bypass-to-everything-affected.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add mobGriefing bypass to everything affected diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index f8ec83a135feab4140ec075ee45250ebfc511993..0b9ece407fb90636d3869e85cd8c6c0a5626e8fa 100644 +index 1add518a30e1f44849aea6c805cf3cef849f1992..fe183dcfb32e915af4c58f8b40c35e349e39d189 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1903,7 +1903,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1914,7 +1914,7 @@ public abstract class LivingEntity extends Entity implements Attackable { boolean flag = false; if (this.dead && adversary instanceof WitherBoss) { // Paper @@ -18,10 +18,10 @@ index f8ec83a135feab4140ec075ee45250ebfc511993..0b9ece407fb90636d3869e85cd8c6c0a BlockState iblockdata = Blocks.WITHER_ROSE.defaultBlockState(); diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 784bf7754c43b02d337da61d6dd7bed134465d11..01da954d982b59bca8d8b76e66021ee04138a923 100644 +index 263db57683045e99210a68184de382a6d91e0f71..30be625e2f9c84f9ee3dbb68c8fc3806eae8a510 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -706,7 +706,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab +@@ -714,7 +714,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab Level world = this.level(); if (world instanceof ServerLevel worldserver) { @@ -92,7 +92,7 @@ index 9d245d08be61d7edee9138196ae3bf52023e3993..771bb96032149a8573d1de14fa2ab190 } else if (this.nextStartTick > 0) { --this.nextStartTick; diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java -index 0024345d1906e6fb6bbdb189f6d4dbc631b90f9f..3870803139f162793598cef8f2700e0940aeb66e 100644 +index fe7c99a3f1450bb86a7949b9450e63c5b8f66d8f..cbbf6b8c72a1897d819ce3a448311c28eb6b1bd7 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Fox.java +++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java @@ -1370,7 +1370,7 @@ public class Fox extends Animal implements VariantHolder { @@ -105,7 +105,7 @@ index 0024345d1906e6fb6bbdb189f6d4dbc631b90f9f..3870803139f162793598cef8f2700e09 if (iblockdata.is(Blocks.SWEET_BERRY_BUSH)) { diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java -index 629a0729cae629dea89fdf491afa9eed96e7a38a..d0ab026af1642b6b3094d37a0c994deb633da577 100644 +index b92965674200836e367a0632487226ed124fbe2d..557b9bab60d7bb9d611929a524cc796cdf2d651d 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java +++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java @@ -634,7 +634,7 @@ public class Rabbit extends Animal implements VariantHolder { @@ -131,7 +131,7 @@ index 3f97118c8ce4f4e9a5f2a2fc3acdc68a6828baed..6c12817e00125a3957df1a37a06a5c6a } diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java -index f356110850dd71d066243ec29853f547d94e4400..cb9f73605e5cfbbff9935340529a2daa782ed10b 100644 +index 8cfe0d5f09fa08c3606f29ce243d6ce5f84090a0..bc4a86cc4110453709dcf5a6808a6c54ed3a75d7 100644 --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java @@ -591,7 +591,7 @@ public class EnderDragon extends Mob implements Enemy { @@ -144,10 +144,10 @@ index f356110850dd71d066243ec29853f547d94e4400..cb9f73605e5cfbbff9935340529a2daa // flag1 = worldserver.removeBlock(blockposition, false) || flag1; flag1 = true; diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -index e808cd292afc9531d5ec6025e1e83076ba487c0f..92711d5460b128310739188347f68be884635ec3 100644 +index 093dd2a5ac09767df7406e00d25985d0507957ef..0ee25a30186b3ce367853a1955640f730df17942 100644 --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -@@ -499,7 +499,7 @@ public class WitherBoss extends Monster implements RangedAttackMob { +@@ -498,7 +498,7 @@ public class WitherBoss extends Monster implements RangedAttackMob { if (this.destroyBlocksTick > 0) { --this.destroyBlocksTick; @@ -157,10 +157,10 @@ index e808cd292afc9531d5ec6025e1e83076ba487c0f..92711d5460b128310739188347f68be8 j = Mth.floor(this.getBbWidth() / 2.0F + 1.0F); diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java -index a8e2a2096f209fcd24e7921947556691fe6c254a..b150e41077ecf23dca828a519a545f93d256eb7c 100644 +index bc17512c6077777169c9759fa445e21f9e51543b..7c738e8d5a7eaef2f8c2d04085683c3baff4640d 100644 --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java -@@ -522,7 +522,15 @@ public class EnderMan extends Monster implements NeutralMob { +@@ -521,7 +521,15 @@ public class EnderMan extends Monster implements NeutralMob { @Override public boolean canUse() { if (!enderman.level().purpurConfig.endermanAllowGriefing) return false; // Purpur @@ -177,7 +177,7 @@ index a8e2a2096f209fcd24e7921947556691fe6c254a..b150e41077ecf23dca828a519a545f93 } @Override -@@ -568,7 +576,15 @@ public class EnderMan extends Monster implements NeutralMob { +@@ -567,7 +575,15 @@ public class EnderMan extends Monster implements NeutralMob { @Override public boolean canUse() { if (!enderman.level().purpurConfig.endermanAllowGriefing) return false; // Purpur @@ -195,7 +195,7 @@ index a8e2a2096f209fcd24e7921947556691fe6c254a..b150e41077ecf23dca828a519a545f93 @Override diff --git a/src/main/java/net/minecraft/world/entity/monster/Evoker.java b/src/main/java/net/minecraft/world/entity/monster/Evoker.java -index 72d855a22e1507ad5f735df17db820c9b3fb2251..63ddac9c83d70107dace11fe1f033d7e17b1541a 100644 +index 354e3f82c26cb5dde524bea3c4bfd593fb919698..db3f7befb52ab58240ca6a8a101a955d4068768e 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Evoker.java +++ b/src/main/java/net/minecraft/world/entity/monster/Evoker.java @@ -367,7 +367,7 @@ public class Evoker extends SpellcasterIllager { @@ -208,10 +208,10 @@ index 72d855a22e1507ad5f735df17db820c9b3fb2251..63ddac9c83d70107dace11fe1f033d7e } else { List list = worldserver.getNearbyEntities(Sheep.class, this.wololoTargeting, Evoker.this, Evoker.this.getBoundingBox().inflate(16.0D, 4.0D, 16.0D)); diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java -index fdf30a72c6c1bf4024592dc3071fc101256a1138..f257258473e036ae60d9463ae97d848192a61af7 100644 +index 3d49ee1c5e4dbbb76f03075ad4a5b326ab056699..265c84c778eb995d7da88fdb760fed5fb62bcda7 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java +++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java -@@ -184,7 +184,7 @@ public class Ravager extends Raider { +@@ -181,7 +181,7 @@ public class Ravager extends Raider { if (world instanceof ServerLevel) { ServerLevel worldserver = (ServerLevel) world; @@ -249,10 +249,10 @@ index c31a72bad0b75940ea550acf47fab2220ff669ff..9c58d01fc7ba148d4e5d50731eaee71a BlockPos blockposition = BlockPos.containing(this.mob.getX(), this.mob.getY() + 0.5D, this.mob.getZ()).relative(this.selectedDirection); BlockState iblockdata = this.mob.level().getBlockState(blockposition); diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java -index 23673d9ce87acda718d12fce9af0ef5f27983f1a..f0decc0f4421a6dcd640ad8f0bfb56249bf31944 100644 +index fd756b9f51d3ca857ea520288230afa5ab455b95..26090db2ed0cbd99e2f50368ba9f2bf6e56670da 100644 --- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java +++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java -@@ -430,7 +430,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento +@@ -438,7 +438,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento @Override public boolean wantsToPickUp(ServerLevel world, ItemStack stack) { @@ -291,10 +291,10 @@ index 2f00676f62478897ae4931ea06e047567c407535..55ea7f82fac9a3de6d7e0725a9b6ea08 // CraftBukkit start - fire ExplosionPrimeEvent ExplosionPrimeEvent event = new ExplosionPrimeEvent((org.bukkit.entity.Explosive) this.getBukkitEntity()); diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java -index af8dc4a57987cc84cb1002f2e5f25c28ec98173f..a7df9c2a3f210bc944cf76cdcc8d2a9484704bd1 100644 +index 0dbfa1e9ae1f0b8b9c4e9de59a7844ae96f63077..40a1514637a6a26666ba877e6dcf5bc42bd54a51 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java +++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java -@@ -510,7 +510,7 @@ public abstract class Projectile extends Entity implements TraceableEntity { +@@ -498,7 +498,7 @@ public abstract class Projectile extends Entity implements TraceableEntity { public boolean mayInteract(ServerLevel world, BlockPos pos) { Entity entity = this.getOwner(); @@ -317,7 +317,7 @@ index bb159ea4baf208aab6d6fcfbbddacd5b089b55c8..588b07ec4501924a49264183b414a7fd // CraftBukkit end } diff --git a/src/main/java/net/minecraft/world/entity/raid/Raider.java b/src/main/java/net/minecraft/world/entity/raid/Raider.java -index ab132041982df2a701e4baea8195873f31b4a5fb..722c1660cf6b93d0f9c05cafe587b1834c5c3a22 100644 +index cee1e4db2312efb4843c4b6dc18f4af10b91d304..68525419f18c18931d771d66fb15c9301d611416 100644 --- a/src/main/java/net/minecraft/world/entity/raid/Raider.java +++ b/src/main/java/net/minecraft/world/entity/raid/Raider.java @@ -345,7 +345,7 @@ public abstract class Raider extends PatrollingMonster { @@ -330,7 +330,7 @@ index ab132041982df2a701e4baea8195873f31b4a5fb..722c1660cf6b93d0f9c05cafe587b183 return true; } else if (this.mob.getCurrentRaid().isOver()) { diff --git a/src/main/java/net/minecraft/world/level/block/CropBlock.java b/src/main/java/net/minecraft/world/level/block/CropBlock.java -index 1ada5ed825501666addacf527a513ab7bd4a3a58..49484773e67eb84e7dadc993406edd6da568dcd5 100644 +index 1967ff3fcb94988be85985c4754904f0077de066..8cf8aeb34cba078bc7a554f03054d580d96fe908 100644 --- a/src/main/java/net/minecraft/world/level/block/CropBlock.java +++ b/src/main/java/net/minecraft/world/level/block/CropBlock.java @@ -180,7 +180,7 @@ public class CropBlock extends BushBlock implements BonemealableBlock { diff --git a/patches/unapplied-server/0119-Config-to-allow-Note-Block-sounds-when-blocked.patch b/patches/server/0119-Config-to-allow-Note-Block-sounds-when-blocked.patch similarity index 100% rename from patches/unapplied-server/0119-Config-to-allow-Note-Block-sounds-when-blocked.patch rename to patches/server/0119-Config-to-allow-Note-Block-sounds-when-blocked.patch diff --git a/patches/unapplied-server/0120-Add-EntityTeleportHinderedEvent.patch b/patches/server/0120-Add-EntityTeleportHinderedEvent.patch similarity index 95% rename from patches/unapplied-server/0120-Add-EntityTeleportHinderedEvent.patch rename to patches/server/0120-Add-EntityTeleportHinderedEvent.patch index 16d595c91..b2a6cf568 100644 --- a/patches/unapplied-server/0120-Add-EntityTeleportHinderedEvent.patch +++ b/patches/server/0120-Add-EntityTeleportHinderedEvent.patch @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/world/level/block/EndGatewayBlock.java b/src/main/java/net/minecraft/world/level/block/EndGatewayBlock.java -index a7a21f071161fb7e73a046717d2462f871ab653c..abb75f9389167a1f51a2c50831664d50181749de 100644 +index af46f2885ead1e3ec1734504d8ba134c886e04fb..47ee0538c8ea94136b2416c324c8a264e54d2c09 100644 --- a/src/main/java/net/minecraft/world/level/block/EndGatewayBlock.java +++ b/src/main/java/net/minecraft/world/level/block/EndGatewayBlock.java @@ -104,6 +104,13 @@ public class EndGatewayBlock extends BaseEntityBlock implements Portal { @@ -35,7 +35,7 @@ index a7a21f071161fb7e73a046717d2462f871ab653c..abb75f9389167a1f51a2c50831664d50 TheEndGatewayBlockEntity.triggerCooldown(world, pos, state, tileentityendgateway); } diff --git a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java -index 4aa14f975e1ceedf3d4a427e0daefb58b12fcafe..2dffc3990d9ae3d595d923239885e3a7d8ec04f3 100644 +index 8cb4142562db0be1f1a7d961ec5a10d4abf31692..84ecb012cb0a47e47799dc73c7fadc75f462f47a 100644 --- a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java +++ b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java @@ -70,6 +70,13 @@ public class EndPortalBlock extends BaseEntityBlock implements Portal { @@ -53,7 +53,7 @@ index 4aa14f975e1ceedf3d4a427e0daefb58b12fcafe..2dffc3990d9ae3d595d923239885e3a7 EntityPortalEnterEvent event = new EntityPortalEnterEvent(entity.getBukkitEntity(), new org.bukkit.Location(world.getWorld(), pos.getX(), pos.getY(), pos.getZ()), org.bukkit.PortalType.ENDER); // Paper - add portal type world.getCraftServer().getPluginManager().callEvent(event); diff --git a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java -index 2b31bf586c1c0bd393d2aa8d0b6635dd9f22f21c..c00b13482ce3f603f1d85b9a5ad36b768de5a9f8 100644 +index 3e9642e5236d9a1cc8e8f3b375d76810f4bc7c6c..5169cba4c43d80ce3597c57bf7d40bd0148ec8a0 100644 --- a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java +++ b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java @@ -117,6 +117,13 @@ public class NetherPortalBlock extends Block implements Portal { @@ -71,7 +71,7 @@ index 2b31bf586c1c0bd393d2aa8d0b6635dd9f22f21c..c00b13482ce3f603f1d85b9a5ad36b76 EntityPortalEnterEvent event = new EntityPortalEnterEvent(entity.getBukkitEntity(), new org.bukkit.Location(world.getWorld(), pos.getX(), pos.getY(), pos.getZ()), org.bukkit.PortalType.NETHER); // Paper - add portal type world.getCraftServer().getPluginManager().callEvent(event); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 0d835621a7af64563c86c17358632aa26ac281cd..ac4064172f982a6efc25378fbd088cca1dda4a14 100644 +index 12c65755f85acce10c2d5359539d64498138127b..c0b6efefc4d4f31602f39afa76f837300c22f804 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -246,6 +246,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -83,7 +83,7 @@ index 0d835621a7af64563c86c17358632aa26ac281cd..ac4064172f982a6efc25378fbd088cca } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 358f42585c865efbd814787879f919f70234e5c4..6abf043faf27d1385ad45c264822a9f49974863d 100644 +index 350165d6616a1dfe931d0a35de0dbbd9222da216..75986a13b87c2024c96742fbbab960026b256837 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1440,6 +1440,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/unapplied-server/0121-Farmland-trampling-changes.patch b/patches/server/0121-Farmland-trampling-changes.patch similarity index 100% rename from patches/unapplied-server/0121-Farmland-trampling-changes.patch rename to patches/server/0121-Farmland-trampling-changes.patch diff --git a/patches/unapplied-server/0122-Movement-options-for-armor-stands.patch b/patches/server/0122-Movement-options-for-armor-stands.patch similarity index 96% rename from patches/unapplied-server/0122-Movement-options-for-armor-stands.patch rename to patches/server/0122-Movement-options-for-armor-stands.patch index 1d4bf9307..7b8bd7604 100644 --- a/patches/unapplied-server/0122-Movement-options-for-armor-stands.patch +++ b/patches/server/0122-Movement-options-for-armor-stands.patch @@ -17,10 +17,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index c5880e627ff48e5e176baf483c08f35a1af488f8..70581da7310da5c78e20c6257c3423168704fbc4 100644 +index 692b4afe8616dac52f687baee86cbbd2af6763ec..7d7b1e21ad22831630cb825abcb75b1d69da5e14 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2017,7 +2017,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -2040,7 +2040,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return this.isInWater() || flag; } diff --git a/patches/unapplied-server/0123-Fix-stuck-in-portals.patch b/patches/server/0123-Fix-stuck-in-portals.patch similarity index 92% rename from patches/unapplied-server/0123-Fix-stuck-in-portals.patch rename to patches/server/0123-Fix-stuck-in-portals.patch index 0fdc5f365..1760ac679 100644 --- a/patches/unapplied-server/0123-Fix-stuck-in-portals.patch +++ b/patches/server/0123-Fix-stuck-in-portals.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix stuck in portals diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 80426ba728016273990f00db638ea327b75c1883..70a82e80d686337cbe19365ec2d858fedc1d2b77 100644 +index 01eff7ae375b9289360336ce728155b32b8cf347..ca88e602674e85b63b9622c0f94b588448480c12 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1687,6 +1687,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -1678,6 +1678,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple worldserver1.removePlayerImmediately(this, Entity.RemovalReason.CHANGED_DIMENSION); this.unsetRemoved(); // CraftBukkit end @@ -17,10 +17,10 @@ index 80426ba728016273990f00db638ea327b75c1883..70a82e80d686337cbe19365ec2d858fe this.connection.internalTeleport(PositionMoveRotation.of(teleportTarget), teleportTarget.relatives()); // CraftBukkit - use internal teleport without event this.connection.resetPosition(); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 70581da7310da5c78e20c6257c3423168704fbc4..a8884300f2b9483e74036cacd98356c818578bd4 100644 +index 7d7b1e21ad22831630cb825abcb75b1d69da5e14..114e3ce75fefef8bab339c09128601325d9084f9 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3438,14 +3438,17 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -3468,14 +3468,17 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return Vec3.directionFromRotation(this.getRotationVector()); } diff --git a/patches/unapplied-server/0124-Toggle-for-water-sensitive-mob-damage.patch b/patches/server/0124-Toggle-for-water-sensitive-mob-damage.patch similarity index 97% rename from patches/unapplied-server/0124-Toggle-for-water-sensitive-mob-damage.patch rename to patches/server/0124-Toggle-for-water-sensitive-mob-damage.patch index 1c309593d..2aa3dfdc2 100644 --- a/patches/unapplied-server/0124-Toggle-for-water-sensitive-mob-damage.patch +++ b/patches/server/0124-Toggle-for-water-sensitive-mob-damage.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Toggle for water sensitive mob damage diff --git a/src/main/java/net/minecraft/world/entity/GlowSquid.java b/src/main/java/net/minecraft/world/entity/GlowSquid.java -index 0f5be53c6f6a66c61dc3f2bebeb18ca61d06c10d..a83187312422b0e087785d89f4a49b4c67427b95 100644 +index e282af89d635a2866a8655d1e4956f1bd2c6a85b..52223ecfbc8a66ea3f79c60ef299d2d0e1808ac2 100644 --- a/src/main/java/net/minecraft/world/entity/GlowSquid.java +++ b/src/main/java/net/minecraft/world/entity/GlowSquid.java @@ -48,6 +48,11 @@ public class GlowSquid extends Squid { @@ -37,10 +37,10 @@ index 656088e81781a5711521edec565f4e34313b7bc6..29445156f8660d84bb9840c6ac85e0e2 public void readAdditionalSaveData(CompoundTag nbt) { super.readAdditionalSaveData(nbt); diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java -index 51b736979e43cd0e60a8ecaf2cf95511b9f4d858..d47e5f774567aa4710686430b66eb1409c2f0c97 100644 +index 235a2b732fd62bf7e8c34c14333c41a49a2418e0..e6e5954ca4366ad20b1d1413053739c767c45824 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Bee.java +++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java -@@ -182,7 +182,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { +@@ -186,7 +186,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { // Paper end - Fix MC-167279 this.lookControl = new Bee.BeeLookControl(this); this.setPathfindingMalus(PathType.DANGER_FIRE, -1.0F); @@ -49,7 +49,7 @@ index 51b736979e43cd0e60a8ecaf2cf95511b9f4d858..d47e5f774567aa4710686430b66eb140 this.setPathfindingMalus(PathType.WATER_BORDER, 16.0F); this.setPathfindingMalus(PathType.COCOA, -1.0F); this.setPathfindingMalus(PathType.FENCE, -1.0F); -@@ -496,6 +496,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { +@@ -500,6 +500,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { return this.level().purpurConfig.beeBreedingTicks; } @@ -62,7 +62,7 @@ index 51b736979e43cd0e60a8ecaf2cf95511b9f4d858..d47e5f774567aa4710686430b66eb140 public int getRemainingPersistentAngerTime() { return (Integer) this.entityData.get(Bee.DATA_REMAINING_ANGER_TIME); diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java -index 8a89ea47d79065e85bb831578c6a1ab71ca5a040..1a060021f92822a85aa45d682ee09d8ef69d7a1f 100644 +index c8e7eb5af0b7288d5ad3637ad5d1883b0cffc923..84094d19d9f3de9b474381c6b0aab1726fcdc40e 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Cat.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java @@ -134,6 +134,11 @@ public class Cat extends TamableAnimal implements VariantHolder { @@ -174,10 +174,10 @@ index 500109364b4741fc310eb22c151754a153db027e..6396d31a14815fbe4f9f51dc610af317 protected void registerGoals() { if (level().purpurConfig.ironGolemCanSwim) this.goalSelector.addGoal(0, new net.minecraft.world.entity.ai.goal.FloatGoal(this)); // Purpur diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java -index 3397fa689c6e36981f3944586c2059c8eb7b1e50..9d85342439977d3ac72ef133733df4f57a68714a 100644 +index f17c30c55a75eba58fcda2407d8039f64e646e7f..951f94da000587def4832a5fae68c1f5a6c9e2ea 100644 --- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java +++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java -@@ -92,6 +92,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder { @@ -302,10 +302,10 @@ index d0ab026af1642b6b3094d37a0c994deb633da577..8e316da789cb7a8d4c630c71724a56d6 @Override diff --git a/src/main/java/net/minecraft/world/entity/animal/Salmon.java b/src/main/java/net/minecraft/world/entity/animal/Salmon.java -index 9ec3479b0db1f42493db127081e341fa5acc8e41..486709c9701657c7aa93586f539c18e4157f8ef3 100644 +index 1295003dfceb585ef23705c17862efb3feff3868..cd995f8ce3bfd76fa0f4ea3fda71101b09d64ce2 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Salmon.java +++ b/src/main/java/net/minecraft/world/entity/animal/Salmon.java -@@ -49,6 +49,11 @@ public class Salmon extends AbstractSchoolingFish implements VariantHolder type, Level world) { super(type, world); @@ -685,7 +685,7 @@ index b150e41077ecf23dca828a519a545f93d256eb7c..62a2249e9611bd3801b8adb880929e3b } // Purpur start -@@ -288,7 +288,7 @@ public class EnderMan extends Monster implements NeutralMob { +@@ -287,7 +287,7 @@ public class EnderMan extends Monster implements NeutralMob { @Override public boolean isSensitiveToWater() { @@ -711,7 +711,7 @@ index 89f808dd5470c9d94a0cd6b690b9711136027f8a..e8b7e291c96ff6856832fc6612f792fc protected void registerGoals() { this.goalSelector.addGoal(1, new FloatGoal(this)); diff --git a/src/main/java/net/minecraft/world/entity/monster/Evoker.java b/src/main/java/net/minecraft/world/entity/monster/Evoker.java -index 63ddac9c83d70107dace11fe1f033d7e17b1541a..2a0561d0e0cfc6e732c2342e12a1af4dfa73befe 100644 +index db3f7befb52ab58240ca6a8a101a955d4068768e..2c9c4de193ae92e8e2639b33dd8db6fa37ab1ee1 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Evoker.java +++ b/src/main/java/net/minecraft/world/entity/monster/Evoker.java @@ -76,6 +76,11 @@ public class Evoker extends SpellcasterIllager { @@ -823,7 +823,7 @@ index 3656c83ed02392f4121dab69ea7e0e5a64a984b0..0dde6fb0fbf85d1b5afe0fe25941c0c0 return Monster.createMonsterAttributes().add(Attributes.MOVEMENT_SPEED, 0.2F); } diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java -index 39ae23d4942178ce95d4c06e676545aa9a1e8756..6e665d75f2c3a6cec6307a2befb07e73e48da5eb 100644 +index f6f96c1d7d43c5dee023152456b243f3590b0b37..6a180656fb53b2f2a70cf219dc9ce7918b7d88ad 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java +++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java @@ -137,6 +137,11 @@ public class Phantom extends FlyingMob implements Enemy { @@ -839,10 +839,10 @@ index 39ae23d4942178ce95d4c06e676545aa9a1e8756..6e665d75f2c3a6cec6307a2befb07e73 public boolean isFlapping() { return (this.getUniqueFlapTickOffset() + this.tickCount) % Phantom.TICKS_PER_FLAP == 0; diff --git a/src/main/java/net/minecraft/world/entity/monster/Pillager.java b/src/main/java/net/minecraft/world/entity/monster/Pillager.java -index 3613b82bef45dddf7e356deaee6353c48455e33a..b85579065ac006589120d4d7ed83d355a517b46d 100644 +index 16a5de23d095cc1b62c76eebe3828231018a572e..d7e67efed76401afbafc19285984a1175fbf250d 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Pillager.java +++ b/src/main/java/net/minecraft/world/entity/monster/Pillager.java -@@ -87,6 +87,11 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve +@@ -90,6 +90,11 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.pillagerScale); } @@ -855,10 +855,10 @@ index 3613b82bef45dddf7e356deaee6353c48455e33a..b85579065ac006589120d4d7ed83d355 protected void registerGoals() { super.registerGoals(); diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java -index f257258473e036ae60d9463ae97d848192a61af7..48c66c97784f7c81029a81efb63eb6da4a2d88c2 100644 +index 265c84c778eb995d7da88fdb760fed5fb62bcda7..d5faedc263714a200ae2fd12b2f3ae1e3e18ed59 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java +++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java -@@ -106,6 +106,11 @@ public class Ravager extends Raider { +@@ -104,6 +104,11 @@ public class Ravager extends Raider { this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.ravagerScale); } @@ -871,7 +871,7 @@ index f257258473e036ae60d9463ae97d848192a61af7..48c66c97784f7c81029a81efb63eb6da protected void registerGoals() { super.registerGoals(); diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java -index ebc50e517093329dc5c76cdcd3b6d7e7e66bf55f..4a04ade0cfeac23afbac1a5ef7dfff0df2136191 100644 +index 4e7c449ed4e093e7853f91547a8447e9afd9bf64..ef44ab79cba3778111c9f27f77219b384761d9e4 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java +++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java @@ -121,6 +121,11 @@ public class Shulker extends AbstractGolem implements VariantHolder type, ServerLevelAccessor world, EntitySpawnReason spawnReason, BlockPos pos, RandomSource random ) { diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java -index bb2283fa9a21d7fc609f0a914cdb8b1370d90235..6c7b3b306b69c5b0526e48e4e636ed24d5c96820 100644 +index d99a621a4f7507d216c2793e9d1d9b84ea679acf..cdb8d5c625e18a2a4cf6b5d2da923f63127b6e9c 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Strider.java +++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java @@ -91,7 +91,7 @@ public class Strider extends Animal implements ItemSteerable, Saddleable { @@ -1039,10 +1039,10 @@ index 790e36ae4bd1d6290e16ec579127f8017ac43335..151169d76276409d6a042945b05ae680 protected void registerGoals() { super.registerGoals(); diff --git a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java -index 89ed0d044426aa0415f5cb4eb3f02342fcdddc7d..4c426f87fe2833382f48e353b27f381b48774fd9 100644 +index b0054b998e5494d64de538450daae432416c4d55..5f2e9d87c410551b9858c60fa2ca7ff66e23cb2f 100644 --- a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java +++ b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java -@@ -56,6 +56,11 @@ public class WitherSkeleton extends AbstractSkeleton { +@@ -59,6 +59,11 @@ public class WitherSkeleton extends AbstractSkeleton { this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.witherSkeletonScale); } @@ -1087,7 +1087,7 @@ index e6fb53b828c1a2e76d398e88449260f6206145c3..d79eb7bd6d38a4f1aee89cf0cf331a12 protected void registerGoals() { this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java -index eb6daba7d44542739f1c537cbeef8f87c6db61bf..7298ba35cb27269e778de6b265933baed3077b36 100644 +index 2ee91a1822584fe11b139a747d60b6fa832fa177..95315588a523439a53ac7af3db5fc23adbed6f01 100644 --- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java +++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java @@ -112,6 +112,11 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder { @@ -1135,10 +1135,10 @@ index 0ee5bdae0d8e42b3d6475bfe49bfa41ee3192769..1103274ba096b0cab3c89f0bdfeba15f public boolean canBeLeashed() { return true; diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java -index f0decc0f4421a6dcd640ad8f0bfb56249bf31944..39cf09e03cd178471757e51334b07b4daffb43be 100644 +index 26090db2ed0cbd99e2f50368ba9f2bf6e56670da..570af47cd176dfa56c0920a8d41400aa1ade5fd0 100644 --- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java +++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java -@@ -119,6 +119,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento +@@ -122,6 +122,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.piglinScale); } @@ -1167,7 +1167,7 @@ index 6459e588e6feb6d7bcf999e36b658bbad4069af2..9c196b0cf49cb6f69bd17748fd13ce59 return Monster.createMonsterAttributes() .add(Attributes.MAX_HEALTH, 50.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 280f35782e4b336465ed45373e7843dd9f697d85..22a015f46aa1bb7ef8076fe34d2b69d9870780f1 100644 +index 0ceeaef16ce0c4abcc3bd7350ed147c91bda8d64..43932be4584995bd5f4ca4d712f3d3ec4d0c743a 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -193,6 +193,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler diff --git a/patches/unapplied-server/0125-Config-to-always-tame-in-Creative.patch b/patches/server/0125-Config-to-always-tame-in-Creative.patch similarity index 93% rename from patches/unapplied-server/0125-Config-to-always-tame-in-Creative.patch rename to patches/server/0125-Config-to-always-tame-in-Creative.patch index 26e3292f4..041f3e9a9 100644 --- a/patches/unapplied-server/0125-Config-to-always-tame-in-Creative.patch +++ b/patches/server/0125-Config-to-always-tame-in-Creative.patch @@ -20,10 +20,10 @@ index b0944fa1f3849dd24cd010fa0a6638f5fd7179d1..d409ae987088df3d47192128401d7491 return; } diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java -index 1a060021f92822a85aa45d682ee09d8ef69d7a1f..8f0a31c896340907aa8017c0a56fb58db48c2c65 100644 +index 84094d19d9f3de9b474381c6b0aab1726fcdc40e..4d9b177dd640e1b569cfd5575ad795d5962ae7b8 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Cat.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java -@@ -522,7 +522,7 @@ public class Cat extends TamableAnimal implements VariantHolder diff --git a/src/main/java/net/minecraft/world/level/block/SpongeBlock.java b/src/main/java/net/minecraft/world/level/block/SpongeBlock.java -index 59cf905b1b5686f6f4f2bad94730ffa69d3a2834..d82c62cdb219cee0bbc3083e38e18b7615ad09ef 100644 +index e9a77c1ae09af42d2d444ad6b5f6c8ac395044e1..9201d911cf155aab7735600073426a0d4213f38b 100644 --- a/src/main/java/net/minecraft/world/level/block/SpongeBlock.java +++ b/src/main/java/net/minecraft/world/level/block/SpongeBlock.java @@ -61,7 +61,7 @@ public class SpongeBlock extends Block { diff --git a/patches/unapplied-server/0149-Projectile-offset-config.patch b/patches/server/0149-Projectile-offset-config.patch similarity index 84% rename from patches/unapplied-server/0149-Projectile-offset-config.patch rename to patches/server/0149-Projectile-offset-config.patch index afda6bb11..1594b092f 100644 --- a/patches/unapplied-server/0149-Projectile-offset-config.patch +++ b/patches/server/0149-Projectile-offset-config.patch @@ -18,10 +18,10 @@ index 1d4d0799a86b9940b5e3b614c5a188ade5133f7e..58fa528e4b2589d362eb976afd6221cd world.playSound( diff --git a/src/main/java/net/minecraft/world/item/CrossbowItem.java b/src/main/java/net/minecraft/world/item/CrossbowItem.java -index 52c40eafc77e50a6fd21b9a7a250cea501f11690..86204c2ab5bbd5d45ddb1d626f844d91ccae6b4f 100644 +index be1902a307a54434644b242b429ad47c271d2a0c..cac4de9877b91bd805a5a8f4b84d27449fc5001f 100644 --- a/src/main/java/net/minecraft/world/item/CrossbowItem.java +++ b/src/main/java/net/minecraft/world/item/CrossbowItem.java -@@ -69,7 +69,7 @@ public class CrossbowItem extends ProjectileWeaponItem { +@@ -70,7 +70,7 @@ public class CrossbowItem extends ProjectileWeaponItem { ItemStack itemStack = user.getItemInHand(hand); ChargedProjectiles chargedProjectiles = itemStack.get(DataComponents.CHARGED_PROJECTILES); if (chargedProjectiles != null && !chargedProjectiles.isEmpty()) { @@ -31,62 +31,62 @@ index 52c40eafc77e50a6fd21b9a7a250cea501f11690..86204c2ab5bbd5d45ddb1d626f844d91 } else if (!user.getProjectile(itemStack).isEmpty()) { this.startSoundPlayed = false; diff --git a/src/main/java/net/minecraft/world/item/EggItem.java b/src/main/java/net/minecraft/world/item/EggItem.java -index 3ddd34e5d05fa1355a2affd329d72dea216cd0e4..770bdb3fb2426083ff6785f1c38ffe9d11f898e5 100644 +index 6d559fef484036194e4d899b82aaa7b5d518311e..9fb04b4e5b61ea497238e042fefa9a06f7489618 100644 --- a/src/main/java/net/minecraft/world/item/EggItem.java +++ b/src/main/java/net/minecraft/world/item/EggItem.java -@@ -27,7 +27,7 @@ public class EggItem extends Item implements ProjectileItem { +@@ -29,7 +29,7 @@ public class EggItem extends Item implements ProjectileItem { if (world instanceof ServerLevel worldserver) { // CraftBukkit start // Paper start - PlayerLaunchProjectileEvent -- final Projectile.Delayed thrownEgg = Projectile.spawnProjectileFromRotationDelayed(ThrownEgg::new, worldserver, itemstack, user, 0.0F, 1.5F, 1.0F); -+ final Projectile.Delayed thrownEgg = Projectile.spawnProjectileFromRotationDelayed(ThrownEgg::new, worldserver, itemstack, user, 0.0F, 1.5F, (float) worldserver.purpurConfig.eggProjectileOffset); // Purpur +- final Projectile.Delayed thrownEgg = Projectile.spawnProjectileFromRotationDelayed(ThrownEgg::new, worldserver, itemstack, user, 0.0F, EggItem.PROJECTILE_SHOOT_POWER, 1.0F); ++ final Projectile.Delayed thrownEgg = Projectile.spawnProjectileFromRotationDelayed(ThrownEgg::new, worldserver, itemstack, user, 0.0F, EggItem.PROJECTILE_SHOOT_POWER, (float) worldserver.purpurConfig.eggProjectileOffset); // Purpur com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent event = new com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent((org.bukkit.entity.Player) user.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemstack), (org.bukkit.entity.Projectile) thrownEgg.projectile().getBukkitEntity()); if (event.callEvent() && thrownEgg.attemptSpawn()) { if (event.shouldConsume()) { diff --git a/src/main/java/net/minecraft/world/item/EnderpearlItem.java b/src/main/java/net/minecraft/world/item/EnderpearlItem.java -index ad99c6fb7bcd8ccbdeb405ca7ff73ae4d1c2f2ee..4039d300debadf29e6c544e8b4c950b7121a02d1 100644 +index 83bd9b1eff5b7f581c3f0af6f0f15bdf4b9de201..392f2600e4fb1ff937c3ec5635156b358eb36888 100644 --- a/src/main/java/net/minecraft/world/item/EnderpearlItem.java +++ b/src/main/java/net/minecraft/world/item/EnderpearlItem.java -@@ -24,7 +24,7 @@ public class EnderpearlItem extends Item { +@@ -26,7 +26,7 @@ public class EnderpearlItem extends Item { if (world instanceof ServerLevel worldserver) { // CraftBukkit start // Paper start - PlayerLaunchProjectileEvent -- final Projectile.Delayed thrownEnderpearl = Projectile.spawnProjectileFromRotationDelayed(ThrownEnderpearl::new, worldserver, itemstack, user, 0.0F, 1.5F, 1.0F); -+ final Projectile.Delayed thrownEnderpearl = Projectile.spawnProjectileFromRotationDelayed(ThrownEnderpearl::new, worldserver, itemstack, user, 0.0F, 1.5F, (float) worldserver.purpurConfig.enderPearlProjectileOffset); // Purpur +- final Projectile.Delayed thrownEnderpearl = Projectile.spawnProjectileFromRotationDelayed(ThrownEnderpearl::new, worldserver, itemstack, user, 0.0F, EnderpearlItem.PROJECTILE_SHOOT_POWER, 1.0F); ++ final Projectile.Delayed thrownEnderpearl = Projectile.spawnProjectileFromRotationDelayed(ThrownEnderpearl::new, worldserver, itemstack, user, 0.0F, EnderpearlItem.PROJECTILE_SHOOT_POWER, (float) worldserver.purpurConfig.enderPearlProjectileOffset); // Purpur com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent event = new com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent((org.bukkit.entity.Player) user.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemstack), (org.bukkit.entity.Projectile) thrownEnderpearl.projectile().getBukkitEntity()); if (event.callEvent() && thrownEnderpearl.attemptSpawn()) { if (event.shouldConsume()) { diff --git a/src/main/java/net/minecraft/world/item/SnowballItem.java b/src/main/java/net/minecraft/world/item/SnowballItem.java -index 57872ebef6beb8cdc03c9f8f19de94652ee19062..60a064c26de0566aaf9f8be886402e291c03ca3b 100644 +index d3bba4665ae14cc279c0f937831f909f8831b12b..27499f01ef0bc89c4c3f60eb696ca07cc5984809 100644 --- a/src/main/java/net/minecraft/world/item/SnowballItem.java +++ b/src/main/java/net/minecraft/world/item/SnowballItem.java -@@ -27,7 +27,7 @@ public class SnowballItem extends Item implements ProjectileItem { +@@ -29,7 +29,7 @@ public class SnowballItem extends Item implements ProjectileItem { // world.playSound((EntityHuman) null, entityhuman.getX(), entityhuman.getY(), entityhuman.getZ(), SoundEffects.SNOWBALL_THROW, SoundCategory.NEUTRAL, 0.5F, 0.4F / (world.getRandom().nextFloat() * 0.4F + 0.8F)); if (world instanceof ServerLevel worldserver) { // Paper start - PlayerLaunchProjectileEvent -- final Projectile.Delayed snowball = Projectile.spawnProjectileFromRotationDelayed(Snowball::new, worldserver, itemstack, user, 0.0F, 1.5F, 1.0F); -+ final Projectile.Delayed snowball = Projectile.spawnProjectileFromRotationDelayed(Snowball::new, worldserver, itemstack, user, 0.0F, 1.5F, (float) worldserver.purpurConfig.snowballProjectileOffset); // Purpur +- final Projectile.Delayed snowball = Projectile.spawnProjectileFromRotationDelayed(Snowball::new, worldserver, itemstack, user, 0.0F, SnowballItem.PROJECTILE_SHOOT_POWER, 1.0F); ++ final Projectile.Delayed snowball = Projectile.spawnProjectileFromRotationDelayed(Snowball::new, worldserver, itemstack, user, 0.0F, SnowballItem.PROJECTILE_SHOOT_POWER, (float) worldserver.purpurConfig.snowballProjectileOffset); // Purpur com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent event = new com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent((org.bukkit.entity.Player) user.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemstack), (org.bukkit.entity.Projectile) snowball.projectile().getBukkitEntity()); if (event.callEvent() && snowball.attemptSpawn()) { user.awardStat(Stats.ITEM_USED.get(this)); diff --git a/src/main/java/net/minecraft/world/item/ThrowablePotionItem.java b/src/main/java/net/minecraft/world/item/ThrowablePotionItem.java -index fa9d2ae44fcdd06f8f33cd14ffca422b20a01451..ffbc71ca2a27800d7758e3db339bf06a39ef1f11 100644 +index e422881d1ab0f1a5bb2cb741d23089a2e35de2d4..bbd65d35d91d4f3ffabeb355b82f22ddde0f868b 100644 --- a/src/main/java/net/minecraft/world/item/ThrowablePotionItem.java +++ b/src/main/java/net/minecraft/world/item/ThrowablePotionItem.java -@@ -21,7 +21,7 @@ public class ThrowablePotionItem extends PotionItem implements ProjectileItem { +@@ -23,7 +23,7 @@ public class ThrowablePotionItem extends PotionItem implements ProjectileItem { ItemStack itemStack = user.getItemInHand(hand); if (world instanceof ServerLevel serverLevel) { // Paper start - PlayerLaunchProjectileEvent -- final Projectile.Delayed thrownPotion = Projectile.spawnProjectileFromRotationDelayed(ThrownPotion::new, serverLevel, itemStack, user, -20.0F, 0.5F, 1.0F); -+ final Projectile.Delayed thrownPotion = Projectile.spawnProjectileFromRotationDelayed(ThrownPotion::new, serverLevel, itemStack, user, -20.0F, 0.5F, (float) serverLevel.purpurConfig.throwablePotionProjectileOffset); // Purpur +- final Projectile.Delayed thrownPotion = Projectile.spawnProjectileFromRotationDelayed(ThrownPotion::new, serverLevel, itemStack, user, -20.0F, PROJECTILE_SHOOT_POWER, 1.0F); ++ final Projectile.Delayed thrownPotion = Projectile.spawnProjectileFromRotationDelayed(ThrownPotion::new, serverLevel, itemStack, user, -20.0F, PROJECTILE_SHOOT_POWER, (float) serverLevel.purpurConfig.throwablePotionProjectileOffset); // Purpur // Paper start - PlayerLaunchProjectileEvent com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent event = new com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent((org.bukkit.entity.Player) user.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemStack), (org.bukkit.entity.Projectile) thrownPotion.projectile().getBukkitEntity()); if (event.callEvent() && thrownPotion.attemptSpawn()) { diff --git a/src/main/java/net/minecraft/world/item/TridentItem.java b/src/main/java/net/minecraft/world/item/TridentItem.java -index 5133443911f932e8f6b5d3ca8baccecfd6f81c00..9134c4aada4e0cd7b51810a59405c07d433f7c78 100644 +index aff4f33be216f62d6c6e139dcd7fd82efdbd267c..810082126567eb02bec395065b95b3c3902d4973 100644 --- a/src/main/java/net/minecraft/world/item/TridentItem.java +++ b/src/main/java/net/minecraft/world/item/TridentItem.java -@@ -88,7 +88,7 @@ public class TridentItem extends Item implements ProjectileItem { +@@ -89,7 +89,7 @@ public class TridentItem extends Item implements ProjectileItem { // itemstack.hurtWithoutBreaking(1, entityhuman); // CraftBukkit - moved down if (f == 0.0F) { // Paper start - PlayerLaunchProjectileEvent diff --git a/patches/unapplied-server/0150-Config-for-powered-rail-activation-distance.patch b/patches/server/0150-Config-for-powered-rail-activation-distance.patch similarity index 100% rename from patches/unapplied-server/0150-Config-for-powered-rail-activation-distance.patch rename to patches/server/0150-Config-for-powered-rail-activation-distance.patch