From d7cdc72bdfeb2cbc0856c330b3d52ac998ccb82a Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Tue, 23 Nov 2021 14:22:49 +0100 Subject: [PATCH] More more more more work --- build-data/dev-imports.txt | 2 - ...0034-Add-PlayerUseUnknownEntityEvent.patch | 0 ...ent-to-allow-plugins-to-handle-clien.patch | 0 .../api/0036-Arrow-pickup-rule-API.patch | 0 ...ityRegainHealthEvent-isFastRegen-API.patch | 0 .../api/0038-LootTable-API.patch | 0 .../api/0039-Add-EntityZapEvent.patch | 0 .../{unapplied => }/api/0040-Misc-Utils.patch | 0 ...1-Allow-Reloading-of-Command-Aliases.patch | 0 ...2-Add-source-to-PlayerExpChangeEvent.patch | 0 .../api/0043-Add-ProjectileCollideEvent.patch | 0 ...0044-Add-String-based-Action-Bar-API.patch | 0 ...to-control-if-armour-stands-can-move.patch | 0 .../api/0046-IllegalPacketEvent.patch | 0 .../api/0047-Fireworks-API-s.patch | 0 .../0048-PlayerTeleportEndGatewayEvent.patch | 0 ...rovide-E-TE-Chunk-count-stat-methods.patch | 2 +- ...PI-for-Reason-Source-Triggering-play.patch | 0 ...orldBorder-isInBounds-Location-check.patch | 0 ...n-option-to-prevent-player-names-fro.patch | 0 .../api/0053-Fix-upstream-javadocs.patch | 0 .../api/0054-Item-canEntityPickup.patch | 0 ...gionFileCache-and-make-configurable.patch} | 4 +- ...-Do-not-load-chunks-for-Pathfinding.patch} | 2 +- ...078-Add-PlayerUseUnknownEntityEvent.patch} | 4 +- ...-Configurable-Grass-Spread-Tick-Rate.patch | 8 ++- ...g-BlockPlaceEvent-triggering-physics.patch | 4 +- .../server/0081-Optimize-DataBits.patch | 30 +++++----- ...nilla-per-world-scoreboard-coloring-.patch | 0 ...nd-for-setting-passengers-on-players.patch | 4 +- .../0084-Configurable-Player-Collision.patch | 16 ++--- ...ent-to-allow-plugins-to-handle-clien.patch | 0 .../0086-Configurable-RCON-IP-address.patch | 4 +- ...tyRegainHealthEvent-isFastRegen-API.patch} | 10 ++-- ...to-configure-frosted_ice-properties.patch} | 10 ++-- ...possibility-for-getServer-singleton.patch} | 12 ++-- ...tem-frames-performance-and-bug-fixe.patch} | 26 ++++----- ...API-Replenishable-Lootables-Feature.patch} | 8 +-- ...-scoreboard-teams-to-scoreboard.dat.patch} | 4 +- ...em-property-for-disabling-watchdoge.patch} | 0 ...0094-Optimize-UserCache-Thread-Safe.patch} | 16 ++--- ...-Optional-TNT-doesn-t-move-in-water.patch} | 6 +- ...-redstone-torch-rapid-clock-removal.patch} | 8 +-- .../0097-Add-server-name-parameter.patch} | 2 +- ...n-Wither-Death-sounds-to-same-world.patch} | 13 ++--- .../0099-Fix-Old-Sign-Conversion.patch} | 12 ++-- ...locking-on-Network-Manager-creation.patch} | 2 +- ...-profiles-that-have-no-UUID-and-no-.patch} | 2 +- ...etting-for-proxy-online-mode-status.patch} | 8 +-- ...timise-BlockState-s-hashCode-equals.patch} | 19 +++--- ...nfigurable-packet-in-spam-threshold.patch} | 4 +- ...5-Configurable-flying-kick-messages.patch} | 6 +- ...k-reference-on-Craft-Entity-removal.patch} | 0 ...ion-to-remove-corrupt-tile-entities.patch} | 15 ++++- .../0108-Add-EntityZapEvent.patch} | 6 +- ...-from-ArmorStand-and-SpawnEgg-items.patch} | 4 +- ...10-Cache-user-authenticator-threads.patch} | 10 ++-- ...-Allow-Reloading-of-Command-Aliases.patch} | 4 +- ...-Add-source-to-PlayerExpChangeEvent.patch} | 2 +- ...-Don-t-let-fishinghooks-use-portals.patch} | 4 +- .../0114-Add-ProjectileCollideEvent.patch} | 12 ++-- ...ent-Pathfinding-out-of-World-Border.patch} | 4 +- ...mize-World.isLoaded-BlockPosition-Z.patch} | 4 +- ...Bound-Treasure-Maps-to-World-Border.patch} | 18 +++--- ...igurable-Cartographer-Treasure-Maps.patch} | 4 +- .../0119-Optimize-ItemStack.isEmpty.patch} | 4 +- ...o-control-if-armour-stands-can-move.patch} | 6 +- .../0121-String-based-Action-Bar-API.patch} | 4 +- ...2-Properly-fix-item-duplication-bug.patch} | 8 +-- .../0123-Firework-API-s.patch} | 4 +- .../0124-PlayerTeleportEndGatewayEvent.patch} | 6 +- ...ovide-E-TE-Chunk-count-stat-methods.patch} | 6 +- .../0126-Enforce-Sync-Player-Saves.patch} | 2 +- ...low-entities-to-ride-themselves-572.patch} | 4 +- ...I-for-Reason-Source-Triggering-play.patch} | 58 +++++++++---------- .../0129-Cap-Entity-Collisions.patch} | 8 +-- ...-CraftScheduler-Async-Task-Debugger.patch} | 0 .../0131-Do-not-let-armorstands-drown.patch} | 4 +- ...e-async-calls-to-restart-the-server.patch} | 12 ++-- ...e-parrots-stay-on-shoulders-despite.patch} | 8 +-- ...-option-to-prevent-player-names-fro.patch} | 4 +- ...leAppender-for-console-improvements.patch} | 50 ++++++++-------- ...rable-option-to-disable-creeper-lin.patch} | 2 +- .../0137-Item-canEntityPickup.patch} | 8 +-- ...more-aggressive-in-the-chunk-unload-.patch | 0 85 files changed, 272 insertions(+), 261 deletions(-) rename patches/{unapplied => }/api/0034-Add-PlayerUseUnknownEntityEvent.patch (100%) rename patches/{unapplied => }/api/0035-Add-handshake-event-to-allow-plugins-to-handle-clien.patch (100%) rename patches/{unapplied => }/api/0036-Arrow-pickup-rule-API.patch (100%) rename patches/{unapplied => }/api/0037-EntityRegainHealthEvent-isFastRegen-API.patch (100%) rename patches/{unapplied => }/api/0038-LootTable-API.patch (100%) rename patches/{unapplied => }/api/0039-Add-EntityZapEvent.patch (100%) rename patches/{unapplied => }/api/0040-Misc-Utils.patch (100%) rename patches/{unapplied => }/api/0041-Allow-Reloading-of-Command-Aliases.patch (100%) rename patches/{unapplied => }/api/0042-Add-source-to-PlayerExpChangeEvent.patch (100%) rename patches/{unapplied => }/api/0043-Add-ProjectileCollideEvent.patch (100%) rename patches/{unapplied => }/api/0044-Add-String-based-Action-Bar-API.patch (100%) rename patches/{unapplied => }/api/0045-Add-API-methods-to-control-if-armour-stands-can-move.patch (100%) rename patches/{unapplied => }/api/0046-IllegalPacketEvent.patch (100%) rename patches/{unapplied => }/api/0047-Fireworks-API-s.patch (100%) rename patches/{unapplied => }/api/0048-PlayerTeleportEndGatewayEvent.patch (100%) rename patches/{unapplied => }/api/0049-Provide-E-TE-Chunk-count-stat-methods.patch (93%) rename patches/{unapplied => }/api/0050-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch (100%) rename patches/{unapplied => }/api/0051-Expose-WorldBorder-isInBounds-Location-check.patch (100%) rename patches/{unapplied => }/api/0052-Add-configuration-option-to-prevent-player-names-fro.patch (100%) rename patches/{unapplied => }/api/0053-Fix-upstream-javadocs.patch (100%) rename patches/{unapplied => }/api/0054-Item-canEntityPickup.patch (100%) rename patches/{unapplied/server/0075-Sanitise-RegionFileCache-and-make-configurable.patch => server/0076-Sanitise-RegionFileCache-and-make-configurable.patch} (92%) rename patches/{unapplied/server/0076-Do-not-load-chunks-for-Pathfinding.patch => server/0077-Do-not-load-chunks-for-Pathfinding.patch} (95%) rename patches/{unapplied/server/0077-Add-PlayerUseUnknownEntityEvent.patch => server/0078-Add-PlayerUseUnknownEntityEvent.patch} (95%) rename patches/{unapplied => }/server/0079-Configurable-Grass-Spread-Tick-Rate.patch (87%) rename patches/{unapplied => }/server/0080-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch (84%) rename patches/{unapplied => }/server/0081-Optimize-DataBits.patch (75%) rename patches/{unapplied => }/server/0082-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch (100%) rename patches/{unapplied => }/server/0083-Workaround-for-setting-passengers-on-players.patch (87%) rename patches/{unapplied => }/server/0084-Configurable-Player-Collision.patch (91%) rename patches/{unapplied => }/server/0085-Add-handshake-event-to-allow-plugins-to-handle-clien.patch (100%) rename patches/{unapplied => }/server/0086-Configurable-RCON-IP-address.patch (93%) rename patches/{unapplied/server/0088-EntityRegainHealthEvent-isFastRegen-API.patch => server/0087-EntityRegainHealthEvent-isFastRegen-API.patch} (80%) rename patches/{unapplied/server/0089-Add-ability-to-configure-frosted_ice-properties.patch => server/0088-Add-ability-to-configure-frosted_ice-properties.patch} (79%) rename patches/{unapplied/server/0090-remove-null-possibility-for-getServer-singleton.patch => server/0089-remove-null-possibility-for-getServer-singleton.patch} (82%) rename patches/{unapplied/server/0091-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch => server/0090-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch} (88%) rename patches/{unapplied/server/0092-LootTable-API-Replenishable-Lootables-Feature.patch => server/0091-LootTable-API-Replenishable-Lootables-Feature.patch} (98%) rename patches/{unapplied/server/0093-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch => server/0092-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch} (91%) rename patches/{unapplied/server/0094-System-property-for-disabling-watchdoge.patch => server/0093-System-property-for-disabling-watchdoge.patch} (100%) rename patches/{unapplied/server/0095-Optimize-UserCache-Thread-Safe.patch => server/0094-Optimize-UserCache-Thread-Safe.patch} (88%) rename patches/{unapplied/server/0096-Optional-TNT-doesn-t-move-in-water.patch => server/0095-Optional-TNT-doesn-t-move-in-water.patch} (94%) rename patches/{unapplied/server/0097-Faster-redstone-torch-rapid-clock-removal.patch => server/0096-Faster-redstone-torch-rapid-clock-removal.patch} (92%) rename patches/{unapplied/server/0098-Add-server-name-parameter.patch => server/0097-Add-server-name-parameter.patch} (90%) rename patches/{unapplied/server/0099-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch => server/0098-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch} (79%) rename patches/{unapplied/server/0100-Fix-Old-Sign-Conversion.patch => server/0099-Fix-Old-Sign-Conversion.patch} (84%) rename patches/{unapplied/server/0101-Avoid-blocking-on-Network-Manager-creation.patch => server/0100-Avoid-blocking-on-Network-Manager-creation.patch} (96%) rename patches/{unapplied/server/0102-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch => server/0101-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch} (92%) rename patches/{unapplied/server/0103-Add-setting-for-proxy-online-mode-status.patch => server/0102-Add-setting-for-proxy-online-mode-status.patch} (91%) rename patches/{unapplied/server/0104-Optimise-BlockState-s-hashCode-equals.patch => server/0103-Optimise-BlockState-s-hashCode-equals.patch} (85%) rename patches/{unapplied/server/0105-Configurable-packet-in-spam-threshold.patch => server/0104-Configurable-packet-in-spam-threshold.patch} (93%) rename patches/{unapplied/server/0106-Configurable-flying-kick-messages.patch => server/0105-Configurable-flying-kick-messages.patch} (92%) rename patches/{unapplied/server/0107-Remove-FishingHook-reference-on-Craft-Entity-removal.patch => server/0106-Remove-FishingHook-reference-on-Craft-Entity-removal.patch} (100%) rename patches/{unapplied/server/0108-Option-to-remove-corrupt-tile-entities.patch => server/0107-Option-to-remove-corrupt-tile-entities.patch} (79%) rename patches/{unapplied/server/0109-Add-EntityZapEvent.patch => server/0108-Add-EntityZapEvent.patch} (94%) rename patches/{unapplied/server/0110-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch => server/0109-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch} (93%) rename patches/{unapplied/server/0111-Cache-user-authenticator-threads.patch => server/0110-Cache-user-authenticator-threads.patch} (89%) rename patches/{unapplied/server/0112-Allow-Reloading-of-Command-Aliases.patch => server/0111-Allow-Reloading-of-Command-Aliases.patch} (90%) rename patches/{unapplied/server/0113-Add-source-to-PlayerExpChangeEvent.patch => server/0112-Add-source-to-PlayerExpChangeEvent.patch} (96%) rename patches/{unapplied/server/0114-Don-t-let-fishinghooks-use-portals.patch => server/0113-Don-t-let-fishinghooks-use-portals.patch} (83%) rename patches/{unapplied/server/0115-Add-ProjectileCollideEvent.patch => server/0114-Add-ProjectileCollideEvent.patch} (92%) rename patches/{unapplied/server/0116-Prevent-Pathfinding-out-of-World-Border.patch => server/0115-Prevent-Pathfinding-out-of-World-Border.patch} (91%) rename patches/{unapplied/server/0117-Optimize-World.isLoaded-BlockPosition-Z.patch => server/0116-Optimize-World.isLoaded-BlockPosition-Z.patch} (86%) rename patches/{unapplied/server/0118-Bound-Treasure-Maps-to-World-Border.patch => server/0117-Bound-Treasure-Maps-to-World-Border.patch} (72%) rename patches/{unapplied/server/0119-Configurable-Cartographer-Treasure-Maps.patch => server/0118-Configurable-Cartographer-Treasure-Maps.patch} (95%) rename patches/{unapplied/server/0120-Optimize-ItemStack.isEmpty.patch => server/0119-Optimize-ItemStack.isEmpty.patch} (84%) rename patches/{unapplied/server/0121-Add-API-methods-to-control-if-armour-stands-can-move.patch => server/0120-Add-API-methods-to-control-if-armour-stands-can-move.patch} (90%) rename patches/{unapplied/server/0122-String-based-Action-Bar-API.patch => server/0121-String-based-Action-Bar-API.patch} (94%) rename patches/{unapplied/server/0123-Properly-fix-item-duplication-bug.patch => server/0122-Properly-fix-item-duplication-bug.patch} (81%) rename patches/{unapplied/server/0124-Firework-API-s.patch => server/0123-Firework-API-s.patch} (96%) rename patches/{unapplied/server/0125-PlayerTeleportEndGatewayEvent.patch => server/0124-PlayerTeleportEndGatewayEvent.patch} (87%) rename patches/{unapplied/server/0126-Provide-E-TE-Chunk-count-stat-methods.patch => server/0125-Provide-E-TE-Chunk-count-stat-methods.patch} (92%) rename patches/{unapplied/server/0127-Enforce-Sync-Player-Saves.patch => server/0126-Enforce-Sync-Player-Saves.patch} (92%) rename patches/{unapplied/server/0128-Don-t-allow-entities-to-ride-themselves-572.patch => server/0127-Don-t-allow-entities-to-ride-themselves-572.patch} (80%) rename patches/{unapplied/server/0129-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch => server/0128-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch} (88%) rename patches/{unapplied/server/0130-Cap-Entity-Collisions.patch => server/0129-Cap-Entity-Collisions.patch} (88%) rename patches/{unapplied/server/0131-Remove-CraftScheduler-Async-Task-Debugger.patch => server/0130-Remove-CraftScheduler-Async-Task-Debugger.patch} (100%) rename patches/{unapplied/server/0133-Do-not-let-armorstands-drown.patch => server/0131-Do-not-let-armorstands-drown.patch} (83%) rename patches/{unapplied/server/0134-Properly-handle-async-calls-to-restart-the-server.patch => server/0132-Properly-handle-async-calls-to-restart-the-server.patch} (95%) rename patches/{unapplied/server/0135-Add-option-to-make-parrots-stay-on-shoulders-despite.patch => server/0133-Add-option-to-make-parrots-stay-on-shoulders-despite.patch} (90%) rename patches/{unapplied/server/0136-Add-configuration-option-to-prevent-player-names-fro.patch => server/0134-Add-configuration-option-to-prevent-player-names-fro.patch} (91%) rename patches/{unapplied/server/0137-Use-TerminalConsoleAppender-for-console-improvements.patch => server/0135-Use-TerminalConsoleAppender-for-console-improvements.patch} (93%) rename patches/{unapplied/server/0138-provide-a-configurable-option-to-disable-creeper-lin.patch => server/0136-provide-a-configurable-option-to-disable-creeper-lin.patch} (95%) rename patches/{unapplied/server/0139-Item-canEntityPickup.patch => server/0137-Item-canEntityPickup.patch} (88%) rename patches/unapplied/{server => }/0132-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch (100%) diff --git a/build-data/dev-imports.txt b/build-data/dev-imports.txt index b8740198d8..b818b96e27 100644 --- a/build-data/dev-imports.txt +++ b/build-data/dev-imports.txt @@ -8,5 +8,3 @@ # To import classes from the vanilla Minecraft jar use `minecraft` as the artifactId: # minecraft net.minecraft.world.level.entity.LevelEntityGetterAdapter # minecraft net/minecraft/world/level/entity/LevelEntityGetter.java - -minecraft net.minecraft.network.protocol.game.ClientboundLoginPacket diff --git a/patches/unapplied/api/0034-Add-PlayerUseUnknownEntityEvent.patch b/patches/api/0034-Add-PlayerUseUnknownEntityEvent.patch similarity index 100% rename from patches/unapplied/api/0034-Add-PlayerUseUnknownEntityEvent.patch rename to patches/api/0034-Add-PlayerUseUnknownEntityEvent.patch diff --git a/patches/unapplied/api/0035-Add-handshake-event-to-allow-plugins-to-handle-clien.patch b/patches/api/0035-Add-handshake-event-to-allow-plugins-to-handle-clien.patch similarity index 100% rename from patches/unapplied/api/0035-Add-handshake-event-to-allow-plugins-to-handle-clien.patch rename to patches/api/0035-Add-handshake-event-to-allow-plugins-to-handle-clien.patch diff --git a/patches/unapplied/api/0036-Arrow-pickup-rule-API.patch b/patches/api/0036-Arrow-pickup-rule-API.patch similarity index 100% rename from patches/unapplied/api/0036-Arrow-pickup-rule-API.patch rename to patches/api/0036-Arrow-pickup-rule-API.patch diff --git a/patches/unapplied/api/0037-EntityRegainHealthEvent-isFastRegen-API.patch b/patches/api/0037-EntityRegainHealthEvent-isFastRegen-API.patch similarity index 100% rename from patches/unapplied/api/0037-EntityRegainHealthEvent-isFastRegen-API.patch rename to patches/api/0037-EntityRegainHealthEvent-isFastRegen-API.patch diff --git a/patches/unapplied/api/0038-LootTable-API.patch b/patches/api/0038-LootTable-API.patch similarity index 100% rename from patches/unapplied/api/0038-LootTable-API.patch rename to patches/api/0038-LootTable-API.patch diff --git a/patches/unapplied/api/0039-Add-EntityZapEvent.patch b/patches/api/0039-Add-EntityZapEvent.patch similarity index 100% rename from patches/unapplied/api/0039-Add-EntityZapEvent.patch rename to patches/api/0039-Add-EntityZapEvent.patch diff --git a/patches/unapplied/api/0040-Misc-Utils.patch b/patches/api/0040-Misc-Utils.patch similarity index 100% rename from patches/unapplied/api/0040-Misc-Utils.patch rename to patches/api/0040-Misc-Utils.patch diff --git a/patches/unapplied/api/0041-Allow-Reloading-of-Command-Aliases.patch b/patches/api/0041-Allow-Reloading-of-Command-Aliases.patch similarity index 100% rename from patches/unapplied/api/0041-Allow-Reloading-of-Command-Aliases.patch rename to patches/api/0041-Allow-Reloading-of-Command-Aliases.patch diff --git a/patches/unapplied/api/0042-Add-source-to-PlayerExpChangeEvent.patch b/patches/api/0042-Add-source-to-PlayerExpChangeEvent.patch similarity index 100% rename from patches/unapplied/api/0042-Add-source-to-PlayerExpChangeEvent.patch rename to patches/api/0042-Add-source-to-PlayerExpChangeEvent.patch diff --git a/patches/unapplied/api/0043-Add-ProjectileCollideEvent.patch b/patches/api/0043-Add-ProjectileCollideEvent.patch similarity index 100% rename from patches/unapplied/api/0043-Add-ProjectileCollideEvent.patch rename to patches/api/0043-Add-ProjectileCollideEvent.patch diff --git a/patches/unapplied/api/0044-Add-String-based-Action-Bar-API.patch b/patches/api/0044-Add-String-based-Action-Bar-API.patch similarity index 100% rename from patches/unapplied/api/0044-Add-String-based-Action-Bar-API.patch rename to patches/api/0044-Add-String-based-Action-Bar-API.patch diff --git a/patches/unapplied/api/0045-Add-API-methods-to-control-if-armour-stands-can-move.patch b/patches/api/0045-Add-API-methods-to-control-if-armour-stands-can-move.patch similarity index 100% rename from patches/unapplied/api/0045-Add-API-methods-to-control-if-armour-stands-can-move.patch rename to patches/api/0045-Add-API-methods-to-control-if-armour-stands-can-move.patch diff --git a/patches/unapplied/api/0046-IllegalPacketEvent.patch b/patches/api/0046-IllegalPacketEvent.patch similarity index 100% rename from patches/unapplied/api/0046-IllegalPacketEvent.patch rename to patches/api/0046-IllegalPacketEvent.patch diff --git a/patches/unapplied/api/0047-Fireworks-API-s.patch b/patches/api/0047-Fireworks-API-s.patch similarity index 100% rename from patches/unapplied/api/0047-Fireworks-API-s.patch rename to patches/api/0047-Fireworks-API-s.patch diff --git a/patches/unapplied/api/0048-PlayerTeleportEndGatewayEvent.patch b/patches/api/0048-PlayerTeleportEndGatewayEvent.patch similarity index 100% rename from patches/unapplied/api/0048-PlayerTeleportEndGatewayEvent.patch rename to patches/api/0048-PlayerTeleportEndGatewayEvent.patch diff --git a/patches/unapplied/api/0049-Provide-E-TE-Chunk-count-stat-methods.patch b/patches/api/0049-Provide-E-TE-Chunk-count-stat-methods.patch similarity index 93% rename from patches/unapplied/api/0049-Provide-E-TE-Chunk-count-stat-methods.patch rename to patches/api/0049-Provide-E-TE-Chunk-count-stat-methods.patch index 61a57fd0f8..b1ab42c7f9 100644 --- a/patches/unapplied/api/0049-Provide-E-TE-Chunk-count-stat-methods.patch +++ b/patches/api/0049-Provide-E-TE-Chunk-count-stat-methods.patch @@ -7,7 +7,7 @@ Provides counts without the ineffeciency of using .getEntities().size() which creates copy of the collections. diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 49be21d2676a93c384f37c09fe84eba2ffc11781..98c74a6b4f126f2a3e65f95e55561f652c10c4b9 100644 +index 7b1fb280a86ab44756fc233b085f878d2a27ad66..cec39714294127478b6e73452354ba7ccab78b25 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -40,6 +40,33 @@ import org.jetbrains.annotations.Nullable; diff --git a/patches/unapplied/api/0050-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/patches/api/0050-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch similarity index 100% rename from patches/unapplied/api/0050-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch rename to patches/api/0050-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch diff --git a/patches/unapplied/api/0051-Expose-WorldBorder-isInBounds-Location-check.patch b/patches/api/0051-Expose-WorldBorder-isInBounds-Location-check.patch similarity index 100% rename from patches/unapplied/api/0051-Expose-WorldBorder-isInBounds-Location-check.patch rename to patches/api/0051-Expose-WorldBorder-isInBounds-Location-check.patch diff --git a/patches/unapplied/api/0052-Add-configuration-option-to-prevent-player-names-fro.patch b/patches/api/0052-Add-configuration-option-to-prevent-player-names-fro.patch similarity index 100% rename from patches/unapplied/api/0052-Add-configuration-option-to-prevent-player-names-fro.patch rename to patches/api/0052-Add-configuration-option-to-prevent-player-names-fro.patch diff --git a/patches/unapplied/api/0053-Fix-upstream-javadocs.patch b/patches/api/0053-Fix-upstream-javadocs.patch similarity index 100% rename from patches/unapplied/api/0053-Fix-upstream-javadocs.patch rename to patches/api/0053-Fix-upstream-javadocs.patch diff --git a/patches/unapplied/api/0054-Item-canEntityPickup.patch b/patches/api/0054-Item-canEntityPickup.patch similarity index 100% rename from patches/unapplied/api/0054-Item-canEntityPickup.patch rename to patches/api/0054-Item-canEntityPickup.patch diff --git a/patches/unapplied/server/0075-Sanitise-RegionFileCache-and-make-configurable.patch b/patches/server/0076-Sanitise-RegionFileCache-and-make-configurable.patch similarity index 92% rename from patches/unapplied/server/0075-Sanitise-RegionFileCache-and-make-configurable.patch rename to patches/server/0076-Sanitise-RegionFileCache-and-make-configurable.patch index 28d810a737..bf47765c75 100644 --- a/patches/unapplied/server/0075-Sanitise-RegionFileCache-and-make-configurable.patch +++ b/patches/server/0076-Sanitise-RegionFileCache-and-make-configurable.patch @@ -25,10 +25,10 @@ index 817d4572c9991992b720b3ba163188ac0e5b59b7..01da2246c70237676597b3e70e3e169a + } } diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java -index a0516f72671522a6d7d9ea649506760f120b88bd..3d07235ad34d219c7c5fccd216a3a6935ced645c 100644 +index eaf22cec54b512e0f57606f50627d5fe9b39bd5c..deb852aa0fb2ad55a94d3c7ee542a0cc8013be42 100644 --- a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java +++ b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java -@@ -35,7 +35,7 @@ public class RegionFileStorage implements AutoCloseable { +@@ -36,7 +36,7 @@ public class RegionFileStorage implements AutoCloseable { if (regionfile != null) { return regionfile; } else { diff --git a/patches/unapplied/server/0076-Do-not-load-chunks-for-Pathfinding.patch b/patches/server/0077-Do-not-load-chunks-for-Pathfinding.patch similarity index 95% rename from patches/unapplied/server/0076-Do-not-load-chunks-for-Pathfinding.patch rename to patches/server/0077-Do-not-load-chunks-for-Pathfinding.patch index b00c5e68b8..c211fa1bc6 100644 --- a/patches/unapplied/server/0076-Do-not-load-chunks-for-Pathfinding.patch +++ b/patches/server/0077-Do-not-load-chunks-for-Pathfinding.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Do not load chunks for Pathfinding diff --git a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java -index 204ed5665adf2df7252fe2d21872db6956415311..b37acb6e6e253529a38f44a518a02c7747d3145e 100644 +index be29c3a361415064c418256d5c0eca9e5a7cefd2..c33fda773ec071d27e924461a30a2938db35c231 100644 --- a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java +++ b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java @@ -453,7 +453,12 @@ public class WalkNodeEvaluator extends NodeEvaluator { diff --git a/patches/unapplied/server/0077-Add-PlayerUseUnknownEntityEvent.patch b/patches/server/0078-Add-PlayerUseUnknownEntityEvent.patch similarity index 95% rename from patches/unapplied/server/0077-Add-PlayerUseUnknownEntityEvent.patch rename to patches/server/0078-Add-PlayerUseUnknownEntityEvent.patch index 845e110f98..d310031d24 100644 --- a/patches/unapplied/server/0077-Add-PlayerUseUnknownEntityEvent.patch +++ b/patches/server/0078-Add-PlayerUseUnknownEntityEvent.patch @@ -20,10 +20,10 @@ index 8834ed411a7db86b4d2b88183a1315317107d719..c45b5ab6776f3ac79f856c3a6467c510 static final ServerboundInteractPacket.Action ATTACK_ACTION = new ServerboundInteractPacket.Action() { @Override diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index edb66e8c4507597ec8c35883460f88de8b263e54..60772b6d6fe171d7dd832cb132f7c56db9439bdb 100644 +index 76e34fb4bb6b3d194e155bec30d36887350f3ee3..7d6fc7b64a4cdec0f432374c5258ec99ea52889c 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2190,8 +2190,37 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -2200,8 +2200,37 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser }); } } diff --git a/patches/unapplied/server/0079-Configurable-Grass-Spread-Tick-Rate.patch b/patches/server/0079-Configurable-Grass-Spread-Tick-Rate.patch similarity index 87% rename from patches/unapplied/server/0079-Configurable-Grass-Spread-Tick-Rate.patch rename to patches/server/0079-Configurable-Grass-Spread-Tick-Rate.patch index 23fe5593a7..8ed73812ca 100644 --- a/patches/unapplied/server/0079-Configurable-Grass-Spread-Tick-Rate.patch +++ b/patches/server/0079-Configurable-Grass-Spread-Tick-Rate.patch @@ -20,7 +20,7 @@ index a0688ef7eb38e7c156193db3d94c44a3c290d8f2..53692c9a72a75cb5280165a99c956679 + } } diff --git a/src/main/java/net/minecraft/world/level/block/SpreadingSnowyDirtBlock.java b/src/main/java/net/minecraft/world/level/block/SpreadingSnowyDirtBlock.java -index 4c6c91deacddc4f383ecb6986e8e265a4e8eb7e6..d8c29bc282365b68951a39b4b2590b19957d578b 100644 +index 954defe131bdcd81178e3bd31755eb18b9aef026..be5ad056571f6522a205b8e9de8940ad1fe8c988 100644 --- a/src/main/java/net/minecraft/world/level/block/SpreadingSnowyDirtBlock.java +++ b/src/main/java/net/minecraft/world/level/block/SpreadingSnowyDirtBlock.java @@ -3,6 +3,7 @@ package net.minecraft.world.level.block; @@ -31,11 +31,13 @@ index 4c6c91deacddc4f383ecb6986e8e265a4e8eb7e6..d8c29bc282365b68951a39b4b2590b19 import net.minecraft.server.level.ServerLevel; import net.minecraft.tags.FluidTags; import net.minecraft.tags.Tag; -@@ -41,6 +42,7 @@ public abstract class SpreadingSnowyDirtBlock extends SnowyDirtBlock { +@@ -40,7 +41,8 @@ public abstract class SpreadingSnowyDirtBlock extends SnowyDirtBlock { @Override public void randomTick(BlockState state, ServerLevel world, BlockPos pos, Random random) { +- if (!SpreadingSnowyDirtBlock.canBeGrass(state, world, pos)) { + if (this instanceof GrassBlock && world.paperConfig.grassUpdateRate != 1 && (world.paperConfig.grassUpdateRate < 1 || (MinecraftServer.currentTick + pos.hashCode()) % world.paperConfig.grassUpdateRate != 0)) { return; } // Paper - if (!SpreadingSnowyDirtBlock.canBeGrass(state, (LevelReader) world, pos)) { ++ if (!SpreadingSnowyDirtBlock.canBeGrass(state, (LevelReader) world, pos)) { // CraftBukkit start if (org.bukkit.craftbukkit.event.CraftEventFactory.callBlockFadeEvent(world, pos, Blocks.DIRT.defaultBlockState()).isCancelled()) { + return; diff --git a/patches/unapplied/server/0080-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch b/patches/server/0080-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch similarity index 84% rename from patches/unapplied/server/0080-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch rename to patches/server/0080-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch index 3065ca23c6..93c4e20ede 100644 --- a/patches/unapplied/server/0080-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch +++ b/patches/server/0080-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix Cancelling BlockPlaceEvent triggering physics diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 322edb169e9b482aac71292b992d4a3c2622b2d8..07a4f76d8142b5ee60910faf552fb33095694512 100644 +index bb6083b40e211964730f88057df509f6d860bc11..7c0437929964d95797c13b690a6167f2bce95736 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -544,6 +544,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -545,6 +545,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { public void setBlocksDirty(BlockPos pos, BlockState old, BlockState updated) {} public void updateNeighborsAt(BlockPos pos, Block block) { diff --git a/patches/unapplied/server/0081-Optimize-DataBits.patch b/patches/server/0081-Optimize-DataBits.patch similarity index 75% rename from patches/unapplied/server/0081-Optimize-DataBits.patch rename to patches/server/0081-Optimize-DataBits.patch index bc958e222a..09c5d79e7f 100644 --- a/patches/unapplied/server/0081-Optimize-DataBits.patch +++ b/patches/server/0081-Optimize-DataBits.patch @@ -10,11 +10,11 @@ After: http://i.imgur.com/nJ46crB.png Optimize redundant converting of static fields into an unsigned long each call by precomputing it in ctor -diff --git a/src/main/java/net/minecraft/util/BitStorage.java b/src/main/java/net/minecraft/util/BitStorage.java -index 65bd706ca96f5c0ec4573da9fb144fb51d2de919..07e1374ac3430662edd9f585e59b785e329f0820 100644 ---- a/src/main/java/net/minecraft/util/BitStorage.java -+++ b/src/main/java/net/minecraft/util/BitStorage.java -@@ -12,8 +12,8 @@ public class BitStorage { +diff --git a/src/main/java/net/minecraft/util/SimpleBitStorage.java b/src/main/java/net/minecraft/util/SimpleBitStorage.java +index b74970e3b3e429284099385b2b3d543793f75319..62ec6e7bd99451eb62daf86c05217e4693ce9d20 100644 +--- a/src/main/java/net/minecraft/util/SimpleBitStorage.java ++++ b/src/main/java/net/minecraft/util/SimpleBitStorage.java +@@ -11,8 +11,8 @@ public class SimpleBitStorage implements BitStorage { private final long mask; private final int size; private final int valuesPerLong; @@ -24,19 +24,19 @@ index 65bd706ca96f5c0ec4573da9fb144fb51d2de919..07e1374ac3430662edd9f585e59b785e + private final int divideAdd; private final long divideAddUnsigned; // Paper private final int divideShift; - public BitStorage(int elementBits, int size) { -@@ -27,8 +27,8 @@ public class BitStorage { + public SimpleBitStorage(int elementBits, int size, int[] is) { +@@ -56,8 +56,8 @@ public class SimpleBitStorage implements BitStorage { this.mask = (1L << elementBits) - 1L; this.valuesPerLong = (char)(64 / elementBits); int i = 3 * (this.valuesPerLong - 1); - this.divideMul = MAGIC[i + 0]; - this.divideAdd = MAGIC[i + 1]; -+ this.divideMul = BitStorage.MAGIC[i + 0]; this.divideMulUnsigned = Integer.toUnsignedLong(this.divideMul); // Paper -+ this.divideAdd = BitStorage.MAGIC[i + 1]; this.divideAddUnsigned = Integer.toUnsignedLong(this.divideAdd); // Paper ++ this.divideMul = MAGIC[i + 0]; this.divideMulUnsigned = Integer.toUnsignedLong(this.divideMul); // Paper ++ this.divideAdd = MAGIC[i + 1]; this.divideAddUnsigned = Integer.toUnsignedLong(this.divideAdd); // Paper this.divideShift = MAGIC[i + 2]; int j = (size + this.valuesPerLong - 1) / this.valuesPerLong; - if (storage != null) { -@@ -44,14 +44,14 @@ public class BitStorage { + if (data != null) { +@@ -73,15 +73,15 @@ public class SimpleBitStorage implements BitStorage { } private int cellIndex(int index) { @@ -48,6 +48,7 @@ index 65bd706ca96f5c0ec4573da9fb144fb51d2de919..07e1374ac3430662edd9f585e59b785e + return (int) ((long) index * this.divideMulUnsigned + this.divideAddUnsigned >> 32 >> this.divideShift); // Paper } + @Override - public int getAndSet(int index, int value) { - Validate.inclusiveBetween(0L, (long)(this.size - 1), (long)index); - Validate.inclusiveBetween(0L, this.mask, (long)value); @@ -57,10 +58,10 @@ index 65bd706ca96f5c0ec4573da9fb144fb51d2de919..07e1374ac3430662edd9f585e59b785e int i = this.cellIndex(index); long l = this.data[i]; int j = (index - i * this.valuesPerLong) * this.bits; -@@ -60,17 +60,17 @@ public class BitStorage { - return k; +@@ -91,9 +91,9 @@ public class SimpleBitStorage implements BitStorage { } + @Override - public void set(int index, int value) { - Validate.inclusiveBetween(0L, (long)(this.size - 1), (long)index); - Validate.inclusiveBetween(0L, this.mask, (long)value); @@ -70,9 +71,10 @@ index 65bd706ca96f5c0ec4573da9fb144fb51d2de919..07e1374ac3430662edd9f585e59b785e int i = this.cellIndex(index); long l = this.data[i]; int j = (index - i * this.valuesPerLong) * this.bits; - this.data[i] = l & ~(this.mask << j) | ((long)value & this.mask) << j; +@@ -101,8 +101,8 @@ public class SimpleBitStorage implements BitStorage { } + @Override - public int get(int index) { - Validate.inclusiveBetween(0L, (long)(this.size - 1), (long)index); + public final int get(int index) { // Paper - make final for inline diff --git a/patches/unapplied/server/0082-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch b/patches/server/0082-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch similarity index 100% rename from patches/unapplied/server/0082-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch rename to patches/server/0082-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch diff --git a/patches/unapplied/server/0083-Workaround-for-setting-passengers-on-players.patch b/patches/server/0083-Workaround-for-setting-passengers-on-players.patch similarity index 87% rename from patches/unapplied/server/0083-Workaround-for-setting-passengers-on-players.patch rename to patches/server/0083-Workaround-for-setting-passengers-on-players.patch index 419cbbe8c9..a0d1c7fd57 100644 --- a/patches/unapplied/server/0083-Workaround-for-setting-passengers-on-players.patch +++ b/patches/server/0083-Workaround-for-setting-passengers-on-players.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Workaround for setting passengers on players SPIGOT-1915 & GH-114 diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index f65140c04efd036019c7f91643ecd9644cd498df..4592ac12058e7cf575ceb47a0021528f5dd91b0a 100644 +index e41df687f7d681574bc16f5d3b1572a3ea9902f0..a880c6434f6dbbc8ce9f82315ba906090c7240a1 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -908,6 +908,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -915,6 +915,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return true; } diff --git a/patches/unapplied/server/0084-Configurable-Player-Collision.patch b/patches/server/0084-Configurable-Player-Collision.patch similarity index 91% rename from patches/unapplied/server/0084-Configurable-Player-Collision.patch rename to patches/server/0084-Configurable-Player-Collision.patch index cdb3307063..1b29cd2def 100644 --- a/patches/unapplied/server/0084-Configurable-Player-Collision.patch +++ b/patches/server/0084-Configurable-Player-Collision.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Configurable Player Collision diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index ad73dbb8e7112e2843c4104d367c98bf8b2b3370..f54096daee8c51a887b943ddd257ac2eae63952e 100644 +index 01da2246c70237676597b3e70e3e169ab1132071..c8242aa5b4a896111b23de60fa120ec6be06d0ca 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -244,4 +244,9 @@ public class PaperConfig { @@ -19,7 +19,7 @@ index ad73dbb8e7112e2843c4104d367c98bf8b2b3370..f54096daee8c51a887b943ddd257ac2e + } } diff --git a/src/main/java/net/minecraft/network/protocol/game/ClientboundSetPlayerTeamPacket.java b/src/main/java/net/minecraft/network/protocol/game/ClientboundSetPlayerTeamPacket.java -index 8885220e4813b34627b42523834bbec995d8950d..4c9660176e783999301565790b8cf6f47b0d02a2 100644 +index 8993d8809c109212ab278e15c09cebab9e89342f..005a3058c51a41a39f050b1817e2079be93ad366 100644 --- a/src/main/java/net/minecraft/network/protocol/game/ClientboundSetPlayerTeamPacket.java +++ b/src/main/java/net/minecraft/network/protocol/game/ClientboundSetPlayerTeamPacket.java @@ -193,7 +193,7 @@ public class ClientboundSetPlayerTeamPacket implements Packet playersByName = new java.util.HashMap<>(); @@ -115,7 +115,7 @@ index e2e20a33c8e434af6b3637f49181c530b32633c7..4b21d3d73d76b81377a1d2222f37074c this.save(entityplayer); if (entityplayer.isPassenger()) { Entity entity = entityplayer.getRootVehicle(); -@@ -1127,6 +1146,13 @@ public abstract class PlayerList { +@@ -1132,6 +1151,13 @@ public abstract class PlayerList { } // CraftBukkit end diff --git a/patches/unapplied/server/0085-Add-handshake-event-to-allow-plugins-to-handle-clien.patch b/patches/server/0085-Add-handshake-event-to-allow-plugins-to-handle-clien.patch similarity index 100% rename from patches/unapplied/server/0085-Add-handshake-event-to-allow-plugins-to-handle-clien.patch rename to patches/server/0085-Add-handshake-event-to-allow-plugins-to-handle-clien.patch diff --git a/patches/unapplied/server/0086-Configurable-RCON-IP-address.patch b/patches/server/0086-Configurable-RCON-IP-address.patch similarity index 93% rename from patches/unapplied/server/0086-Configurable-RCON-IP-address.patch rename to patches/server/0086-Configurable-RCON-IP-address.patch index 4e2ebf57fb..4b840100ce 100644 --- a/patches/unapplied/server/0086-Configurable-RCON-IP-address.patch +++ b/patches/server/0086-Configurable-RCON-IP-address.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Configurable RCON IP address For servers with multiple IP's, ability to bind to a specific interface. diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java -index 9793b51080d0f4adba0d6bc684a6927382420a0b..12e55aabf0daf341ec74688e79c43451e820e6dc 100644 +index 9682a149d996cc19d7bc0e9506acb1346e5c222e..07fd3da4de300f80516961ae22700dbc741e81dc 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java -@@ -67,6 +67,8 @@ public class DedicatedServerProperties extends Settings implements SnooperPopulator, CommandSource, AutoCloseable { + public abstract class MinecraftServer extends ReentrantBlockableEventLoop implements CommandSource, AutoCloseable { + private static MinecraftServer SERVER; // Paper public static final Logger LOGGER = LogManager.getLogger(); + public static final String VANILLA_BRAND = "vanilla"; private static final float AVERAGE_TICK_TIME_SMOOTHING = 0.8F; - private static final int TICK_STATS_SPAN = 100; -@@ -317,6 +318,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { -@@ -2259,7 +2261,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop decorations = Maps.newLinkedHashMap(); private final Map frameMarkers = Maps.newHashMap(); private int trackedDecorationCount; @@ -71,7 +71,7 @@ index 6859fafa42527d45366018f737c19e6c3777d152..15c6f9d1c43fbedac70526a84a010be8 // CraftBukkit start public final CraftMapView mapView; -@@ -84,6 +85,7 @@ public class MapItemSavedData extends SavedData { +@@ -83,6 +84,7 @@ public class MapItemSavedData extends SavedData { // CraftBukkit start this.mapView = new CraftMapView(this); this.server = (CraftServer) org.bukkit.Bukkit.getServer(); @@ -79,7 +79,7 @@ index 6859fafa42527d45366018f737c19e6c3777d152..15c6f9d1c43fbedac70526a84a010be8 // CraftBukkit end } -@@ -139,6 +141,7 @@ public class MapItemSavedData extends SavedData { +@@ -138,6 +140,7 @@ public class MapItemSavedData extends SavedData { if (abyte.length == 16384) { worldmap.colors = abyte; } @@ -87,7 +87,7 @@ index 6859fafa42527d45366018f737c19e6c3777d152..15c6f9d1c43fbedac70526a84a010be8 ListTag nbttaglist = nbt.getList("banners", 10); -@@ -549,6 +552,21 @@ public class MapItemSavedData extends SavedData { +@@ -548,6 +551,21 @@ public class MapItemSavedData extends SavedData { public class HoldingPlayer { @@ -109,7 +109,7 @@ index 6859fafa42527d45366018f737c19e6c3777d152..15c6f9d1c43fbedac70526a84a010be8 public final Player player; private boolean dirtyData = true; private int minDirtyX; -@@ -582,7 +600,9 @@ public class MapItemSavedData extends SavedData { +@@ -581,7 +599,9 @@ public class MapItemSavedData extends SavedData { @Nullable Packet nextUpdatePacket(int mapId) { MapItemSavedData.MapPatch worldmap_b; @@ -120,7 +120,7 @@ index 6859fafa42527d45366018f737c19e6c3777d152..15c6f9d1c43fbedac70526a84a010be8 if (this.dirtyData) { this.dirtyData = false; -@@ -598,6 +618,8 @@ public class MapItemSavedData extends SavedData { +@@ -597,6 +617,8 @@ public class MapItemSavedData extends SavedData { // CraftBukkit start java.util.Collection icons = new java.util.ArrayList(); diff --git a/patches/unapplied/server/0092-LootTable-API-Replenishable-Lootables-Feature.patch b/patches/server/0091-LootTable-API-Replenishable-Lootables-Feature.patch similarity index 98% rename from patches/unapplied/server/0092-LootTable-API-Replenishable-Lootables-Feature.patch rename to patches/server/0091-LootTable-API-Replenishable-Lootables-Feature.patch index 46f8c0e11f..46e7f64ef9 100644 --- a/patches/unapplied/server/0092-LootTable-API-Replenishable-Lootables-Feature.patch +++ b/patches/server/0091-LootTable-API-Replenishable-Lootables-Feature.patch @@ -515,10 +515,10 @@ index 0000000000000000000000000000000000000000..3377b86c337d0234bbb9b0349e4034a7 + } +} diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index cff2867eb92fb3b69ed4645d3b5294eaca62e998..78d547660cc3996606e671466d33170faa8a2c29 100644 +index 30d30c2fd66b312a45d3bf706d41b38724d52a7b..4b23eaa6bcd7fd3eddbe7512bae4270c6324242b 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -168,6 +168,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -168,6 +168,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i }; // Paper end @@ -527,7 +527,7 @@ index cff2867eb92fb3b69ed4645d3b5294eaca62e998..78d547660cc3996606e671466d33170f public CraftEntity getBukkitEntity() { diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java -index e347f30d7c5be460788cc815da2f4f8742488713..f57864ce919ef4721cfb5913c636fe8903ce4cc1 100644 +index 298f7e29412ecaf15b3fb15da9ee3d6b250f772a..8a07d5d25086d7544757bb86181fbe2b5e743d29 100644 --- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java @@ -46,6 +46,7 @@ public abstract class AbstractMinecartContainer extends AbstractMinecart impleme @@ -642,7 +642,7 @@ index b79d9d26a8e60f9c0ecd69e9c2f9cfd087e21d23..f23fff80d07ac7d06715efe67cb49ebb if (player != null) { builder.withLuck(player.getLuck()).withParameter(LootContextParams.THIS_ENTITY, player); diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftChest.java b/src/main/java/org/bukkit/craftbukkit/block/CraftChest.java -index e9f671b9e6b73c28835bf787f6517b997c306fa2..6a1f47c58f1186f12fd112feedaf11da85b0bdcc 100644 +index d0c1121fabe46e8268cd2691398361c182be9db5..9796e2d3cd9601416124ad5c36f962ed3f8682e8 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftChest.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftChest.java @@ -13,8 +13,9 @@ import org.bukkit.craftbukkit.CraftWorld; diff --git a/patches/unapplied/server/0093-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch b/patches/server/0092-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch similarity index 91% rename from patches/unapplied/server/0093-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch rename to patches/server/0092-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch index f3cdb92ebc..624ef0f40d 100644 --- a/patches/unapplied/server/0093-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch +++ b/patches/server/0092-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch @@ -19,10 +19,10 @@ index c8242aa5b4a896111b23de60fa120ec6be06d0ca..c6ca15a5cc53995ca0ada9c9ac9dc1d0 + } } diff --git a/src/main/java/net/minecraft/world/scores/ScoreboardSaveData.java b/src/main/java/net/minecraft/world/scores/ScoreboardSaveData.java -index 90a97a87fe67d8c3bbc60f08c9911faa4259349e..2153e7035535990b5307b85d8bc3dab50c0a3ae8 100644 +index 819cd341c4e352a75c38a0ed48097170ddd53082..79683676311d0e13383887db5cb8638f13a0af94 100644 --- a/src/main/java/net/minecraft/world/scores/ScoreboardSaveData.java +++ b/src/main/java/net/minecraft/world/scores/ScoreboardSaveData.java -@@ -144,6 +144,7 @@ public class ScoreboardSaveData extends SavedData { +@@ -136,6 +136,7 @@ public class ScoreboardSaveData extends SavedData { ListTag listTag = new ListTag(); for(PlayerTeam playerTeam : this.scoreboard.getPlayerTeams()) { diff --git a/patches/unapplied/server/0094-System-property-for-disabling-watchdoge.patch b/patches/server/0093-System-property-for-disabling-watchdoge.patch similarity index 100% rename from patches/unapplied/server/0094-System-property-for-disabling-watchdoge.patch rename to patches/server/0093-System-property-for-disabling-watchdoge.patch diff --git a/patches/unapplied/server/0095-Optimize-UserCache-Thread-Safe.patch b/patches/server/0094-Optimize-UserCache-Thread-Safe.patch similarity index 88% rename from patches/unapplied/server/0095-Optimize-UserCache-Thread-Safe.patch rename to patches/server/0094-Optimize-UserCache-Thread-Safe.patch index 8342bfa0aa..7de7176f80 100644 --- a/patches/unapplied/server/0095-Optimize-UserCache-Thread-Safe.patch +++ b/patches/server/0094-Optimize-UserCache-Thread-Safe.patch @@ -12,10 +12,10 @@ the user never changed the default setting for Spigot's save on stop only. 1.17: TODO does this need the synchronized blocks anymore? diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index d58516922198ffeb51263243e7b7b666de2d9ea2..9c73d69658de96b8216c7d945521af84d41c69ab 100644 +index 9a58a678b07bb45ee0e608fdd662b13fcc04d31c..625a133eacf38fb8b11f4451e063dc21150f0e79 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -989,7 +989,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop> consumer, Set trackedPlayers) { this.trackedPlayers = trackedPlayers; diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java -index 8ad1b3cb16533d62deda643ce0cdda308743f78e..dcbd9ec44fb8d1334aca33c136b121ab5c25a0e2 100644 +index 7135e22a2ee274eaef52804d60f15002176ff1db..114ea3c898a23575bb2b06bf5c754330c38495e7 100644 --- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java +++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java @@ -97,6 +97,27 @@ public class PrimedTnt extends Entity { diff --git a/patches/unapplied/server/0097-Faster-redstone-torch-rapid-clock-removal.patch b/patches/server/0096-Faster-redstone-torch-rapid-clock-removal.patch similarity index 92% rename from patches/unapplied/server/0097-Faster-redstone-torch-rapid-clock-removal.patch rename to patches/server/0096-Faster-redstone-torch-rapid-clock-removal.patch index 61a6a4b909..648f89018c 100644 --- a/patches/unapplied/server/0097-Faster-redstone-torch-rapid-clock-removal.patch +++ b/patches/server/0096-Faster-redstone-torch-rapid-clock-removal.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Faster redstone torch rapid clock removal Only resize the the redstone torch list once, since resizing arrays / lists is costly diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 07a4f76d8142b5ee60910faf552fb33095694512..3032f52ea3375c62aa13dc1802a85df22a9f3082 100644 +index 7c0437929964d95797c13b690a6167f2bce95736..8142f6c2d3bd17aec313d46141910f0743c6345e 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -161,6 +161,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -162,6 +162,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { private org.spigotmc.TickLimiter tileLimiter; private int tileTickPosition; public final Map explosionDensityCache = new HashMap<>(); // Paper - Optimize explosions @@ -18,7 +18,7 @@ index 07a4f76d8142b5ee60910faf552fb33095694512..3032f52ea3375c62aa13dc1802a85df2 public CraftWorld getWorld() { return this.world; diff --git a/src/main/java/net/minecraft/world/level/block/RedstoneTorchBlock.java b/src/main/java/net/minecraft/world/level/block/RedstoneTorchBlock.java -index 28e785813628e5763576812ec6201d1e5b1def23..47df36208d91dad126849e29c0e410f95b168f23 100644 +index 298928f9dae5fc307872f4cb286b644ed5dbcfde..954b86bea345a8e0e3a8dd425f356db6f5cd496f 100644 --- a/src/main/java/net/minecraft/world/level/block/RedstoneTorchBlock.java +++ b/src/main/java/net/minecraft/world/level/block/RedstoneTorchBlock.java @@ -21,7 +21,7 @@ import org.bukkit.event.block.BlockRedstoneEvent; // CraftBukkit @@ -33,7 +33,7 @@ index 28e785813628e5763576812ec6201d1e5b1def23..47df36208d91dad126849e29c0e410f9 @@ -72,11 +72,15 @@ public class RedstoneTorchBlock extends TorchBlock { @Override public void tick(BlockState state, ServerLevel world, BlockPos pos, Random random) { - boolean flag = this.hasNeighborSignal((Level) world, pos, state); + boolean flag = this.hasNeighborSignal(world, pos, state); - List list = (List) RedstoneTorchBlock.RECENT_TOGGLES.get(world); - - while (list != null && !list.isEmpty() && world.getGameTime() - ((RedstoneTorchBlock.Toggle) list.get(0)).when > 60L) { diff --git a/patches/unapplied/server/0098-Add-server-name-parameter.patch b/patches/server/0097-Add-server-name-parameter.patch similarity index 90% rename from patches/unapplied/server/0098-Add-server-name-parameter.patch rename to patches/server/0097-Add-server-name-parameter.patch index 10727a66b6..00721fa9a5 100644 --- a/patches/unapplied/server/0098-Add-server-name-parameter.patch +++ b/patches/server/0097-Add-server-name-parameter.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add server-name parameter diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 2da0896ca3b15deded3556c6298a41f18324db58..f09520b7723dee6ab04215276d037012d643999f 100644 +index f8a5adaff31bb5aa91550f24aab6cce83642d86f..c6312e189751a637341c9cf4fd24dc05766b09d6 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -143,6 +143,14 @@ public class Main { diff --git a/patches/unapplied/server/0099-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch b/patches/server/0098-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch similarity index 79% rename from patches/unapplied/server/0099-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch rename to patches/server/0098-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch index aeeb3ffa6c..301307622f 100644 --- a/patches/unapplied/server/0099-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch +++ b/patches/server/0098-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Only send Dragon/Wither Death sounds to same world Also fix view distance lookup diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java -index fb6aef4cdbd2ad4037e20c9302ae5ef07ff0c7ce..e17cf38b791f509447ce2c8ef38411530a0fb09b 100644 +index 7de279a1bef44a76173a1b71b98425ca6aa219aa..2584c02a5f6511ade260986a6aacef401c294549 100644 --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java @@ -640,8 +640,9 @@ public class EnderDragon extends Mob implements Enemy { @@ -22,17 +22,16 @@ index fb6aef4cdbd2ad4037e20c9302ae5ef07ff0c7ce..e17cf38b791f509447ce2c8ef3841153 double deltaZ = this.getZ() - player.getZ(); double distanceSquared = deltaX * deltaX + deltaZ * deltaZ; diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -index 07b631e074ef91ea51dfecfa0232482d8983a12d..9a89e6ff72d285a941be986300ff5c2a723a80e0 100644 +index 6fde138a3da49fee4fdbf36e0ab58438e114e196..09c862ff597629bccd3bf98ef168aa96fb69d230 100644 --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -@@ -260,8 +260,9 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob +@@ -272,8 +272,9 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob if (!this.isSilent()) { // CraftBukkit start - Use relative location for far away sounds - // this.world.b(1023, new BlockPosition(this), 0); + // this.world.globalLevelEvent(1023, new BlockPosition(this), 0); - int viewDistance = ((ServerLevel) this.level).getCraftServer().getViewDistance() * 16; -- for (ServerPlayer player : (List) MinecraftServer.getServer().getPlayerList().players) { -+ //int viewDistance = ((WorldServer) this.world).getServer().getViewDistance() * 16; // Paper - updated to use worlds actual view distance incase we have to uncomment this due to removal of player view distance API -+ for (ServerPlayer player : (List)this.level.players()) { ++ //int viewDistance = ((ServerLevel) this.level).getCraftServer().getViewDistance() * 16; // Paper - updated to use worlds actual view distance incase we have to uncomment this due to removal of player view distance API + for (ServerPlayer player : (List) MinecraftServer.getServer().getPlayerList().players) { + final int viewDistance = player.getViewDistance(); // TODO apply view distance api patch double deltaX = this.getX() - player.getX(); double deltaZ = this.getZ() - player.getZ(); diff --git a/patches/unapplied/server/0100-Fix-Old-Sign-Conversion.patch b/patches/server/0099-Fix-Old-Sign-Conversion.patch similarity index 84% rename from patches/unapplied/server/0100-Fix-Old-Sign-Conversion.patch rename to patches/server/0099-Fix-Old-Sign-Conversion.patch index 75343aaf14..4236319064 100644 --- a/patches/unapplied/server/0100-Fix-Old-Sign-Conversion.patch +++ b/patches/server/0099-Fix-Old-Sign-Conversion.patch @@ -9,10 +9,10 @@ Subject: [PATCH] Fix Old Sign Conversion This causes Igloos and such to render broken signs. We fix this by ignoring sign conversion for Defined Structures diff --git a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java -index 66ab4deedd177f507d170a61ceca4c3ebbac9adc..77645019c88d61dde28b7598d8a29b7d0c23c209 100644 +index 52b4c231faa2f33f766f50399e52e30184fb01a7..67315a86e5db51029d0f355c6dc223e93e4141db 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java -@@ -30,6 +30,7 @@ public abstract class BlockEntity implements net.minecraft.server.KeyedObject { +@@ -33,6 +33,7 @@ public abstract class BlockEntity implements io.papermc.paper.util.KeyedObject { public CraftPersistentDataContainer persistentDataContainer; // CraftBukkit end private static final Logger LOGGER = LogManager.getLogger(); @@ -21,10 +21,10 @@ index 66ab4deedd177f507d170a61ceca4c3ebbac9adc..77645019c88d61dde28b7598d8a29b7d @Nullable protected Level level; diff --git a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java -index dbb59775422b80fb4b60a8cfd2c0bd81c1646e88..589fbdd5c86655244aa92a42e5f45747b5c5026e 100644 +index e390cfea5bed64284a97c88a717503f07f073a30..3a2e2adeefe73981b443216724270023408c1feb 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java -@@ -95,7 +95,7 @@ public class SignBlockEntity extends BlockEntity implements CommandSource { // C +@@ -93,7 +93,7 @@ public class SignBlockEntity extends BlockEntity implements CommandSource { // C s = "\"\""; } @@ -34,10 +34,10 @@ index dbb59775422b80fb4b60a8cfd2c0bd81c1646e88..589fbdd5c86655244aa92a42e5f45747 continue; } diff --git a/src/main/java/net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate.java b/src/main/java/net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate.java -index f0795f0cff1314604dc58c19b64467a4c8cd4de9..3cbb764c8afd7f0a6b14aad4a4960a25d82ec9d9 100644 +index 06b981d4c6b764d9298adb75ee9944e24a9ba195..2314d858fab555c8cafba6b7c2e8302961c77666 100644 --- a/src/main/java/net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate.java +++ b/src/main/java/net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate.java -@@ -283,7 +283,9 @@ public class StructureTemplate { +@@ -275,7 +275,9 @@ public class StructureTemplate { definedstructure_blockinfo.nbt.putLong("LootTableSeed", random.nextLong()); } diff --git a/patches/unapplied/server/0101-Avoid-blocking-on-Network-Manager-creation.patch b/patches/server/0100-Avoid-blocking-on-Network-Manager-creation.patch similarity index 96% rename from patches/unapplied/server/0101-Avoid-blocking-on-Network-Manager-creation.patch rename to patches/server/0100-Avoid-blocking-on-Network-Manager-creation.patch index a23cfb9f34..b1b718f6ff 100644 --- a/patches/unapplied/server/0101-Avoid-blocking-on-Network-Manager-creation.patch +++ b/patches/server/0100-Avoid-blocking-on-Network-Manager-creation.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Avoid blocking on Network Manager creation Per Paper issue 294 diff --git a/src/main/java/net/minecraft/server/network/ServerConnectionListener.java b/src/main/java/net/minecraft/server/network/ServerConnectionListener.java -index 8fffe354d40c5fac4daa03af87c2323e307bd3ea..abcd335f5577dae6d613e5e0dd2656e1ab3ee9f0 100644 +index 4a392a95b6fc3cb4d4186bdc0632d10d1a90b9b1..526e07d8ea21af42c271bee4da5bccd766227006 100644 --- a/src/main/java/net/minecraft/server/network/ServerConnectionListener.java +++ b/src/main/java/net/minecraft/server/network/ServerConnectionListener.java @@ -61,6 +61,15 @@ public class ServerConnectionListener { diff --git a/patches/unapplied/server/0102-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch b/patches/server/0101-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch similarity index 92% rename from patches/unapplied/server/0102-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch rename to patches/server/0101-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch index ebbc54a189..f50b799b0c 100644 --- a/patches/unapplied/server/0102-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch +++ b/patches/server/0101-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Don't lookup game profiles that have no UUID and no name diff --git a/src/main/java/net/minecraft/server/players/GameProfileCache.java b/src/main/java/net/minecraft/server/players/GameProfileCache.java -index 548627b5a12e79ac31136b2695e45f9452115348..7ef77c38537b85deb7d388a7331e895c54a8ba95 100644 +index e8515f4ed1f29ba926bc4ab6d918722aee450ac2..6914ab77fc868844c391ac41ba2d344a26012208 100644 --- a/src/main/java/net/minecraft/server/players/GameProfileCache.java +++ b/src/main/java/net/minecraft/server/players/GameProfileCache.java @@ -101,7 +101,7 @@ public class GameProfileCache { diff --git a/patches/unapplied/server/0103-Add-setting-for-proxy-online-mode-status.patch b/patches/server/0102-Add-setting-for-proxy-online-mode-status.patch similarity index 91% rename from patches/unapplied/server/0103-Add-setting-for-proxy-online-mode-status.patch rename to patches/server/0102-Add-setting-for-proxy-online-mode-status.patch index 6fb1f34b9e..f2f6d51133 100644 --- a/patches/unapplied/server/0103-Add-setting-for-proxy-online-mode-status.patch +++ b/patches/server/0102-Add-setting-for-proxy-online-mode-status.patch @@ -32,7 +32,7 @@ index c6ca15a5cc53995ca0ada9c9ac9dc1d084963eb5..728835cddd413d778e9628360989724f + } } diff --git a/src/main/java/net/minecraft/server/players/GameProfileCache.java b/src/main/java/net/minecraft/server/players/GameProfileCache.java -index 7ef77c38537b85deb7d388a7331e895c54a8ba95..6e1b7d5b20e9f6ed1b650eb9d6ac9f8c4867b4b7 100644 +index 6914ab77fc868844c391ac41ba2d344a26012208..00f783aafd81fa7e836e4eea5bfeac7434f33b0f 100644 --- a/src/main/java/net/minecraft/server/players/GameProfileCache.java +++ b/src/main/java/net/minecraft/server/players/GameProfileCache.java @@ -98,6 +98,7 @@ public class GameProfileCache { @@ -53,7 +53,7 @@ index 7ef77c38537b85deb7d388a7331e895c54a8ba95..6e1b7d5b20e9f6ed1b650eb9d6ac9f8c public synchronized void add(GameProfile profile) { // Paper - synchronize diff --git a/src/main/java/net/minecraft/server/players/OldUsersConverter.java b/src/main/java/net/minecraft/server/players/OldUsersConverter.java -index f6cb864c45f960811acc02829d1f7883b916de29..8703f97dc2f392b136c6851aa09b607cbfdfa5de 100644 +index 876658b685ea09adb4c01d436da56daadb7eedaa..5445cb5910ec63408dc4379eec5e12d305182527 100644 --- a/src/main/java/net/minecraft/server/players/OldUsersConverter.java +++ b/src/main/java/net/minecraft/server/players/OldUsersConverter.java @@ -66,7 +66,8 @@ public class OldUsersConverter { @@ -67,10 +67,10 @@ index f6cb864c45f960811acc02829d1f7883b916de29..8703f97dc2f392b136c6851aa09b607c } else { String[] astring1 = astring; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9db5f614512d05eb99b4811c71fbc914e50c712e..db8704fb3533d774fbb6146926939151816bc48d 100644 +index bf18ed30b1e66cb94f346b1e63a67ec5f4030b0b..1bc319a3423a2cff776e30ac04a09e6d38e13e49 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1666,7 +1666,7 @@ public final class CraftServer implements Server { +@@ -1677,7 +1677,7 @@ public final class CraftServer implements Server { // Spigot Start GameProfile profile = null; // Only fetch an online UUID in online mode diff --git a/patches/unapplied/server/0104-Optimise-BlockState-s-hashCode-equals.patch b/patches/server/0103-Optimise-BlockState-s-hashCode-equals.patch similarity index 85% rename from patches/unapplied/server/0104-Optimise-BlockState-s-hashCode-equals.patch rename to patches/server/0103-Optimise-BlockState-s-hashCode-equals.patch index 1223b0ff35..edab695de5 100644 --- a/patches/unapplied/server/0104-Optimise-BlockState-s-hashCode-equals.patch +++ b/patches/server/0103-Optimise-BlockState-s-hashCode-equals.patch @@ -23,10 +23,10 @@ index 6cdb0716f2a4b29f7a5ecd109bf3c4700ebd22ad..ff1a0d125edd2ea10c870cbb62ae9aa2 return true; } else if (object instanceof BooleanProperty && super.equals(object)) { diff --git a/src/main/java/net/minecraft/world/level/block/state/properties/EnumProperty.java b/src/main/java/net/minecraft/world/level/block/state/properties/EnumProperty.java -index e76591dec764d92e1a760c5208714f3c80ea8fc7..bcf8b24e9f9e9870c1a1d27c721a6a433305d55a 100644 +index 4d6e7b5889ecb81195c7152225ae8e3343d3408c..0bca0f971dac994bd8b6ecd87e8b33e26c0f18f9 100644 --- a/src/main/java/net/minecraft/world/level/block/state/properties/EnumProperty.java +++ b/src/main/java/net/minecraft/world/level/block/state/properties/EnumProperty.java -@@ -48,8 +48,7 @@ public class EnumProperty & StringRepresentable> extends Prope +@@ -45,8 +45,7 @@ public class EnumProperty & StringRepresentable> extends Prope return value.getSerializedName(); } @@ -51,22 +51,23 @@ index c3ec7f91794d802e5b9ddac3fffccce378dace68..72f508321ebffcca31240fbdd068b4d1 return true; } else if (object instanceof IntegerProperty && super.equals(object)) { diff --git a/src/main/java/net/minecraft/world/level/block/state/properties/Property.java b/src/main/java/net/minecraft/world/level/block/state/properties/Property.java -index 0dc91cfaef2bc6004270c380e673da1728287433..81b43e0b0146729a8a1c6ade82634c86cde67857 100644 +index 29a0de2ae1991b969f3d816b9ad8420a7e674d1f..1560e77d0831d20c4a53316bcb0791a5930ada3c 100644 --- a/src/main/java/net/minecraft/world/level/block/state/properties/Property.java +++ b/src/main/java/net/minecraft/world/level/block/state/properties/Property.java -@@ -66,14 +66,7 @@ public abstract class Property> { +@@ -69,15 +69,7 @@ public abstract class Property> { + } - @Override public boolean equals(Object object) { - if (this == object) { - return true; - } else if (!(object instanceof Property)) { - return false; - } else { -- Property property = (Property)object; -- return this.clazz.equals(property.clazz) && this.name.equals(property.name); +- Property iblockstate = (Property) object; +- +- return this.clazz.equals(iblockstate.clazz) && this.name.equals(iblockstate.name); - } -+ return this == object; ++ return this == object; // Paper } - @Override + public final int hashCode() { diff --git a/patches/unapplied/server/0105-Configurable-packet-in-spam-threshold.patch b/patches/server/0104-Configurable-packet-in-spam-threshold.patch similarity index 93% rename from patches/unapplied/server/0105-Configurable-packet-in-spam-threshold.patch rename to patches/server/0104-Configurable-packet-in-spam-threshold.patch index de9749ed92..d7ae98b04f 100644 --- a/patches/unapplied/server/0105-Configurable-packet-in-spam-threshold.patch +++ b/patches/server/0104-Configurable-packet-in-spam-threshold.patch @@ -23,10 +23,10 @@ index 728835cddd413d778e9628360989724f65335b46..6c13fe725ca2b2a6f0f375b80f6c2cb6 + } } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 60772b6d6fe171d7dd832cb132f7c56db9439bdb..451a2ea80c6262008be6b075c122c78a5b435c75 100644 +index 7d6fc7b64a4cdec0f432374c5258ec99ea52889c..9b24ddf170e00e60391a240686e6767e19b04fd3 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1483,13 +1483,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1489,13 +1489,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser // Spigot start - limit place/interactions private int limitedPackets; private long lastLimitedPacket = -1; diff --git a/patches/unapplied/server/0106-Configurable-flying-kick-messages.patch b/patches/server/0105-Configurable-flying-kick-messages.patch similarity index 92% rename from patches/unapplied/server/0106-Configurable-flying-kick-messages.patch rename to patches/server/0105-Configurable-flying-kick-messages.patch index 2561f917a6..86b2a21a19 100644 --- a/patches/unapplied/server/0106-Configurable-flying-kick-messages.patch +++ b/patches/server/0105-Configurable-flying-kick-messages.patch @@ -21,10 +21,10 @@ index 6c13fe725ca2b2a6f0f375b80f6c2cb643b9913d..5e23ff0c5e44427a996281ae42fc12c2 + } } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 451a2ea80c6262008be6b075c122c78a5b435c75..9026dd91f8d874209bbfd4cdfd3c41e37cdd7560 100644 +index 9b24ddf170e00e60391a240686e6767e19b04fd3..73293dff5dac52c0737bbda65caea3a1e0cc4acd 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -301,7 +301,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -300,7 +300,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser if (this.clientIsFloating && !this.player.isSleeping()) { if (++this.aboveGroundTickCount > 80) { ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked for floating too long!", this.player.getName().getString()); @@ -33,7 +33,7 @@ index 451a2ea80c6262008be6b075c122c78a5b435c75..9026dd91f8d874209bbfd4cdfd3c41e3 return; } } else { -@@ -320,7 +320,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -319,7 +319,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser if (this.clientVehicleIsFloating && this.player.getRootVehicle().getControllingPassenger() == this.player) { if (++this.aboveGroundVehicleTickCount > 80) { ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked for floating a vehicle too long!", this.player.getName().getString()); diff --git a/patches/unapplied/server/0107-Remove-FishingHook-reference-on-Craft-Entity-removal.patch b/patches/server/0106-Remove-FishingHook-reference-on-Craft-Entity-removal.patch similarity index 100% rename from patches/unapplied/server/0107-Remove-FishingHook-reference-on-Craft-Entity-removal.patch rename to patches/server/0106-Remove-FishingHook-reference-on-Craft-Entity-removal.patch diff --git a/patches/unapplied/server/0108-Option-to-remove-corrupt-tile-entities.patch b/patches/server/0107-Option-to-remove-corrupt-tile-entities.patch similarity index 79% rename from patches/unapplied/server/0108-Option-to-remove-corrupt-tile-entities.patch rename to patches/server/0107-Option-to-remove-corrupt-tile-entities.patch index a013f028bd..2ecb44dca6 100644 --- a/patches/unapplied/server/0108-Option-to-remove-corrupt-tile-entities.patch +++ b/patches/server/0107-Option-to-remove-corrupt-tile-entities.patch @@ -19,17 +19,26 @@ index 6324c3465cf34cea2e7fd7d8c26a0cbeeb20eefd..097991f2dd8d35fd5bc62e23e7361d47 + } } diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index 702dbe24bfd19b0999648d4364f68a5675bee6e0..8141935e2ee58bbb58c6b5cfdef5a9a88d7658ec 100644 +index e641779c58b503c88cb533a45a3614f45c4b8fa3..805101792508bd721dd38fb57514f7f21bd90504 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -@@ -640,6 +640,12 @@ public class LevelChunk implements ChunkAccess { +@@ -261,7 +261,7 @@ public class LevelChunk extends ChunkAccess { + } + + this.setLightCorrect(protoChunk.isLightCorrect()); +- this.unsaved = true; ++ this.setUnsaved(true); + this.needsDecoration = true; // CraftBukkit + } + +@@ -579,6 +579,12 @@ public class LevelChunk extends ChunkAccess { "Chunk coordinates: " + (this.chunkPos.x * 16) + "," + (this.chunkPos.z * 16)); e.printStackTrace(); ServerInternalException.reportInternalException(e); + + if (this.level.paperConfig.removeCorruptTEs) { + this.removeBlockEntity(blockEntity.getBlockPos()); -+ this.markUnsaved(); ++ this.setUnsaved(true); + org.bukkit.Bukkit.getLogger().info("Removing corrupt tile entity"); + } // Paper end diff --git a/patches/unapplied/server/0109-Add-EntityZapEvent.patch b/patches/server/0108-Add-EntityZapEvent.patch similarity index 94% rename from patches/unapplied/server/0109-Add-EntityZapEvent.patch rename to patches/server/0108-Add-EntityZapEvent.patch index 04342ff5ea..faf8e76941 100644 --- a/patches/unapplied/server/0109-Add-EntityZapEvent.patch +++ b/patches/server/0108-Add-EntityZapEvent.patch @@ -5,16 +5,16 @@ Subject: [PATCH] Add EntityZapEvent diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index e6f1f9794ddd86a1ea0a6adceb9c9dc81997183f..7ddcdafdd9b60e9cab2d6b0a3c5b40694ea59506 100644 +index 4529692f3e5df444bf4d58704d7608d8f4219a77..d9539f906348c13afc6f1b0032c3ce259f1c87c0 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java -@@ -826,9 +826,17 @@ public class Villager extends AbstractVillager implements ReputationEventHandler +@@ -829,9 +829,17 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @Override public void thunderHit(ServerLevel world, LightningBolt lightning) { if (world.getDifficulty() != Difficulty.PEACEFUL) { - Villager.LOGGER.info("Villager {} was struck by lightning {}.", this, lightning); + // Paper - move log down, event can cancel - Witch entitywitch = (Witch) EntityType.WITCH.create((Level) world); + Witch entitywitch = (Witch) EntityType.WITCH.create(world); + // Paper start + if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityZapEvent(this, lightning, entitywitch).isCancelled()) { diff --git a/patches/unapplied/server/0110-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch b/patches/server/0109-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch similarity index 93% rename from patches/unapplied/server/0110-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch rename to patches/server/0109-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch index a3315a1d98..d9b404af54 100644 --- a/patches/unapplied/server/0110-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch +++ b/patches/server/0109-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch @@ -22,10 +22,10 @@ index 097991f2dd8d35fd5bc62e23e7361d47e70da493..4bda78d36a64e89bc68885a2a10b40a7 + } } diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java -index 1d538f490c7aa48991446fb55c7f0916bb5d5e29..69f385c57f3716a489781debb32b4adf1cb9383d 100644 +index 0366303a986ae6da8e95ed3051610c432a790194..a8a9cbcece45c3480120cb2fa0fa03523a87d317 100644 --- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java -@@ -309,6 +309,18 @@ public class FallingBlockEntity extends Entity { +@@ -324,6 +324,18 @@ public class FallingBlockEntity extends Entity { @Override protected void readAdditionalSaveData(CompoundTag nbt) { this.blockState = NbtUtils.readBlockState(nbt.getCompound("BlockState")); diff --git a/patches/unapplied/server/0111-Cache-user-authenticator-threads.patch b/patches/server/0110-Cache-user-authenticator-threads.patch similarity index 89% rename from patches/unapplied/server/0111-Cache-user-authenticator-threads.patch rename to patches/server/0110-Cache-user-authenticator-threads.patch index 9f44dec0b7..ff61dcef53 100644 --- a/patches/unapplied/server/0111-Cache-user-authenticator-threads.patch +++ b/patches/server/0110-Cache-user-authenticator-threads.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Cache user authenticator threads diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index c8d8d766de86dc3e47b06a355b28d2279820c570..a60b40d8cc802456374625af216c27998f8348b3 100644 +index 4ae61a810c63a259490dde53e7bdb862ed4df5ad..58617412e4759fe6c1c975f352c0c8281b744de1 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java @@ -117,6 +117,18 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener @@ -27,7 +27,7 @@ index c8d8d766de86dc3e47b06a355b28d2279820c570..a60b40d8cc802456374625af216c2799 // Spigot start public void initUUID() { -@@ -209,8 +221,8 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener +@@ -210,8 +222,8 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener this.connection.send(new ClientboundHelloPacket("", this.server.getKeyPair().getPublic().getEncoded(), this.nonce)); } else { // Spigot start @@ -38,7 +38,7 @@ index c8d8d766de86dc3e47b06a355b28d2279820c570..a60b40d8cc802456374625af216c2799 @Override public void run() { try { -@@ -221,7 +233,8 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener +@@ -222,7 +234,8 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener server.server.getLogger().log(java.util.logging.Level.WARNING, "Exception verifying " + ServerLoginPacketListenerImpl.this.gameProfile.getName(), ex); } } @@ -48,7 +48,7 @@ index c8d8d766de86dc3e47b06a355b28d2279820c570..a60b40d8cc802456374625af216c2799 // Spigot end } -@@ -250,7 +263,8 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener +@@ -251,7 +264,8 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener throw new IllegalStateException("Protocol error", cryptographyexception); } @@ -58,7 +58,7 @@ index c8d8d766de86dc3e47b06a355b28d2279820c570..a60b40d8cc802456374625af216c2799 public void run() { GameProfile gameprofile = ServerLoginPacketListenerImpl.this.gameProfile; -@@ -295,10 +309,8 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener +@@ -296,10 +310,8 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener return ServerLoginPacketListenerImpl.this.server.getPreventProxyConnections() && socketaddress instanceof InetSocketAddress ? ((InetSocketAddress) socketaddress).getAddress() : null; } diff --git a/patches/unapplied/server/0112-Allow-Reloading-of-Command-Aliases.patch b/patches/server/0111-Allow-Reloading-of-Command-Aliases.patch similarity index 90% rename from patches/unapplied/server/0112-Allow-Reloading-of-Command-Aliases.patch rename to patches/server/0111-Allow-Reloading-of-Command-Aliases.patch index 8da9ad6a6d..659c9cd1ba 100644 --- a/patches/unapplied/server/0112-Allow-Reloading-of-Command-Aliases.patch +++ b/patches/server/0111-Allow-Reloading-of-Command-Aliases.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Command Aliases Reload the aliases stored in commands.yml diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index db8704fb3533d774fbb6146926939151816bc48d..70cbf25466b7b7800c69d72c5f83b733cb83228b 100644 +index 1bc319a3423a2cff776e30ac04a09e6d38e13e49..5a6d044a0b3a60e50c55d2f854b923f46df12d5e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2460,5 +2460,24 @@ public final class CraftServer implements Server { +@@ -2472,5 +2472,24 @@ public final class CraftServer implements Server { DefaultPermissions.registerCorePermissions(); CraftDefaultPermissions.registerCorePermissions(); } diff --git a/patches/unapplied/server/0113-Add-source-to-PlayerExpChangeEvent.patch b/patches/server/0112-Add-source-to-PlayerExpChangeEvent.patch similarity index 96% rename from patches/unapplied/server/0113-Add-source-to-PlayerExpChangeEvent.patch rename to patches/server/0112-Add-source-to-PlayerExpChangeEvent.patch index d49c315769..58633e8c3c 100644 --- a/patches/unapplied/server/0113-Add-source-to-PlayerExpChangeEvent.patch +++ b/patches/server/0112-Add-source-to-PlayerExpChangeEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add source to PlayerExpChangeEvent diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java -index b902bca6135c3a7be4804a441bbf8f73b4596432..41556294841b2c280ba4eff861405ccb6aee19e5 100644 +index 687904d3e1b3ee7b514c707d9b2eeccabbf56603..f7cbe6819b8c4f7eaca2389de8eaceb50bce4b15 100644 --- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java +++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java @@ -246,7 +246,7 @@ public class ExperienceOrb extends Entity { diff --git a/patches/unapplied/server/0114-Don-t-let-fishinghooks-use-portals.patch b/patches/server/0113-Don-t-let-fishinghooks-use-portals.patch similarity index 83% rename from patches/unapplied/server/0114-Don-t-let-fishinghooks-use-portals.patch rename to patches/server/0113-Don-t-let-fishinghooks-use-portals.patch index 9ce90e316b..24eb5689a7 100644 --- a/patches/unapplied/server/0114-Don-t-let-fishinghooks-use-portals.patch +++ b/patches/server/0113-Don-t-let-fishinghooks-use-portals.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Don't let fishinghooks use portals diff --git a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java -index b007efe91c0abef3e90179b67dfdaf999ced11d2..3353892ab858db5e0ad2833bf56c6a367248f6fb 100644 +index eaa3ed52a57b56fc0f260aadfd23c2fd6dfc0f51..54bd343def9f1ebc987640c5d756db906593f320 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java +++ b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java -@@ -253,6 +253,11 @@ public class FishingHook extends Projectile { +@@ -252,6 +252,11 @@ public class FishingHook extends Projectile { this.setDeltaMovement(this.getDeltaMovement().scale(0.92D)); this.reapplyPosition(); diff --git a/patches/unapplied/server/0115-Add-ProjectileCollideEvent.patch b/patches/server/0114-Add-ProjectileCollideEvent.patch similarity index 92% rename from patches/unapplied/server/0115-Add-ProjectileCollideEvent.patch rename to patches/server/0114-Add-ProjectileCollideEvent.patch index d0487f914b..34bd2e9ec7 100644 --- a/patches/unapplied/server/0115-Add-ProjectileCollideEvent.patch +++ b/patches/server/0114-Add-ProjectileCollideEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add ProjectileCollideEvent diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java -index 97a4d3b3709028d322617efdfe9a5aabe2197d82..65faf775b786f9c237ee33c1fb0f8ab9f37d738c 100644 +index 68b15e3061e1e8637a34ee5e0f0953dd23645f49..91505b592e95240e0dc71a17906ab48f5eb94f34 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java +++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java @@ -225,6 +225,17 @@ public abstract class AbstractArrow extends Projectile { @@ -27,7 +27,7 @@ index 97a4d3b3709028d322617efdfe9a5aabe2197d82..65faf775b786f9c237ee33c1fb0f8ab9 this.preOnHit((HitResult) object); // CraftBukkit - projectile hit event this.hasImpulse = true; diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractHurtingProjectile.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractHurtingProjectile.java -index a8b51bece92676f1964a795112a1d490b437ed0f..dd5209ab2e5b59312349e709392689f25da162c0 100644 +index fc37e18f02b27f76244da3363e6c31d000b8e2e6..3370f4d331637bf13c7912218041f23872971e25 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/AbstractHurtingProjectile.java +++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractHurtingProjectile.java @@ -11,6 +11,7 @@ import net.minecraft.world.entity.Entity; @@ -40,7 +40,7 @@ index a8b51bece92676f1964a795112a1d490b437ed0f..dd5209ab2e5b59312349e709392689f2 import org.bukkit.craftbukkit.event.CraftEventFactory; // CraftBukkit @@ -82,7 +83,16 @@ public abstract class AbstractHurtingProjectile extends Projectile { - HitResult movingobjectposition = ProjectileUtil.getHitResult((Entity) this, this::canHitEntity); + HitResult movingobjectposition = ProjectileUtil.getHitResult(this, this::canHitEntity); - if (movingobjectposition.getType() != HitResult.Type.MISS) { + // Paper start - Call ProjectileCollideEvent @@ -57,10 +57,10 @@ index a8b51bece92676f1964a795112a1d490b437ed0f..dd5209ab2e5b59312349e709392689f2 // CraftBukkit start - Fire ProjectileHitEvent diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrowableProjectile.java b/src/main/java/net/minecraft/world/entity/projectile/ThrowableProjectile.java -index f81be1c6a5efc5090fbb8832f44dbb2ae6aa2f4a..8e81b19706a14c21b5ffdc4f12818fe74adc9ddb 100644 +index 88181c59e604ba3b132b9e695cef5eaf5b836029..94d09b05737679b133ec462815b010b19c01b4fa 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/ThrowableProjectile.java +++ b/src/main/java/net/minecraft/world/entity/projectile/ThrowableProjectile.java -@@ -11,6 +11,7 @@ import net.minecraft.world.level.block.entity.BlockEntity; +@@ -10,6 +10,7 @@ import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.TheEndGatewayBlockEntity; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.BlockHitResult; @@ -68,7 +68,7 @@ index f81be1c6a5efc5090fbb8832f44dbb2ae6aa2f4a..8e81b19706a14c21b5ffdc4f12818fe7 import net.minecraft.world.phys.HitResult; import net.minecraft.world.phys.Vec3; -@@ -67,7 +68,17 @@ public abstract class ThrowableProjectile extends Projectile { +@@ -66,7 +67,17 @@ public abstract class ThrowableProjectile extends Projectile { } if (movingobjectposition.getType() != HitResult.Type.MISS && !flag) { diff --git a/patches/unapplied/server/0116-Prevent-Pathfinding-out-of-World-Border.patch b/patches/server/0115-Prevent-Pathfinding-out-of-World-Border.patch similarity index 91% rename from patches/unapplied/server/0116-Prevent-Pathfinding-out-of-World-Border.patch rename to patches/server/0115-Prevent-Pathfinding-out-of-World-Border.patch index d72a1ed447..951f0f0043 100644 --- a/patches/unapplied/server/0116-Prevent-Pathfinding-out-of-World-Border.patch +++ b/patches/server/0115-Prevent-Pathfinding-out-of-World-Border.patch @@ -13,10 +13,10 @@ by adding code to all overrides in: to return BLOCKED if it is outside the world border. diff --git a/src/main/java/net/minecraft/world/entity/ai/navigation/PathNavigation.java b/src/main/java/net/minecraft/world/entity/ai/navigation/PathNavigation.java -index 5ddc033594c26a69f8c610cf1610a06a9be8dd4d..c7147605f0f2c57274e48ecee20a78efda84ddf9 100644 +index e10d377eb7540ed54ddcb6632afc2395c021b8ab..e675eca77a0a1718cdaceefa20b026dffdcc5508 100644 --- a/src/main/java/net/minecraft/world/entity/ai/navigation/PathNavigation.java +++ b/src/main/java/net/minecraft/world/entity/ai/navigation/PathNavigation.java -@@ -157,7 +157,7 @@ public abstract class PathNavigation { +@@ -159,7 +159,7 @@ public abstract class PathNavigation { // Paper start - Pathfind event boolean copiedSet = false; for (BlockPos possibleTarget : positions) { diff --git a/patches/unapplied/server/0117-Optimize-World.isLoaded-BlockPosition-Z.patch b/patches/server/0116-Optimize-World.isLoaded-BlockPosition-Z.patch similarity index 86% rename from patches/unapplied/server/0117-Optimize-World.isLoaded-BlockPosition-Z.patch rename to patches/server/0116-Optimize-World.isLoaded-BlockPosition-Z.patch index 85cfec76b0..89f5a7fc9f 100644 --- a/patches/unapplied/server/0117-Optimize-World.isLoaded-BlockPosition-Z.patch +++ b/patches/server/0116-Optimize-World.isLoaded-BlockPosition-Z.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Optimize World.isLoaded(BlockPosition)Z Reduce method invocations for World.isLoaded(BlockPosition)Z diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 3032f52ea3375c62aa13dc1802a85df22a9f3082..3400f8120ee73fe78209e88619ad9acef93cd5b8 100644 +index 8142f6c2d3bd17aec313d46141910f0743c6345e..ca2e81b9eace4124b83588c604a88a0e5595c6e6 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -319,6 +319,11 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -320,6 +320,11 @@ public abstract class Level implements LevelAccessor, AutoCloseable { return chunk == null ? null : chunk.getFluidState(blockposition); } diff --git a/patches/unapplied/server/0118-Bound-Treasure-Maps-to-World-Border.patch b/patches/server/0117-Bound-Treasure-Maps-to-World-Border.patch similarity index 72% rename from patches/unapplied/server/0118-Bound-Treasure-Maps-to-World-Border.patch rename to patches/server/0117-Bound-Treasure-Maps-to-World-Border.patch index ff7bd30c61..6696afa9ac 100644 --- a/patches/unapplied/server/0118-Bound-Treasure-Maps-to-World-Border.patch +++ b/patches/server/0117-Bound-Treasure-Maps-to-World-Border.patch @@ -11,10 +11,10 @@ that is outside happens to be closer, but unreachable, yet another reachable one is in border that would of been missed. diff --git a/src/main/java/net/minecraft/world/level/border/WorldBorder.java b/src/main/java/net/minecraft/world/level/border/WorldBorder.java -index a0c4bc4eb42a3d2de6f66510d88f92c06b535353..c2c54dc4bbfe469f2b8c751012b93d5e728936d6 100644 +index 6ec5a1525d0b8ced8fe78d3eab29c5eb82996844..2442c287a7f26cfee10a19e9015558cdebdcf3ac 100644 --- a/src/main/java/net/minecraft/world/level/border/WorldBorder.java +++ b/src/main/java/net/minecraft/world/level/border/WorldBorder.java -@@ -36,6 +36,18 @@ public class WorldBorder { +@@ -37,6 +37,18 @@ public class WorldBorder { return (double) (pos.getX() + 1) > this.getMinX() && (double) pos.getX() < this.getMaxX() && (double) (pos.getZ() + 1) > this.getMinZ() && (double) pos.getZ() < this.getMaxZ(); } @@ -34,14 +34,14 @@ index a0c4bc4eb42a3d2de6f66510d88f92c06b535353..c2c54dc4bbfe469f2b8c751012b93d5e return (double) pos.getMaxBlockX() > this.getMinX() && (double) pos.getMinBlockX() < this.getMaxX() && (double) pos.getMaxBlockZ() > this.getMinZ() && (double) pos.getMinBlockZ() < this.getMaxZ(); } diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/StructureFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/StructureFeature.java -index 9aaa5faff7cdabd54189598b0938fdc6354e2bb8..d7129f3379f2edecbcfd85f83d75e4d7064ce71d 100644 +index 3ff9f40df7f4f837a59362c6da6a172f42d6e8bc..0670c1f72d9d0c4f8ea32ed314f75a106b2e2b09 100644 --- a/src/main/java/net/minecraft/world/level/levelgen/feature/StructureFeature.java +++ b/src/main/java/net/minecraft/world/level/levelgen/feature/StructureFeature.java -@@ -168,6 +168,7 @@ public abstract class StructureFeature { +@@ -168,6 +168,7 @@ public class StructureFeature { int o = j + i * m; int p = k + i * n; - ChunkPos chunkPos = this.getPotentialFeatureChunk(config, worldSeed, worldgenRandom, o, p); -+ if (!world.getWorldBorder().isChunkInBounds(chunkPos.x, chunkPos.z)) { continue; } // Paper - boolean bl3 = world.getBiomeManager().getPrimaryBiomeAtChunk(chunkPos).getGenerationSettings().isValidStart(this); - if (bl3) { - ChunkAccess chunkAccess = world.getChunk(chunkPos.x, chunkPos.z, ChunkStatus.STRUCTURE_STARTS); + ChunkPos chunkPos = this.getPotentialFeatureChunk(config, worldSeed, o, p); ++ if (!levelReader.getWorldBorder().isChunkInBounds(chunkPos.x, chunkPos.z)) { continue; } // Paper + StructureCheckResult structureCheckResult = structureAccessor.checkStructurePresence(chunkPos, this, skipExistingChunks); + if (structureCheckResult != StructureCheckResult.START_NOT_PRESENT) { + if (!skipExistingChunks && structureCheckResult == StructureCheckResult.START_PRESENT) { diff --git a/patches/unapplied/server/0119-Configurable-Cartographer-Treasure-Maps.patch b/patches/server/0118-Configurable-Cartographer-Treasure-Maps.patch similarity index 95% rename from patches/unapplied/server/0119-Configurable-Cartographer-Treasure-Maps.patch rename to patches/server/0118-Configurable-Cartographer-Treasure-Maps.patch index c1b8e1616d..9b93b4da01 100644 --- a/patches/unapplied/server/0119-Configurable-Cartographer-Treasure-Maps.patch +++ b/patches/server/0118-Configurable-Cartographer-Treasure-Maps.patch @@ -28,7 +28,7 @@ index 4bda78d36a64e89bc68885a2a10b40a759720d1a..bfb83d85601f6e3298395c8424cf4476 + } } diff --git a/src/main/java/net/minecraft/world/entity/npc/VillagerTrades.java b/src/main/java/net/minecraft/world/entity/npc/VillagerTrades.java -index ae2fba922b5a8c9b4096ea8255ff20db58fcd88f..314617cb0d2df92cc394f7a80011f5b6d075419b 100644 +index a75236c1374919f7640e3b705f696dd8568eb3dc..90d77153d818534b1cb53ce80ea5409a709a2384 100644 --- a/src/main/java/net/minecraft/world/entity/npc/VillagerTrades.java +++ b/src/main/java/net/minecraft/world/entity/npc/VillagerTrades.java @@ -383,7 +383,8 @@ public class VillagerTrades { @@ -42,7 +42,7 @@ index ae2fba922b5a8c9b4096ea8255ff20db58fcd88f..314617cb0d2df92cc394f7a80011f5b6 ItemStack itemStack = MapItem.create(serverLevel, blockPos.getX(), blockPos.getZ(), (byte)2, true, true); MapItem.renderBiomePreviewMap(serverLevel, itemStack); diff --git a/src/main/java/net/minecraft/world/level/storage/loot/functions/ExplorationMapFunction.java b/src/main/java/net/minecraft/world/level/storage/loot/functions/ExplorationMapFunction.java -index ce5375dc1974042fd4e81a93a6087d7d286074af..d9452518368c6da097ee142d9b38b52188dc4a5b 100644 +index bdc0de577d3acca7d9e03d184ac65b97c5b3e68a..6dc8d85f4b8a0aa24ae22d46da4a3f89c7e01871 100644 --- a/src/main/java/net/minecraft/world/level/storage/loot/functions/ExplorationMapFunction.java +++ b/src/main/java/net/minecraft/world/level/storage/loot/functions/ExplorationMapFunction.java @@ -65,7 +65,16 @@ public class ExplorationMapFunction extends LootItemConditionalFunction { diff --git a/patches/unapplied/server/0120-Optimize-ItemStack.isEmpty.patch b/patches/server/0119-Optimize-ItemStack.isEmpty.patch similarity index 84% rename from patches/unapplied/server/0120-Optimize-ItemStack.isEmpty.patch rename to patches/server/0119-Optimize-ItemStack.isEmpty.patch index 04fec9b9f2..67358807f2 100644 --- a/patches/unapplied/server/0120-Optimize-ItemStack.isEmpty.patch +++ b/patches/server/0119-Optimize-ItemStack.isEmpty.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Optimize ItemStack.isEmpty() Remove hashMap lookup every check, simplify code to remove ternary diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 7f44e9e382aa87ad9be94394d05bbcacfb0bacc8..d921113214e7bf3693e80d417f3c5ae217500e7a 100644 +index 4019a8cd594f8c093cf790600a92f0725250e82b..6c82bb01db0431080425bfa65ab67ce703194214 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -239,7 +239,7 @@ public final class ItemStack { +@@ -240,7 +240,7 @@ public final class ItemStack { } public boolean isEmpty() { diff --git a/patches/unapplied/server/0121-Add-API-methods-to-control-if-armour-stands-can-move.patch b/patches/server/0120-Add-API-methods-to-control-if-armour-stands-can-move.patch similarity index 90% rename from patches/unapplied/server/0121-Add-API-methods-to-control-if-armour-stands-can-move.patch rename to patches/server/0120-Add-API-methods-to-control-if-armour-stands-can-move.patch index f8389dd8b1..c641c7f9fa 100644 --- a/patches/unapplied/server/0121-Add-API-methods-to-control-if-armour-stands-can-move.patch +++ b/patches/server/0120-Add-API-methods-to-control-if-armour-stands-can-move.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add API methods to control if armour stands can move diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java -index 2574fc58386197160d1fa875dd67031406d86356..4d5870f4bfe4bd33333419687a787ab1d1aa3330 100644 +index a02fe7542c7809d98d8ec68f1013594ee86ccb3f..a82503bc791b5b01e509b333e9d5baa7abbb60b8 100644 --- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java +++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java -@@ -92,6 +92,7 @@ public class ArmorStand extends LivingEntity { +@@ -91,6 +91,7 @@ public class ArmorStand extends LivingEntity { public Rotations rightArmPose; public Rotations leftLegPose; public Rotations rightLegPose; @@ -16,7 +16,7 @@ index 2574fc58386197160d1fa875dd67031406d86356..4d5870f4bfe4bd33333419687a787ab1 public ArmorStand(EntityType type, Level world) { super(type, world); -@@ -927,4 +928,13 @@ public class ArmorStand extends LivingEntity { +@@ -926,4 +927,13 @@ public class ArmorStand extends LivingEntity { public boolean canBeSeenByAnyone() { return !this.isInvisible() && !this.isMarker(); } diff --git a/patches/unapplied/server/0122-String-based-Action-Bar-API.patch b/patches/server/0121-String-based-Action-Bar-API.patch similarity index 94% rename from patches/unapplied/server/0122-String-based-Action-Bar-API.patch rename to patches/server/0121-String-based-Action-Bar-API.patch index 26480a9094..48f4b589c7 100644 --- a/patches/unapplied/server/0122-String-based-Action-Bar-API.patch +++ b/patches/server/0121-String-based-Action-Bar-API.patch @@ -26,10 +26,10 @@ index 32ef3edebe94a2014168b7e438752a80b2687e5f..ab6c58eed6707ab7b0aa3e7549a871ad // Paper end buf.writeComponent(this.text); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index d972f7b5faa5d865c0ab550c6605f9839a162c07..4233f5ffa673801c57e3f929cd9ae919d6c7169f 100644 +index a880c6434f6dbbc8ce9f82315ba906090c7240a1..d475f9a3eb3b4e3c0ed78bef1d233dde26c391b9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -249,6 +249,26 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -255,6 +255,26 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper start diff --git a/patches/unapplied/server/0123-Properly-fix-item-duplication-bug.patch b/patches/server/0122-Properly-fix-item-duplication-bug.patch similarity index 81% rename from patches/unapplied/server/0123-Properly-fix-item-duplication-bug.patch rename to patches/server/0122-Properly-fix-item-duplication-bug.patch index 2bc365640f..fd1c978fb6 100644 --- a/patches/unapplied/server/0123-Properly-fix-item-duplication-bug.patch +++ b/patches/server/0122-Properly-fix-item-duplication-bug.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Properly fix item duplication bug Credit to prplz for figuring out the real issue diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index da722cddaaa8c40715748de81104a5b213c2fea8..a61798909aee1b73b62c88c22fa6cfc1fe2a5942 100644 +index 3a97690a1e65db9a1c184fa4df5899cfda3d44bc..ab73818893b00551f8137704a727e33046d43a6a 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2128,7 +2128,7 @@ public class ServerPlayer extends Player { +@@ -2158,7 +2158,7 @@ public class ServerPlayer extends Player { @Override public boolean isImmobile() { @@ -19,10 +19,10 @@ index da722cddaaa8c40715748de81104a5b213c2fea8..a61798909aee1b73b62c88c22fa6cfc1 @Override diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 9c7843c2623fce4ec423acbcc0c76a35b1bd5969..36bb3b502a26ab43f442d85b3cad4a1de0a5bda8 100644 +index 73293dff5dac52c0737bbda65caea3a1e0cc4acd..f9d5af3842696c1a0286098f2d255f44932d4a4a 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2812,7 +2812,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -2817,7 +2817,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser } public final boolean isDisconnected() { diff --git a/patches/unapplied/server/0124-Firework-API-s.patch b/patches/server/0123-Firework-API-s.patch similarity index 96% rename from patches/unapplied/server/0124-Firework-API-s.patch rename to patches/server/0123-Firework-API-s.patch index 38e7294cc8..d4441c92dc 100644 --- a/patches/unapplied/server/0124-Firework-API-s.patch +++ b/patches/server/0123-Firework-API-s.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Firework API's diff --git a/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java b/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java -index 28e32cdac5b8c51dfcef14b585860f3181e814f3..3ac0d0419cbdacabf647a530a82ddf67ddaa13b7 100644 +index 60d60e368191038537f6a18f336565994a6b23ec..fe502e148e218ae404e0049c0251d3e3ca08c825 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java +++ b/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java @@ -39,6 +39,7 @@ public class FireworkRocketEntity extends Projectile implements ItemSupplier { @@ -42,7 +42,7 @@ index 28e32cdac5b8c51dfcef14b585860f3181e814f3..3ac0d0419cbdacabf647a530a82ddf67 @Override diff --git a/src/main/java/net/minecraft/world/item/CrossbowItem.java b/src/main/java/net/minecraft/world/item/CrossbowItem.java -index d336b44f9486ddc93b57938413d8dec4503710fa..35f3f3887c0696b757553af9a5997506c97b24c0 100644 +index 77249825f3d29cdde19d0562caaa95ab862fad54..1ec3fd560a2b6528040bca68be4a05c9a8435ae9 100644 --- a/src/main/java/net/minecraft/world/item/CrossbowItem.java +++ b/src/main/java/net/minecraft/world/item/CrossbowItem.java @@ -222,6 +222,7 @@ public class CrossbowItem extends ProjectileWeaponItem implements Vanishable { diff --git a/patches/unapplied/server/0125-PlayerTeleportEndGatewayEvent.patch b/patches/server/0124-PlayerTeleportEndGatewayEvent.patch similarity index 87% rename from patches/unapplied/server/0125-PlayerTeleportEndGatewayEvent.patch rename to patches/server/0124-PlayerTeleportEndGatewayEvent.patch index 3f16cce5be..a668335f00 100644 --- a/patches/unapplied/server/0125-PlayerTeleportEndGatewayEvent.patch +++ b/patches/server/0124-PlayerTeleportEndGatewayEvent.patch @@ -6,10 +6,10 @@ Subject: [PATCH] PlayerTeleportEndGatewayEvent Allows you to access the Gateway being used in a teleport event diff --git a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java -index fe33ed6fde98de61a9db594e8752b978b16db3e4..d6f67a87c46c95bd4c2dfad4c1c13cbfd263ef30 100644 +index 1001c318be6e57f5f55a842c148d29cf09d1e138..8af71dd1b916be666ee163904118db46fd3c9850 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java -@@ -11,6 +11,7 @@ import net.minecraft.data.worldgen.Features; +@@ -11,6 +11,7 @@ import net.minecraft.data.worldgen.features.EndFeatures; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.NbtUtils; import net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket; @@ -17,7 +17,7 @@ index fe33ed6fde98de61a9db594e8752b978b16db3e4..d6f67a87c46c95bd4c2dfad4c1c13cbf import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.util.Mth; -@@ -211,7 +212,7 @@ public class TheEndGatewayBlockEntity extends TheEndPortalBlockEntity { +@@ -209,7 +210,7 @@ public class TheEndGatewayBlockEntity extends TheEndPortalBlockEntity { location.setPitch(player.getLocation().getPitch()); location.setYaw(player.getLocation().getYaw()); diff --git a/patches/unapplied/server/0126-Provide-E-TE-Chunk-count-stat-methods.patch b/patches/server/0125-Provide-E-TE-Chunk-count-stat-methods.patch similarity index 92% rename from patches/unapplied/server/0126-Provide-E-TE-Chunk-count-stat-methods.patch rename to patches/server/0125-Provide-E-TE-Chunk-count-stat-methods.patch index b5cafb7a8a..63b0f46006 100644 --- a/patches/unapplied/server/0126-Provide-E-TE-Chunk-count-stat-methods.patch +++ b/patches/server/0125-Provide-E-TE-Chunk-count-stat-methods.patch @@ -7,10 +7,10 @@ Provides counts without the ineffeciency of using .getEntities().size() which creates copy of the collections. diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 3400f8120ee73fe78209e88619ad9acef93cd5b8..acfa844c87e5814c033cad4318813800f57885fd 100644 +index ca2e81b9eace4124b83588c604a88a0e5595c6e6..8fbf239cdc5bc2f1ec7b91eaee85d032e65f250f 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -110,7 +110,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -111,7 +111,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { public static final int TICKS_PER_DAY = 24000; public static final int MAX_ENTITY_SPAWN_Y = 20000000; public static final int MIN_ENTITY_SPAWN_Y = -20000000; @@ -20,7 +20,7 @@ index 3400f8120ee73fe78209e88619ad9acef93cd5b8..acfa844c87e5814c033cad4318813800 private boolean tickingBlockEntities; public final Thread thread; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 0b846204ba0e08ead4ca044505efe91f23c116e4..1f4880cd6abc68731abd5943619a9bf7e7ddb02f 100644 +index a465ef627169e62132287cded07efb5b05e1ed36..8579696f971824688500c8837f9451d23f84dae2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -133,6 +133,57 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/unapplied/server/0127-Enforce-Sync-Player-Saves.patch b/patches/server/0126-Enforce-Sync-Player-Saves.patch similarity index 92% rename from patches/unapplied/server/0127-Enforce-Sync-Player-Saves.patch rename to patches/server/0126-Enforce-Sync-Player-Saves.patch index 7b0c161eed..7fdf166b85 100644 --- a/patches/unapplied/server/0127-Enforce-Sync-Player-Saves.patch +++ b/patches/server/0126-Enforce-Sync-Player-Saves.patch @@ -7,7 +7,7 @@ Saving players async is extremely dangerous. This will force it to main the same way we handle async chunk loads. diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 4b21d3d73d76b81377a1d2222f37074c75ac3753..db95a5d89267f5bfc8020fcedf57b31daffc73a5 100644 +index e4ebac252ac25bd51acfc6a0e9513c96ef4cfd95..79290edb6014027e1ceb34f21ee9f1220fe74784 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -1036,11 +1036,13 @@ public abstract class PlayerList { diff --git a/patches/unapplied/server/0128-Don-t-allow-entities-to-ride-themselves-572.patch b/patches/server/0127-Don-t-allow-entities-to-ride-themselves-572.patch similarity index 80% rename from patches/unapplied/server/0128-Don-t-allow-entities-to-ride-themselves-572.patch rename to patches/server/0127-Don-t-allow-entities-to-ride-themselves-572.patch index d86d318c16..73520a3d4c 100644 --- a/patches/unapplied/server/0128-Don-t-allow-entities-to-ride-themselves-572.patch +++ b/patches/server/0127-Don-t-allow-entities-to-ride-themselves-572.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Don't allow entities to ride themselves - #572 diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 8473dcb54b26ea6b264125423fc2d52b87176b83..6211a425e81f9ba9718af6c30e534d35b10bad02 100644 +index 4b23eaa6bcd7fd3eddbe7512bae4270c6324242b..819fbb2e786cc4546a981b34ff55a6241c72b5a3 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2250,6 +2250,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -2283,6 +2283,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } protected boolean addPassenger(Entity entity) { // CraftBukkit diff --git a/patches/unapplied/server/0129-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/patches/server/0128-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch similarity index 88% rename from patches/unapplied/server/0129-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch rename to patches/server/0128-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch index ef93baf58c..ece3fd2884 100644 --- a/patches/unapplied/server/0129-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch +++ b/patches/server/0128-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch @@ -8,10 +8,10 @@ Adds lots of information about why this orb exists. Replaces isFromBottle() with logic that persists entity reloads too. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -index f772924217c0531b09662a145d8ee5d22dd5ca51..ecfb88b4d9727ad20a2c33475cc6b1ec88821a19 100644 +index 15220779927ff722960401643e99971833fc5704..2869d9bb0d374c26f9569eef3ecf0480cbaa85a6 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -@@ -415,7 +415,7 @@ public class ServerPlayerGameMode { +@@ -414,7 +414,7 @@ public class ServerPlayerGameMode { // Drop event experience if (flag && event != null) { @@ -21,7 +21,7 @@ index f772924217c0531b09662a145d8ee5d22dd5ca51..ecfb88b4d9727ad20a2c33475cc6b1ec return true; diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java -index 41556294841b2c280ba4eff861405ccb6aee19e5..5220e3ee9fab4c4cbc95e0cf1928392316a35e34 100644 +index f7cbe6819b8c4f7eaca2389de8eaceb50bce4b15..90692df7e02346d4ba785d2eaf724d06b98b4438 100644 --- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java +++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java @@ -38,13 +38,63 @@ public class ExperienceOrb extends Entity { @@ -129,10 +129,10 @@ index 41556294841b2c280ba4eff861405ccb6aee19e5..5220e3ee9fab4c4cbc95e0cf19283923 @Override diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index f6761a4bfa7a73cdbd1ecd4be1f9e78f61a67ae3..4f915072f9847327ec4fa5b33541f7105bc7fff6 100644 +index 88066799a0090d22a2e22df17e2967774089f8b7..a11ee8a247affeb97de4c3152ea1449e8bc5b223 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1704,7 +1704,8 @@ public abstract class LivingEntity extends Entity { +@@ -1699,7 +1699,8 @@ public abstract class LivingEntity extends Entity { protected void dropExperience() { // CraftBukkit start - Update getExpReward() above if the removed if() changes! if (true) { @@ -143,10 +143,10 @@ index f6761a4bfa7a73cdbd1ecd4be1f9e78f61a67ae3..4f915072f9847327ec4fa5b33541f710 } // CraftBukkit end diff --git a/src/main/java/net/minecraft/world/entity/animal/Animal.java b/src/main/java/net/minecraft/world/entity/animal/Animal.java -index c955f34e9c92f3310d2ead4eb887b5fe94180619..43841b5c77beb73169e2ff1645afe1234d8f74c7 100644 +index 4f18af2691e149e42567c45b934adf62a589ebe0..2bc77858b4a78e24227b4b096fd44177202d5292 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Animal.java +++ b/src/main/java/net/minecraft/world/entity/animal/Animal.java -@@ -264,7 +264,7 @@ public abstract class Animal extends AgeableMob { +@@ -272,7 +272,7 @@ public abstract class Animal extends AgeableMob { if (world.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) { // CraftBukkit start - use event experience if (experience > 0) { @@ -156,10 +156,10 @@ index c955f34e9c92f3310d2ead4eb887b5fe94180619..43841b5c77beb73169e2ff1645afe123 // CraftBukkit end } diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java -index a493b9998cd08eda1aeb34087736c5646ee2d8d3..7de3d73232d985ab18d7266371d301c490b79b9f 100644 +index 5220c9512c2a3e12a183b3c5ee42346f073661d9..2caf3aa6ca876d59deb98ee917e8228df140b414 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Fox.java +++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java -@@ -883,7 +883,7 @@ public class Fox extends Animal { +@@ -888,7 +888,7 @@ public class Fox extends Animal { if (this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) { // CraftBukkit start - use event experience if (experience > 0) { @@ -169,10 +169,10 @@ index a493b9998cd08eda1aeb34087736c5646ee2d8d3..7de3d73232d985ab18d7266371d301c4 // CraftBukkit end } diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java -index 10e4ed61e20edc4e2203150780d377a0fd8515bb..3ba8fafcd5de584209dd30cadb8e76a46dac4bc8 100644 +index 29ced58a41889b63282ac5abf984e14f007407c3..44679e3b44b03dc20b3763af84df655d81680c06 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java +++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java -@@ -455,7 +455,7 @@ public class Turtle extends Animal { +@@ -452,7 +452,7 @@ public class Turtle extends Animal { Random random = this.animal.getRandom(); if (this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) { @@ -182,7 +182,7 @@ index 10e4ed61e20edc4e2203150780d377a0fd8515bb..3ba8fafcd5de584209dd30cadb8e76a4 } diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java -index e17cf38b791f509447ce2c8ef38411530a0fb09b..3a01ffffcc37a93866b8b6774874959dfcabba26 100644 +index 2584c02a5f6511ade260986a6aacef401c294549..19e594757fca90c64c4dc59233ff956e7c316da9 100644 --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java @@ -634,7 +634,7 @@ public class EnderDragon extends Mob implements Enemy { @@ -204,10 +204,10 @@ index e17cf38b791f509447ce2c8ef38411530a0fb09b..3a01ffffcc37a93866b8b6774874959d if (this.dragonFight != null) { diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index 7ddcdafdd9b60e9cab2d6b0a3c5b40694ea59506..3839bacbd5f4d06eb13d0e604651232d9fbd7b6a 100644 +index d9539f906348c13afc6f1b0032c3ce259f1c87c0..8d76fe0154f31445a889dfe4cca716cb658053f6 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java -@@ -616,7 +616,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler +@@ -617,7 +617,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler } if (offer.shouldRewardExp()) { @@ -230,10 +230,10 @@ index 9001d627060b9691b703b4c0e157124b0cdee6bb..1101989e93758294c1adebbef0ab12a3 } diff --git a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java -index 3353892ab858db5e0ad2833bf56c6a367248f6fb..45d007c519e80415e34eaf404c03bf104b6f9dc1 100644 +index 54bd343def9f1ebc987640c5d756db906593f320..abab779379e60d4b775f7b39cc46943e91c8749c 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java +++ b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java -@@ -516,7 +516,7 @@ public class FishingHook extends Projectile { +@@ -515,7 +515,7 @@ public class FishingHook extends Projectile { this.level.addFreshEntity(entityitem); // CraftBukkit start - this.random.nextInt(6) + 1 -> playerFishEvent.getExpToDrop() if (playerFishEvent.getExpToDrop() > 0) { @@ -243,7 +243,7 @@ index 3353892ab858db5e0ad2833bf56c6a367248f6fb..45d007c519e80415e34eaf404c03bf10 // CraftBukkit end if (itemstack1.is((Tag) ItemTags.FISHES)) { diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownExperienceBottle.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownExperienceBottle.java -index 467f9814e0991d31bff7259f266262c81328f05f..11d1db5ef709dfb6fa596ebc4f5fff1415ad4f6d 100644 +index db6b1a9804a6d75dce22b780044beb04ca69cc94..dcbbff3a8dfcac869f07025e0e8e3d9c47956093 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/ThrownExperienceBottle.java +++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownExperienceBottle.java @@ -51,7 +51,7 @@ public class ThrownExperienceBottle extends ThrowableItemProjectile { @@ -256,23 +256,23 @@ index 467f9814e0991d31bff7259f266262c81328f05f..11d1db5ef709dfb6fa596ebc4f5fff14 } diff --git a/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java b/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java -index c5e4a0aa901d362cb299298fe2426c1c8f546ece..b268645827b7a57b906fd925d694f802a75da25d 100644 +index dbdba510d8ff3c622ed928151cf525cfd1d1b1b5..aa0ba9c7dcb0ee81c9081031c447eeab61d92a10 100644 --- a/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java +++ b/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java -@@ -98,7 +98,7 @@ public class GrindstoneMenu extends AbstractContainerMenu { +@@ -97,7 +97,7 @@ public class GrindstoneMenu extends AbstractContainerMenu { public void onTake(net.minecraft.world.entity.player.Player player, ItemStack stack) { context.execute((world, blockposition) -> { if (world instanceof ServerLevel) { -- ExperienceOrb.award((ServerLevel) world, Vec3.atCenterOf((Vec3i) blockposition), this.getExperienceAmount(world)); -+ ExperienceOrb.award((ServerLevel) world, Vec3.atCenterOf((Vec3i) blockposition), this.getExperienceAmount(world), org.bukkit.entity.ExperienceOrb.SpawnReason.GRINDSTONE, player); // Paper +- ExperienceOrb.award((ServerLevel) world, Vec3.atCenterOf(blockposition), this.getExperienceAmount(world)); ++ ExperienceOrb.award((ServerLevel) world, Vec3.atCenterOf(blockposition), this.getExperienceAmount(world), org.bukkit.entity.ExperienceOrb.SpawnReason.GRINDSTONE, player); // Paper } world.levelEvent(1042, blockposition, 0); diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java -index 72ef08a59dbf72bec2ce54ab76455c4230395959..6a31e3a3466369ede28e28bc3b9fda8dcb77e136 100644 +index 5147f67c87ba3b8912a8ae24f876a9e996504600..b77eda6af8b430311e502465a2590d83555ff6cf 100644 --- a/src/main/java/net/minecraft/world/level/block/Block.java +++ b/src/main/java/net/minecraft/world/level/block/Block.java -@@ -374,8 +374,13 @@ public class Block extends BlockBehaviour implements ItemLike { +@@ -372,8 +372,13 @@ public class Block extends BlockBehaviour implements ItemLike { } public void popExperience(ServerLevel world, BlockPos pos, int size) { @@ -282,16 +282,16 @@ index 72ef08a59dbf72bec2ce54ab76455c4230395959..6a31e3a3466369ede28e28bc3b9fda8d + public void popExperience(ServerLevel world, BlockPos pos, int size, net.minecraft.server.level.ServerPlayer player) { + // Paper end - add player parameter if (world.getGameRules().getBoolean(GameRules.RULE_DOBLOCKDROPS)) { -- ExperienceOrb.award(world, Vec3.atCenterOf((Vec3i) pos), size); -+ ExperienceOrb.award(world, Vec3.atCenterOf((Vec3i) pos), size, org.bukkit.entity.ExperienceOrb.SpawnReason.BLOCK_BREAK, player); // Paper +- ExperienceOrb.award(world, Vec3.atCenterOf(pos), size); ++ ExperienceOrb.award(world, Vec3.atCenterOf(pos), size, org.bukkit.entity.ExperienceOrb.SpawnReason.BLOCK_BREAK, player); // Paper } } diff --git a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java -index 61ab07be21759df7b92ba71e31c537860f4e5dc2..265fa3cb96b7d39194a7e83b8b77b811bc3e8b40 100644 +index ba9f209c2674107fd5751cb28c4f80fcbbc0aaa2..6c33b524d81ccd8ed060c3a9067cb1b669c7660d 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java -@@ -624,7 +624,7 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit +@@ -623,7 +623,7 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit j = event.getExpToDrop(); // CraftBukkit end @@ -301,10 +301,10 @@ index 61ab07be21759df7b92ba71e31c537860f4e5dc2..265fa3cb96b7d39194a7e83b8b77b811 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index f426891c2ca5688d46b47d5c050314b9e6f6c349..d0873200aa8f66648e23fc2954a27a83289e748c 100644 +index 14e24df5431078d6072c8c49c709bb3cb6988a4b..7c00bae9082d02f712c6e80f5ed69a55eb01d8da 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -870,7 +870,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -871,7 +871,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { } else if (TNTPrimed.class.isAssignableFrom(clazz)) { entity = new PrimedTnt(world, x, y, z, null); } else if (ExperienceOrb.class.isAssignableFrom(clazz)) { diff --git a/patches/unapplied/server/0130-Cap-Entity-Collisions.patch b/patches/server/0129-Cap-Entity-Collisions.patch similarity index 88% rename from patches/unapplied/server/0130-Cap-Entity-Collisions.patch rename to patches/server/0129-Cap-Entity-Collisions.patch index 253956dbe8..e4ea27aa9d 100644 --- a/patches/unapplied/server/0130-Cap-Entity-Collisions.patch +++ b/patches/server/0129-Cap-Entity-Collisions.patch @@ -27,10 +27,10 @@ index bfb83d85601f6e3298395c8424cf4476797a2e79..299f4b5967a740429b2074161449a279 + } } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 700cf06b588f4a6d25fc5050cc94ba56e2e2c4f9..56c05c91fc0306437c97339589268e8a4c2c5d76 100644 +index 819fbb2e786cc4546a981b34ff55a6241c72b5a3..4f1add992cef7bfa194a9e464ae9ea56eab1f191 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -322,6 +322,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -326,6 +326,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i public final org.spigotmc.ActivationRange.ActivationType activationType = org.spigotmc.ActivationRange.initializeEntityActivationType(this); public final boolean defaultActivationState; public long activatedTick = Integer.MIN_VALUE; @@ -39,10 +39,10 @@ index 700cf06b588f4a6d25fc5050cc94ba56e2e2c4f9..56c05c91fc0306437c97339589268e8a // Spigot end diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 84c7955cb6eacf7d552a2310b7820453cfb3e999..2940738eb6ac4aba76bd67fc10392b525f07f3f0 100644 +index a11ee8a247affeb97de4c3152ea1449e8bc5b223..77b96f632342026fcd2c37e34e63db3e11396c34 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3228,8 +3228,11 @@ public abstract class LivingEntity extends Entity { +@@ -3227,8 +3227,11 @@ public abstract class LivingEntity extends Entity { } } diff --git a/patches/unapplied/server/0131-Remove-CraftScheduler-Async-Task-Debugger.patch b/patches/server/0130-Remove-CraftScheduler-Async-Task-Debugger.patch similarity index 100% rename from patches/unapplied/server/0131-Remove-CraftScheduler-Async-Task-Debugger.patch rename to patches/server/0130-Remove-CraftScheduler-Async-Task-Debugger.patch diff --git a/patches/unapplied/server/0133-Do-not-let-armorstands-drown.patch b/patches/server/0131-Do-not-let-armorstands-drown.patch similarity index 83% rename from patches/unapplied/server/0133-Do-not-let-armorstands-drown.patch rename to patches/server/0131-Do-not-let-armorstands-drown.patch index 7eb2b35fdb..3c8b3ef332 100644 --- a/patches/unapplied/server/0133-Do-not-let-armorstands-drown.patch +++ b/patches/server/0131-Do-not-let-armorstands-drown.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Do not let armorstands drown diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java -index 4d5870f4bfe4bd33333419687a787ab1d1aa3330..04ee36326b16e2aa070fd3318bd4a30bce67e49a 100644 +index a82503bc791b5b01e509b333e9d5baa7abbb60b8..138422903dcb3056cd011a72e0625a1a225b4280 100644 --- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java +++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java -@@ -936,5 +936,12 @@ public class ArmorStand extends LivingEntity { +@@ -935,5 +935,12 @@ public class ArmorStand extends LivingEntity { super.move(type, movement); } } diff --git a/patches/unapplied/server/0134-Properly-handle-async-calls-to-restart-the-server.patch b/patches/server/0132-Properly-handle-async-calls-to-restart-the-server.patch similarity index 95% rename from patches/unapplied/server/0134-Properly-handle-async-calls-to-restart-the-server.patch rename to patches/server/0132-Properly-handle-async-calls-to-restart-the-server.patch index e171b117b0..c5fd40c0fe 100644 --- a/patches/unapplied/server/0134-Properly-handle-async-calls-to-restart-the-server.patch +++ b/patches/server/0132-Properly-handle-async-calls-to-restart-the-server.patch @@ -30,10 +30,10 @@ will have plugins and worlds saving to the disk has a high potential to result in corruption/dataloss. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 9c73d69658de96b8216c7d945521af84d41c69ab..0b70123deec6470c8bcf46df7418086f31e893fe 100644 +index 625a133eacf38fb8b11f4451e063dc21150f0e79..450e7165bd4806a4ed39a1b25486b408cc760460 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -232,6 +232,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop, ServerLevel> levels; private PlayerList playerList; private volatile boolean running; @@ -41,7 +41,7 @@ index 9c73d69658de96b8216c7d945521af84d41c69ab..0b70123deec6470c8bcf46df7418086f private boolean stopped; private int tickCount; protected final Proxy proxy; -@@ -942,7 +943,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0.5F || this.isInWater()) || this.abilities.flying || this.isSleeping() || this.isInPowderSnow) { diff --git a/patches/unapplied/server/0136-Add-configuration-option-to-prevent-player-names-fro.patch b/patches/server/0134-Add-configuration-option-to-prevent-player-names-fro.patch similarity index 91% rename from patches/unapplied/server/0136-Add-configuration-option-to-prevent-player-names-fro.patch rename to patches/server/0134-Add-configuration-option-to-prevent-player-names-fro.patch index f81e685ad8..9c9da76980 100644 --- a/patches/unapplied/server/0136-Add-configuration-option-to-prevent-player-names-fro.patch +++ b/patches/server/0134-Add-configuration-option-to-prevent-player-names-fro.patch @@ -20,10 +20,10 @@ index 5e23ff0c5e44427a996281ae42fc12c28649e158..7a69f9d9bb9c05474d8fbab22d626529 + } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 70cbf25466b7b7800c69d72c5f83b733cb83228b..50427b48a0f823cff8826ca205a9af16b2e2fe93 100644 +index 5a6d044a0b3a60e50c55d2f854b923f46df12d5e..5a2bd4c382b72157d1d11381665ce1398c63cb2d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2479,5 +2479,10 @@ public final class CraftServer implements Server { +@@ -2491,5 +2491,10 @@ public final class CraftServer implements Server { commandMap.registerServerAliases(); return true; } diff --git a/patches/unapplied/server/0137-Use-TerminalConsoleAppender-for-console-improvements.patch b/patches/server/0135-Use-TerminalConsoleAppender-for-console-improvements.patch similarity index 93% rename from patches/unapplied/server/0137-Use-TerminalConsoleAppender-for-console-improvements.patch rename to patches/server/0135-Use-TerminalConsoleAppender-for-console-improvements.patch index bd1f81b203..2bad0658ec 100644 --- a/patches/unapplied/server/0137-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/patches/server/0135-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -19,7 +19,7 @@ Other changes: configuration diff --git a/build.gradle.kts b/build.gradle.kts -index 1f4c0f2156c588fcbb3b0329a416dc20a4b355a8..ba7f0c199c60c062d399586e5c9a0d3da8ddb013 100644 +index 6cab6b2f348366e7e0357638ac11df5961a7388d..ff067710300454ed284d38a75cd6b3e5f04cf794 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -16,7 +16,17 @@ repositories { @@ -39,8 +39,8 @@ index 1f4c0f2156c588fcbb3b0329a416dc20a4b355a8..ba7f0c199c60c062d399586e5c9a0d3d + runtimeOnly("org.apache.logging.log4j:log4j-core:2.14.1") + // Paper end implementation("org.apache.logging.log4j:log4j-iostreams:2.14.1") // Paper - implementation("org.apache.logging.log4j:log4j-api:2.14.1") // Paper implementation("org.ow2.asm:asm:9.2") + implementation("org.ow2.asm:asm-commons:9.2") // Paper - ASM event executor generation diff --git a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java new file mode 100644 index 0000000000000000000000000000000000000000..a4070b59e261f0f1ac4beec47b11492f4724bf27 @@ -112,7 +112,7 @@ index 0000000000000000000000000000000000000000..685deaa0e5d1ddc13e3a7c0471b1cfcf + +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 0b70123deec6470c8bcf46df7418086f31e893fe..031bd2ed5c6fd2a859e8a69c48db3938cf71d61b 100644 +index 450e7165bd4806a4ed39a1b25486b408cc760460..543acb52698deb890a2624112e63be275a52c008 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -9,6 +9,7 @@ import com.mojang.authlib.GameProfile; @@ -121,18 +121,18 @@ index 0b70123deec6470c8bcf46df7418086f31e893fe..031bd2ed5c6fd2a859e8a69c48db3938 import com.mojang.datafixers.DataFixer; +import io.papermc.paper.adventure.PaperAdventure; // Paper import it.unimi.dsi.fastutil.longs.LongIterator; - import java.awt.GraphicsEnvironment; import java.awt.image.BufferedImage; -@@ -170,7 +171,7 @@ import org.apache.logging.log4j.Logger; + import java.io.BufferedWriter; +@@ -167,7 +168,7 @@ import org.apache.logging.log4j.Logger; + // CraftBukkit start import com.mojang.serialization.DynamicOps; import com.mojang.serialization.Lifecycle; - import com.google.common.collect.ImmutableSet; -import jline.console.ConsoleReader; +// import jline.console.ConsoleReader; // Paper import joptsimple.OptionSet; import net.minecraft.resources.RegistryReadOps; import net.minecraft.server.bossevents.CustomBossEvents; -@@ -285,7 +286,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop processQueue = new java.util.concurrent.ConcurrentLinkedQueue(); public int autosavePeriod; -@@ -364,7 +365,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0) { // Trim to filter lines which are just spaces @@ -201,7 +201,7 @@ index 7d834c1b1588851188372eebd9efad9313c610f7..967552df9d5ae7e58bb39127e1adb51b } // CraftBukkit end } -@@ -148,6 +151,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface +@@ -146,6 +149,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface DedicatedServer.LOGGER.error("Exception handling console input", ioexception); } @@ -210,7 +210,7 @@ index 7d834c1b1588851188372eebd9efad9313c610f7..967552df9d5ae7e58bb39127e1adb51b } }; -@@ -159,6 +164,9 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface +@@ -157,6 +162,9 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface } global.addHandler(new org.bukkit.craftbukkit.util.ForwardLogHandler()); @@ -220,7 +220,7 @@ index 7d834c1b1588851188372eebd9efad9313c610f7..967552df9d5ae7e58bb39127e1adb51b final org.apache.logging.log4j.core.Logger logger = ((org.apache.logging.log4j.core.Logger) LogManager.getRootLogger()); for (org.apache.logging.log4j.core.Appender appender : logger.getAppenders().values()) { if (appender instanceof org.apache.logging.log4j.core.appender.ConsoleAppender) { -@@ -167,6 +175,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface +@@ -165,6 +173,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface } new org.bukkit.craftbukkit.util.TerminalConsoleWriterThread(System.out, this.reader).start(); @@ -230,10 +230,10 @@ index 7d834c1b1588851188372eebd9efad9313c610f7..967552df9d5ae7e58bb39127e1adb51b System.setOut(IoBuilder.forLogger(logger).setLevel(Level.INFO).buildPrintStream()); System.setErr(IoBuilder.forLogger(logger).setLevel(Level.WARN).buildPrintStream()); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 71991aee0d60299f744c896075502d1b436b3e44..0eea43c994e76b466fdda8ecd145d0b1c9273cea 100644 +index b5ee56706c04fd9c0c294856860eebff9f62531a..61086dbcd852bdb2e5b6083ae8781a5265db7829 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -154,8 +154,7 @@ public abstract class PlayerList { +@@ -155,8 +155,7 @@ public abstract class PlayerList { public PlayerList(MinecraftServer server, RegistryAccess.RegistryHolder registryManager, PlayerDataStorage saveHandler, int maxPlayers) { this.cserver = server.server = new CraftServer((DedicatedServer) server, this); @@ -244,18 +244,18 @@ index 71991aee0d60299f744c896075502d1b436b3e44..0eea43c994e76b466fdda8ecd145d0b1 this.bans = new UserBanList(PlayerList.USERBANLIST_FILE); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 50427b48a0f823cff8826ca205a9af16b2e2fe93..696e2495ee8046c78ed53126db0e6c696c77c00d 100644 +index 5a2bd4c382b72157d1d11381665ce1398c63cb2d..de85382893132efa9c60e0c9bb0f07faaf6f442c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -47,7 +47,6 @@ import java.util.function.Consumer; - import java.util.logging.Level; +@@ -48,7 +48,6 @@ import java.util.logging.Level; import java.util.logging.Logger; + import java.util.stream.Collectors; import javax.imageio.ImageIO; -import jline.console.ConsoleReader; import net.minecraft.advancements.Advancement; import net.minecraft.commands.CommandSourceStack; import net.minecraft.commands.Commands; -@@ -61,6 +60,7 @@ import net.minecraft.resources.RegistryReadOps; +@@ -62,6 +61,7 @@ import net.minecraft.resources.RegistryReadOps; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.ConsoleInput; @@ -263,7 +263,7 @@ index 50427b48a0f823cff8826ca205a9af16b2e2fe93..696e2495ee8046c78ed53126db0e6c69 import net.minecraft.server.MinecraftServer; import net.minecraft.server.bossevents.CustomBossEvent; import net.minecraft.server.commands.ReloadCommand; -@@ -1250,9 +1250,13 @@ public final class CraftServer implements Server { +@@ -1256,9 +1256,13 @@ public final class CraftServer implements Server { return this.logger; } @@ -278,7 +278,7 @@ index 50427b48a0f823cff8826ca205a9af16b2e2fe93..696e2495ee8046c78ed53126db0e6c69 @Override public PluginCommand getPluginCommand(String name) { diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index f09520b7723dee6ab04215276d037012d643999f..bbf552bf586de94d8dfc5fb1c18e0af6f75aebe1 100644 +index c6312e189751a637341c9cf4fd24dc05766b09d6..29e4b0282bd85c55700c07480b6c8911a1708dad 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -12,7 +12,7 @@ import java.util.logging.Level; diff --git a/patches/unapplied/server/0138-provide-a-configurable-option-to-disable-creeper-lin.patch b/patches/server/0136-provide-a-configurable-option-to-disable-creeper-lin.patch similarity index 95% rename from patches/unapplied/server/0138-provide-a-configurable-option-to-disable-creeper-lin.patch rename to patches/server/0136-provide-a-configurable-option-to-disable-creeper-lin.patch index 83f643cee0..3aa4f072b7 100644 --- a/patches/unapplied/server/0138-provide-a-configurable-option-to-disable-creeper-lin.patch +++ b/patches/server/0136-provide-a-configurable-option-to-disable-creeper-lin.patch @@ -21,7 +21,7 @@ index c93346af613c50c7797c991c0b3bb6565729129f..e2894138d3efb32161087ad2a1093b8c + } } diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java -index 1c934f77b5040eb317b5b489f5c4ba55e76743c8..aa16a81ee447e8bae274668f2240627d060398ba 100644 +index 4a7e25481a382bc06ff022a17a590e08eac398d6..638b80006138ca7be44abfa69f31eccb2035ffac 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java +++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java @@ -281,7 +281,7 @@ public class Creeper extends Monster implements PowerableMob { diff --git a/patches/unapplied/server/0139-Item-canEntityPickup.patch b/patches/server/0137-Item-canEntityPickup.patch similarity index 88% rename from patches/unapplied/server/0139-Item-canEntityPickup.patch rename to patches/server/0137-Item-canEntityPickup.patch index b7f706195b..e93bdc0b90 100644 --- a/patches/unapplied/server/0139-Item-canEntityPickup.patch +++ b/patches/server/0137-Item-canEntityPickup.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Item#canEntityPickup diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 5dbc90cf67ee88d2f7043c38eaad4fc5874606b5..4f3613e8232df3b4d9e10970b9faf9fbdd3b34a2 100644 +index a2310dc7b045d4e4c3924d656a4dcf0a1d66c095..3eda6821d12bf616037f6c00815602428afbcdaf 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -619,6 +619,11 @@ public abstract class Mob extends LivingEntity { +@@ -622,6 +622,11 @@ public abstract class Mob extends LivingEntity { ItemEntity entityitem = (ItemEntity) iterator.next(); if (!entityitem.isRemoved() && !entityitem.getItem().isEmpty() && !entityitem.hasPickUpDelay() && this.wantsToPickUp(entityitem.getItem())) { @@ -21,10 +21,10 @@ index 5dbc90cf67ee88d2f7043c38eaad4fc5874606b5..4f3613e8232df3b4d9e10970b9faf9fb } } diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index bf6daeefef5a60ebc612c0347eb34d581fb8851a..9611388a6aeebb86b19d89c526f53dfed4d3ed27 100644 +index 8d3242a1436b0622d0aebb0a61a447ddf5819273..6df6204c9d4099afeb8ff07dd747f756d8e380d6 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -@@ -51,6 +51,7 @@ public class ItemEntity extends Entity { +@@ -52,6 +52,7 @@ public class ItemEntity extends Entity { private UUID owner; public final float bobOffs; private int lastTick = MinecraftServer.currentTick - 1; // CraftBukkit diff --git a/patches/unapplied/server/0132-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch b/patches/unapplied/0132-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch similarity index 100% rename from patches/unapplied/server/0132-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch rename to patches/unapplied/0132-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch