From 733beab5f28d86938410a28531678a4a15000485 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Mon, 21 Jun 2021 12:46:48 -0500 Subject: [PATCH] getting closer --- .../0192-Projectile-offset-config.patch | 125 ------------------ ...for-powered-rail-activation-distance.patch | 35 ----- .../0194-Piglin-portal-spawn-modifier.patch | 52 -------- ...ble-damage-settings-for-magma-blocks.patch | 61 --------- .../0198-Add-credits-command.patch | 98 -------------- patches/server/0074-Add-credits-command.patch | 79 +++++++++++ ...=> 0075-Configurable-jockey-options.patch} | 0 ...d-to-crystals-and-crystals-shoot-ph.patch} | 0 ...> 0077-Add-phantom-spawning-options.patch} | 0 ...078-Implement-bed-explosion-options.patch} | 0 ...nt-respawn-anchor-explosion-options.patch} | 0 ...Add-allow-water-in-end-world-option.patch} | 4 +- ... => 0081-Allow-color-codes-in-books.patch} | 0 ...espan.patch => 0082-Entity-lifespan.patch} | 0 ...eport-to-spawn-if-outside-world-bor.patch} | 2 +- ...ty.patch => 0084-Squid-EAR-immunity.patch} | 0 ...=> 0085-Configurable-end-spike-seed.patch} | 4 +- ...h => 0086-Configurable-dungeon-seed.patch} | 4 +- ...atch => 0087-Phantoms-burn-in-light.patch} | 0 ...0088-Configurable-villager-breeding.patch} | 0 ... 0089-Redstone-deactivates-spawners.patch} | 0 ...ch => 0090-Totems-work-in-inventory.patch} | 0 ...-Add-vindicator-johnny-spawn-chance.patch} | 0 ...on-to-disable-certain-block-updates.patch} | 4 +- ...0093-Dispensers-place-anvils-option.patch} | 0 ...rs.patch => 0094-Allow-anvil-colors.patch} | 0 ... 0095-Add-no-random-tick-block-list.patch} | 0 ...-disable-dolphin-treasure-searching.patch} | 0 ...patch => 0097-Short-enderman-height.patch} | 4 +- ...top-squids-floating-on-top-of-water.patch} | 0 ...-height-for-nether-surface-builders.patch} | 0 ...ng-obsidian-valid-for-portal-frames.patch} | 6 +- ...ities-can-use-portals-configuration.patch} | 0 ...102-LivingEntity-broadcastItemBreak.patch} | 0 ...tomizable-wither-health-and-healing.patch} | 0 ...gling-special-MobSpawners-per-world.patch} | 2 +- ...patch => 0105-Raid-cooldown-setting.patch} | 0 ...-config-options-per-projectile-type.patch} | 0 ...able-zombie-aggressiveness-towards-.patch} | 0 ...ent-TileEntity-Lore-and-DisplayName.patch} | 0 ...-to-recipe-s-ExactChoice-ingredient.patch} | 0 ...y.patch => 0110-Flying-squids-Oh-my.patch} | 0 ...patch => 0111-Infinity-bow-settings.patch} | 0 ...ge.patch => 0112-Stonecutter-damage.patch} | 2 +- ...=> 0113-Configurable-daylight-cycle.patch} | 2 +- ...e-and-mending-enchantments-together.patch} | 4 +- ...patch => 0115-Infinite-fuel-furnace.patch} | 0 ...ws-should-not-reset-despawn-counter.patch} | 0 ...e-add-farmland-mechanics-from-Alpha.patch} | 0 ...ustable-breeding-cooldown-to-config.patch} | 2 +- ...-entity-breeding-times-configurable.patch} | 0 ...es-from-item-forms-of-entities-to-e.patch} | 0 ...when-using-a-Name-Tag-on-an-Armor-S.patch} | 2 +- ...ting-and-weeping-vines-growth-rates.patch} | 0 ...twisting-vines-configurable-max-gro.patch} | 0 ...lowing-Endermen-to-despawn-even-whi.patch} | 0 ...check-to-EntityDamagedByEntityEvent.patch} | 0 ...26-Add-configurable-snowball-damage.patch} | 0 ...reak-door-minimum-difficulty-option.patch} | 0 ...d-API.patch => 0128-Left-handed-API.patch} | 0 ...9-Changeable-Mob-Left-Handed-Chance.patch} | 0 ...=> 0130-Add-boat-fall-damage-config.patch} | 2 +- ...0131-Snow-Golem-rate-of-fire-config.patch} | 0 ...-option-for-Piglins-guarding-chests.patch} | 0 ...-Configurable-disable-give-dropping.patch} | 4 +- ... => 0134-Lobotomize-stuck-villagers.patch} | 0 ...illager-Clerics-to-farm-Nether-Wart.patch} | 0 ...ied-Piglin-death-always-counting-as.patch} | 0 ...timise-player-list-ticksSpread-out-.patch} | 0 ...le-chance-for-wolves-to-spawn-rabid.patch} | 0 ...figurable-default-wolf-collar-color.patch} | 0 ...tch => 0140-Phantom-flames-on-swoop.patch} | 0 ...-to-open-even-with-a-solid-block-on.patch} | 0 ...SBar.patch => 0142-Implement-TPSBar.patch} | 6 +- ...h => 0143-Striders-give-saddle-back.patch} | 0 ...tch => 0144-PlayerBookTooLargeEvent.patch} | 2 +- ...herite-armor-grants-fire-resistance.patch} | 2 +- ...146-Fix-rotating-UP-DOWN-CW-and-CCW.patch} | 0 ...ack.patch => 0147-Add-MC-4-fix-back.patch} | 0 ...efing-bypass-to-everything-affected.patch} | 0 ...llow-Note-Block-sounds-when-blocked.patch} | 0 ...150-Add-EntityTeleportHinderedEvent.patch} | 0 ... => 0151-Add-StructureGenerateEvent.patch} | 0 ... => 0152-Farmland-trampling-changes.patch} | 0 ...3-Movement-options-for-armor-stands.patch} | 4 +- ....patch => 0154-Fix-stuck-in-portals.patch} | 0 ...ggle-for-water-sensitive-mob-damage.patch} | 0 ...6-Config-to-always-tame-in-Creative.patch} | 0 ... 0157-End-crystal-explosion-options.patch} | 0 ...Add-unsafe-Entity-serialization-API.patch} | 0 ...ther-Ender-Dragon-can-ride-vehicles.patch} | 0 ...atch => 0160-Dont-run-with-scissors.patch} | 2 +- ...nch-Man.patch => 0161-One-Punch-Man.patch} | 0 ...162-Add-config-for-snow-on-blue-ice.patch} | 0 ...r-Pearl-cooldown-damage-and-Endermi.patch} | 0 ...to-ignore-nearby-mobs-when-sleeping.patch} | 0 ...nderman-to-aggro-spawned-Endermites.patch} | 0 ...Dragon-Head-wearers-and-stare-aggro.patch} | 0 ...ig.patch => 0167-Tick-fluids-config.patch} | 0 ...68-Config-to-disable-Llama-caravans.patch} | 0 ...g-to-make-Creepers-explode-on-death.patch} | 0 ...rable-ravager-griefable-blocks-list.patch} | 0 ...171-Sneak-to-bulk-process-composter.patch} | 0 ...h => 0172-Config-for-skipping-night.patch} | 0 ...173-Add-config-for-villager-trading.patch} | 0 ...=> 0174-Allow-infinity-on-crossbows.patch} | 6 +- ...ngs.patch => 0175-Drowning-Settings.patch} | 0 ...reak-individual-slabs-when-sneaking.patch} | 0 ...to-disable-hostile-mob-spawn-on-ice.patch} | 0 ...g-to-show-Armor-Stand-arms-on-spawn.patch} | 0 ...tion-to-make-doors-require-redstone.patch} | 0 ...Config-to-allow-for-unsafe-enchants.patch} | 6 +- ...0181-Configurable-sponge-absorption.patch} | 26 ++-- .../0182-Projectile-offset-config.patch | 125 ++++++++++++++++++ ...for-powered-rail-activation-distance.patch | 35 +++++ .../0184-Piglin-portal-spawn-modifier.patch | 32 +++++ ...Config-to-change-max-number-of-bees.patch} | 28 ++-- ...ble-damage-settings-for-magma-blocks.patch | 50 +++++++ ...-Config-for-wither-explosion-radius.patch} | 28 ++-- 119 files changed, 400 insertions(+), 450 deletions(-) delete mode 100644 patches/server-unmapped/0192-Projectile-offset-config.patch delete mode 100644 patches/server-unmapped/0193-Config-for-powered-rail-activation-distance.patch delete mode 100644 patches/server-unmapped/0194-Piglin-portal-spawn-modifier.patch delete mode 100644 patches/server-unmapped/0196-Configurable-damage-settings-for-magma-blocks.patch delete mode 100644 patches/server-unmapped/0198-Add-credits-command.patch create mode 100644 patches/server/0074-Add-credits-command.patch rename patches/server/{0074-Configurable-jockey-options.patch => 0075-Configurable-jockey-options.patch} (100%) rename patches/server/{0075-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch => 0076-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch} (100%) rename patches/server/{0076-Add-phantom-spawning-options.patch => 0077-Add-phantom-spawning-options.patch} (100%) rename patches/server/{0077-Implement-bed-explosion-options.patch => 0078-Implement-bed-explosion-options.patch} (100%) rename patches/server/{0078-Implement-respawn-anchor-explosion-options.patch => 0079-Implement-respawn-anchor-explosion-options.patch} (100%) rename patches/server/{0079-Add-allow-water-in-end-world-option.patch => 0080-Add-allow-water-in-end-world-option.patch} (97%) rename patches/server/{0080-Allow-color-codes-in-books.patch => 0081-Allow-color-codes-in-books.patch} (100%) rename patches/server/{0081-Entity-lifespan.patch => 0082-Entity-lifespan.patch} (100%) rename patches/server/{0082-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch => 0083-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch} (97%) rename patches/server/{0083-Squid-EAR-immunity.patch => 0084-Squid-EAR-immunity.patch} (100%) rename patches/server/{0084-Configurable-end-spike-seed.patch => 0085-Configurable-end-spike-seed.patch} (94%) rename patches/server/{0085-Configurable-dungeon-seed.patch => 0086-Configurable-dungeon-seed.patch} (95%) rename patches/server/{0086-Phantoms-burn-in-light.patch => 0087-Phantoms-burn-in-light.patch} (100%) rename patches/server/{0087-Configurable-villager-breeding.patch => 0088-Configurable-villager-breeding.patch} (100%) rename patches/server/{0088-Redstone-deactivates-spawners.patch => 0089-Redstone-deactivates-spawners.patch} (100%) rename patches/server/{0089-Totems-work-in-inventory.patch => 0090-Totems-work-in-inventory.patch} (100%) rename patches/server/{0090-Add-vindicator-johnny-spawn-chance.patch => 0091-Add-vindicator-johnny-spawn-chance.patch} (100%) rename patches/server/{0091-Add-option-to-disable-certain-block-updates.patch => 0092-Add-option-to-disable-certain-block-updates.patch} (98%) rename patches/server/{0092-Dispensers-place-anvils-option.patch => 0093-Dispensers-place-anvils-option.patch} (100%) rename patches/server/{0093-Allow-anvil-colors.patch => 0094-Allow-anvil-colors.patch} (100%) rename patches/server/{0094-Add-no-random-tick-block-list.patch => 0095-Add-no-random-tick-block-list.patch} (100%) rename patches/server/{0095-Add-option-to-disable-dolphin-treasure-searching.patch => 0096-Add-option-to-disable-dolphin-treasure-searching.patch} (100%) rename patches/server/{0096-Short-enderman-height.patch => 0097-Short-enderman-height.patch} (96%) rename patches/server/{0097-Stop-squids-floating-on-top-of-water.patch => 0098-Stop-squids-floating-on-top-of-water.patch} (100%) rename patches/server/{0098-Use-configured-height-for-nether-surface-builders.patch => 0099-Use-configured-height-for-nether-surface-builders.patch} (100%) rename patches/server/{0099-Crying-obsidian-valid-for-portal-frames.patch => 0100-Crying-obsidian-valid-for-portal-frames.patch} (92%) rename patches/server/{0100-Entities-can-use-portals-configuration.patch => 0101-Entities-can-use-portals-configuration.patch} (100%) rename patches/server/{0101-LivingEntity-broadcastItemBreak.patch => 0102-LivingEntity-broadcastItemBreak.patch} (100%) rename patches/server/{0102-Customizable-wither-health-and-healing.patch => 0103-Customizable-wither-health-and-healing.patch} (100%) rename patches/server/{0103-Allow-toggling-special-MobSpawners-per-world.patch => 0104-Allow-toggling-special-MobSpawners-per-world.patch} (99%) rename patches/server/{0104-Raid-cooldown-setting.patch => 0105-Raid-cooldown-setting.patch} (100%) rename patches/server/{0105-Despawn-rate-config-options-per-projectile-type.patch => 0106-Despawn-rate-config-options-per-projectile-type.patch} (100%) rename patches/server/{0106-Add-option-to-disable-zombie-aggressiveness-towards-.patch => 0107-Add-option-to-disable-zombie-aggressiveness-towards-.patch} (100%) rename patches/server/{0107-Persistent-TileEntity-Lore-and-DisplayName.patch => 0108-Persistent-TileEntity-Lore-and-DisplayName.patch} (100%) rename patches/server/{0108-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch => 0109-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch} (100%) rename patches/server/{0109-Flying-squids-Oh-my.patch => 0110-Flying-squids-Oh-my.patch} (100%) rename patches/server/{0110-Infinity-bow-settings.patch => 0111-Infinity-bow-settings.patch} (100%) rename patches/server/{0111-Stonecutter-damage.patch => 0112-Stonecutter-damage.patch} (97%) rename patches/server/{0112-Configurable-daylight-cycle.patch => 0113-Configurable-daylight-cycle.patch} (98%) rename patches/server/{0113-Allow-infinite-and-mending-enchantments-together.patch => 0114-Allow-infinite-and-mending-enchantments-together.patch} (93%) rename patches/server/{0114-Infinite-fuel-furnace.patch => 0115-Infinite-fuel-furnace.patch} (100%) rename patches/server/{0115-Arrows-should-not-reset-despawn-counter.patch => 0116-Arrows-should-not-reset-despawn-counter.patch} (100%) rename patches/server/{0116-Ability-to-re-add-farmland-mechanics-from-Alpha.patch => 0117-Ability-to-re-add-farmland-mechanics-from-Alpha.patch} (100%) rename patches/server/{0117-Add-adjustable-breeding-cooldown-to-config.patch => 0118-Add-adjustable-breeding-cooldown-to-config.patch} (98%) rename patches/server/{0118-Make-entity-breeding-times-configurable.patch => 0119-Make-entity-breeding-times-configurable.patch} (100%) rename patches/server/{0119-Apply-display-names-from-item-forms-of-entities-to-e.patch => 0120-Apply-display-names-from-item-forms-of-entities-to-e.patch} (100%) rename patches/server/{0120-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch => 0121-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch} (95%) rename patches/server/{0121-Add-twisting-and-weeping-vines-growth-rates.patch => 0122-Add-twisting-and-weeping-vines-growth-rates.patch} (100%) rename patches/server/{0122-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch => 0123-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch} (100%) rename patches/server/{0123-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch => 0124-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch} (100%) rename patches/server/{0124-Add-critical-hit-check-to-EntityDamagedByEntityEvent.patch => 0125-Add-critical-hit-check-to-EntityDamagedByEntityEvent.patch} (100%) rename patches/server/{0125-Add-configurable-snowball-damage.patch => 0126-Add-configurable-snowball-damage.patch} (100%) rename patches/server/{0126-Zombie-break-door-minimum-difficulty-option.patch => 0127-Zombie-break-door-minimum-difficulty-option.patch} (100%) rename patches/server/{0127-Left-handed-API.patch => 0128-Left-handed-API.patch} (100%) rename patches/server/{0128-Changeable-Mob-Left-Handed-Chance.patch => 0129-Changeable-Mob-Left-Handed-Chance.patch} (100%) rename patches/server/{0129-Add-boat-fall-damage-config.patch => 0130-Add-boat-fall-damage-config.patch} (97%) rename patches/server/{0130-Snow-Golem-rate-of-fire-config.patch => 0131-Snow-Golem-rate-of-fire-config.patch} (100%) rename patches/server/{0131-PaperPR-Config-option-for-Piglins-guarding-chests.patch => 0132-PaperPR-Config-option-for-Piglins-guarding-chests.patch} (100%) rename patches/server/{0132-EMC-Configurable-disable-give-dropping.patch => 0133-EMC-Configurable-disable-give-dropping.patch} (93%) rename patches/server/{0133-Lobotomize-stuck-villagers.patch => 0134-Lobotomize-stuck-villagers.patch} (100%) rename patches/server/{0134-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch => 0135-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch} (100%) rename patches/server/{0135-Toggle-for-Zombified-Piglin-death-always-counting-as.patch => 0136-Toggle-for-Zombified-Piglin-death-always-counting-as.patch} (100%) rename patches/server/{0136-Spread-out-and-optimise-player-list-ticksSpread-out-.patch => 0137-Spread-out-and-optimise-player-list-ticksSpread-out-.patch} (100%) rename patches/server/{0137-Configurable-chance-for-wolves-to-spawn-rabid.patch => 0138-Configurable-chance-for-wolves-to-spawn-rabid.patch} (100%) rename patches/server/{0138-Configurable-default-wolf-collar-color.patch => 0139-Configurable-default-wolf-collar-color.patch} (100%) rename patches/server/{0139-Phantom-flames-on-swoop.patch => 0140-Phantom-flames-on-swoop.patch} (100%) rename patches/server/{0140-Option-for-chests-to-open-even-with-a-solid-block-on.patch => 0141-Option-for-chests-to-open-even-with-a-solid-block-on.patch} (100%) rename patches/server/{0141-Implement-TPSBar.patch => 0142-Implement-TPSBar.patch} (97%) rename patches/server/{0142-Striders-give-saddle-back.patch => 0143-Striders-give-saddle-back.patch} (100%) rename patches/server/{0143-PlayerBookTooLargeEvent.patch => 0144-PlayerBookTooLargeEvent.patch} (96%) rename patches/server/{0144-Full-netherite-armor-grants-fire-resistance.patch => 0145-Full-netherite-armor-grants-fire-resistance.patch} (97%) rename patches/server/{0145-Fix-rotating-UP-DOWN-CW-and-CCW.patch => 0146-Fix-rotating-UP-DOWN-CW-and-CCW.patch} (100%) rename patches/server/{0146-Add-MC-4-fix-back.patch => 0147-Add-MC-4-fix-back.patch} (100%) rename patches/server/{0147-Add-mobGriefing-bypass-to-everything-affected.patch => 0148-Add-mobGriefing-bypass-to-everything-affected.patch} (100%) rename patches/server/{0148-Config-to-allow-Note-Block-sounds-when-blocked.patch => 0149-Config-to-allow-Note-Block-sounds-when-blocked.patch} (100%) rename patches/server/{0149-Add-EntityTeleportHinderedEvent.patch => 0150-Add-EntityTeleportHinderedEvent.patch} (100%) rename patches/server/{0150-Add-StructureGenerateEvent.patch => 0151-Add-StructureGenerateEvent.patch} (100%) rename patches/server/{0151-Farmland-trampling-changes.patch => 0152-Farmland-trampling-changes.patch} (100%) rename patches/server/{0152-Movement-options-for-armor-stands.patch => 0153-Movement-options-for-armor-stands.patch} (96%) rename patches/server/{0153-Fix-stuck-in-portals.patch => 0154-Fix-stuck-in-portals.patch} (100%) rename patches/server/{0154-Toggle-for-water-sensitive-mob-damage.patch => 0155-Toggle-for-water-sensitive-mob-damage.patch} (100%) rename patches/server/{0155-Config-to-always-tame-in-Creative.patch => 0156-Config-to-always-tame-in-Creative.patch} (100%) rename patches/server/{0156-End-crystal-explosion-options.patch => 0157-End-crystal-explosion-options.patch} (100%) rename patches/server/{0157-Add-unsafe-Entity-serialization-API.patch => 0158-Add-unsafe-Entity-serialization-API.patch} (100%) rename patches/server/{0158-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch => 0159-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch} (100%) rename patches/server/{0159-Dont-run-with-scissors.patch => 0160-Dont-run-with-scissors.patch} (96%) rename patches/server/{0160-One-Punch-Man.patch => 0161-One-Punch-Man.patch} (100%) rename patches/server/{0161-Add-config-for-snow-on-blue-ice.patch => 0162-Add-config-for-snow-on-blue-ice.patch} (100%) rename patches/server/{0162-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch => 0163-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch} (100%) rename patches/server/{0163-Config-to-ignore-nearby-mobs-when-sleeping.patch => 0164-Config-to-ignore-nearby-mobs-when-sleeping.patch} (100%) rename patches/server/{0164-Config-for-Enderman-to-aggro-spawned-Endermites.patch => 0165-Config-for-Enderman-to-aggro-spawned-Endermites.patch} (100%) rename patches/server/{0165-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch => 0166-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch} (100%) rename patches/server/{0166-Tick-fluids-config.patch => 0167-Tick-fluids-config.patch} (100%) rename patches/server/{0167-Config-to-disable-Llama-caravans.patch => 0168-Config-to-disable-Llama-caravans.patch} (100%) rename patches/server/{0168-Config-to-make-Creepers-explode-on-death.patch => 0169-Config-to-make-Creepers-explode-on-death.patch} (100%) rename patches/server/{0169-Configurable-ravager-griefable-blocks-list.patch => 0170-Configurable-ravager-griefable-blocks-list.patch} (100%) rename patches/server/{0170-Sneak-to-bulk-process-composter.patch => 0171-Sneak-to-bulk-process-composter.patch} (100%) rename patches/server/{0171-Config-for-skipping-night.patch => 0172-Config-for-skipping-night.patch} (100%) rename patches/server/{0172-Add-config-for-villager-trading.patch => 0173-Add-config-for-villager-trading.patch} (100%) rename patches/server/{0173-Allow-infinity-on-crossbows.patch => 0174-Allow-infinity-on-crossbows.patch} (96%) rename patches/server/{0174-Drowning-Settings.patch => 0175-Drowning-Settings.patch} (100%) rename patches/server/{0175-Break-individual-slabs-when-sneaking.patch => 0176-Break-individual-slabs-when-sneaking.patch} (100%) rename patches/server/{0176-Config-to-disable-hostile-mob-spawn-on-ice.patch => 0177-Config-to-disable-hostile-mob-spawn-on-ice.patch} (100%) rename patches/server/{0177-Config-to-show-Armor-Stand-arms-on-spawn.patch => 0178-Config-to-show-Armor-Stand-arms-on-spawn.patch} (100%) rename patches/server/{0178-Option-to-make-doors-require-redstone.patch => 0179-Option-to-make-doors-require-redstone.patch} (100%) rename patches/server/{0179-Config-to-allow-for-unsafe-enchants.patch => 0180-Config-to-allow-for-unsafe-enchants.patch} (95%) rename patches/{server-unmapped/0191-Configurable-sponge-absorption.patch => server/0181-Configurable-sponge-absorption.patch} (68%) create mode 100644 patches/server/0182-Projectile-offset-config.patch create mode 100644 patches/server/0183-Config-for-powered-rail-activation-distance.patch create mode 100644 patches/server/0184-Piglin-portal-spawn-modifier.patch rename patches/{server-unmapped/0195-Config-to-change-max-number-of-bees.patch => server/0185-Config-to-change-max-number-of-bees.patch} (60%) create mode 100644 patches/server/0186-Configurable-damage-settings-for-magma-blocks.patch rename patches/{server-unmapped/0197-Config-for-wither-explosion-radius.patch => server/0187-Config-for-wither-explosion-radius.patch} (56%) diff --git a/patches/server-unmapped/0192-Projectile-offset-config.patch b/patches/server-unmapped/0192-Projectile-offset-config.patch deleted file mode 100644 index 3ffdffca3..000000000 --- a/patches/server-unmapped/0192-Projectile-offset-config.patch +++ /dev/null @@ -1,125 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: YouHaveTrouble -Date: Thu, 25 Mar 2021 01:56:38 +0100 -Subject: [PATCH] Projectile offset config - - -diff --git a/src/main/java/net/minecraft/world/item/ItemBow.java b/src/main/java/net/minecraft/world/item/ItemBow.java -index 59b803ec4552058f2dda269e9435daf65be10559..6bf8c0f03acd55f0ea5919609f55e2e6736455c5 100644 ---- a/src/main/java/net/minecraft/world/item/ItemBow.java -+++ b/src/main/java/net/minecraft/world/item/ItemBow.java -@@ -41,7 +41,7 @@ public class ItemBow extends ItemProjectileWeapon implements ItemVanishable { - ItemArrow itemarrow = (ItemArrow) ((ItemArrow) (itemstack1.getItem() instanceof ItemArrow ? itemstack1.getItem() : Items.ARROW)); - EntityArrow entityarrow = itemarrow.a(world, itemstack1, (EntityLiving) entityhuman); - -- entityarrow.a(entityhuman, entityhuman.pitch, entityhuman.yaw, 0.0F, f * 3.0F, 1.0F); -+ entityarrow.a(entityhuman, entityhuman.pitch, entityhuman.yaw, 0.0F, f * 3.0F, (float) world.purpurConfig.bowProjectileOffset); // Purpur - Projectile offset config - if (f == 1.0F) { - entityarrow.setCritical(true); - } -diff --git a/src/main/java/net/minecraft/world/item/ItemCrossbow.java b/src/main/java/net/minecraft/world/item/ItemCrossbow.java -index 9cf76f8297c2a44c1df8ce2c4f0813802883a18b..55815737879ce2c736304754f5131961cdcaaebf 100644 ---- a/src/main/java/net/minecraft/world/item/ItemCrossbow.java -+++ b/src/main/java/net/minecraft/world/item/ItemCrossbow.java -@@ -54,7 +54,7 @@ public class ItemCrossbow extends ItemProjectileWeapon implements ItemVanishable - ItemStack itemstack = entityhuman.b(enumhand); - - if (d(itemstack)) { -- a(world, entityhuman, enumhand, itemstack, m(itemstack), 1.0F); -+ a(world, entityhuman, enumhand, itemstack, m(itemstack), (float) world.purpurConfig.crossbowProjectileOffset); // Purpur - Projectile offset config - a(itemstack, false); - return InteractionResultWrapper.consume(itemstack); - } else if (!entityhuman.f(itemstack).isEmpty()) { -diff --git a/src/main/java/net/minecraft/world/item/ItemEgg.java b/src/main/java/net/minecraft/world/item/ItemEgg.java -index 4b1a6ee784da4595931396a905f1358b7a13f3dd..83c85ad70bbe70f1f3f70b83c842a3eb94d520c6 100644 ---- a/src/main/java/net/minecraft/world/item/ItemEgg.java -+++ b/src/main/java/net/minecraft/world/item/ItemEgg.java -@@ -24,7 +24,7 @@ public class ItemEgg extends Item { - EntityEgg entityegg = new EntityEgg(world, entityhuman); - - entityegg.setItem(itemstack); -- entityegg.a(entityhuman, entityhuman.pitch, entityhuman.yaw, 0.0F, 1.5F, 1.0F); -+ entityegg.a(entityhuman, entityhuman.pitch, entityhuman.yaw, 0.0F, 1.5F, (float) world.purpurConfig.eggProjectileOffset); // Purpur - Projectile offset config - // Paper start - com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent event = new com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent((org.bukkit.entity.Player) entityhuman.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemstack), (org.bukkit.entity.Projectile) entityegg.getBukkitEntity()); - if (event.callEvent() && world.addEntity(entityegg)) { -diff --git a/src/main/java/net/minecraft/world/item/ItemEnderPearl.java b/src/main/java/net/minecraft/world/item/ItemEnderPearl.java -index 61512c6755f29cb2c228ae3e80b1e08348d784a5..79367f574d6ad9a45a4a8e9ae040aec4103fac37 100644 ---- a/src/main/java/net/minecraft/world/item/ItemEnderPearl.java -+++ b/src/main/java/net/minecraft/world/item/ItemEnderPearl.java -@@ -24,7 +24,7 @@ public class ItemEnderPearl extends Item { - EntityEnderPearl entityenderpearl = new EntityEnderPearl(world, entityhuman); - - entityenderpearl.setItem(itemstack); -- entityenderpearl.a(entityhuman, entityhuman.pitch, entityhuman.yaw, 0.0F, 1.5F, 1.0F); -+ entityenderpearl.a(entityhuman, entityhuman.pitch, entityhuman.yaw, 0.0F, 1.5F, (float) world.purpurConfig.enderPearlProjectileOffset); // Purpur - Projectile offset config - // Paper start - com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent event = new com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent((org.bukkit.entity.Player) entityhuman.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemstack), (org.bukkit.entity.Projectile) entityenderpearl.getBukkitEntity()); - if (event.callEvent() && world.addEntity(entityenderpearl)) { -diff --git a/src/main/java/net/minecraft/world/item/ItemPotionThrowable.java b/src/main/java/net/minecraft/world/item/ItemPotionThrowable.java -index 27c61fc4e61b0d76565ca6893514b3c73247c954..394916baaf0e572d14c54acc68bc45ab04b789e3 100644 ---- a/src/main/java/net/minecraft/world/item/ItemPotionThrowable.java -+++ b/src/main/java/net/minecraft/world/item/ItemPotionThrowable.java -@@ -23,7 +23,7 @@ public class ItemPotionThrowable extends ItemPotion { - EntityPotion entitypotion = new EntityPotion(world, entityhuman); - - entitypotion.setItem(itemstack); -- entitypotion.a(entityhuman, entityhuman.pitch, entityhuman.yaw, -20.0F, 0.5F, 1.0F); -+ entitypotion.a(entityhuman, entityhuman.pitch, entityhuman.yaw, -20.0F, 0.5F, (float) world.purpurConfig.throwablePotionProjectileOffset); // Purpur - Projectile offset config - // Paper start - com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent event = new com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent((org.bukkit.entity.Player) entityhuman.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemstack), (org.bukkit.entity.Projectile) entitypotion.getBukkitEntity()); - if (event.callEvent() && world.addEntity(entitypotion)) { -diff --git a/src/main/java/net/minecraft/world/item/ItemSnowball.java b/src/main/java/net/minecraft/world/item/ItemSnowball.java -index 8a1d59cb1ea5a8959c52272aa762ec35307246d7..fcca6eee05f1d6bcc2909c376bfba7b74c33c421 100644 ---- a/src/main/java/net/minecraft/world/item/ItemSnowball.java -+++ b/src/main/java/net/minecraft/world/item/ItemSnowball.java -@@ -25,7 +25,7 @@ public class ItemSnowball extends Item { - EntitySnowball entitysnowball = new EntitySnowball(world, entityhuman); - - entitysnowball.setItem(itemstack); -- entitysnowball.a(entityhuman, entityhuman.pitch, entityhuman.yaw, 0.0F, 1.5F, 1.0F); -+ entitysnowball.a(entityhuman, entityhuman.pitch, entityhuman.yaw, 0.0F, 1.5F, (float) world.purpurConfig.snowballProjectileOffset); // Purpur - Projectile offset config - // Paper start - com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent event = new com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent((org.bukkit.entity.Player) entityhuman.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemstack), (org.bukkit.entity.Projectile) entitysnowball.getBukkitEntity()); - if (event.callEvent() && world.addEntity(entitysnowball)) { -diff --git a/src/main/java/net/minecraft/world/item/ItemTrident.java b/src/main/java/net/minecraft/world/item/ItemTrident.java -index 0711d195c654edef5875f587e391bacfdea096da..2341c98859faa61662d7ed343e6ed1575fa2281e 100644 ---- a/src/main/java/net/minecraft/world/item/ItemTrident.java -+++ b/src/main/java/net/minecraft/world/item/ItemTrident.java -@@ -74,7 +74,7 @@ public class ItemTrident extends Item implements ItemVanishable { - if (k == 0) { - EntityThrownTrident entitythrowntrident = new EntityThrownTrident(world, entityhuman, itemstack); - -- entitythrowntrident.a(entityhuman, entityhuman.pitch, entityhuman.yaw, 0.0F, 2.5F + (float) k * 0.5F, 1.0F); -+ entitythrowntrident.a(entityhuman, entityhuman.pitch, entityhuman.yaw, 0.0F, 2.5F + (float) k * 0.5F, (float) world.purpurConfig.tridentProjectileOffset); // Purpur - Projectile offset config - if (entityhuman.abilities.canInstantlyBuild) { - entitythrowntrident.fromPlayer = EntityArrow.PickupStatus.CREATIVE_ONLY; - } -diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 8be800300b6cbbd17ede87f279ebb04e9c9123fc..ad2e2ae106295a8ce84b404998de535724fd9427 100644 ---- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -317,6 +317,23 @@ public class PurpurWorldConfig { - snowballDamage = getInt("gameplay-mechanics.projectile-damage.snowball", snowballDamage); - } - -+ public double bowProjectileOffset = 1.0D; -+ public double crossbowProjectileOffset = 1.0D; -+ public double eggProjectileOffset = 1.0D; -+ public double enderPearlProjectileOffset = 1.0D; -+ public double throwablePotionProjectileOffset = 1.0D; -+ public double tridentProjectileOffset = 1.0D; -+ public double snowballProjectileOffset = 1.0D; -+ private void projectileOffsetSettings() { -+ bowProjectileOffset = getDouble("gameplay-mechanics.projectile-offset.bow", bowProjectileOffset); -+ crossbowProjectileOffset = getDouble("gameplay-mechanics.projectile-offset.crossbow", crossbowProjectileOffset); -+ eggProjectileOffset = getDouble("gameplay-mechanics.projectile-offset.egg", eggProjectileOffset); -+ enderPearlProjectileOffset = getDouble("gameplay-mechanics.projectile-offset.ender-pearl", enderPearlProjectileOffset); -+ throwablePotionProjectileOffset = getDouble("gameplay-mechanics.projectile-offset.throwable-potion", throwablePotionProjectileOffset); -+ tridentProjectileOffset = getDouble("gameplay-mechanics.projectile-offset.trident", tridentProjectileOffset); -+ snowballProjectileOffset = getDouble("gameplay-mechanics.projectile-offset.snowball", snowballProjectileOffset); -+ } -+ - public boolean useBetterMending = false; - public boolean alwaysTameInCreative = false; - public boolean boatEjectPlayersOnLand = false; diff --git a/patches/server-unmapped/0193-Config-for-powered-rail-activation-distance.patch b/patches/server-unmapped/0193-Config-for-powered-rail-activation-distance.patch deleted file mode 100644 index a045e1947..000000000 --- a/patches/server-unmapped/0193-Config-for-powered-rail-activation-distance.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Encode42 -Date: Thu, 25 Mar 2021 18:10:03 -0400 -Subject: [PATCH] Config for powered rail activation distance - - -diff --git a/src/main/java/net/minecraft/world/level/block/BlockPoweredRail.java b/src/main/java/net/minecraft/world/level/block/BlockPoweredRail.java -index b26e168fbf49bbe7ec981b5b186c94ca67827f4a..bc91c96a29dcc60c578b342055b8eaf3e620a81d 100644 ---- a/src/main/java/net/minecraft/world/level/block/BlockPoweredRail.java -+++ b/src/main/java/net/minecraft/world/level/block/BlockPoweredRail.java -@@ -24,7 +24,7 @@ public class BlockPoweredRail extends BlockMinecartTrackAbstract { - } - - protected boolean a(World world, BlockPosition blockposition, IBlockData iblockdata, boolean flag, int i) { -- if (i >= 8) { -+ if (i >= world.purpurConfig.railActivationRange) { // Purpur - return false; - } else { - int j = blockposition.getX(); -diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index ad2e2ae106295a8ce84b404998de535724fd9427..37835f19ce917b36cb56e0d0d58d9be349919cab 100644 ---- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -585,6 +585,11 @@ public class PurpurWorldConfig { - lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether); - } - -+ public int railActivationRange = 8; -+ private void railSettings() { -+ railActivationRange = getInt("blocks.powered-rail.activation-range", railActivationRange); -+ } -+ - public boolean respawnAnchorExplode = true; - public double respawnAnchorExplosionPower = 5.0D; - public boolean respawnAnchorExplosionFire = true; diff --git a/patches/server-unmapped/0194-Piglin-portal-spawn-modifier.patch b/patches/server-unmapped/0194-Piglin-portal-spawn-modifier.patch deleted file mode 100644 index 85d90ba21..000000000 --- a/patches/server-unmapped/0194-Piglin-portal-spawn-modifier.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: William Blake Galbreath -Date: Tue, 13 Apr 2021 11:19:35 -0500 -Subject: [PATCH] Piglin portal spawn modifier - -Allows changing the modifier for the piglin spawn chance from a portal block -based on the world difficulty. - -For example, with the default vanilla value of 2000 there is a 2 out of 2000 chance -for a piglin to spawn in a portal block each tick in normal mode. - -Equation: random.nextInt(modifier) < difficulty - -Difficulties: -0 - peaceful -1 - easy -2 - normal -3 - hard - -diff --git a/src/main/java/net/minecraft/world/level/block/BlockPortal.java b/src/main/java/net/minecraft/world/level/block/BlockPortal.java -index 41733979141ed62523e9058a3f4c4ea753bfbc64..757e3b56221eca5449ded2d94b93cffe10f3c5d9 100644 ---- a/src/main/java/net/minecraft/world/level/block/BlockPortal.java -+++ b/src/main/java/net/minecraft/world/level/block/BlockPortal.java -@@ -52,7 +52,7 @@ public class BlockPortal extends Block { - - @Override - public void tick(IBlockData iblockdata, WorldServer worldserver, BlockPosition blockposition, Random random) { -- if (worldserver.spigotConfig.enableZombiePigmenPortalSpawns && worldserver.getDimensionManager().isNatural() && worldserver.getGameRules().getBoolean(GameRules.DO_MOB_SPAWNING) && random.nextInt(2000) < worldserver.getDifficulty().a()) { // Spigot -+ if (worldserver.spigotConfig.enableZombiePigmenPortalSpawns && worldserver.getDimensionManager().isNatural() && worldserver.getGameRules().getBoolean(GameRules.DO_MOB_SPAWNING) && random.nextInt(worldserver.purpurConfig.piglinPortalSpawnModifier) < worldserver.getDifficulty().a()) { // Spigot - while (worldserver.getType(blockposition).a((Block) this)) { - blockposition = blockposition.down(); - } -diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 37835f19ce917b36cb56e0d0d58d9be349919cab..78e4ef0103e1c9f96ec160e74b870902eda5e842 100644 ---- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1419,6 +1419,7 @@ public class PurpurWorldConfig { - public boolean piglinRidable = false; - public boolean piglinRidableInWater = false; - public double piglinMaxHealth = 16.0D; -+ public int piglinPortalSpawnModifier = 2000; - private void piglinSettings() { - piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); - piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -1428,6 +1429,7 @@ public class PurpurWorldConfig { - set("mobs.piglin.attributes.max_health", oldValue); - } - piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth); -+ piglinPortalSpawnModifier = getInt("mobs.piglin.portal-spawn-modifier", piglinPortalSpawnModifier); - } - - public boolean piglinBruteRidable = false; diff --git a/patches/server-unmapped/0196-Configurable-damage-settings-for-magma-blocks.patch b/patches/server-unmapped/0196-Configurable-damage-settings-for-magma-blocks.patch deleted file mode 100644 index 3bfe07040..000000000 --- a/patches/server-unmapped/0196-Configurable-damage-settings-for-magma-blocks.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Ben Kerllenevich -Date: Thu, 29 Apr 2021 14:06:29 -0400 -Subject: [PATCH] Configurable damage settings for magma blocks - - -diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 72d5e5f728645898675b86654ec92df923cf457e..cccab56c26db13d36da61232bbe9733b1c4ae2e3 100644 ---- a/src/main/java/net/minecraft/world/entity/Entity.java -+++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -802,7 +802,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne - } - // CraftBukkit end - -- if (this.onGround && (!this.bv() || (block == Blocks.STONECUTTER && world.purpurConfig.stonecutterDamage > 0.0F))) { // Purpur -+ if (this.onGround && (!this.bv() || (block == Blocks.STONECUTTER && world.purpurConfig.stonecutterDamage > 0.0F) || (block == Blocks.MAGMA_BLOCK && world.purpurConfig.magmaBlockDamageWhenSneaking))) { // Purpur - block.stepOn(this.world, blockposition, this); - } - -diff --git a/src/main/java/net/minecraft/world/item/enchantment/EnchantmentManager.java b/src/main/java/net/minecraft/world/item/enchantment/EnchantmentManager.java -index 63a6f63a2d3e03e74c314cdebf7cb61b66fd5108..7ad0035045011737eab536343688ebd333f1b93f 100644 ---- a/src/main/java/net/minecraft/world/item/enchantment/EnchantmentManager.java -+++ b/src/main/java/net/minecraft/world/item/enchantment/EnchantmentManager.java -@@ -242,7 +242,7 @@ public class EnchantmentManager { - return a(Enchantments.WATER_WORKER, entityliving) > 0; - } - -- public static boolean i(EntityLiving entityliving) { -+ public static boolean hasFrostWalker(EntityLiving entityLiving) { return i(entityLiving);} public static boolean i(EntityLiving entityliving) { // Purpur - OBFHELPER - return a(Enchantments.FROST_WALKER, entityliving) > 0; - } - -diff --git a/src/main/java/net/minecraft/world/level/block/BlockMagma.java b/src/main/java/net/minecraft/world/level/block/BlockMagma.java -index 4559085fa4452d3a9f59ed967ccb69a7823718e5..0d9e9f972066c1114971d825468b64f53a4af1d2 100644 ---- a/src/main/java/net/minecraft/world/level/block/BlockMagma.java -+++ b/src/main/java/net/minecraft/world/level/block/BlockMagma.java -@@ -27,7 +27,7 @@ public class BlockMagma extends Block { - - @Override - public void stepOn(World world, BlockPosition blockposition, Entity entity) { -- if (!entity.isFireProof() && entity instanceof EntityLiving && !EnchantmentManager.i((EntityLiving) entity)) { -+ if (!entity.isFireProof() && entity instanceof EntityLiving && (world.purpurConfig.magmaBlockDamageWithFrostWalker || !EnchantmentManager.hasFrostWalker((EntityLiving) entity))) { // Purpur - org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = world.getWorld().getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ()); // CraftBukkit - entity.damageEntity(DamageSource.HOT_FLOOR, 1.0F); - org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = null; // CraftBukkit -diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 78e4ef0103e1c9f96ec160e74b870902eda5e842..9ad9d80331ea52c08500cd9155ba6fdc1bc22a3a 100644 ---- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -2136,4 +2136,11 @@ public class PurpurWorldConfig { - baseCrystalExplosionEffect = Explosion.Effect.DESTROY; - } - } -+ -+ public boolean magmaBlockDamageWhenSneaking = false; -+ public boolean magmaBlockDamageWithFrostWalker = false; -+ private void magmaBlockSettings() { -+ magmaBlockDamageWhenSneaking = getBoolean("blocks.magma-block.damage-when-sneaking", magmaBlockDamageWhenSneaking); -+ magmaBlockDamageWithFrostWalker = getBoolean("blocks.magma-block.damage-with-frost-walker", magmaBlockDamageWithFrostWalker); -+ } - } diff --git a/patches/server-unmapped/0198-Add-credits-command.patch b/patches/server-unmapped/0198-Add-credits-command.patch deleted file mode 100644 index 5f0b14bcd..000000000 --- a/patches/server-unmapped/0198-Add-credits-command.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Encode42 -Date: Fri, 30 Apr 2021 14:03:06 -0400 -Subject: [PATCH] Add credits command - - -diff --git a/src/main/java/net/minecraft/commands/CommandDispatcher.java b/src/main/java/net/minecraft/commands/CommandDispatcher.java -index 4338b459011bf7a083790b7bb76cf1b24471fd19..c5babb19a3b4d20c4f9e414d5654d18c570d2b2d 100644 ---- a/src/main/java/net/minecraft/commands/CommandDispatcher.java -+++ b/src/main/java/net/minecraft/commands/CommandDispatcher.java -@@ -191,6 +191,7 @@ public class CommandDispatcher { - CommandIdleTimeout.a(this.b); - CommandStop.a(this.b); - CommandWhitelist.a(this.b); -+ net.pl3x.purpur.command.CreditsCommand.register(getDispatcher()); // Purpur - net.pl3x.purpur.command.DemoCommand.register(getDispatcher()); // Purpur - net.pl3x.purpur.command.PingCommand.register(getDispatcher()); // Purpur - net.pl3x.purpur.command.TPSBarCommand.register(getDispatcher()); // Purpur -diff --git a/src/main/java/net/minecraft/network/protocol/game/PacketPlayOutGameStateChange.java b/src/main/java/net/minecraft/network/protocol/game/PacketPlayOutGameStateChange.java -index 0161657748d398b6827ef8bc2b00b8a63bf37c55..aaff933c5bf619303842ce6b9a9dc979bcfde7bd 100644 ---- a/src/main/java/net/minecraft/network/protocol/game/PacketPlayOutGameStateChange.java -+++ b/src/main/java/net/minecraft/network/protocol/game/PacketPlayOutGameStateChange.java -@@ -12,7 +12,7 @@ public class PacketPlayOutGameStateChange implements Packet dispatcher) { -+ dispatcher.register(CommandDispatcher.literal("credits") -+ .requires((listener) -> { -+ return listener.hasPermission(2); -+ }) -+ .executes((context) -> { -+ return execute(context.getSource(), Collections.singleton(context.getSource().getPlayerOrException())); -+ }) -+ .then(CommandDispatcher.argument("targets", ArgumentEntity.players()) -+ .executes((context) -> { -+ return execute(context.getSource(), ArgumentEntity.getPlayers(context, "targets")); -+ }) -+ ) -+ ).setPermission("bukkit.command.credits"); -+ } -+ -+ private static int execute(CommandListenerWrapper sender, Collection targets) { -+ for (EntityPlayer player : targets) { -+ PacketPlayOutGameStateChange packet = new PacketPlayOutGameStateChange(PacketPlayOutGameStateChange.credits(), 1F); -+ player.viewingCredits = true; -+ player.playerConnection.sendPacket(packet); -+ String output = String.format(PurpurConfig.creditsCommandOutput, player.getProfile().getName()); -+ sender.sendMessage(CraftChatMessage.fromStringOrNull(output), false); -+ } -+ return targets.size(); -+ } -+} diff --git a/patches/server/0074-Add-credits-command.patch b/patches/server/0074-Add-credits-command.patch new file mode 100644 index 000000000..4c0f477f5 --- /dev/null +++ b/patches/server/0074-Add-credits-command.patch @@ -0,0 +1,79 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Encode42 +Date: Fri, 30 Apr 2021 14:03:06 -0400 +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 9cbaaf4cd138e6c1d2d51afcef24a81a3f2973c5..f164106a957c24bdb71bde85d82948a64613fd91 100644 +--- a/src/main/java/net/minecraft/commands/Commands.java ++++ b/src/main/java/net/minecraft/commands/Commands.java +@@ -198,6 +198,7 @@ public class Commands { + SetPlayerIdleTimeoutCommand.register(this.dispatcher); + StopCommand.register(this.dispatcher); + WhitelistCommand.register(this.dispatcher); ++ net.pl3x.purpur.command.CreditsCommand.register(this.dispatcher); // Purpur + net.pl3x.purpur.command.DemoCommand.register(this.dispatcher); // Purpur + net.pl3x.purpur.command.PingCommand.register(this.dispatcher); // Purpur + } +diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java +index 8a515bbb2f680e27bf5169992bdb3cf19297660d..766ec7c3e26c467b457c18a6f0b02fee0eebf88e 100644 +--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java ++++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java +@@ -133,6 +133,7 @@ public class PurpurConfig { + public static String afkBroadcastBack = "%s is no longer AFK"; + public static String afkTabListPrefix = "[AFK] "; + public static String afkTabListSuffix = ""; ++ public static String creditsCommandOutput = "%s has been shown the end credits"; + public static String demoCommandOutput = "%s has been shown the demo screen"; + public static String pingCommandOutput = "%s's ping is %sms"; + private static void messages() { +@@ -141,6 +142,7 @@ public class PurpurConfig { + afkBroadcastBack = getString("settings.messages.afk-broadcast-back", afkBroadcastBack); + afkTabListPrefix = getString("settings.messages.afk-tab-list-prefix", afkTabListPrefix); + afkTabListSuffix = getString("settings.messages.afk-tab-list-suffix", afkTabListSuffix); ++ creditsCommandOutput = getString("settings.messages.credits-command-output", creditsCommandOutput); + demoCommandOutput = getString("settings.messages.demo-command-output", demoCommandOutput); + pingCommandOutput = getString("settings.messages.ping-command-output", pingCommandOutput); + } +diff --git a/src/main/java/net/pl3x/purpur/command/CreditsCommand.java b/src/main/java/net/pl3x/purpur/command/CreditsCommand.java +new file mode 100644 +index 0000000000000000000000000000000000000000..282be3e0e0cb3137829a88bd40fa18772dc344c2 +--- /dev/null ++++ b/src/main/java/net/pl3x/purpur/command/CreditsCommand.java +@@ -0,0 +1,35 @@ ++package net.pl3x.purpur.command; ++ ++import com.mojang.brigadier.CommandDispatcher; ++import net.minecraft.commands.CommandSourceStack; ++import net.minecraft.commands.Commands; ++import net.minecraft.commands.arguments.EntityArgument; ++import net.minecraft.network.protocol.game.ClientboundGameEventPacket; ++import net.minecraft.server.level.ServerPlayer; ++import net.pl3x.purpur.PurpurConfig; ++ ++import java.util.Collection; ++import java.util.Collections; ++ ++public class CreditsCommand { ++ public static void register(CommandDispatcher dispatcher) { ++ dispatcher.register(Commands.literal("credits") ++ .requires((listener) -> listener.hasPermission(2)) ++ .executes((context) -> execute(context.getSource(), Collections.singleton(context.getSource().getPlayerOrException()))) ++ .then(Commands.argument("targets", EntityArgument.players()) ++ .executes((context) -> execute(context.getSource(), EntityArgument.getPlayers(context, "targets"))) ++ ) ++ ).setPermission("bukkit.command.credits"); ++ } ++ ++ private static int execute(CommandSourceStack sender, Collection targets) { ++ for (ServerPlayer player : targets) { ++ ClientboundGameEventPacket packet = new ClientboundGameEventPacket(ClientboundGameEventPacket.WIN_GAME, 1F); ++ player.wonGame = true; ++ player.connection.send(packet); ++ String output = String.format(PurpurConfig.creditsCommandOutput, player.getGameProfile().getName()); ++ sender.sendSuccess(output, false); ++ } ++ return targets.size(); ++ } ++} diff --git a/patches/server/0074-Configurable-jockey-options.patch b/patches/server/0075-Configurable-jockey-options.patch similarity index 100% rename from patches/server/0074-Configurable-jockey-options.patch rename to patches/server/0075-Configurable-jockey-options.patch diff --git a/patches/server/0075-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch b/patches/server/0076-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch similarity index 100% rename from patches/server/0075-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch rename to patches/server/0076-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch diff --git a/patches/server/0076-Add-phantom-spawning-options.patch b/patches/server/0077-Add-phantom-spawning-options.patch similarity index 100% rename from patches/server/0076-Add-phantom-spawning-options.patch rename to patches/server/0077-Add-phantom-spawning-options.patch diff --git a/patches/server/0077-Implement-bed-explosion-options.patch b/patches/server/0078-Implement-bed-explosion-options.patch similarity index 100% rename from patches/server/0077-Implement-bed-explosion-options.patch rename to patches/server/0078-Implement-bed-explosion-options.patch diff --git a/patches/server/0078-Implement-respawn-anchor-explosion-options.patch b/patches/server/0079-Implement-respawn-anchor-explosion-options.patch similarity index 100% rename from patches/server/0078-Implement-respawn-anchor-explosion-options.patch rename to patches/server/0079-Implement-respawn-anchor-explosion-options.patch diff --git a/patches/server/0079-Add-allow-water-in-end-world-option.patch b/patches/server/0080-Add-allow-water-in-end-world-option.patch similarity index 97% rename from patches/server/0079-Add-allow-water-in-end-world-option.patch rename to patches/server/0080-Add-allow-water-in-end-world-option.patch index f047ed08d..4c98d0156 100644 --- a/patches/server/0079-Add-allow-water-in-end-world-option.patch +++ b/patches/server/0080-Add-allow-water-in-end-world-option.patch @@ -68,10 +68,10 @@ index df4f2c729f09d5229553308e4876f29de648543f..f2b0278679fa649bbc2904660e0dc9ab } else { world.setBlockAndUpdate(pos, Blocks.WATER.defaultBlockState()); diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 8a515bbb2f680e27bf5169992bdb3cf19297660d..4d7208faacc42fe18162283e996779add46519e8 100644 +index 766ec7c3e26c467b457c18a6f0b02fee0eebf88e..fa1af3c9da4fee4c529113b30f652c3243e73635 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java -@@ -190,6 +190,11 @@ public class PurpurConfig { +@@ -192,6 +192,11 @@ public class PurpurConfig { dontSendUselessEntityPackets = getBoolean("settings.dont-send-useless-entity-packets", dontSendUselessEntityPackets); } diff --git a/patches/server/0080-Allow-color-codes-in-books.patch b/patches/server/0081-Allow-color-codes-in-books.patch similarity index 100% rename from patches/server/0080-Allow-color-codes-in-books.patch rename to patches/server/0081-Allow-color-codes-in-books.patch diff --git a/patches/server/0081-Entity-lifespan.patch b/patches/server/0082-Entity-lifespan.patch similarity index 100% rename from patches/server/0081-Entity-lifespan.patch rename to patches/server/0082-Entity-lifespan.patch diff --git a/patches/server/0082-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch b/patches/server/0083-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch similarity index 97% rename from patches/server/0082-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch rename to patches/server/0083-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch index eb6704073..57b095d89 100644 --- a/patches/server/0082-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch +++ b/patches/server/0083-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add option to teleport to spawn if outside world border diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 02e14693021d0968fb5c47181f951a5a3eac5927..5b395fb6f0e7bee4a24fb2d5b0bc9421b70e5b8d 100644 +index 6f854aa8dfc60ebb580a257c8d6dce93c573af15..8c46b88bb8bfdea6410ad870da92bef084a0089e 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -2445,5 +2445,25 @@ public class ServerPlayer extends Player { diff --git a/patches/server/0083-Squid-EAR-immunity.patch b/patches/server/0084-Squid-EAR-immunity.patch similarity index 100% rename from patches/server/0083-Squid-EAR-immunity.patch rename to patches/server/0084-Squid-EAR-immunity.patch diff --git a/patches/server/0084-Configurable-end-spike-seed.patch b/patches/server/0085-Configurable-end-spike-seed.patch similarity index 94% rename from patches/server/0084-Configurable-end-spike-seed.patch rename to patches/server/0085-Configurable-end-spike-seed.patch index a1c9c47d6..dc3e249f0 100644 --- a/patches/server/0084-Configurable-end-spike-seed.patch +++ b/patches/server/0085-Configurable-end-spike-seed.patch @@ -19,7 +19,7 @@ index c03bf5bdb67b00c75f9fcfead882c4d944282244..59f7ec9b307a99c5fe2def995523a5f6 return SPIKE_CACHE.getUnchecked(l); } diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 4d7208faacc42fe18162283e996779add46519e8..22da09e40f2b835868407ff808967dd7d393e08b 100644 +index fa1af3c9da4fee4c529113b30f652c3243e73635..d6f5b2d0ae5f75e07a3879741ed0bae9def1eb3a 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -1,5 +1,6 @@ @@ -29,7 +29,7 @@ index 4d7208faacc42fe18162283e996779add46519e8..22da09e40f2b835868407ff808967dd7 import com.google.common.base.Throwables; import net.minecraft.server.MinecraftServer; import net.pl3x.purpur.command.PurpurCommand; -@@ -145,6 +146,13 @@ public class PurpurConfig { +@@ -147,6 +148,13 @@ public class PurpurConfig { pingCommandOutput = getString("settings.messages.ping-command-output", pingCommandOutput); } diff --git a/patches/server/0085-Configurable-dungeon-seed.patch b/patches/server/0086-Configurable-dungeon-seed.patch similarity index 95% rename from patches/server/0085-Configurable-dungeon-seed.patch rename to patches/server/0086-Configurable-dungeon-seed.patch index 9bc798dca..096ba9963 100644 --- a/patches/server/0085-Configurable-dungeon-seed.patch +++ b/patches/server/0086-Configurable-dungeon-seed.patch @@ -32,10 +32,10 @@ index d36b6208077254af5f0ebed8e8ce20fd45cbb79d..b09611f7c5177d3f5b22ffcaa9a65480 int i = 3; int j = random.nextInt(2) + 2; diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 22da09e40f2b835868407ff808967dd7d393e08b..701bf8b781fb9f276a0c470a5f9434e51cd56bfd 100644 +index d6f5b2d0ae5f75e07a3879741ed0bae9def1eb3a..1e5bd8a72be6d082f8bb56c22eb7372ad7b14129 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java -@@ -146,10 +146,13 @@ public class PurpurConfig { +@@ -148,10 +148,13 @@ public class PurpurConfig { pingCommandOutput = getString("settings.messages.ping-command-output", pingCommandOutput); } diff --git a/patches/server/0086-Phantoms-burn-in-light.patch b/patches/server/0087-Phantoms-burn-in-light.patch similarity index 100% rename from patches/server/0086-Phantoms-burn-in-light.patch rename to patches/server/0087-Phantoms-burn-in-light.patch diff --git a/patches/server/0087-Configurable-villager-breeding.patch b/patches/server/0088-Configurable-villager-breeding.patch similarity index 100% rename from patches/server/0087-Configurable-villager-breeding.patch rename to patches/server/0088-Configurable-villager-breeding.patch diff --git a/patches/server/0088-Redstone-deactivates-spawners.patch b/patches/server/0089-Redstone-deactivates-spawners.patch similarity index 100% rename from patches/server/0088-Redstone-deactivates-spawners.patch rename to patches/server/0089-Redstone-deactivates-spawners.patch diff --git a/patches/server/0089-Totems-work-in-inventory.patch b/patches/server/0090-Totems-work-in-inventory.patch similarity index 100% rename from patches/server/0089-Totems-work-in-inventory.patch rename to patches/server/0090-Totems-work-in-inventory.patch diff --git a/patches/server/0090-Add-vindicator-johnny-spawn-chance.patch b/patches/server/0091-Add-vindicator-johnny-spawn-chance.patch similarity index 100% rename from patches/server/0090-Add-vindicator-johnny-spawn-chance.patch rename to patches/server/0091-Add-vindicator-johnny-spawn-chance.patch diff --git a/patches/server/0091-Add-option-to-disable-certain-block-updates.patch b/patches/server/0092-Add-option-to-disable-certain-block-updates.patch similarity index 98% rename from patches/server/0091-Add-option-to-disable-certain-block-updates.patch rename to patches/server/0092-Add-option-to-disable-certain-block-updates.patch index 57109b994..3f981e75a 100644 --- a/patches/server/0091-Add-option-to-disable-certain-block-updates.patch +++ b/patches/server/0092-Add-option-to-disable-certain-block-updates.patch @@ -117,10 +117,10 @@ index f8e58d9f71703139a736d93e7f1996e027a29444..d3c8fd8399629efb8bcbaf7d9a0c4334 } diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 701bf8b781fb9f276a0c470a5f9434e51cd56bfd..0a43200e28c9f499454858b1ec90f1082611c244 100644 +index 1e5bd8a72be6d082f8bb56c22eb7372ad7b14129..922b8a3b0d9aa0481245a34ac35822657435ce8b 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java -@@ -206,6 +206,15 @@ public class PurpurConfig { +@@ -208,6 +208,15 @@ public class PurpurConfig { allowWaterPlacementInTheEnd = getBoolean("settings.allow-water-placement-in-the-end", allowWaterPlacementInTheEnd); } diff --git a/patches/server/0092-Dispensers-place-anvils-option.patch b/patches/server/0093-Dispensers-place-anvils-option.patch similarity index 100% rename from patches/server/0092-Dispensers-place-anvils-option.patch rename to patches/server/0093-Dispensers-place-anvils-option.patch diff --git a/patches/server/0093-Allow-anvil-colors.patch b/patches/server/0094-Allow-anvil-colors.patch similarity index 100% rename from patches/server/0093-Allow-anvil-colors.patch rename to patches/server/0094-Allow-anvil-colors.patch diff --git a/patches/server/0094-Add-no-random-tick-block-list.patch b/patches/server/0095-Add-no-random-tick-block-list.patch similarity index 100% rename from patches/server/0094-Add-no-random-tick-block-list.patch rename to patches/server/0095-Add-no-random-tick-block-list.patch diff --git a/patches/server/0095-Add-option-to-disable-dolphin-treasure-searching.patch b/patches/server/0096-Add-option-to-disable-dolphin-treasure-searching.patch similarity index 100% rename from patches/server/0095-Add-option-to-disable-dolphin-treasure-searching.patch rename to patches/server/0096-Add-option-to-disable-dolphin-treasure-searching.patch diff --git a/patches/server/0096-Short-enderman-height.patch b/patches/server/0097-Short-enderman-height.patch similarity index 96% rename from patches/server/0096-Short-enderman-height.patch rename to patches/server/0097-Short-enderman-height.patch index 42545ea7b..416836ea3 100644 --- a/patches/server/0096-Short-enderman-height.patch +++ b/patches/server/0097-Short-enderman-height.patch @@ -31,7 +31,7 @@ index 6e0b5fbf5b0d216b6b7c647d45ef37cd6b591717..5ebedd6a156b06e98aded57c817f6342 if (this.tryEscape(com.destroystokyo.paper.event.entity.EndermanEscapeEvent.Reason.INDIRECT)) { // Paper start for (int i = 0; i < 64; ++i) { diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 0a43200e28c9f499454858b1ec90f1082611c244..2ec5a60b1720f53cc9e58670932924ef9ec6da3a 100644 +index 922b8a3b0d9aa0481245a34ac35822657435ce8b..8d788bd4b3a2c95e6eee529ae22cb4e7d29d270a 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -3,6 +3,8 @@ package net.pl3x.purpur; @@ -43,7 +43,7 @@ index 0a43200e28c9f499454858b1ec90f1082611c244..2ec5a60b1720f53cc9e58670932924ef import net.pl3x.purpur.command.PurpurCommand; import org.bukkit.Bukkit; import org.bukkit.command.Command; -@@ -196,6 +198,12 @@ public class PurpurConfig { +@@ -198,6 +200,12 @@ public class PurpurConfig { enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows); } diff --git a/patches/server/0097-Stop-squids-floating-on-top-of-water.patch b/patches/server/0098-Stop-squids-floating-on-top-of-water.patch similarity index 100% rename from patches/server/0097-Stop-squids-floating-on-top-of-water.patch rename to patches/server/0098-Stop-squids-floating-on-top-of-water.patch diff --git a/patches/server/0098-Use-configured-height-for-nether-surface-builders.patch b/patches/server/0099-Use-configured-height-for-nether-surface-builders.patch similarity index 100% rename from patches/server/0098-Use-configured-height-for-nether-surface-builders.patch rename to patches/server/0099-Use-configured-height-for-nether-surface-builders.patch diff --git a/patches/server/0099-Crying-obsidian-valid-for-portal-frames.patch b/patches/server/0100-Crying-obsidian-valid-for-portal-frames.patch similarity index 92% rename from patches/server/0099-Crying-obsidian-valid-for-portal-frames.patch rename to patches/server/0100-Crying-obsidian-valid-for-portal-frames.patch index e963f1238..e1080b138 100644 --- a/patches/server/0099-Crying-obsidian-valid-for-portal-frames.patch +++ b/patches/server/0100-Crying-obsidian-valid-for-portal-frames.patch @@ -18,10 +18,10 @@ index c07b5d1f1ef8b5e6026c7555d476880c8802d6c5..068f1b184a3694603f564d49fa45d5ce private final LevelAccessor level; private final Direction.Axis axis; diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 2ec5a60b1720f53cc9e58670932924ef9ec6da3a..0210c671fe1708cb30314e338e690e68ecb13a56 100644 +index 8d788bd4b3a2c95e6eee529ae22cb4e7d29d270a..322c5ba72feed92f99731d9c4413b304ce59dd13 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java -@@ -182,6 +182,7 @@ public class PurpurConfig { +@@ -184,6 +184,7 @@ public class PurpurConfig { public static boolean barrelSixRows = false; public static boolean enderChestSixRows = false; public static boolean enderChestPermissionRows = false; @@ -29,7 +29,7 @@ index 2ec5a60b1720f53cc9e58670932924ef9ec6da3a..0210c671fe1708cb30314e338e690e68 private static void blockSettings() { if (version < 3) { boolean oldValue = getBoolean("settings.barrel.packed-barrels", true); -@@ -196,6 +197,7 @@ public class PurpurConfig { +@@ -198,6 +199,7 @@ public class PurpurConfig { enderChestSixRows = getBoolean("settings.blocks.ender_chest.six-rows", enderChestSixRows); org.bukkit.event.inventory.InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27); enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows); diff --git a/patches/server/0100-Entities-can-use-portals-configuration.patch b/patches/server/0101-Entities-can-use-portals-configuration.patch similarity index 100% rename from patches/server/0100-Entities-can-use-portals-configuration.patch rename to patches/server/0101-Entities-can-use-portals-configuration.patch diff --git a/patches/server/0101-LivingEntity-broadcastItemBreak.patch b/patches/server/0102-LivingEntity-broadcastItemBreak.patch similarity index 100% rename from patches/server/0101-LivingEntity-broadcastItemBreak.patch rename to patches/server/0102-LivingEntity-broadcastItemBreak.patch diff --git a/patches/server/0102-Customizable-wither-health-and-healing.patch b/patches/server/0103-Customizable-wither-health-and-healing.patch similarity index 100% rename from patches/server/0102-Customizable-wither-health-and-healing.patch rename to patches/server/0103-Customizable-wither-health-and-healing.patch diff --git a/patches/server/0103-Allow-toggling-special-MobSpawners-per-world.patch b/patches/server/0104-Allow-toggling-special-MobSpawners-per-world.patch similarity index 99% rename from patches/server/0103-Allow-toggling-special-MobSpawners-per-world.patch rename to patches/server/0104-Allow-toggling-special-MobSpawners-per-world.patch index 9f447dfe4..c9497dc82 100644 --- a/patches/server/0103-Allow-toggling-special-MobSpawners-per-world.patch +++ b/patches/server/0104-Allow-toggling-special-MobSpawners-per-world.patch @@ -94,7 +94,7 @@ index f8ede3588bfda9a7d4d5807311a3e9c2651fd0a3..56967cef0f184def046935e20148574f if (NaturalSpawner.isSpawnPositionOk(SpawnPlacements.Type.ON_GROUND, world, blockposition2, EntityType.WANDERING_TRADER)) { blockposition1 = blockposition2; diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 1f9129180badb6df786b080edf926d04ef95125c..917a671894e16e024db941cea1845e39eaf93ef8 100644 +index 1fa4773cd86630ffb68be99a49f6ede49205cf59..0e7f957024666126c560757831ad1a6d6d890b10 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -200,7 +200,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { diff --git a/patches/server/0104-Raid-cooldown-setting.patch b/patches/server/0105-Raid-cooldown-setting.patch similarity index 100% rename from patches/server/0104-Raid-cooldown-setting.patch rename to patches/server/0105-Raid-cooldown-setting.patch diff --git a/patches/server/0105-Despawn-rate-config-options-per-projectile-type.patch b/patches/server/0106-Despawn-rate-config-options-per-projectile-type.patch similarity index 100% rename from patches/server/0105-Despawn-rate-config-options-per-projectile-type.patch rename to patches/server/0106-Despawn-rate-config-options-per-projectile-type.patch diff --git a/patches/server/0106-Add-option-to-disable-zombie-aggressiveness-towards-.patch b/patches/server/0107-Add-option-to-disable-zombie-aggressiveness-towards-.patch similarity index 100% rename from patches/server/0106-Add-option-to-disable-zombie-aggressiveness-towards-.patch rename to patches/server/0107-Add-option-to-disable-zombie-aggressiveness-towards-.patch diff --git a/patches/server/0107-Persistent-TileEntity-Lore-and-DisplayName.patch b/patches/server/0108-Persistent-TileEntity-Lore-and-DisplayName.patch similarity index 100% rename from patches/server/0107-Persistent-TileEntity-Lore-and-DisplayName.patch rename to patches/server/0108-Persistent-TileEntity-Lore-and-DisplayName.patch diff --git a/patches/server/0108-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch b/patches/server/0109-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch similarity index 100% rename from patches/server/0108-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch rename to patches/server/0109-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch diff --git a/patches/server/0109-Flying-squids-Oh-my.patch b/patches/server/0110-Flying-squids-Oh-my.patch similarity index 100% rename from patches/server/0109-Flying-squids-Oh-my.patch rename to patches/server/0110-Flying-squids-Oh-my.patch diff --git a/patches/server/0110-Infinity-bow-settings.patch b/patches/server/0111-Infinity-bow-settings.patch similarity index 100% rename from patches/server/0110-Infinity-bow-settings.patch rename to patches/server/0111-Infinity-bow-settings.patch diff --git a/patches/server/0111-Stonecutter-damage.patch b/patches/server/0112-Stonecutter-damage.patch similarity index 97% rename from patches/server/0111-Stonecutter-damage.patch rename to patches/server/0112-Stonecutter-damage.patch index 825b7de53..ba8abbd89 100644 --- a/patches/server/0111-Stonecutter-damage.patch +++ b/patches/server/0112-Stonecutter-damage.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Stonecutter damage diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 98609a741b9a47417e7de1be4b972e2a398952e5..4717b3292bbbc5c1ee7246668b30e515caf48a80 100644 +index c443b850a512eae94d451521c5e9e0342aca2171..ff5b7c5f6cea71d541abf8a518aee347f2e00e85 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -897,7 +897,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n diff --git a/patches/server/0112-Configurable-daylight-cycle.patch b/patches/server/0113-Configurable-daylight-cycle.patch similarity index 98% rename from patches/server/0112-Configurable-daylight-cycle.patch rename to patches/server/0113-Configurable-daylight-cycle.patch index f48f08259..04183a856 100644 --- a/patches/server/0112-Configurable-daylight-cycle.patch +++ b/patches/server/0113-Configurable-daylight-cycle.patch @@ -80,7 +80,7 @@ index d10ebe9b094a0e8b62e6607a4fefaf0bcd412413..97697f2ee49ef1f3b0bfb291b1df99f5 public void tickCustomSpawners(boolean spawnMonsters, boolean spawnAnimals) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index e9ad6f9d41889376d1d72317c408d16b8ef1bc27..ab0c03e69adc922dbe525cf4a9f7e603da51fb66 100644 +index f7c808830fecca2e4ad7b828db14e86173e33e58..ac0aaf5d557e411bc29120470a80862c61c35bc5 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -89,6 +89,13 @@ public class PurpurWorldConfig { diff --git a/patches/server/0113-Allow-infinite-and-mending-enchantments-together.patch b/patches/server/0114-Allow-infinite-and-mending-enchantments-together.patch similarity index 93% rename from patches/server/0113-Allow-infinite-and-mending-enchantments-together.patch rename to patches/server/0114-Allow-infinite-and-mending-enchantments-together.patch index 529d090c0..974068f94 100644 --- a/patches/server/0113-Allow-infinite-and-mending-enchantments-together.patch +++ b/patches/server/0114-Allow-infinite-and-mending-enchantments-together.patch @@ -17,10 +17,10 @@ index 3aece8245060dd1ba269c08d226c84247a6f0a83..6763d0b96c83d1b462999f525bf1f31c } } diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 0210c671fe1708cb30314e338e690e68ecb13a56..7c13409ab49326915830fe860d4f3457e9625c2f 100644 +index 322c5ba72feed92f99731d9c4413b304ce59dd13..c2d7bcb241f3930600c2c89eb9f11986fcbfc260 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java -@@ -200,6 +200,16 @@ public class PurpurConfig { +@@ -202,6 +202,16 @@ public class PurpurConfig { cryingObsidianValidForPortalFrame = getBoolean("settings.blocks.crying_obsidian.valid-for-portal-frame", cryingObsidianValidForPortalFrame); } diff --git a/patches/server/0114-Infinite-fuel-furnace.patch b/patches/server/0115-Infinite-fuel-furnace.patch similarity index 100% rename from patches/server/0114-Infinite-fuel-furnace.patch rename to patches/server/0115-Infinite-fuel-furnace.patch diff --git a/patches/server/0115-Arrows-should-not-reset-despawn-counter.patch b/patches/server/0116-Arrows-should-not-reset-despawn-counter.patch similarity index 100% rename from patches/server/0115-Arrows-should-not-reset-despawn-counter.patch rename to patches/server/0116-Arrows-should-not-reset-despawn-counter.patch diff --git a/patches/server/0116-Ability-to-re-add-farmland-mechanics-from-Alpha.patch b/patches/server/0117-Ability-to-re-add-farmland-mechanics-from-Alpha.patch similarity index 100% rename from patches/server/0116-Ability-to-re-add-farmland-mechanics-from-Alpha.patch rename to patches/server/0117-Ability-to-re-add-farmland-mechanics-from-Alpha.patch diff --git a/patches/server/0117-Add-adjustable-breeding-cooldown-to-config.patch b/patches/server/0118-Add-adjustable-breeding-cooldown-to-config.patch similarity index 98% rename from patches/server/0117-Add-adjustable-breeding-cooldown-to-config.patch rename to patches/server/0118-Add-adjustable-breeding-cooldown-to-config.patch index 9c2263c6d..dbd19bb39 100644 --- a/patches/server/0117-Add-adjustable-breeding-cooldown-to-config.patch +++ b/patches/server/0118-Add-adjustable-breeding-cooldown-to-config.patch @@ -33,7 +33,7 @@ index 5a503a255b4e7e684a8f42d8190430397ca81683..7a90c6a628571730eee382e1efcfe1b9 entityageable.setBaby(true); entityageable.moveTo(this.getX(), this.getY(), this.getZ(), 0.0F, 0.0F); diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 917a671894e16e024db941cea1845e39eaf93ef8..b17f250eec710c91a1d5995136d7dec26ddd8f1c 100644 +index 0e7f957024666126c560757831ad1a6d6d890b10..4e6f79c21f02dc26a2eee9c1ed158bd68191ed5a 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -185,6 +185,49 @@ public abstract class Level implements LevelAccessor, AutoCloseable { diff --git a/patches/server/0118-Make-entity-breeding-times-configurable.patch b/patches/server/0119-Make-entity-breeding-times-configurable.patch similarity index 100% rename from patches/server/0118-Make-entity-breeding-times-configurable.patch rename to patches/server/0119-Make-entity-breeding-times-configurable.patch diff --git a/patches/server/0119-Apply-display-names-from-item-forms-of-entities-to-e.patch b/patches/server/0120-Apply-display-names-from-item-forms-of-entities-to-e.patch similarity index 100% rename from patches/server/0119-Apply-display-names-from-item-forms-of-entities-to-e.patch rename to patches/server/0120-Apply-display-names-from-item-forms-of-entities-to-e.patch diff --git a/patches/server/0120-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch b/patches/server/0121-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch similarity index 95% rename from patches/server/0120-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch rename to patches/server/0121-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch index 11fdfdc63..846a1a6d5 100644 --- a/patches/server/0120-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch +++ b/patches/server/0121-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch @@ -17,7 +17,7 @@ index 623f78c078fb3aa2665d7e8a37672438227bce6b..500c69e555c7247e20ef8cc59d834155 ((Mob) newEntityLiving).setPersistenceRequired(); // Paper end diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 2bdb2a2ddf9bda35deed49934860144981a30099..55245e4b9551ec1ffcc1ef3c375b5ec31dfbb7c6 100644 +index 7518fe1ba629e9bd17be3f687e62a030509faa12..65de0a66e81ad3fdf0f85d233512dd7bb1a8a416 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -86,9 +86,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0121-Add-twisting-and-weeping-vines-growth-rates.patch b/patches/server/0122-Add-twisting-and-weeping-vines-growth-rates.patch similarity index 100% rename from patches/server/0121-Add-twisting-and-weeping-vines-growth-rates.patch rename to patches/server/0122-Add-twisting-and-weeping-vines-growth-rates.patch diff --git a/patches/server/0122-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch b/patches/server/0123-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch similarity index 100% rename from patches/server/0122-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch rename to patches/server/0123-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch diff --git a/patches/server/0123-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch b/patches/server/0124-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch similarity index 100% rename from patches/server/0123-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch rename to patches/server/0124-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch diff --git a/patches/server/0124-Add-critical-hit-check-to-EntityDamagedByEntityEvent.patch b/patches/server/0125-Add-critical-hit-check-to-EntityDamagedByEntityEvent.patch similarity index 100% rename from patches/server/0124-Add-critical-hit-check-to-EntityDamagedByEntityEvent.patch rename to patches/server/0125-Add-critical-hit-check-to-EntityDamagedByEntityEvent.patch diff --git a/patches/server/0125-Add-configurable-snowball-damage.patch b/patches/server/0126-Add-configurable-snowball-damage.patch similarity index 100% rename from patches/server/0125-Add-configurable-snowball-damage.patch rename to patches/server/0126-Add-configurable-snowball-damage.patch diff --git a/patches/server/0126-Zombie-break-door-minimum-difficulty-option.patch b/patches/server/0127-Zombie-break-door-minimum-difficulty-option.patch similarity index 100% rename from patches/server/0126-Zombie-break-door-minimum-difficulty-option.patch rename to patches/server/0127-Zombie-break-door-minimum-difficulty-option.patch diff --git a/patches/server/0127-Left-handed-API.patch b/patches/server/0128-Left-handed-API.patch similarity index 100% rename from patches/server/0127-Left-handed-API.patch rename to patches/server/0128-Left-handed-API.patch diff --git a/patches/server/0128-Changeable-Mob-Left-Handed-Chance.patch b/patches/server/0129-Changeable-Mob-Left-Handed-Chance.patch similarity index 100% rename from patches/server/0128-Changeable-Mob-Left-Handed-Chance.patch rename to patches/server/0129-Changeable-Mob-Left-Handed-Chance.patch diff --git a/patches/server/0129-Add-boat-fall-damage-config.patch b/patches/server/0130-Add-boat-fall-damage-config.patch similarity index 97% rename from patches/server/0129-Add-boat-fall-damage-config.patch rename to patches/server/0130-Add-boat-fall-damage-config.patch index 6dc0f3f10..5a5f9ffbf 100644 --- a/patches/server/0129-Add-boat-fall-damage-config.patch +++ b/patches/server/0130-Add-boat-fall-damage-config.patch @@ -5,7 +5,7 @@ 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 5b395fb6f0e7bee4a24fb2d5b0bc9421b70e5b8d..c4ff2e17d032f20395bb8a42152d16de6287eff8 100644 +index 8c46b88bb8bfdea6410ad870da92bef084a0089e..820e1b059fedcc5fe4ccbec772594dddce71fecb 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -986,7 +986,16 @@ public class ServerPlayer extends Player { diff --git a/patches/server/0130-Snow-Golem-rate-of-fire-config.patch b/patches/server/0131-Snow-Golem-rate-of-fire-config.patch similarity index 100% rename from patches/server/0130-Snow-Golem-rate-of-fire-config.patch rename to patches/server/0131-Snow-Golem-rate-of-fire-config.patch diff --git a/patches/server/0131-PaperPR-Config-option-for-Piglins-guarding-chests.patch b/patches/server/0132-PaperPR-Config-option-for-Piglins-guarding-chests.patch similarity index 100% rename from patches/server/0131-PaperPR-Config-option-for-Piglins-guarding-chests.patch rename to patches/server/0132-PaperPR-Config-option-for-Piglins-guarding-chests.patch diff --git a/patches/server/0132-EMC-Configurable-disable-give-dropping.patch b/patches/server/0133-EMC-Configurable-disable-give-dropping.patch similarity index 93% rename from patches/server/0132-EMC-Configurable-disable-give-dropping.patch rename to patches/server/0133-EMC-Configurable-disable-give-dropping.patch index 252272a46..f352a40ee 100644 --- a/patches/server/0132-EMC-Configurable-disable-give-dropping.patch +++ b/patches/server/0133-EMC-Configurable-disable-give-dropping.patch @@ -20,10 +20,10 @@ index a0dc380e90415de9068ea408d62a1605c82631df..60fd566f7e1499ecf2ad91216a667f12 itemStack.setCount(1); ItemEntity itemEntity2 = serverPlayer.drop(itemStack, false, false, true); // Paper - Fix duplicating /give items on item drop cancel diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 7c13409ab49326915830fe860d4f3457e9625c2f..45dd23971204a7a04aca9c271643cada98add9fb 100644 +index c2d7bcb241f3930600c2c89eb9f11986fcbfc260..0e83d4f434225a5916104a9a14c0913eaafc04c6 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java -@@ -179,6 +179,11 @@ public class PurpurConfig { +@@ -181,6 +181,11 @@ public class PurpurConfig { useAlternateKeepAlive = getBoolean("settings.use-alternate-keepalive", useAlternateKeepAlive); } diff --git a/patches/server/0133-Lobotomize-stuck-villagers.patch b/patches/server/0134-Lobotomize-stuck-villagers.patch similarity index 100% rename from patches/server/0133-Lobotomize-stuck-villagers.patch rename to patches/server/0134-Lobotomize-stuck-villagers.patch diff --git a/patches/server/0134-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch b/patches/server/0135-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch similarity index 100% rename from patches/server/0134-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch rename to patches/server/0135-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch diff --git a/patches/server/0135-Toggle-for-Zombified-Piglin-death-always-counting-as.patch b/patches/server/0136-Toggle-for-Zombified-Piglin-death-always-counting-as.patch similarity index 100% rename from patches/server/0135-Toggle-for-Zombified-Piglin-death-always-counting-as.patch rename to patches/server/0136-Toggle-for-Zombified-Piglin-death-always-counting-as.patch diff --git a/patches/server/0136-Spread-out-and-optimise-player-list-ticksSpread-out-.patch b/patches/server/0137-Spread-out-and-optimise-player-list-ticksSpread-out-.patch similarity index 100% rename from patches/server/0136-Spread-out-and-optimise-player-list-ticksSpread-out-.patch rename to patches/server/0137-Spread-out-and-optimise-player-list-ticksSpread-out-.patch diff --git a/patches/server/0137-Configurable-chance-for-wolves-to-spawn-rabid.patch b/patches/server/0138-Configurable-chance-for-wolves-to-spawn-rabid.patch similarity index 100% rename from patches/server/0137-Configurable-chance-for-wolves-to-spawn-rabid.patch rename to patches/server/0138-Configurable-chance-for-wolves-to-spawn-rabid.patch diff --git a/patches/server/0138-Configurable-default-wolf-collar-color.patch b/patches/server/0139-Configurable-default-wolf-collar-color.patch similarity index 100% rename from patches/server/0138-Configurable-default-wolf-collar-color.patch rename to patches/server/0139-Configurable-default-wolf-collar-color.patch diff --git a/patches/server/0139-Phantom-flames-on-swoop.patch b/patches/server/0140-Phantom-flames-on-swoop.patch similarity index 100% rename from patches/server/0139-Phantom-flames-on-swoop.patch rename to patches/server/0140-Phantom-flames-on-swoop.patch diff --git a/patches/server/0140-Option-for-chests-to-open-even-with-a-solid-block-on.patch b/patches/server/0141-Option-for-chests-to-open-even-with-a-solid-block-on.patch similarity index 100% rename from patches/server/0140-Option-for-chests-to-open-even-with-a-solid-block-on.patch rename to patches/server/0141-Option-for-chests-to-open-even-with-a-solid-block-on.patch diff --git a/patches/server/0141-Implement-TPSBar.patch b/patches/server/0142-Implement-TPSBar.patch similarity index 97% rename from patches/server/0141-Implement-TPSBar.patch rename to patches/server/0142-Implement-TPSBar.patch index ba6764110..138deb5c3 100644 --- a/patches/server/0141-Implement-TPSBar.patch +++ b/patches/server/0142-Implement-TPSBar.patch @@ -5,11 +5,11 @@ Subject: [PATCH] Implement TPSBar diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java -index 9cbaaf4cd138e6c1d2d51afcef24a81a3f2973c5..13e90bf9506862a4830b50dcce06cc95a6ada5e3 100644 +index f164106a957c24bdb71bde85d82948a64613fd91..bef1f6ca54fc6c1741b54b8e071a90eb5e3a36f3 100644 --- a/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java -@@ -200,6 +200,7 @@ public class Commands { - WhitelistCommand.register(this.dispatcher); +@@ -201,6 +201,7 @@ public class Commands { + net.pl3x.purpur.command.CreditsCommand.register(this.dispatcher); // Purpur net.pl3x.purpur.command.DemoCommand.register(this.dispatcher); // Purpur net.pl3x.purpur.command.PingCommand.register(this.dispatcher); // Purpur + net.pl3x.purpur.command.TPSBarCommand.register(this.dispatcher); // Purpur diff --git a/patches/server/0142-Striders-give-saddle-back.patch b/patches/server/0143-Striders-give-saddle-back.patch similarity index 100% rename from patches/server/0142-Striders-give-saddle-back.patch rename to patches/server/0143-Striders-give-saddle-back.patch diff --git a/patches/server/0143-PlayerBookTooLargeEvent.patch b/patches/server/0144-PlayerBookTooLargeEvent.patch similarity index 96% rename from patches/server/0143-PlayerBookTooLargeEvent.patch rename to patches/server/0144-PlayerBookTooLargeEvent.patch index db3480689..5a86acaa5 100644 --- a/patches/server/0143-PlayerBookTooLargeEvent.patch +++ b/patches/server/0144-PlayerBookTooLargeEvent.patch @@ -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 3146734c26aa6e6834cfc91fdd143c01a9c96dc5..53ce3179f61a7cdf1781a1e39a9d96ea92c816fa 100644 +index b9cbbd3c69ef9e14905873f9e4ce3104026e5390..e41b54f54e0d7e2fe8e68fad8656d0d7c60d5d03 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1083,6 +1083,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0144-Full-netherite-armor-grants-fire-resistance.patch b/patches/server/0145-Full-netherite-armor-grants-fire-resistance.patch similarity index 97% rename from patches/server/0144-Full-netherite-armor-grants-fire-resistance.patch rename to patches/server/0145-Full-netherite-armor-grants-fire-resistance.patch index 609e8a873..9de960fbc 100644 --- a/patches/server/0144-Full-netherite-armor-grants-fire-resistance.patch +++ b/patches/server/0145-Full-netherite-armor-grants-fire-resistance.patch @@ -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 62540f8af27709976e109bd79975a9a5cd11c8d3..ac2235f40571818e6fc82be929bb3662726ba857 100644 +index 328a9849bb601e1cc9fd31066c2313f9bdfa07b8..dc5ce9a61a20870f4321412ea1e78cc4aa340f97 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java @@ -362,6 +362,16 @@ public abstract class Player extends LivingEntity { diff --git a/patches/server/0145-Fix-rotating-UP-DOWN-CW-and-CCW.patch b/patches/server/0146-Fix-rotating-UP-DOWN-CW-and-CCW.patch similarity index 100% rename from patches/server/0145-Fix-rotating-UP-DOWN-CW-and-CCW.patch rename to patches/server/0146-Fix-rotating-UP-DOWN-CW-and-CCW.patch diff --git a/patches/server/0146-Add-MC-4-fix-back.patch b/patches/server/0147-Add-MC-4-fix-back.patch similarity index 100% rename from patches/server/0146-Add-MC-4-fix-back.patch rename to patches/server/0147-Add-MC-4-fix-back.patch diff --git a/patches/server/0147-Add-mobGriefing-bypass-to-everything-affected.patch b/patches/server/0148-Add-mobGriefing-bypass-to-everything-affected.patch similarity index 100% rename from patches/server/0147-Add-mobGriefing-bypass-to-everything-affected.patch rename to patches/server/0148-Add-mobGriefing-bypass-to-everything-affected.patch diff --git a/patches/server/0148-Config-to-allow-Note-Block-sounds-when-blocked.patch b/patches/server/0149-Config-to-allow-Note-Block-sounds-when-blocked.patch similarity index 100% rename from patches/server/0148-Config-to-allow-Note-Block-sounds-when-blocked.patch rename to patches/server/0149-Config-to-allow-Note-Block-sounds-when-blocked.patch diff --git a/patches/server/0149-Add-EntityTeleportHinderedEvent.patch b/patches/server/0150-Add-EntityTeleportHinderedEvent.patch similarity index 100% rename from patches/server/0149-Add-EntityTeleportHinderedEvent.patch rename to patches/server/0150-Add-EntityTeleportHinderedEvent.patch diff --git a/patches/server/0150-Add-StructureGenerateEvent.patch b/patches/server/0151-Add-StructureGenerateEvent.patch similarity index 100% rename from patches/server/0150-Add-StructureGenerateEvent.patch rename to patches/server/0151-Add-StructureGenerateEvent.patch diff --git a/patches/server/0151-Farmland-trampling-changes.patch b/patches/server/0152-Farmland-trampling-changes.patch similarity index 100% rename from patches/server/0151-Farmland-trampling-changes.patch rename to patches/server/0152-Farmland-trampling-changes.patch diff --git a/patches/server/0152-Movement-options-for-armor-stands.patch b/patches/server/0153-Movement-options-for-armor-stands.patch similarity index 96% rename from patches/server/0152-Movement-options-for-armor-stands.patch rename to patches/server/0153-Movement-options-for-armor-stands.patch index 34c854b5d..5a4e3bbd8 100644 --- a/patches/server/0152-Movement-options-for-armor-stands.patch +++ b/patches/server/0153-Movement-options-for-armor-stands.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/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 6460b84214fc517d05e655001f4ef92943a8ca90..98f0728733e0bce5fe5a0e7b4ce1a42afd7c653e 100644 +index e6d8a421b0e5496df9ea3fc01f88c2f3c6c527b4..e879f7bdee9c58533a549f22286ebb8a22a30442 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1402,7 +1402,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n @@ -66,7 +66,7 @@ index 796ab61f4513c02b0d55d34044d2f7084c447796..d119f8ab447bc17deabc494463de4961 + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 95497513c805c9d71fa10404ac953092a852397b..063505bc3987a384fdf8e235b03717c962c2ca9f 100644 +index 0bd50fc8e2c3945b51eae86b6c6eaed3e4b9bf8c..4d69d20f5c009745cf633d912ab22498c52e9460 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -89,10 +89,16 @@ public class PurpurWorldConfig { diff --git a/patches/server/0153-Fix-stuck-in-portals.patch b/patches/server/0154-Fix-stuck-in-portals.patch similarity index 100% rename from patches/server/0153-Fix-stuck-in-portals.patch rename to patches/server/0154-Fix-stuck-in-portals.patch diff --git a/patches/server/0154-Toggle-for-water-sensitive-mob-damage.patch b/patches/server/0155-Toggle-for-water-sensitive-mob-damage.patch similarity index 100% rename from patches/server/0154-Toggle-for-water-sensitive-mob-damage.patch rename to patches/server/0155-Toggle-for-water-sensitive-mob-damage.patch diff --git a/patches/server/0155-Config-to-always-tame-in-Creative.patch b/patches/server/0156-Config-to-always-tame-in-Creative.patch similarity index 100% rename from patches/server/0155-Config-to-always-tame-in-Creative.patch rename to patches/server/0156-Config-to-always-tame-in-Creative.patch diff --git a/patches/server/0156-End-crystal-explosion-options.patch b/patches/server/0157-End-crystal-explosion-options.patch similarity index 100% rename from patches/server/0156-End-crystal-explosion-options.patch rename to patches/server/0157-End-crystal-explosion-options.patch diff --git a/patches/server/0157-Add-unsafe-Entity-serialization-API.patch b/patches/server/0158-Add-unsafe-Entity-serialization-API.patch similarity index 100% rename from patches/server/0157-Add-unsafe-Entity-serialization-API.patch rename to patches/server/0158-Add-unsafe-Entity-serialization-API.patch diff --git a/patches/server/0158-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch b/patches/server/0159-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch similarity index 100% rename from patches/server/0158-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch rename to patches/server/0159-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch diff --git a/patches/server/0159-Dont-run-with-scissors.patch b/patches/server/0160-Dont-run-with-scissors.patch similarity index 96% rename from patches/server/0159-Dont-run-with-scissors.patch rename to patches/server/0160-Dont-run-with-scissors.patch index 74c4d09a1..c2e3f43b2 100644 --- a/patches/server/0159-Dont-run-with-scissors.patch +++ b/patches/server/0160-Dont-run-with-scissors.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Dont run with scissors! diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 6eb0b178e1aec3bfb6c59913dbf70aac222041e2..167619f874304134532cd9144ffc7c3bbdda4473 100644 +index e41b54f54e0d7e2fe8e68fad8656d0d7c60d5d03..8e7d6e0298c2db89c8a20740df9eb64acd70639b 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1518,6 +1518,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0160-One-Punch-Man.patch b/patches/server/0161-One-Punch-Man.patch similarity index 100% rename from patches/server/0160-One-Punch-Man.patch rename to patches/server/0161-One-Punch-Man.patch diff --git a/patches/server/0161-Add-config-for-snow-on-blue-ice.patch b/patches/server/0162-Add-config-for-snow-on-blue-ice.patch similarity index 100% rename from patches/server/0161-Add-config-for-snow-on-blue-ice.patch rename to patches/server/0162-Add-config-for-snow-on-blue-ice.patch diff --git a/patches/server/0162-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch b/patches/server/0163-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch similarity index 100% rename from patches/server/0162-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch rename to patches/server/0163-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch diff --git a/patches/server/0163-Config-to-ignore-nearby-mobs-when-sleeping.patch b/patches/server/0164-Config-to-ignore-nearby-mobs-when-sleeping.patch similarity index 100% rename from patches/server/0163-Config-to-ignore-nearby-mobs-when-sleeping.patch rename to patches/server/0164-Config-to-ignore-nearby-mobs-when-sleeping.patch diff --git a/patches/server/0164-Config-for-Enderman-to-aggro-spawned-Endermites.patch b/patches/server/0165-Config-for-Enderman-to-aggro-spawned-Endermites.patch similarity index 100% rename from patches/server/0164-Config-for-Enderman-to-aggro-spawned-Endermites.patch rename to patches/server/0165-Config-for-Enderman-to-aggro-spawned-Endermites.patch diff --git a/patches/server/0165-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch b/patches/server/0166-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch similarity index 100% rename from patches/server/0165-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch rename to patches/server/0166-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch diff --git a/patches/server/0166-Tick-fluids-config.patch b/patches/server/0167-Tick-fluids-config.patch similarity index 100% rename from patches/server/0166-Tick-fluids-config.patch rename to patches/server/0167-Tick-fluids-config.patch diff --git a/patches/server/0167-Config-to-disable-Llama-caravans.patch b/patches/server/0168-Config-to-disable-Llama-caravans.patch similarity index 100% rename from patches/server/0167-Config-to-disable-Llama-caravans.patch rename to patches/server/0168-Config-to-disable-Llama-caravans.patch diff --git a/patches/server/0168-Config-to-make-Creepers-explode-on-death.patch b/patches/server/0169-Config-to-make-Creepers-explode-on-death.patch similarity index 100% rename from patches/server/0168-Config-to-make-Creepers-explode-on-death.patch rename to patches/server/0169-Config-to-make-Creepers-explode-on-death.patch diff --git a/patches/server/0169-Configurable-ravager-griefable-blocks-list.patch b/patches/server/0170-Configurable-ravager-griefable-blocks-list.patch similarity index 100% rename from patches/server/0169-Configurable-ravager-griefable-blocks-list.patch rename to patches/server/0170-Configurable-ravager-griefable-blocks-list.patch diff --git a/patches/server/0170-Sneak-to-bulk-process-composter.patch b/patches/server/0171-Sneak-to-bulk-process-composter.patch similarity index 100% rename from patches/server/0170-Sneak-to-bulk-process-composter.patch rename to patches/server/0171-Sneak-to-bulk-process-composter.patch diff --git a/patches/server/0171-Config-for-skipping-night.patch b/patches/server/0172-Config-for-skipping-night.patch similarity index 100% rename from patches/server/0171-Config-for-skipping-night.patch rename to patches/server/0172-Config-for-skipping-night.patch diff --git a/patches/server/0172-Add-config-for-villager-trading.patch b/patches/server/0173-Add-config-for-villager-trading.patch similarity index 100% rename from patches/server/0172-Add-config-for-villager-trading.patch rename to patches/server/0173-Add-config-for-villager-trading.patch diff --git a/patches/server/0173-Allow-infinity-on-crossbows.patch b/patches/server/0174-Allow-infinity-on-crossbows.patch similarity index 96% rename from patches/server/0173-Allow-infinity-on-crossbows.patch rename to patches/server/0174-Allow-infinity-on-crossbows.patch index 17dd39c7a..7dfc23da1 100644 --- a/patches/server/0173-Allow-infinity-on-crossbows.patch +++ b/patches/server/0174-Allow-infinity-on-crossbows.patch @@ -59,10 +59,10 @@ index 6f6106ca4d74d50a7b74b086adc96c58c7906cb6..d6417c1e77ac8823e18a179dc9f61757 public abstract boolean canEnchant(Item item); diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 45dd23971204a7a04aca9c271643cada98add9fb..6c5ab2a340abc255f39a48e4cf21459d10f38ee8 100644 +index 0e83d4f434225a5916104a9a14c0913eaafc04c6..e4f19ff7c1cf56f014432aba9e2f8788b48f75fb 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java -@@ -206,6 +206,7 @@ public class PurpurConfig { +@@ -208,6 +208,7 @@ public class PurpurConfig { } public static boolean allowInfinityMending = false; @@ -70,7 +70,7 @@ index 45dd23971204a7a04aca9c271643cada98add9fb..6c5ab2a340abc255f39a48e4cf21459d private static void enchantmentSettings() { if (version < 5) { boolean oldValue = getBoolean("settings.enchantment.allow-infinite-and-mending-together", false); -@@ -213,6 +214,7 @@ public class PurpurConfig { +@@ -215,6 +216,7 @@ public class PurpurConfig { set("settings.enchantment.allow-infinite-and-mending-together", null); } allowInfinityMending = getBoolean("settings.enchantment.allow-infinity-and-mending-together", allowInfinityMending); diff --git a/patches/server/0174-Drowning-Settings.patch b/patches/server/0175-Drowning-Settings.patch similarity index 100% rename from patches/server/0174-Drowning-Settings.patch rename to patches/server/0175-Drowning-Settings.patch diff --git a/patches/server/0175-Break-individual-slabs-when-sneaking.patch b/patches/server/0176-Break-individual-slabs-when-sneaking.patch similarity index 100% rename from patches/server/0175-Break-individual-slabs-when-sneaking.patch rename to patches/server/0176-Break-individual-slabs-when-sneaking.patch diff --git a/patches/server/0176-Config-to-disable-hostile-mob-spawn-on-ice.patch b/patches/server/0177-Config-to-disable-hostile-mob-spawn-on-ice.patch similarity index 100% rename from patches/server/0176-Config-to-disable-hostile-mob-spawn-on-ice.patch rename to patches/server/0177-Config-to-disable-hostile-mob-spawn-on-ice.patch diff --git a/patches/server/0177-Config-to-show-Armor-Stand-arms-on-spawn.patch b/patches/server/0178-Config-to-show-Armor-Stand-arms-on-spawn.patch similarity index 100% rename from patches/server/0177-Config-to-show-Armor-Stand-arms-on-spawn.patch rename to patches/server/0178-Config-to-show-Armor-Stand-arms-on-spawn.patch diff --git a/patches/server/0178-Option-to-make-doors-require-redstone.patch b/patches/server/0179-Option-to-make-doors-require-redstone.patch similarity index 100% rename from patches/server/0178-Option-to-make-doors-require-redstone.patch rename to patches/server/0179-Option-to-make-doors-require-redstone.patch diff --git a/patches/server/0179-Config-to-allow-for-unsafe-enchants.patch b/patches/server/0180-Config-to-allow-for-unsafe-enchants.patch similarity index 95% rename from patches/server/0179-Config-to-allow-for-unsafe-enchants.patch rename to patches/server/0180-Config-to-allow-for-unsafe-enchants.patch index d4dad5dc5..faeb7cde4 100644 --- a/patches/server/0179-Config-to-allow-for-unsafe-enchants.patch +++ b/patches/server/0180-Config-to-allow-for-unsafe-enchants.patch @@ -44,10 +44,10 @@ index 5bd25f8b8a554b965665b3f5686c14189b51f28e..4be9924556e0f447dbe6a53c2d4cb7fb this.getOrCreateTag().put(key, tag); } diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 6c5ab2a340abc255f39a48e4cf21459d10f38ee8..602edaef63a5272a6ffe0850183e43ec9a5309d5 100644 +index e4f19ff7c1cf56f014432aba9e2f8788b48f75fb..076f98308c788ed77e829020da1343a45cb8a175 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java -@@ -207,6 +207,7 @@ public class PurpurConfig { +@@ -209,6 +209,7 @@ public class PurpurConfig { public static boolean allowInfinityMending = false; public static boolean allowCrossbowInfinity = false; @@ -55,7 +55,7 @@ index 6c5ab2a340abc255f39a48e4cf21459d10f38ee8..602edaef63a5272a6ffe0850183e43ec private static void enchantmentSettings() { if (version < 5) { boolean oldValue = getBoolean("settings.enchantment.allow-infinite-and-mending-together", false); -@@ -215,6 +216,7 @@ public class PurpurConfig { +@@ -217,6 +218,7 @@ public class PurpurConfig { } allowInfinityMending = getBoolean("settings.enchantment.allow-infinity-and-mending-together", allowInfinityMending); allowCrossbowInfinity = getBoolean("settings.enchantment.allow-infinity-on-crossbow", allowCrossbowInfinity); diff --git a/patches/server-unmapped/0191-Configurable-sponge-absorption.patch b/patches/server/0181-Configurable-sponge-absorption.patch similarity index 68% rename from patches/server-unmapped/0191-Configurable-sponge-absorption.patch rename to patches/server/0181-Configurable-sponge-absorption.patch index b5c4dbcd1..daafba6db 100644 --- a/patches/server-unmapped/0191-Configurable-sponge-absorption.patch +++ b/patches/server/0181-Configurable-sponge-absorption.patch @@ -5,28 +5,28 @@ Subject: [PATCH] Configurable sponge absorption Allows the total area and radius of water blocks the sponge can absorb to be changed. -diff --git a/src/main/java/net/minecraft/world/level/block/BlockSponge.java b/src/main/java/net/minecraft/world/level/block/BlockSponge.java -index d80eee47390ab202eea0368571421bbc94655ab1..b36536d4cc95797c59549f5db1f67b34ff7b9be2 100644 ---- a/src/main/java/net/minecraft/world/level/block/BlockSponge.java -+++ b/src/main/java/net/minecraft/world/level/block/BlockSponge.java -@@ -76,13 +76,13 @@ public class BlockSponge extends Block { - if (fluid.a((Tag) TagsFluid.WATER)) { - if (iblockdata.getBlock() instanceof IFluidSource && ((IFluidSource) iblockdata.getBlock()).removeFluid(blockList, blockposition2, iblockdata) != FluidTypes.EMPTY) { // CraftBukkit +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 1ef8eadd4e59f2e5d2bbd84f6f9bcf37b59db5bd..5b10e1110f938745c8f9ed0b55960566bc720c30 100644 +--- a/src/main/java/net/minecraft/world/level/block/SpongeBlock.java ++++ b/src/main/java/net/minecraft/world/level/block/SpongeBlock.java +@@ -77,13 +77,13 @@ public class SpongeBlock extends Block { + if (fluid.is((Tag) FluidTags.WATER)) { + if (iblockdata.getBlock() instanceof BucketPickup && !((BucketPickup) iblockdata.getBlock()).pickupBlock(blockList, blockposition2, iblockdata).isEmpty()) { // CraftBukkit ++i; - if (j < 6) { + if (j < world.purpurConfig.spongeAbsorptionRadius) { // Purpur queue.add(new Tuple<>(blockposition2, j + 1)); } - } else if (iblockdata.getBlock() instanceof BlockFluids) { - blockList.setTypeAndData(blockposition2, Blocks.AIR.getBlockData(), 3); // CraftBukkit + } else if (iblockdata.getBlock() instanceof LiquidBlock) { + blockList.setBlock(blockposition2, Blocks.AIR.defaultBlockState(), 3); // CraftBukkit ++i; - if (j < 6) { + if (j < world.purpurConfig.spongeAbsorptionRadius) { // Purpur queue.add(new Tuple<>(blockposition2, j + 1)); } } else if (material == Material.WATER_PLANT || material == Material.REPLACEABLE_WATER_PLANT) { -@@ -93,14 +93,14 @@ public class BlockSponge extends Block { - blockList.setTypeAndData(blockposition2, Blocks.AIR.getBlockData(), 3); +@@ -94,14 +94,14 @@ public class SpongeBlock extends Block { + blockList.setBlock(blockposition2, Blocks.AIR.defaultBlockState(), 3); // CraftBukkit end ++i; - if (j < 6) { @@ -43,10 +43,10 @@ index d80eee47390ab202eea0368571421bbc94655ab1..b36536d4cc95797c59549f5db1f67b34 } } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 9cb06d3e3109c08b2e9f3336365dd14241c4faca..8be800300b6cbbd17ede87f279ebb04e9c9123fc 100644 +index 1832d269b91665cb3623c48af69890ecafc1506c..35ef5be9d448f3f1447a19d8c26ae9bedecb9820 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -601,6 +601,13 @@ public class PurpurWorldConfig { +@@ -608,6 +608,13 @@ public class PurpurWorldConfig { spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone); } diff --git a/patches/server/0182-Projectile-offset-config.patch b/patches/server/0182-Projectile-offset-config.patch new file mode 100644 index 000000000..ea412785d --- /dev/null +++ b/patches/server/0182-Projectile-offset-config.patch @@ -0,0 +1,125 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: YouHaveTrouble +Date: Thu, 25 Mar 2021 01:56:38 +0100 +Subject: [PATCH] Projectile offset config + + +diff --git a/src/main/java/net/minecraft/world/item/BowItem.java b/src/main/java/net/minecraft/world/item/BowItem.java +index fe4695adbb506733b4029ecfabcfda3d23dde52a..214a06004ae36905867675b17e0a43c2703a3196 100644 +--- a/src/main/java/net/minecraft/world/item/BowItem.java ++++ b/src/main/java/net/minecraft/world/item/BowItem.java +@@ -44,7 +44,7 @@ public class BowItem extends ProjectileWeaponItem implements Vanishable { + ArrowItem itemarrow = (ArrowItem) (itemstack1.getItem() instanceof ArrowItem ? itemstack1.getItem() : Items.ARROW); + AbstractArrow entityarrow = itemarrow.createArrow(world, itemstack1, (LivingEntity) entityhuman); + +- entityarrow.shootFromRotation(entityhuman, entityhuman.getXRot(), entityhuman.getYRot(), 0.0F, f * 3.0F, 1.0F); ++ entityarrow.shootFromRotation(entityhuman, entityhuman.getXRot(), entityhuman.getYRot(), 0.0F, f * 3.0F, (float) world.purpurConfig.bowProjectileOffset); // Purpur + if (f == 1.0F) { + entityarrow.setCritArrow(true); + } +diff --git a/src/main/java/net/minecraft/world/item/CrossbowItem.java b/src/main/java/net/minecraft/world/item/CrossbowItem.java +index 264542304babba94e364811da8d7b51b812a2b47..e2ff5d9c62ef812155e7851e6bc869e573f48240 100644 +--- a/src/main/java/net/minecraft/world/item/CrossbowItem.java ++++ b/src/main/java/net/minecraft/world/item/CrossbowItem.java +@@ -65,7 +65,7 @@ public class CrossbowItem extends ProjectileWeaponItem implements Vanishable { + ItemStack itemstack = user.getItemInHand(hand); + + if (CrossbowItem.isCharged(itemstack)) { +- CrossbowItem.performShooting(world, user, hand, itemstack, CrossbowItem.getShootingPower(itemstack), 1.0F); ++ CrossbowItem.performShooting(world, user, hand, itemstack, CrossbowItem.getShootingPower(itemstack), (float) world.purpurConfig.crossbowProjectileOffset); // Purpur + CrossbowItem.setCharged(itemstack, false); + return InteractionResultHolder.consume(itemstack); + } else if (!user.getProjectile(itemstack).isEmpty()) { +diff --git a/src/main/java/net/minecraft/world/item/EggItem.java b/src/main/java/net/minecraft/world/item/EggItem.java +index 98b353f5cc05da5ee5a6c6110a08e43e819fe6d2..8fe9757be77e9a4117a7bbf1e8bea93fc1b954c1 100644 +--- a/src/main/java/net/minecraft/world/item/EggItem.java ++++ b/src/main/java/net/minecraft/world/item/EggItem.java +@@ -24,7 +24,7 @@ public class EggItem extends Item { + ThrownEgg entityegg = new ThrownEgg(world, user); + + entityegg.setItem(itemstack); +- entityegg.shootFromRotation(user, user.getXRot(), user.getYRot(), 0.0F, 1.5F, 1.0F); ++ entityegg.shootFromRotation(user, user.getXRot(), user.getYRot(), 0.0F, 1.5F, (float) world.purpurConfig.eggProjectileOffset); // Purpur + // Paper start + 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) entityegg.getBukkitEntity()); + if (event.callEvent() && world.addFreshEntity(entityegg)) { +diff --git a/src/main/java/net/minecraft/world/item/EnderpearlItem.java b/src/main/java/net/minecraft/world/item/EnderpearlItem.java +index 897c202c0905040072a06fdfa2032a7f9461b088..6b27d98d06b163243bb0e1bb979aad03f48d7770 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 { + ThrownEnderpearl entityenderpearl = new ThrownEnderpearl(world, user); + + entityenderpearl.setItem(itemstack); +- entityenderpearl.shootFromRotation(user, user.getXRot(), user.getYRot(), 0.0F, 1.5F, 1.0F); ++ entityenderpearl.shootFromRotation(user, user.getXRot(), user.getYRot(), 0.0F, 1.5F, (float) world.purpurConfig.enderPearlProjectileOffset); // Purpur + // Paper start + 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) entityenderpearl.getBukkitEntity()); + if (event.callEvent() && world.addFreshEntity(entityenderpearl)) { +diff --git a/src/main/java/net/minecraft/world/item/SnowballItem.java b/src/main/java/net/minecraft/world/item/SnowballItem.java +index 717f90a2ca41734f7ee09401f21474820fa1cf48..628a9402419d0effae9eed38d26dada5194702d3 100644 +--- a/src/main/java/net/minecraft/world/item/SnowballItem.java ++++ b/src/main/java/net/minecraft/world/item/SnowballItem.java +@@ -25,7 +25,7 @@ public class SnowballItem extends Item { + Snowball entitysnowball = new Snowball(world, user); + + entitysnowball.setItem(itemstack); +- entitysnowball.shootFromRotation(user, user.getXRot(), user.getYRot(), 0.0F, 1.5F, 1.0F); ++ entitysnowball.shootFromRotation(user, user.getXRot(), user.getYRot(), 0.0F, 1.5F, (float) world.purpurConfig.snowballProjectileOffset); // Purpur + // Paper start + 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) entitysnowball.getBukkitEntity()); + if (event.callEvent() && world.addFreshEntity(entitysnowball)) { +diff --git a/src/main/java/net/minecraft/world/item/ThrowablePotionItem.java b/src/main/java/net/minecraft/world/item/ThrowablePotionItem.java +index de5bdceb4c8578fb972a2fd5ee0dfdae509e46dc..bcf63ccb6e679cb97d658780b2663aafa3568bcb 100644 +--- a/src/main/java/net/minecraft/world/item/ThrowablePotionItem.java ++++ b/src/main/java/net/minecraft/world/item/ThrowablePotionItem.java +@@ -18,7 +18,7 @@ public class ThrowablePotionItem extends PotionItem { + if (!world.isClientSide) { + ThrownPotion thrownPotion = new ThrownPotion(world, user); + thrownPotion.setItem(itemStack); +- thrownPotion.shootFromRotation(user, user.getXRot(), user.getYRot(), -20.0F, 0.5F, 1.0F); ++ thrownPotion.shootFromRotation(user, user.getXRot(), user.getYRot(), -20.0F, 0.5F, (float) world.purpurConfig.throwablePotionProjectileOffset); // Purpur + // Paper start + 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.getBukkitEntity()); + if (event.callEvent() && world.addFreshEntity(thrownPotion)) { +diff --git a/src/main/java/net/minecraft/world/item/TridentItem.java b/src/main/java/net/minecraft/world/item/TridentItem.java +index 3f53dc8f250ad3f7616ce7ef0a2353caa0ab1879..29130aa9673a3956030f3e43b784ac46ac7a65ae 100644 +--- a/src/main/java/net/minecraft/world/item/TridentItem.java ++++ b/src/main/java/net/minecraft/world/item/TridentItem.java +@@ -77,7 +77,7 @@ public class TridentItem extends Item implements Vanishable { + if (k == 0) { + ThrownTrident entitythrowntrident = new ThrownTrident(world, entityhuman, stack); + +- entitythrowntrident.shootFromRotation(entityhuman, entityhuman.getXRot(), entityhuman.getYRot(), 0.0F, 2.5F + (float) k * 0.5F, 1.0F); ++ entitythrowntrident.shootFromRotation(entityhuman, entityhuman.getXRot(), entityhuman.getYRot(), 0.0F, 2.5F + (float) k * 0.5F, (float) world.purpurConfig.tridentProjectileOffset); // Purpur + if (entityhuman.getAbilities().instabuild) { + entitythrowntrident.pickup = AbstractArrow.Pickup.CREATIVE_ONLY; + } +diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +index 35ef5be9d448f3f1447a19d8c26ae9bedecb9820..876f3f74f27d97109fde626477f16c68b38921b9 100644 +--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java ++++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +@@ -360,6 +360,23 @@ public class PurpurWorldConfig { + witherSkullDespawnRate = getInt("gameplay-mechanics.projectile-despawn-rates.wither_skull", witherSkullDespawnRate); + } + ++ public double bowProjectileOffset = 1.0D; ++ public double crossbowProjectileOffset = 1.0D; ++ public double eggProjectileOffset = 1.0D; ++ public double enderPearlProjectileOffset = 1.0D; ++ public double throwablePotionProjectileOffset = 1.0D; ++ public double tridentProjectileOffset = 1.0D; ++ public double snowballProjectileOffset = 1.0D; ++ private void projectileOffsetSettings() { ++ bowProjectileOffset = getDouble("gameplay-mechanics.projectile-offset.bow", bowProjectileOffset); ++ crossbowProjectileOffset = getDouble("gameplay-mechanics.projectile-offset.crossbow", crossbowProjectileOffset); ++ eggProjectileOffset = getDouble("gameplay-mechanics.projectile-offset.egg", eggProjectileOffset); ++ enderPearlProjectileOffset = getDouble("gameplay-mechanics.projectile-offset.ender-pearl", enderPearlProjectileOffset); ++ throwablePotionProjectileOffset = getDouble("gameplay-mechanics.projectile-offset.throwable-potion", throwablePotionProjectileOffset); ++ tridentProjectileOffset = getDouble("gameplay-mechanics.projectile-offset.trident", tridentProjectileOffset); ++ snowballProjectileOffset = getDouble("gameplay-mechanics.projectile-offset.snowball", snowballProjectileOffset); ++ } ++ + public boolean silkTouchEnabled = false; + public String silkTouchSpawnerName = "Spawner"; + public List silkTouchSpawnerLore = new ArrayList<>(); diff --git a/patches/server/0183-Config-for-powered-rail-activation-distance.patch b/patches/server/0183-Config-for-powered-rail-activation-distance.patch new file mode 100644 index 000000000..4346c9318 --- /dev/null +++ b/patches/server/0183-Config-for-powered-rail-activation-distance.patch @@ -0,0 +1,35 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Encode42 +Date: Thu, 25 Mar 2021 18:10:03 -0400 +Subject: [PATCH] Config for powered rail activation distance + + +diff --git a/src/main/java/net/minecraft/world/level/block/PoweredRailBlock.java b/src/main/java/net/minecraft/world/level/block/PoweredRailBlock.java +index 7fddb6fa8fd30ef88346a59f7867aae792f13772..40893e71fe8447b695350273bef9623bd5accdcd 100644 +--- a/src/main/java/net/minecraft/world/level/block/PoweredRailBlock.java ++++ b/src/main/java/net/minecraft/world/level/block/PoweredRailBlock.java +@@ -23,7 +23,7 @@ public class PoweredRailBlock extends BaseRailBlock { + } + + protected boolean findPoweredRailSignal(Level world, BlockPos pos, BlockState state, boolean flag, int distance) { +- if (distance >= 8) { ++ if (distance >= world.purpurConfig.railActivationRange) { // Purpur + return false; + } else { + int j = pos.getX(); +diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +index 876f3f74f27d97109fde626477f16c68b38921b9..c463a062b29957c0a5000bac9dd45076be6a94e6 100644 +--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java ++++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +@@ -620,6 +620,11 @@ public class PurpurWorldConfig { + slabHalfBreak = getBoolean("blocks.slab.break-individual-slabs-when-sneaking", slabHalfBreak); + } + ++ public int railActivationRange = 8; ++ private void railSettings() { ++ railActivationRange = getInt("blocks.powered-rail.activation-range", railActivationRange); ++ } ++ + public boolean spawnerDeactivateByRedstone = false; + private void spawnerSettings() { + spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone); diff --git a/patches/server/0184-Piglin-portal-spawn-modifier.patch b/patches/server/0184-Piglin-portal-spawn-modifier.patch new file mode 100644 index 000000000..dd168c06d --- /dev/null +++ b/patches/server/0184-Piglin-portal-spawn-modifier.patch @@ -0,0 +1,32 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: William Blake Galbreath +Date: Tue, 13 Apr 2021 11:19:35 -0500 +Subject: [PATCH] Piglin portal spawn modifier + +Allows changing the modifier for the piglin spawn chance from a portal block +based on the world difficulty. + +For example, with the default vanilla value of 2000 there is a 2 out of 2000 chance +for a piglin to spawn in a portal block each tick in normal mode. + +Equation: random.nextInt(modifier) < difficulty + +Difficulties: +0 - peaceful +1 - easy +2 - normal +3 - hard + +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 fef1027829c44957e23c0a121033bfb7640d06f0..c42349d0f6b0025525278295b36f4030f122800e 100644 +--- a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java ++++ b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java +@@ -55,7 +55,7 @@ public class NetherPortalBlock extends Block { + + @Override + public void randomTick(BlockState state, ServerLevel world, BlockPos pos, Random random) { +- if (world.spigotConfig.enableZombiePigmenPortalSpawns && world.dimensionType().natural() && world.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && random.nextInt(2000) < world.getDifficulty().getId()) { // Spigot ++ if (world.spigotConfig.enableZombiePigmenPortalSpawns && world.dimensionType().natural() && world.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && random.nextInt(world.purpurConfig.piglinPortalSpawnModifier) < world.getDifficulty().getId()) { // Spigot // Purpur + while (world.getBlockState(pos).is((Block) this)) { + pos = pos.below(); + } diff --git a/patches/server-unmapped/0195-Config-to-change-max-number-of-bees.patch b/patches/server/0185-Config-to-change-max-number-of-bees.patch similarity index 60% rename from patches/server-unmapped/0195-Config-to-change-max-number-of-bees.patch rename to patches/server/0185-Config-to-change-max-number-of-bees.patch index 36a448d4e..164c1409c 100644 --- a/patches/server-unmapped/0195-Config-to-change-max-number-of-bees.patch +++ b/patches/server/0185-Config-to-change-max-number-of-bees.patch @@ -4,24 +4,24 @@ Date: Thu, 29 Apr 2021 19:37:48 +0200 Subject: [PATCH] Config to change max number of bees -diff --git a/src/main/java/net/minecraft/world/level/block/entity/TileEntityBeehive.java b/src/main/java/net/minecraft/world/level/block/entity/TileEntityBeehive.java -index 80083a6666a28372946cf0e68ded44d075357f7d..58bf1008ab19340bce5111e006a8de0e7f39e0e5 100644 ---- a/src/main/java/net/minecraft/world/level/block/entity/TileEntityBeehive.java -+++ b/src/main/java/net/minecraft/world/level/block/entity/TileEntityBeehive.java -@@ -29,7 +29,7 @@ public class TileEntityBeehive extends TileEntity implements ITickable { - private final List bees = Lists.newArrayList(); +diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java +index 8484e80a70129fb0358d56efab6fd54798b54e6e..ffacc4b8cc3ab8285c4131aec58e48ffa9e1952e 100644 +--- a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java ++++ b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java +@@ -43,7 +43,7 @@ public class BeehiveBlockEntity extends BlockEntity { + private final List stored = Lists.newArrayList(); @Nullable - public BlockPosition flowerPos = null; + public BlockPos savedFlowerPos; - public int maxBees = 3; // CraftBukkit - allow setting max amount of bees a hive can hold -+ public int maxBees = net.pl3x.purpur.PurpurConfig.beeInsideBeeHive; // CraftBukkit - allow setting max amount of bees a hive can hold // Purpur - Change max bees inside beehive and bee_nest ++ public int maxBees = net.pl3x.purpur.PurpurConfig.beeInsideBeeHive; // CraftBukkit - allow setting max amount of bees a hive can hold // Purpur - public TileEntityBeehive() { - super(TileEntityTypes.BEEHIVE); + public BeehiveBlockEntity(BlockPos pos, BlockState state) { + super(BlockEntityType.BEEHIVE, pos, state); diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 0548eb1539aa7469e1762c1e43e6a8368fbf09fa..f15684b5d4764b2cae22c1d12b0b25cc41c04b93 100644 +index 076f98308c788ed77e829020da1343a45cb8a175..b402edaa5deaaa6e5fef3036c84060234f0c5d34 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java -@@ -213,6 +213,7 @@ public class PurpurConfig { +@@ -190,6 +190,7 @@ public class PurpurConfig { public static boolean enderChestSixRows = false; public static boolean enderChestPermissionRows = false; public static boolean cryingObsidianValidForPortalFrame = false; @@ -29,8 +29,8 @@ index 0548eb1539aa7469e1762c1e43e6a8368fbf09fa..f15684b5d4764b2cae22c1d12b0b25cc private static void blockSettings() { if (version < 3) { boolean oldValue = getBoolean("settings.barrel.packed-barrels", true); -@@ -228,6 +229,7 @@ public class PurpurConfig { - InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27); +@@ -205,6 +206,7 @@ public class PurpurConfig { + org.bukkit.event.inventory.InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27); enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows); cryingObsidianValidForPortalFrame = getBoolean("settings.blocks.crying_obsidian.valid-for-portal-frame", cryingObsidianValidForPortalFrame); + beeInsideBeeHive = getInt("settings.blocks.beehive.max-bees-inside", beeInsideBeeHive); diff --git a/patches/server/0186-Configurable-damage-settings-for-magma-blocks.patch b/patches/server/0186-Configurable-damage-settings-for-magma-blocks.patch new file mode 100644 index 000000000..0a98148e8 --- /dev/null +++ b/patches/server/0186-Configurable-damage-settings-for-magma-blocks.patch @@ -0,0 +1,50 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Ben Kerllenevich +Date: Thu, 29 Apr 2021 14:06:29 -0400 +Subject: [PATCH] Configurable damage settings for magma blocks + + +diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java +index e4a4541c6b9684d42cfe267920bcd13e82a13f6a..b79c2436c6a89a344ed17fd02d798a63a2972389 100644 +--- a/src/main/java/net/minecraft/world/entity/Entity.java ++++ b/src/main/java/net/minecraft/world/entity/Entity.java +@@ -897,7 +897,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n + } + // CraftBukkit end + +- if (this.onGround && (!this.isSteppingCarefully() || (block == Blocks.STONECUTTER && level.purpurConfig.stonecutterDamage > 0.0F))) { ++ if (this.onGround && (!this.isSteppingCarefully() || (block == Blocks.STONECUTTER && level.purpurConfig.stonecutterDamage > 0.0F) || (block == Blocks.MAGMA_BLOCK && level.purpurConfig.magmaBlockDamageWhenSneaking))) { // Purpur + block.stepOn(this.level, blockposition, iblockdata, this); + } + +diff --git a/src/main/java/net/minecraft/world/level/block/MagmaBlock.java b/src/main/java/net/minecraft/world/level/block/MagmaBlock.java +index 5d844ed98b916298a657d5e9766ab7f383a304e0..0129460ce1ca199a47b6657f824c75fdf0e44ccf 100644 +--- a/src/main/java/net/minecraft/world/level/block/MagmaBlock.java ++++ b/src/main/java/net/minecraft/world/level/block/MagmaBlock.java +@@ -29,7 +29,7 @@ public class MagmaBlock extends Block { + + @Override + public void stepOn(Level world, BlockPos pos, BlockState state, Entity entity) { +- if (!entity.fireImmune() && entity instanceof LivingEntity && !EnchantmentHelper.hasFrostWalker((LivingEntity) entity)) { ++ if (!entity.fireImmune() && entity instanceof LivingEntity && (world.purpurConfig.magmaBlockDamageWithFrostWalker || !EnchantmentHelper.hasFrostWalker((LivingEntity) entity))) { // Purpur + org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = world.getWorld().getBlockAt(pos.getX(), pos.getY(), pos.getZ()); // CraftBukkit + entity.hurt(DamageSource.HOT_FLOOR, 1.0F); + org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = null; // CraftBukkit +diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +index c463a062b29957c0a5000bac9dd45076be6a94e6..d02c15de3909e8892ca950c2748624dc299155cf 100644 +--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java ++++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +@@ -587,6 +587,13 @@ public class PurpurWorldConfig { + kelpMaxGrowthAge = getInt("blocks.kelp.max-growth-age", kelpMaxGrowthAge); + } + ++ public boolean magmaBlockDamageWhenSneaking = false; ++ public boolean magmaBlockDamageWithFrostWalker = false; ++ private void magmaBlockSettings() { ++ magmaBlockDamageWhenSneaking = getBoolean("blocks.magma-block.damage-when-sneaking", magmaBlockDamageWhenSneaking); ++ magmaBlockDamageWithFrostWalker = getBoolean("blocks.magma-block.damage-with-frost-walker", magmaBlockDamageWithFrostWalker); ++ } ++ + public boolean powderSnowBypassMobGriefing = false; + private void powderSnowSettings() { + powderSnowBypassMobGriefing = getBoolean("blocks.powder_snow.bypass-mob-griefing", powderSnowBypassMobGriefing); diff --git a/patches/server-unmapped/0197-Config-for-wither-explosion-radius.patch b/patches/server/0187-Config-for-wither-explosion-radius.patch similarity index 56% rename from patches/server-unmapped/0197-Config-for-wither-explosion-radius.patch rename to patches/server/0187-Config-for-wither-explosion-radius.patch index 3ae87def3..f0d39b2f2 100644 --- a/patches/server-unmapped/0197-Config-for-wither-explosion-radius.patch +++ b/patches/server/0187-Config-for-wither-explosion-radius.patch @@ -4,34 +4,34 @@ Date: Thu, 29 Apr 2021 14:39:07 -0400 Subject: [PATCH] Config for wither explosion radius -diff --git a/src/main/java/net/minecraft/world/entity/projectile/EntityWitherSkull.java b/src/main/java/net/minecraft/world/entity/projectile/EntityWitherSkull.java -index 616b5267d1d94b2be37ec48983b45e4478502fb5..052cffb156e4e6f31df3935fd8312eb37e3b7019 100644 ---- a/src/main/java/net/minecraft/world/entity/projectile/EntityWitherSkull.java -+++ b/src/main/java/net/minecraft/world/entity/projectile/EntityWitherSkull.java -@@ -98,7 +98,7 @@ public class EntityWitherSkull extends EntityFireball { +diff --git a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java +index 430aa10101d9f21561155941ff24441fd0c4103a..de91f0dd7f9a62e5a96b4cc3e4f505ecdcfccd92 100644 +--- a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java ++++ b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java +@@ -97,7 +97,7 @@ public class WitherSkull extends AbstractHurtingProjectile { // CraftBukkit start - // this.world.createExplosion(this, this.locX(), this.locY(), this.locZ(), 1.0F, false, explosion_effect); + // this.level.createExplosion(this, this.locX(), this.locY(), this.locZ(), 1.0F, false, explosion_effect); - ExplosionPrimeEvent event = new ExplosionPrimeEvent(this.getBukkitEntity(), 1.0F, false); -+ ExplosionPrimeEvent event = new ExplosionPrimeEvent(this.getBukkitEntity(), world.purpurConfig.witherExplosionRadius, false); // Purpur - this.world.getServer().getPluginManager().callEvent(event); ++ ExplosionPrimeEvent event = new ExplosionPrimeEvent(this.getBukkitEntity(), this.level.purpurConfig.witherExplosionRadius, false); // Purpur + this.level.getCraftServer().getPluginManager().callEvent(event); if (!event.isCancelled()) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 9ad9d80331ea52c08500cd9155ba6fdc1bc22a3a..3d3e4e686cd74145b002b2df276e61762697918b 100644 +index d02c15de3909e8892ca950c2748624dc299155cf..091aa6423d7b35dc4ec813412316f166510be016 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1913,6 +1913,7 @@ public class PurpurWorldConfig { +@@ -1956,6 +1956,7 @@ public class PurpurWorldConfig { public int witherHealthRegenDelay = 20; - public double witherMaxHealth = 300.0D; + public boolean witherBypassMobGriefing = false; public boolean witherCanRideVehicles = false; + public float witherExplosionRadius = 1.0F; private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -1931,6 +1932,7 @@ public class PurpurWorldConfig { - } - witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth); +@@ -1974,6 +1975,7 @@ public class PurpurWorldConfig { + witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); + witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles); + witherExplosionRadius = (float) getDouble("mobs.wither.explosion-radius", witherExplosionRadius); }