From 1387cff4e86d0dda2be99a8257ff7e9715f7e81d Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Tue, 23 Oct 2018 00:16:21 +0100 Subject: [PATCH] Update for Minecraft 1.13.2 --- Spigot-API-Patches/0001-POM-changes.patch | 8 +- Spigot-Server-Patches/0001-POM-Changes.patch | 10 +- Spigot-Server-Patches/0004-MC-Utils.patch | 54 ++-- ...to-current-Chunk-for-Entity-and-Bloc.patch | 22 +- ...ts-for-each-Entity-Block-Entity-Type.patch | 10 +- Spigot-Server-Patches/0009-Timings-v2.patch | 70 ++--- ...ient-crashes-server-lists-and-Mojang.patch | 16 +- ...ve-invalid-mob-spawner-tile-entities.patch | 10 +- .../0028-Lighting-Queue.patch | 28 +- .../0031-Optimize-explosions.patch | 24 +- ...opper-searches-if-there-are-no-items.patch | 14 +- .../0056-Add-exception-reporting-event.patch | 44 +-- .../0069-Add-World-Util-Methods.patch | 14 +- ...Location-getType-and-getBlockData-fo.patch | 16 +- ...4-Configurable-Chunk-Inhabited-Timer.patch | 10 +- ...9-Do-not-load-chunks-for-Pathfinding.patch | 20 +- ...le-Keep-Spawn-Loaded-range-per-world.patch | 16 +- ...am-reload-spawn-chunks-in-nether-end.patch | 22 +- .../0115-Activation-Range-Improvements.patch | 22 +- ...unk-Unloads-based-on-Player-Movement.patch | 24 +- .../0135-Auto-Save-Improvements.patch | 22 +- ...tion-to-remove-corrupt-tile-entities.patch | 12 +- .../0141-Add-EntityZapEvent.patch | 12 +- .../0144-Chunk-Save-Stats-Debug-Option.patch | 10 +- ...9-Add-source-to-PlayerExpChangeEvent.patch | 10 +- .../0152-Add-ProjectileCollideEvent.patch | 16 +- ...llow-entities-to-ride-themselves-572.patch | 8 +- ...oleAppender-for-console-improvements.patch | 2 +- ...aving-disabled-before-unloading-all-.patch | 10 +- .../0197-Fix-this-stupid-bullshit.patch | 8 +- ...awns-should-honor-nametags-and-leash.patch | 10 +- .../0226-PreCreatureSpawnEvent.patch | 26 +- ...nt-extended-PaperServerListPingEvent.patch | 20 +- ...ent-consumeArrow-and-getArrowItem-AP.patch | 14 +- ...leHitEvent-to-include-the-BlockFace-.patch | 8 +- .../0282-InventoryCloseEvent-Reason-API.patch | 26 +- ...ups-for-Entity-TileEntity-Current-Ch.patch | 10 +- .../0297-Duplicate-UUID-Resolve-Option.patch | 20 +- ...t-armor-stands-from-doing-entity-loo.patch | 12 +- ...2-Vanished-players-don-t-have-rights.patch | 42 +-- ...-anytime-entities-change-to-guarante.patch | 10 +- ...dd-some-Debug-to-Chunk-Entity-slices.patch | 14 +- ...rld-EntityHuman-Lookup-Optimizations.patch | 12 +- .../0320-Add-hand-to-bucket-events.patch | 14 +- .../0322-Entity-add-to-world-fixes.patch | 14 +- ...ient-rendering-skulls-from-same-user.patch | 14 +- .../0333-Cache-World-Entity-Type-counts.patch | 28 +- Spigot-Server-Patches/0340-Anti-Xray.patch | 48 +-- ...45-Implement-Force-Loaded-Chunk-API.patch} | 26 +- .../0345-Optimize-Chunk-getPos.patch | 34 -- ...=> 0346-Inventory-removeItemAnySlot.patch} | 6 +- ...Use-an-EnumMap-for-Chunk-Height-Maps.patch | 22 -- ...ptimize-getChunkIfLoaded-type-calls.patch} | 10 +- ...48-Don-t-double-add-golems-to-world.patch} | 4 +- ...fix-newlines-in-spigot-tab-list-API.patch} | 8 +- ...oadChunk-int-int-false-load-unconve.patch} | 6 +- ...ray-tracing-methods-to-LivingEntity.patch} | 10 +- ...-attack-cooldown-methods-for-Player.patch} | 8 +- ...356-Fix-1420.patch => 0353-Fix-1420.patch} | 6 +- ...and-performance-issues-in-DataFixers.patch | 293 ------------------ ...-load-entity-AABB-to-prevent-wobble.patch} | 36 +-- ....patch => 0355-Improve-death-events.patch} | 26 +- ...w-chests-to-be-placed-with-NBT-data.patch} | 8 +- ...I.patch => 0357-Mob-Pathfinding-API.patch} | 14 +- ...nt-chunk-loading-from-Fluid-Flowing.patch} | 6 +- ...for-CanPlaceOn-and-CanDestroy-NBT-v.patch} | 0 ...nt-Mob-AI-Rules-from-Loading-Chunks.patch} | 10 +- ...ning-from-loading-generating-chunks.patch} | 18 +- ...-Biome-Mob-Lookups-for-Mob-Spawning.patch} | 4 +- ...Optimize-and-Fix-ExpiringMap-Issues.patch} | 6 +- ...t-furnace-cook-speed-multiplier-API.patch} | 16 +- ...0365-Support-Overriding-World-Seeds.patch} | 10 +- ...h => 0366-Optimize-Server-World-Map.patch} | 6 +- ....patch => 0367-PreSpawnerSpawnEvent.patch} | 4 +- ...5-Fix-Double-Chest-Conversion-Error.patch} | 10 +- ...rseException-in-Entity-and-TE-names.patch} | 24 +- ... 0370-Avoid-dimension-id-collisions.patch} | 4 +- ...=> 0371-Honor-EntityAgeable.ageLock.patch} | 4 +- ...-Async-Chunk-Loading-and-Generation.patch} | 14 +- ...-Dimension-NBT-field-in-Entity-data.patch} | 4 +- ... 0374-Optimize-Light-Recalculations.patch} | 6 +- ...-entity-loss-due-to-unloaded-chunks.patch} | 4 +- ...-recheck-type-after-setting-a-block.patch} | 4 +- ...> 0377-Fix-Sending-Chunks-to-Client.patch} | 4 +- .../0377-Fix-turtle-lag.patch | 31 -- ...le-connection-throttle-kick-message.patch} | 6 +- ...Fix-FileIOThread-concurrency-issues.patch} | 4 +- ...0-Don-t-update-snapshot-blockstates.patch} | 4 +- ...> 0381-Hook-into-CB-plugin-rewrites.patch} | 4 +- ...82-Allow-setting-the-vex-s-summoner.patch} | 6 +- ...83-Add-LivingEntity-getTargetEntity.patch} | 22 +- ...I.patch => 0384-Add-sun-related-API.patch} | 12 +- ...wned-for-Villager-Aggression-Config.patch} | 4 +- ...-Johnny.patch => 0386-Here-s-Johnny.patch} | 6 +- ...Turtle-API.patch => 0387-Turtle-API.patch} | 30 +- ...ire-EntityCombustEvent-for-phantoms.patch} | 4 +- ...it-lightning-strike-effect-distance.patch} | 8 +- ...-and-setters-for-EntityItem-owner-a.patch} | 0 ...her-worlds-for-shooter-of-projectil.patch} | 4 +- ...Call-player-spectator-target-events.patch} | 0 ...taFixer-Bootstrap-to-prebuild-faster.patch | 65 ---- ...-Add-Velocity-IP-Forwarding-Support.patch} | 16 +- ...PI.patch => 0394-Add-more-Witch-API.patch} | 6 +- ...MC-93764.patch => 0395-Fix-MC-93764.patch} | 6 +- ...item-tag-if-interaction-is-canceled.patch} | 0 ...vent-players-from-moving-into-unloa.patch} | 2 +- ...8-Reset-players-airTicks-on-respawn.patch} | 8 +- scripts/importmcdev.sh | 11 - work/BuildData | 2 +- work/Bukkit | 2 +- work/CraftBukkit | 2 +- work/Paperclip | 2 +- work/Spigot | 2 +- 113 files changed, 671 insertions(+), 1179 deletions(-) rename Spigot-Server-Patches/{0347-Implement-Force-Loaded-Chunk-API.patch => 0345-Implement-Force-Loaded-Chunk-API.patch} (58%) delete mode 100644 Spigot-Server-Patches/0345-Optimize-Chunk-getPos.patch rename Spigot-Server-Patches/{0348-Inventory-removeItemAnySlot.patch => 0346-Inventory-removeItemAnySlot.patch} (95%) delete mode 100644 Spigot-Server-Patches/0346-Use-an-EnumMap-for-Chunk-Height-Maps.patch rename Spigot-Server-Patches/{0349-Optimize-getChunkIfLoaded-type-calls.patch => 0347-Optimize-getChunkIfLoaded-type-calls.patch} (95%) rename Spigot-Server-Patches/{0350-Don-t-double-add-golems-to-world.patch => 0348-Don-t-double-add-golems-to-world.patch} (88%) rename Spigot-Server-Patches/{0351-fix-newlines-in-spigot-tab-list-API.patch => 0349-fix-newlines-in-spigot-tab-list-API.patch} (94%) rename Spigot-Server-Patches/{0352-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch => 0350-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch} (89%) rename Spigot-Server-Patches/{0353-Add-ray-tracing-methods-to-LivingEntity.patch => 0351-Add-ray-tracing-methods-to-LivingEntity.patch} (95%) rename Spigot-Server-Patches/{0355-Expose-attack-cooldown-methods-for-Player.patch => 0352-Expose-attack-cooldown-methods-for-Player.patch} (92%) rename Spigot-Server-Patches/{0356-Fix-1420.patch => 0353-Fix-1420.patch} (94%) delete mode 100644 Spigot-Server-Patches/0354-Fix-concurrency-and-performance-issues-in-DataFixers.patch rename Spigot-Server-Patches/{0357-MC-2025-Save-and-load-entity-AABB-to-prevent-wobble.patch => 0354-MC-2025-Save-and-load-entity-AABB-to-prevent-wobble.patch} (82%) rename Spigot-Server-Patches/{0358-Improve-death-events.patch => 0355-Improve-death-events.patch} (96%) rename Spigot-Server-Patches/{0359-Allow-chests-to-be-placed-with-NBT-data.patch => 0356-Allow-chests-to-be-placed-with-NBT-data.patch} (92%) rename Spigot-Server-Patches/{0360-Mob-Pathfinding-API.patch => 0357-Mob-Pathfinding-API.patch} (97%) rename Spigot-Server-Patches/{0361-Prevent-chunk-loading-from-Fluid-Flowing.patch => 0358-Prevent-chunk-loading-from-Fluid-Flowing.patch} (97%) rename Spigot-Server-Patches/{0362-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch => 0359-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch} (100%) rename Spigot-Server-Patches/{0363-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch => 0360-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch} (95%) rename Spigot-Server-Patches/{0364-Prevent-mob-spawning-from-loading-generating-chunks.patch => 0361-Prevent-mob-spawning-from-loading-generating-chunks.patch} (61%) rename Spigot-Server-Patches/{0365-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch => 0362-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch} (97%) rename Spigot-Server-Patches/{0366-Optimize-and-Fix-ExpiringMap-Issues.patch => 0363-Optimize-and-Fix-ExpiringMap-Issues.patch} (98%) rename Spigot-Server-Patches/{0367-Implement-furnace-cook-speed-multiplier-API.patch => 0364-Implement-furnace-cook-speed-multiplier-API.patch} (88%) rename Spigot-Server-Patches/{0368-Support-Overriding-World-Seeds.patch => 0365-Support-Overriding-World-Seeds.patch} (95%) rename Spigot-Server-Patches/{0369-Optimize-Server-World-Map.patch => 0366-Optimize-Server-World-Map.patch} (98%) rename Spigot-Server-Patches/{0370-PreSpawnerSpawnEvent.patch => 0367-PreSpawnerSpawnEvent.patch} (94%) rename Spigot-Server-Patches/{0371-MC-134115-Fix-Double-Chest-Conversion-Error.patch => 0368-MC-134115-Fix-Double-Chest-Conversion-Error.patch} (91%) rename Spigot-Server-Patches/{0372-Catch-JsonParseException-in-Entity-and-TE-names.patch => 0369-Catch-JsonParseException-in-Entity-and-TE-names.patch} (93%) rename Spigot-Server-Patches/{0373-Avoid-dimension-id-collisions.patch => 0370-Avoid-dimension-id-collisions.patch} (90%) rename Spigot-Server-Patches/{0374-Honor-EntityAgeable.ageLock.patch => 0371-Honor-EntityAgeable.ageLock.patch} (85%) rename Spigot-Server-Patches/{0375-Async-Chunk-Loading-and-Generation.patch => 0372-Async-Chunk-Loading-and-Generation.patch} (99%) rename Spigot-Server-Patches/{0376-Ignore-Dimension-NBT-field-in-Entity-data.patch => 0373-Ignore-Dimension-NBT-field-in-Entity-data.patch} (95%) rename Spigot-Server-Patches/{0378-Optimize-Light-Recalculations.patch => 0374-Optimize-Light-Recalculations.patch} (95%) rename Spigot-Server-Patches/{0379-Fix-issues-with-entity-loss-due-to-unloaded-chunks.patch => 0375-Fix-issues-with-entity-loss-due-to-unloaded-chunks.patch} (94%) rename Spigot-Server-Patches/{0380-Don-t-recheck-type-after-setting-a-block.patch => 0376-Don-t-recheck-type-after-setting-a-block.patch} (92%) rename Spigot-Server-Patches/{0381-Fix-Sending-Chunks-to-Client.patch => 0377-Fix-Sending-Chunks-to-Client.patch} (97%) delete mode 100644 Spigot-Server-Patches/0377-Fix-turtle-lag.patch rename Spigot-Server-Patches/{0382-Configurable-connection-throttle-kick-message.patch => 0378-Configurable-connection-throttle-kick-message.patch} (93%) rename Spigot-Server-Patches/{0383-Fix-FileIOThread-concurrency-issues.patch => 0379-Fix-FileIOThread-concurrency-issues.patch} (93%) rename Spigot-Server-Patches/{0384-Don-t-update-snapshot-blockstates.patch => 0380-Don-t-update-snapshot-blockstates.patch} (90%) rename Spigot-Server-Patches/{0385-Hook-into-CB-plugin-rewrites.patch => 0381-Hook-into-CB-plugin-rewrites.patch} (98%) rename Spigot-Server-Patches/{0386-Allow-setting-the-vex-s-summoner.patch => 0382-Allow-setting-the-vex-s-summoner.patch} (90%) rename Spigot-Server-Patches/{0387-Add-LivingEntity-getTargetEntity.patch => 0383-Add-LivingEntity-getTargetEntity.patch} (94%) rename Spigot-Server-Patches/{0388-Add-sun-related-API.patch => 0384-Add-sun-related-API.patch} (88%) rename Spigot-Server-Patches/{0389-Check-Drowned-for-Villager-Aggression-Config.patch => 0385-Check-Drowned-for-Villager-Aggression-Config.patch} (94%) rename Spigot-Server-Patches/{0390-Here-s-Johnny.patch => 0386-Here-s-Johnny.patch} (91%) rename Spigot-Server-Patches/{0391-Turtle-API.patch => 0387-Turtle-API.patch} (89%) rename Spigot-Server-Patches/{0393-Fire-EntityCombustEvent-for-phantoms.patch => 0388-Fire-EntityCombustEvent-for-phantoms.patch} (89%) rename Spigot-Server-Patches/{0394-Limit-lightning-strike-effect-distance.patch => 0389-Limit-lightning-strike-effect-distance.patch} (96%) rename Spigot-Server-Patches/{0395-Implement-getters-and-setters-for-EntityItem-owner-a.patch => 0390-Implement-getters-and-setters-for-EntityItem-owner-a.patch} (100%) rename Spigot-Server-Patches/{0396-MC-50319-Check-other-worlds-for-shooter-of-projectil.patch => 0391-MC-50319-Check-other-worlds-for-shooter-of-projectil.patch} (94%) rename Spigot-Server-Patches/{0397-Call-player-spectator-target-events.patch => 0392-Call-player-spectator-target-events.patch} (100%) delete mode 100644 Spigot-Server-Patches/0392-Optimize-DataFixer-Bootstrap-to-prebuild-faster.patch rename Spigot-Server-Patches/{0398-Add-Velocity-IP-Forwarding-Support.patch => 0393-Add-Velocity-IP-Forwarding-Support.patch} (97%) rename Spigot-Server-Patches/{0399-Add-more-Witch-API.patch => 0394-Add-more-Witch-API.patch} (97%) rename Spigot-Server-Patches/{0400-Fix-MC-93764.patch => 0395-Fix-MC-93764.patch} (81%) rename Spigot-Server-Patches/{0401-Don-t-modify-item-tag-if-interaction-is-canceled.patch => 0396-Don-t-modify-item-tag-if-interaction-is-canceled.patch} (100%) rename Spigot-Server-Patches/{0402-Add-option-to-prevent-players-from-moving-into-unloa.patch => 0397-Add-option-to-prevent-players-from-moving-into-unloa.patch} (99%) rename Spigot-Server-Patches/{0402-Reset-players-airTicks-on-respawn.patch => 0398-Reset-players-airTicks-on-respawn.patch} (84%) diff --git a/Spigot-API-Patches/0001-POM-changes.patch b/Spigot-API-Patches/0001-POM-changes.patch index 2b22583078..b018f40e49 100644 --- a/Spigot-API-Patches/0001-POM-changes.patch +++ b/Spigot-API-Patches/0001-POM-changes.patch @@ -1,11 +1,11 @@ -From 98238d93b1456c8bb79e0d6bb95f5773761dd861 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 1 Mar 2016 00:16:08 +0100 Subject: [PATCH] POM changes diff --git a/pom.xml b/pom.xml -index 117a7f8c..2a5846a1 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/pom.xml +++ b/pom.xml @@ -3,37 +3,36 @@ @@ -21,7 +21,7 @@ index 117a7f8c..2a5846a1 100644 + + + paper-api - 1.13.1-R0.1-SNAPSHOT + 1.13.2-R0.1-SNAPSHOT jar - Spigot-API @@ -136,5 +136,5 @@ index 117a7f8c..2a5846a1 100644 - -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0001-POM-Changes.patch b/Spigot-Server-Patches/0001-POM-Changes.patch index 41e426d873..c93fcc316c 100644 --- a/Spigot-Server-Patches/0001-POM-Changes.patch +++ b/Spigot-Server-Patches/0001-POM-Changes.patch @@ -1,11 +1,11 @@ -From b66f17991abf9f3df03862b742227841741b1d22 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Mon, 29 Feb 2016 20:40:33 -0600 Subject: [PATCH] POM Changes diff --git a/pom.xml b/pom.xml -index f1f0c20a52..17c3baaec9 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/pom.xml +++ b/pom.xml @@ -1,12 +1,11 @@ @@ -16,7 +16,7 @@ index f1f0c20a52..17c3baaec9 100644 - spigot + paper jar - 1.13.1-R0.1-SNAPSHOT + 1.13.2-R0.1-SNAPSHOT - Spigot - http://www.spigotmc.org + Paper @@ -169,7 +169,7 @@ index f1f0c20a52..17c3baaec9 100644 diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java -index 93046379d0..674096cab1 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java @@ -11,7 +11,7 @@ public final class Versioning { @@ -182,5 +182,5 @@ index 93046379d0..674096cab1 100644 if (stream != null) { -- -2.18.0 +2.19.1 diff --git a/Spigot-Server-Patches/0004-MC-Utils.patch b/Spigot-Server-Patches/0004-MC-Utils.patch index 2881af5a4f..9c7f1903ec 100644 --- a/Spigot-Server-Patches/0004-MC-Utils.patch +++ b/Spigot-Server-Patches/0004-MC-Utils.patch @@ -1,11 +1,11 @@ -From 9d3389fb2535b20a63c20203e34b59b5a83817e9 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 28 Mar 2016 20:55:47 -0400 Subject: [PATCH] MC Utils diff --git a/src/main/java/net/minecraft/server/AttributeInstance.java b/src/main/java/net/minecraft/server/AttributeInstance.java -index 1c1a6a37a..0929e0189 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/AttributeInstance.java +++ b/src/main/java/net/minecraft/server/AttributeInstance.java @@ -20,8 +20,10 @@ public interface AttributeInstance { @@ -20,7 +20,7 @@ index 1c1a6a37a..0929e0189 100644 void b(UUID var1); diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java -index 6ffc53514..5c5f19b4b 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java @@ -9,7 +9,7 @@ import org.apache.logging.log4j.Logger; @@ -65,10 +65,10 @@ index 6ffc53514..5c5f19b4b 100644 return this.c(MathHelper.floor(d0), MathHelper.floor(d1), MathHelper.floor(d2)); } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index bc5e4a654..d3eac35e4 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -28,7 +28,7 @@ import com.google.common.collect.Lists; // CraftBukkit +@@ -27,7 +27,7 @@ import com.google.common.collect.Lists; // CraftBukkit public class Chunk implements IChunkAccess { private static final Logger d = LogManager.getLogger(); @@ -77,7 +77,7 @@ index bc5e4a654..d3eac35e4 100644 private final ChunkSection[] sections; private final BiomeBase[] f; private final boolean[] g; -@@ -699,6 +699,7 @@ public class Chunk implements IChunkAccess { +@@ -700,6 +700,7 @@ public class Chunk implements IChunkAccess { return this.a(blockposition, Chunk.EnumTileEntityState.CHECK); } @@ -86,7 +86,7 @@ index bc5e4a654..d3eac35e4 100644 public TileEntity a(BlockPosition blockposition, Chunk.EnumTileEntityState chunk_enumtileentitystate) { // CraftBukkit start diff --git a/src/main/java/net/minecraft/server/ChunkCoordIntPair.java b/src/main/java/net/minecraft/server/ChunkCoordIntPair.java -index 744762b8b..d9608121b 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/ChunkCoordIntPair.java +++ b/src/main/java/net/minecraft/server/ChunkCoordIntPair.java @@ -23,6 +23,8 @@ public class ChunkCoordIntPair { @@ -99,7 +99,7 @@ index 744762b8b..d9608121b 100644 return (long)i & 4294967295L | ((long)j & 4294967295L) << 32; } diff --git a/src/main/java/net/minecraft/server/ChunkTaskScheduler.java b/src/main/java/net/minecraft/server/ChunkTaskScheduler.java -index 3b6b3b9a9..22af9c188 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/ChunkTaskScheduler.java +++ b/src/main/java/net/minecraft/server/ChunkTaskScheduler.java @@ -16,7 +16,7 @@ import org.apache.logging.log4j.Logger; @@ -112,7 +112,7 @@ index 3b6b3b9a9..22af9c188 100644 private final IChunkLoader e; private final IAsyncTaskHandler f; diff --git a/src/main/java/net/minecraft/server/DataBits.java b/src/main/java/net/minecraft/server/DataBits.java -index 95ca5f6d8..0dc948a37 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/DataBits.java +++ b/src/main/java/net/minecraft/server/DataBits.java @@ -54,6 +54,7 @@ public class DataBits { @@ -124,7 +124,7 @@ index 95ca5f6d8..0dc948a37 100644 return this.a; } diff --git a/src/main/java/net/minecraft/server/DataPalette.java b/src/main/java/net/minecraft/server/DataPalette.java -index 7f905b1e0..fa5b9262b 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/DataPalette.java +++ b/src/main/java/net/minecraft/server/DataPalette.java @@ -3,10 +3,11 @@ package net.minecraft.server; @@ -142,7 +142,7 @@ index 7f905b1e0..fa5b9262b 100644 void b(PacketDataSerializer var1); diff --git a/src/main/java/net/minecraft/server/DataPaletteBlock.java b/src/main/java/net/minecraft/server/DataPaletteBlock.java -index 304e47bf2..6e7454b13 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/DataPaletteBlock.java +++ b/src/main/java/net/minecraft/server/DataPaletteBlock.java @@ -7,7 +7,7 @@ import java.util.function.Function; @@ -184,7 +184,7 @@ index 304e47bf2..6e7454b13 100644 this.b(); packetdataserializer.writeByte(this.i); diff --git a/src/main/java/net/minecraft/server/EntityCreature.java b/src/main/java/net/minecraft/server/EntityCreature.java -index 2c6fbd1d6..a5c147b98 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityCreature.java +++ b/src/main/java/net/minecraft/server/EntityCreature.java @@ -6,6 +6,7 @@ import org.bukkit.event.entity.EntityUnleashEvent; @@ -196,7 +196,7 @@ index 2c6fbd1d6..a5c147b98 100644 private float b; diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index ebb177927..60b1dcd8e 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -124,6 +124,7 @@ public abstract class EntityInsentient extends EntityLiving { @@ -208,7 +208,7 @@ index ebb177927..60b1dcd8e 100644 // CraftBukkit start - fire event setGoalTarget(entityliving, EntityTargetEvent.TargetReason.UNKNOWN, true); diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 1aefd3763..76cc9085b 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -122,6 +122,7 @@ public abstract class EntityLiving extends Entity { @@ -220,7 +220,7 @@ index 1aefd3763..76cc9085b 100644 @Override public float getBukkitYaw() { diff --git a/src/main/java/net/minecraft/server/EntityMonster.java b/src/main/java/net/minecraft/server/EntityMonster.java -index c0f48bbc2..a0e3b72c1 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityMonster.java +++ b/src/main/java/net/minecraft/server/EntityMonster.java @@ -1,11 +1,14 @@ @@ -239,7 +239,7 @@ index c0f48bbc2..a0e3b72c1 100644 return SoundCategory.HOSTILE; } diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java -index 17bfa356f..5c1ab6a0b 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityTypes.java +++ b/src/main/java/net/minecraft/server/EntityTypes.java @@ -3,6 +3,7 @@ package net.minecraft.server; @@ -290,7 +290,7 @@ index 17bfa356f..5c1ab6a0b 100644 // Paper end } diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index c54275bc2..318c4204d 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -26,6 +26,7 @@ import org.bukkit.TreeType; @@ -321,7 +321,7 @@ index c54275bc2..318c4204d 100644 } diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java new file mode 100644 -index 000000000..c97e116aa +index 7ac07ac07ac0..7ac07ac07ac0 --- /dev/null +++ b/src/main/java/net/minecraft/server/MCUtil.java @@ -0,0 +1,316 @@ @@ -642,7 +642,7 @@ index 000000000..c97e116aa + } +} diff --git a/src/main/java/net/minecraft/server/NBTTagCompound.java b/src/main/java/net/minecraft/server/NBTTagCompound.java -index 41cd3ceab..2a66a3026 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/NBTTagCompound.java +++ b/src/main/java/net/minecraft/server/NBTTagCompound.java @@ -23,7 +23,7 @@ import org.apache.logging.log4j.Logger; @@ -687,7 +687,7 @@ index 41cd3ceab..2a66a3026 100644 } } diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java -index 0afaea810..26da89724 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/NetworkManager.java +++ b/src/main/java/net/minecraft/server/NetworkManager.java @@ -44,7 +44,7 @@ public class NetworkManager extends SimpleChannelInboundHandler> { @@ -728,7 +728,7 @@ index 0afaea810..26da89724 100644 public QueuedPacket(Packet packet, @Nullable GenericFutureListener> genericfuturelistener) { this.a = packet; diff --git a/src/main/java/net/minecraft/server/PacketDataSerializer.java b/src/main/java/net/minecraft/server/PacketDataSerializer.java -index d04afceb7..a63a5811d 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/PacketDataSerializer.java +++ b/src/main/java/net/minecraft/server/PacketDataSerializer.java @@ -33,6 +33,7 @@ public class PacketDataSerializer extends ByteBuf { @@ -740,7 +740,7 @@ index d04afceb7..a63a5811d 100644 for (int j = 1; j < 5; ++j) { if ((i & -1 << j * 7) == 0) { diff --git a/src/main/java/net/minecraft/server/PacketEncoder.java b/src/main/java/net/minecraft/server/PacketEncoder.java -index 8e312c761..c20911c96 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/PacketEncoder.java +++ b/src/main/java/net/minecraft/server/PacketEncoder.java @@ -38,6 +38,7 @@ public class PacketEncoder extends MessageToByteEncoder> { @@ -752,7 +752,7 @@ index 8e312c761..c20911c96 100644 throw new SkipEncodeException(throwable); } else { diff --git a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java -index 12d6c99cf..af382815f 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java +++ b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java @@ -11,7 +11,7 @@ public class PacketPlayOutMapChunk implements Packet { @@ -773,7 +773,7 @@ index 12d6c99cf..af382815f 100644 int j = 0; ChunkSection[] achunksection = chunk.getSections(); diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index d455eadfc..8db0b6a6d 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -68,9 +68,9 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { @@ -790,7 +790,7 @@ index d455eadfc..8db0b6a6d 100644 private volatile int chatThrottle; private static final AtomicIntegerFieldUpdater chatSpamField = AtomicIntegerFieldUpdater.newUpdater(PlayerConnection.class, "chatThrottle"); diff --git a/src/main/java/net/minecraft/server/PotionUtil.java b/src/main/java/net/minecraft/server/PotionUtil.java -index 8fce3b022..58ac6eafc 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/PotionUtil.java +++ b/src/main/java/net/minecraft/server/PotionUtil.java @@ -103,6 +103,7 @@ public class PotionUtil { @@ -802,7 +802,7 @@ index 8fce3b022..58ac6eafc 100644 MinecraftKey minecraftkey = IRegistry.POTION.getKey(potionregistry); if (potionregistry == Potions.EMPTY) { diff --git a/src/main/java/net/minecraft/server/RegistryBlockID.java b/src/main/java/net/minecraft/server/RegistryBlockID.java -index a21006290..6c6f006f3 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/RegistryBlockID.java +++ b/src/main/java/net/minecraft/server/RegistryBlockID.java @@ -54,6 +54,7 @@ public class RegistryBlockID implements Registry { @@ -814,7 +814,7 @@ index a21006290..6c6f006f3 100644 return this.b.size(); } diff --git a/src/main/java/net/minecraft/server/SystemUtils.java b/src/main/java/net/minecraft/server/SystemUtils.java -index 1f1cb6a1b..ced573d7f 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/SystemUtils.java +++ b/src/main/java/net/minecraft/server/SystemUtils.java @@ -34,8 +34,8 @@ public class SystemUtils { diff --git a/Spigot-Server-Patches/0007-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch b/Spigot-Server-Patches/0007-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch index 1e35c9c6aa..3dddf65746 100644 --- a/Spigot-Server-Patches/0007-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch +++ b/Spigot-Server-Patches/0007-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch @@ -1,4 +1,4 @@ -From 70f95e0e0ad11ed2007a83c24d855cbb800f764b Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 Jul 2018 02:10:36 -0400 Subject: [PATCH] Store reference to current Chunk for Entity and Block @@ -8,10 +8,10 @@ This enables us a fast reference to the entities current chunk instead of having to look it up by hashmap lookups. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index bc43af7243..0a55ad6212 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -33,7 +33,7 @@ public class Chunk implements IChunkAccess { +@@ -32,7 +32,7 @@ public class Chunk implements IChunkAccess { private final BiomeBase[] f; private final boolean[] g; private final Map h; @@ -54,13 +54,13 @@ index bc43af7243..0a55ad6212 100644 @@ -93,7 +116,7 @@ public class Chunk implements IChunkAccess { this.g = new boolean[256]; this.h = Maps.newHashMap(); - this.heightMap = Maps.newHashMap(); + this.heightMap = Maps.newEnumMap(HeightMap.Type.class); - this.tileEntities = Maps.newHashMap(); + this.tileEntities = new TileEntityHashMap(); // Paper this.p = Maps.newHashMap(); this.q = Maps.newHashMap(); this.r = new ShortList[16]; -@@ -652,6 +675,9 @@ public class Chunk implements IChunkAccess { +@@ -653,6 +676,9 @@ public class Chunk implements IChunkAccess { entity.af = k; entity.ag = this.locZ; this.entitySlices[k].add(entity); @@ -70,7 +70,7 @@ index bc43af7243..0a55ad6212 100644 } public void a(HeightMap.Type heightmap_type, long[] along) { -@@ -670,8 +696,12 @@ public class Chunk implements IChunkAccess { +@@ -671,8 +697,12 @@ public class Chunk implements IChunkAccess { if (i >= this.entitySlices.length) { i = this.entitySlices.length - 1; } @@ -85,7 +85,7 @@ index bc43af7243..0a55ad6212 100644 } public boolean c(BlockPosition blockposition) { -@@ -872,6 +902,7 @@ public class Chunk implements IChunkAccess { +@@ -873,6 +903,7 @@ public class Chunk implements IChunkAccess { } } // Spigot End @@ -94,7 +94,7 @@ index bc43af7243..0a55ad6212 100644 // Do not pass along players, as doing so can get them stuck outside of time. // (which for example disables inventory icon updates and prevents block breaking) diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 19a3ba79f2..aa9e4ef5ee 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -134,7 +134,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -147,7 +147,7 @@ index 19a3ba79f2..aa9e4ef5ee 100644 private String entityKeyString; diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index 7390061bf0..c69209497b 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -41,6 +41,15 @@ public abstract class TileEntity implements KeyedObject { // Paper @@ -167,7 +167,7 @@ index 7390061bf0..c69209497b 100644 @Nullable diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 5cce3644d0..7a204e8edf 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -9,6 +9,7 @@ import java.util.UUID; @@ -192,5 +192,5 @@ index 5cce3644d0..7a204e8edf 100644 /** * Order is *EXTREMELY* important -- keep it right! =D -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0008-Store-counts-for-each-Entity-Block-Entity-Type.patch b/Spigot-Server-Patches/0008-Store-counts-for-each-Entity-Block-Entity-Type.patch index 6deb7422da..1b620b0d3b 100644 --- a/Spigot-Server-Patches/0008-Store-counts-for-each-Entity-Block-Entity-Type.patch +++ b/Spigot-Server-Patches/0008-Store-counts-for-each-Entity-Block-Entity-Type.patch @@ -1,4 +1,4 @@ -From 097b3586b9c38d4afc2e8cf3ae9b0ecb16e5df7c Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 Jul 2018 02:13:59 -0400 Subject: [PATCH] Store counts for each Entity/Block Entity Type @@ -6,7 +6,7 @@ Subject: [PATCH] Store counts for each Entity/Block Entity Type Opens door for future patches to optimize performance diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 238139c73..eb0411ec8 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -63,15 +63,19 @@ public class Chunk implements IChunkAccess { @@ -37,7 +37,7 @@ index 238139c73..eb0411ec8 100644 } return removed; } -@@ -677,6 +682,7 @@ public class Chunk implements IChunkAccess { +@@ -678,6 +683,7 @@ public class Chunk implements IChunkAccess { this.entitySlices[k].add(entity); // Paper start entity.setCurrentChunk(this); @@ -45,7 +45,7 @@ index 238139c73..eb0411ec8 100644 // Paper end } -@@ -701,6 +707,7 @@ public class Chunk implements IChunkAccess { +@@ -702,6 +708,7 @@ public class Chunk implements IChunkAccess { return; } entity.setCurrentChunk(null); @@ -54,5 +54,5 @@ index 238139c73..eb0411ec8 100644 } -- -2.18.0 +2.19.1 diff --git a/Spigot-Server-Patches/0009-Timings-v2.patch b/Spigot-Server-Patches/0009-Timings-v2.patch index 60ad8b4850..4b853458bc 100644 --- a/Spigot-Server-Patches/0009-Timings-v2.patch +++ b/Spigot-Server-Patches/0009-Timings-v2.patch @@ -1,4 +1,4 @@ -From 29cc84ad8c41d02c850823836236b0377f7c1c28 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Mar 2016 04:00:11 -0600 Subject: [PATCH] Timings v2 @@ -6,7 +6,7 @@ Subject: [PATCH] Timings v2 diff --git a/src/main/java/co/aikar/timings/MinecraftTimings.java b/src/main/java/co/aikar/timings/MinecraftTimings.java new file mode 100644 -index 000000000..a6292f1d7 +index 7ac07ac07ac0..7ac07ac07ac0 --- /dev/null +++ b/src/main/java/co/aikar/timings/MinecraftTimings.java @@ -0,0 +1,132 @@ @@ -144,7 +144,7 @@ index 000000000..a6292f1d7 +} diff --git a/src/main/java/co/aikar/timings/WorldTimingsHandler.java b/src/main/java/co/aikar/timings/WorldTimingsHandler.java new file mode 100644 -index 000000000..145cb274b +index 7ac07ac07ac0..7ac07ac07ac0 --- /dev/null +++ b/src/main/java/co/aikar/timings/WorldTimingsHandler.java @@ -0,0 +1,104 @@ @@ -253,7 +253,7 @@ index 000000000..145cb274b + } +} diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 87a7b6980..2f17e5219 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -14,11 +14,14 @@ import java.util.concurrent.TimeUnit; @@ -297,7 +297,7 @@ index 87a7b6980..2f17e5219 100644 + } } diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java -index 8811dbc9b..7818a3b6a 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Block.java +++ b/src/main/java/net/minecraft/server/Block.java @@ -23,6 +23,15 @@ public class Block implements IMaterial { @@ -317,10 +317,10 @@ index 8811dbc9b..7818a3b6a 100644 private final float frictionFactor; protected final BlockStateList blockStateList; diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 9b9317167..b81d37922 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -841,6 +841,7 @@ public class Chunk implements IChunkAccess { +@@ -842,6 +842,7 @@ public class Chunk implements IChunkAccess { server.getPluginManager().callEvent(new org.bukkit.event.world.ChunkLoadEvent(this.bukkitChunk, this.needsDecoration)); if (this.needsDecoration) { @@ -328,7 +328,7 @@ index 9b9317167..b81d37922 100644 BlockSand.instaFall = true; java.util.Random random = new java.util.Random(); random.setSeed(world.getSeed()); -@@ -861,6 +862,7 @@ public class Chunk implements IChunkAccess { +@@ -862,6 +863,7 @@ public class Chunk implements IChunkAccess { } BlockSand.instaFall = false; server.getPluginManager().callEvent(new org.bukkit.event.world.ChunkPopulateEvent(bukkitChunk)); @@ -337,7 +337,7 @@ index 9b9317167..b81d37922 100644 } // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/ChunkMap.java b/src/main/java/net/minecraft/server/ChunkMap.java -index 85a065f03..4b8b77710 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/ChunkMap.java +++ b/src/main/java/net/minecraft/server/ChunkMap.java @@ -14,6 +14,7 @@ public class ChunkMap extends Long2ObjectOpenHashMap { @@ -357,7 +357,7 @@ index 85a065f03..4b8b77710 100644 return chunk1; diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 0c8c10b7a..31ed3e43a 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -90,7 +90,7 @@ public class ChunkProviderServer implements IChunkProvider { @@ -398,7 +398,7 @@ index 0c8c10b7a..31ed3e43a 100644 this.chunkLoader.saveChunk(this.world, ichunkaccess, unloaded); // Spigot } catch (IOException ioexception) { diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 1a32149db..43f77a398 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -1,5 +1,6 @@ @@ -445,7 +445,7 @@ index 1a32149db..43f77a398 100644 } diff --git a/src/main/java/net/minecraft/server/CustomFunction.java b/src/main/java/net/minecraft/server/CustomFunction.java -index b7cdc495a..8b9b076de 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/CustomFunction.java +++ b/src/main/java/net/minecraft/server/CustomFunction.java @@ -13,12 +13,22 @@ public class CustomFunction { @@ -472,7 +472,7 @@ index b7cdc495a..8b9b076de 100644 return this.b; } diff --git a/src/main/java/net/minecraft/server/CustomFunctionData.java b/src/main/java/net/minecraft/server/CustomFunctionData.java -index 4d7e15179..40ff72f72 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/CustomFunctionData.java +++ b/src/main/java/net/minecraft/server/CustomFunctionData.java @@ -109,7 +109,7 @@ public class CustomFunctionData implements ITickable, IResourcePackListener { @@ -485,7 +485,7 @@ index 4d7e15179..40ff72f72 100644 int j = 0; CustomFunction.c[] acustomfunction_c = customfunction.b(); diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 9c03cfd4b..1afdf4be9 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -29,7 +29,7 @@ import org.apache.logging.log4j.Level; @@ -538,7 +538,7 @@ index 9c03cfd4b..1afdf4be9 100644 return waitable.get(); } catch (java.util.concurrent.ExecutionException e) { diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index aa9e4ef5e..320146783 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -29,7 +29,8 @@ import org.bukkit.command.CommandSender; @@ -577,7 +577,7 @@ index aa9e4ef5e..320146783 100644 protected float ab() { diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 76cc9085b..ce79887cf 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -32,7 +32,7 @@ import org.bukkit.event.entity.EntityTeleportEvent; @@ -653,7 +653,7 @@ index 76cc9085b..ce79887cf 100644 } diff --git a/src/main/java/net/minecraft/server/EntityTracker.java b/src/main/java/net/minecraft/server/EntityTracker.java -index ae31935c4..70c9b1f50 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityTracker.java +++ b/src/main/java/net/minecraft/server/EntityTracker.java @@ -168,7 +168,7 @@ public class EntityTracker { @@ -684,7 +684,7 @@ index ae31935c4..70c9b1f50 100644 } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index ac534ea3e..bb4d2cabf 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1,5 +1,6 @@ @@ -837,7 +837,7 @@ index ac534ea3e..bb4d2cabf 100644 this.methodProfiler.e(); } diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index ac6d8cc6e..d975c2ccf 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -1,5 +1,6 @@ @@ -923,7 +923,7 @@ index ac6d8cc6e..d975c2ccf 100644 + try (Timing ignored = world.timings.doChunkMapUnloadChunks.startTiming()) { // Paper WorldProvider worldprovider = this.world.worldProvider; - if (!worldprovider.p()) { + if (!worldprovider.canRespawn()) { this.world.getChunkProviderServer().b(); } + } // Paper timing @@ -931,7 +931,7 @@ index ac6d8cc6e..d975c2ccf 100644 } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 8db0b6a6d..fa20e1d26 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -59,6 +59,7 @@ import org.bukkit.inventory.CraftingInventory; @@ -970,7 +970,7 @@ index 8db0b6a6d..fa20e1d26 100644 // this.minecraftServer.getCommandDispatcher().a(this.player.getCommandListener(), s); // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java -index 616797dc6..3a5daf670 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java +++ b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java @@ -1,10 +1,16 @@ @@ -991,7 +991,7 @@ index 616797dc6..3a5daf670 100644 throw CancelledPacketHandleException.INSTANCE; } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 6e5922a98..ca129d221 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -1,5 +1,6 @@ @@ -1015,7 +1015,7 @@ index 6e5922a98..ca129d221 100644 public WhiteList getWhitelist() { diff --git a/src/main/java/net/minecraft/server/TickListServer.java b/src/main/java/net/minecraft/server/TickListServer.java -index a07895935..ee5c2421b 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/TickListServer.java +++ b/src/main/java/net/minecraft/server/TickListServer.java @@ -24,13 +24,19 @@ public class TickListServer implements TickList { @@ -1069,7 +1069,7 @@ index a07895935..ee5c2421b 100644 } diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index c69209497..68ac014aa 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -4,12 +4,13 @@ import javax.annotation.Nullable; @@ -1089,7 +1089,7 @@ index c69209497..68ac014aa 100644 private final TileEntityTypes e; public TileEntityTypes getTileEntityType() { return e; } // Paper - OBFHELPER protected World world; diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index f381e23be..a934a4b30 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1,5 +1,6 @@ @@ -1204,7 +1204,7 @@ index f381e23be..a934a4b30 100644 public boolean a(@Nullable Entity entity, VoxelShape voxelshape) { diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 4be2d8d3c..e4d03b677 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1,5 +1,6 @@ @@ -1311,7 +1311,7 @@ index 4be2d8d3c..e4d03b677 100644 // CraftBukkit start diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index e659f3f33..944fca34c 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1896,12 +1896,31 @@ public final class CraftServer implements Server { @@ -1348,7 +1348,7 @@ index e659f3f33..944fca34c 100644 org.spigotmc.RestartCommand.restart(); diff --git a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java b/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java deleted file mode 100644 -index 4c8ab2bc9..000000000 +index 7ac07ac07ac0..7ac07ac07ac0 --- a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java +++ /dev/null @@ -1,174 +0,0 @@ @@ -1527,7 +1527,7 @@ index 4c8ab2bc9..000000000 - } -} diff --git a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java -index 413dd35f0..52a8c48fa 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java +++ b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java @@ -1,6 +1,8 @@ @@ -1563,7 +1563,7 @@ index 413dd35f0..52a8c48fa 100644 public void callStage3(QueuedChunk queuedChunk, Chunk chunk, Runnable runnable) throws RuntimeException { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 9f78f2c4a..832d2de47 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1715,6 +1715,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -1582,7 +1582,7 @@ index 9f78f2c4a..832d2de47 100644 public Player.Spigot spigot() diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index f11bd7545..93b9134d6 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java @@ -14,6 +14,7 @@ import java.util.concurrent.atomic.AtomicInteger; @@ -1658,7 +1658,7 @@ index f11bd7545..93b9134d6 100644 private boolean isReady(final int currentTick) { diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java -index 7e7ce9a81..46029ce24 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java @@ -1,8 +1,8 @@ @@ -1740,7 +1740,7 @@ index 7e7ce9a81..46029ce24 100644 - // Spigot end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java b/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java -index e52ef47b7..3d90b3426 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java @@ -5,6 +5,7 @@ import org.bukkit.util.CachedServerIcon; @@ -1752,7 +1752,7 @@ index e52ef47b7..3d90b3426 100644 this.value = value; } diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index e60fe5a92..f68e42c4d 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -30,7 +30,7 @@ import net.minecraft.server.EntityWither; diff --git a/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch b/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch index b8d2365eea..0ee0478f40 100644 --- a/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch +++ b/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch @@ -1,4 +1,4 @@ -From 2409159c6d4c2d7a31ce744fb572fbe9b143af00 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 1 Mar 2016 14:32:43 -0600 Subject: [PATCH] Show 'Paper' in client crashes, server lists, and Mojang @@ -6,7 +6,7 @@ Subject: [PATCH] Show 'Paper' in client crashes, server lists, and Mojang diff --git a/src/main/java/net/minecraft/server/EULA.java b/src/main/java/net/minecraft/server/EULA.java -index b64cac252..cc333de50 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EULA.java +++ b/src/main/java/net/minecraft/server/EULA.java @@ -49,13 +49,12 @@ public class EULA { @@ -25,7 +25,7 @@ index b64cac252..cc333de50 100644 } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index bb4d2cabf..788f0519a 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1213,7 +1213,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati @@ -38,7 +38,7 @@ index bb4d2cabf..788f0519a 100644 public CrashReport b(CrashReport crashreport) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 944fca34c..e45cbcc0d 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -159,7 +159,7 @@ import org.bukkit.event.server.TabCompleteEvent; @@ -51,11 +51,11 @@ index 944fca34c..e45cbcc0d 100644 private final String bukkitVersion = Versioning.getBukkitVersion(); private final Logger logger = Logger.getLogger("Minecraft"); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index e354245f7..bbd5766a2 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -200,7 +200,7 @@ public class Main { - deadline.add(Calendar.DAY_OF_YEAR, -10); + deadline.add(Calendar.DAY_OF_YEAR, -7); if (buildDate.before(deadline.getTime())) { System.err.println("*** Error, this build is outdated ***"); - System.err.println("*** Please download a new build as per instructions from https://www.spigotmc.org/ ***"); @@ -64,7 +64,7 @@ index e354245f7..bbd5766a2 100644 Thread.sleep(TimeUnit.SECONDS.toMillis(20)); } diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java -index 94a3d4237..91b8aa6a1 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/spigotmc/WatchdogThread.java +++ b/src/main/java/org/spigotmc/WatchdogThread.java @@ -19,7 +19,7 @@ public class WatchdogThread extends Thread @@ -98,5 +98,5 @@ index 94a3d4237..91b8aa6a1 100644 log.log( Level.SEVERE, "------------------------------" ); // -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0019-Remove-invalid-mob-spawner-tile-entities.patch b/Spigot-Server-Patches/0019-Remove-invalid-mob-spawner-tile-entities.patch index 2077477fee..04bbb98d79 100644 --- a/Spigot-Server-Patches/0019-Remove-invalid-mob-spawner-tile-entities.patch +++ b/Spigot-Server-Patches/0019-Remove-invalid-mob-spawner-tile-entities.patch @@ -1,16 +1,16 @@ -From 3ea8c91ea0db1aace5cffaf8bc8712928c962e43 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Byteflux Date: Tue, 1 Mar 2016 15:08:03 -0600 Subject: [PATCH] Remove invalid mob spawner tile entities diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index e737d5a4df..2f33b4208c 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -792,6 +792,10 @@ public class Chunk implements IChunkAccess { +@@ -793,6 +793,10 @@ public class Chunk implements IChunkAccess { tileentity.z(); - this.tileEntities.put(blockposition, tileentity); + this.tileEntities.put(blockposition.h(), tileentity); // CraftBukkit start + // Paper start - Remove invalid mob spawner tile entities + } else if (tileentity instanceof TileEntityMobSpawner && !(getBlockData(blockposition.getX(), blockposition.getY(), blockposition.getZ()).getBlock() instanceof BlockMobSpawner)) { @@ -20,5 +20,5 @@ index e737d5a4df..2f33b4208c 100644 System.out.println("Attempted to place a tile entity (" + tileentity + ") at " + tileentity.position.getX() + "," + tileentity.position.getY() + "," + tileentity.position.getZ() + " (" + getType(blockposition) + ") where there was no entity tile!"); -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0028-Lighting-Queue.patch b/Spigot-Server-Patches/0028-Lighting-Queue.patch index 26e1b36767..ecb531257d 100644 --- a/Spigot-Server-Patches/0028-Lighting-Queue.patch +++ b/Spigot-Server-Patches/0028-Lighting-Queue.patch @@ -1,4 +1,4 @@ -From 4b74d1d81eccd51be3808fa01847b44a306ac04b Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 2 Mar 2016 00:52:31 -0600 Subject: [PATCH] Lighting Queue @@ -6,7 +6,7 @@ Subject: [PATCH] Lighting Queue This provides option to queue lighting updates to ensure they do not cause the server lag diff --git a/src/main/java/co/aikar/timings/WorldTimingsHandler.java b/src/main/java/co/aikar/timings/WorldTimingsHandler.java -index 145cb274b..eff9dcf54 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/co/aikar/timings/WorldTimingsHandler.java +++ b/src/main/java/co/aikar/timings/WorldTimingsHandler.java @@ -50,6 +50,8 @@ public class WorldTimingsHandler { @@ -28,7 +28,7 @@ index 145cb274b..eff9dcf54 100644 public static Timing getTickList(WorldServer worldserver, String timingsType) { diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 2f17e5219..aa920c469 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -191,6 +191,13 @@ public class PaperConfig { @@ -46,7 +46,7 @@ index 2f17e5219..aa920c469 100644 boolean timings = getBoolean("timings.enabled", true); boolean verboseTimings = getBoolean("timings.verbose", true); diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 39d565db1..8f6f0288b 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -130,4 +130,12 @@ public class PaperWorldConfig { @@ -63,7 +63,7 @@ index 39d565db1..8f6f0288b 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index af181d4bd..6fa379e58 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -90,6 +90,7 @@ public class Chunk implements IChunkAccess { @@ -74,7 +74,7 @@ index af181d4bd..6fa379e58 100644 // Paper end public boolean areNeighborsLoaded(final int radius) { switch (radius) { -@@ -279,7 +280,7 @@ public class Chunk implements IChunkAccess { +@@ -280,7 +281,7 @@ public class Chunk implements IChunkAccess { private void g(boolean flag) { this.world.methodProfiler.a("recheckGaps"); @@ -83,7 +83,7 @@ index af181d4bd..6fa379e58 100644 for (int i = 0; i < 16; ++i) { for (int j = 0; j < 16; ++j) { if (this.g[i + j * 16]) { -@@ -330,7 +331,7 @@ public class Chunk implements IChunkAccess { +@@ -331,7 +332,7 @@ public class Chunk implements IChunkAccess { } private void a(int i, int j, int k, int l) { @@ -92,7 +92,7 @@ index af181d4bd..6fa379e58 100644 for (int i1 = k; i1 < l; ++i1) { this.world.c(EnumSkyBlock.SKY, new BlockPosition(i, i1, j)); } -@@ -530,6 +531,7 @@ public class Chunk implements IChunkAccess { +@@ -531,6 +532,7 @@ public class Chunk implements IChunkAccess { if (flag1) { this.initLighting(); } else { @@ -100,7 +100,7 @@ index af181d4bd..6fa379e58 100644 int i1 = iblockdata.b(this.world, blockposition); int j1 = iblockdata1.b(this.world, blockposition); -@@ -537,6 +539,7 @@ public class Chunk implements IChunkAccess { +@@ -538,6 +540,7 @@ public class Chunk implements IChunkAccess { if (i1 != j1 && (i1 < j1 || this.getBrightness(EnumSkyBlock.SKY, blockposition) > 0 || this.getBrightness(EnumSkyBlock.BLOCK, blockposition) > 0)) { this.c(i, k); } @@ -108,7 +108,7 @@ index af181d4bd..6fa379e58 100644 } TileEntity tileentity; -@@ -1374,6 +1377,16 @@ public class Chunk implements IChunkAccess { +@@ -1348,6 +1351,16 @@ public class Chunk implements IChunkAccess { return this.D == 8; } @@ -126,7 +126,7 @@ index af181d4bd..6fa379e58 100644 IMMEDIATE, QUEUED, CHECK; diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 31ed3e43a..0b03c6266 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -314,6 +314,7 @@ public class ChunkProviderServer implements IChunkProvider { @@ -138,7 +138,7 @@ index 31ed3e43a..0b03c6266 100644 // Update neighbor counts for (int x = -2; x < 3; x++) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index d6ea4ae53..5086fe402 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -894,7 +894,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati @@ -160,7 +160,7 @@ index d6ea4ae53..5086fe402 100644 } diff --git a/src/main/java/net/minecraft/server/PaperLightingQueue.java b/src/main/java/net/minecraft/server/PaperLightingQueue.java new file mode 100644 -index 000000000..5fabc5b55 +index 7ac07ac07ac0..7ac07ac07ac0 --- /dev/null +++ b/src/main/java/net/minecraft/server/PaperLightingQueue.java @@ -0,0 +1,98 @@ @@ -263,7 +263,7 @@ index 000000000..5fabc5b55 + } +} diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 499d64ea2..e06da6bef 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -335,7 +335,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc diff --git a/Spigot-Server-Patches/0031-Optimize-explosions.patch b/Spigot-Server-Patches/0031-Optimize-explosions.patch index 37e959f413..8fc66873e2 100644 --- a/Spigot-Server-Patches/0031-Optimize-explosions.patch +++ b/Spigot-Server-Patches/0031-Optimize-explosions.patch @@ -1,4 +1,4 @@ -From ec6d0fe89ca68ea6e27a03bd0921ce2d731ea395 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Byteflux Date: Wed, 2 Mar 2016 11:59:48 -0600 Subject: [PATCH] Optimize explosions @@ -10,7 +10,7 @@ This patch adds a per-tick cache that is used for storing and retrieving an entity's exposure during an explosion. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 5aee23dceb..2ec3d93551 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -144,4 +144,10 @@ public class PaperWorldConfig { @@ -25,7 +25,7 @@ index 5aee23dceb..2ec3d93551 100644 + } } diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java -index c7d11cf621..d0ba510023 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Explosion.java +++ b/src/main/java/net/minecraft/server/Explosion.java @@ -137,7 +137,7 @@ public class Explosion { @@ -68,12 +68,12 @@ index c7d11cf621..d0ba510023 100644 + this.posX = explosion.posX; + this.posY = explosion.posY; + this.posZ = explosion.posZ; -+ this.minX = aabb.a; -+ this.minY = aabb.b; -+ this.minZ = aabb.c; -+ this.maxX = aabb.d; -+ this.maxY = aabb.e; -+ this.maxZ = aabb.f; ++ this.minX = aabb.minX; ++ this.minY = aabb.minY; ++ this.minZ = aabb.minZ; ++ this.maxX = aabb.maxX; ++ this.maxY = aabb.maxY; ++ this.maxZ = aabb.maxZ; + } + + @Override @@ -124,7 +124,7 @@ index c7d11cf621..d0ba510023 100644 + // Paper end } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 5086fe4027..abed6bb977 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1059,6 +1059,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati @@ -136,7 +136,7 @@ index 5086fe4027..abed6bb977 100644 } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index e06da6bef9..c823cef341 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -24,6 +24,7 @@ import org.apache.logging.log4j.Logger; @@ -156,5 +156,5 @@ index e06da6bef9..c823cef341 100644 public CraftWorld getWorld() { return this.world; -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0047-Avoid-hopper-searches-if-there-are-no-items.patch b/Spigot-Server-Patches/0047-Avoid-hopper-searches-if-there-are-no-items.patch index 3549710b9b..e0b600f039 100644 --- a/Spigot-Server-Patches/0047-Avoid-hopper-searches-if-there-are-no-items.patch +++ b/Spigot-Server-Patches/0047-Avoid-hopper-searches-if-there-are-no-items.patch @@ -1,4 +1,4 @@ -From 3b7f8f6ddc6df313b6a5434a1ff7692dbe91c828 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: CullanP Date: Thu, 3 Mar 2016 02:13:38 -0600 Subject: [PATCH] Avoid hopper searches if there are no items @@ -14,7 +14,7 @@ And since minecart hoppers are used _very_ rarely near we can avoid alot of sear Combined, this adds up a lot. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 6fa379e580..4a0be58e2f 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -91,6 +91,10 @@ public class Chunk implements IChunkAccess { @@ -28,7 +28,7 @@ index 6fa379e580..4a0be58e2f 100644 // Paper end public boolean areNeighborsLoaded(final int radius) { switch (radius) { -@@ -684,6 +688,11 @@ public class Chunk implements IChunkAccess { +@@ -685,6 +689,11 @@ public class Chunk implements IChunkAccess { entity.ag = this.locZ; this.entitySlices[k].add(entity); // Paper start @@ -40,7 +40,7 @@ index 6fa379e580..4a0be58e2f 100644 entity.setCurrentChunk(this); entityCounts.increment(entity.getMinecraftKeyString()); // Paper end -@@ -709,6 +718,11 @@ public class Chunk implements IChunkAccess { +@@ -710,6 +719,11 @@ public class Chunk implements IChunkAccess { if (!this.entitySlices[i].remove(entity)) { return; } @@ -52,7 +52,7 @@ index 6fa379e580..4a0be58e2f 100644 entity.setCurrentChunk(null); entityCounts.decrement(entity.getMinecraftKeyString()); // Paper end -@@ -948,6 +962,15 @@ public class Chunk implements IChunkAccess { +@@ -949,6 +963,15 @@ public class Chunk implements IChunkAccess { if (!this.entitySlices[k].isEmpty()) { Iterator iterator = this.entitySlices[k].iterator(); @@ -68,7 +68,7 @@ index 6fa379e580..4a0be58e2f 100644 while (iterator.hasNext()) { Entity entity1 = (Entity) iterator.next(); -@@ -984,7 +1007,18 @@ public class Chunk implements IChunkAccess { +@@ -985,7 +1008,18 @@ public class Chunk implements IChunkAccess { i = MathHelper.clamp(i, 0, this.entitySlices.length - 1); j = MathHelper.clamp(j, 0, this.entitySlices.length - 1); @@ -88,5 +88,5 @@ index 6fa379e580..4a0be58e2f 100644 while (iterator.hasNext()) { -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0056-Add-exception-reporting-event.patch b/Spigot-Server-Patches/0056-Add-exception-reporting-event.patch index 309c65aab4..638a4049f2 100644 --- a/Spigot-Server-Patches/0056-Add-exception-reporting-event.patch +++ b/Spigot-Server-Patches/0056-Add-exception-reporting-event.patch @@ -1,4 +1,4 @@ -From 7cf71d60b825ba6eabba9c27524c06824071106c Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Joseph Hirschfeld Date: Thu, 3 Mar 2016 03:15:41 -0600 Subject: [PATCH] Add exception reporting event @@ -6,7 +6,7 @@ Subject: [PATCH] Add exception reporting event diff --git a/src/main/java/com/destroystokyo/paper/ServerSchedulerReportingWrapper.java b/src/main/java/com/destroystokyo/paper/ServerSchedulerReportingWrapper.java new file mode 100644 -index 0000000000..93397188b7 +index 7ac07ac07ac0..7ac07ac07ac0 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/ServerSchedulerReportingWrapper.java @@ -0,0 +1,38 @@ @@ -50,7 +50,7 @@ index 0000000000..93397188b7 +} \ No newline at end of file diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 4a0be58e2f..7ad41d04d3 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -1,5 +1,6 @@ @@ -60,7 +60,7 @@ index 4a0be58e2f..7ad41d04d3 100644 import com.google.common.collect.Maps; import com.google.common.collect.Queues; import com.google.common.collect.Sets; -@@ -419,6 +420,7 @@ public class Chunk implements IChunkAccess { +@@ -420,6 +421,7 @@ public class Chunk implements IChunkAccess { return this.getBlockData(i, j, k).b(this.world, new BlockPosition(i, j, k)); } @@ -68,7 +68,7 @@ index 4a0be58e2f..7ad41d04d3 100644 public IBlockData getType(BlockPosition blockposition) { return this.getBlockData(blockposition.getX(), blockposition.getY(), blockposition.getZ()); } -@@ -814,10 +816,15 @@ public class Chunk implements IChunkAccess { +@@ -815,10 +817,15 @@ public class Chunk implements IChunkAccess { this.tileEntities.remove(blockposition); // Paper end } else { @@ -89,7 +89,7 @@ index 4a0be58e2f..7ad41d04d3 100644 } } diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 0b03c6266a..d16fc452e3 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -15,6 +15,7 @@ import java.util.function.BooleanSupplier; @@ -118,7 +118,7 @@ index 0b03c6266a..d16fc452e3 100644 } diff --git a/src/main/java/net/minecraft/server/NameReferencingFileConverter.java b/src/main/java/net/minecraft/server/NameReferencingFileConverter.java -index 1d830dff64..58d971cf20 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/NameReferencingFileConverter.java +++ b/src/main/java/net/minecraft/server/NameReferencingFileConverter.java @@ -1,5 +1,6 @@ @@ -145,7 +145,7 @@ index 1d830dff64..58d971cf20 100644 } // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java -index f991fddf7d..e888c9bdba 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/RegionFile.java +++ b/src/main/java/net/minecraft/server/RegionFile.java @@ -1,5 +1,6 @@ @@ -172,7 +172,7 @@ index f991fddf7d..e888c9bdba 100644 } diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java -index d18921271f..e5115863ec 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/RegionFileCache.java +++ b/src/main/java/net/minecraft/server/RegionFileCache.java @@ -1,5 +1,6 @@ @@ -191,7 +191,7 @@ index d18921271f..e5115863ec 100644 } diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java -index 50b1175cc1..cc0a884cd3 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/SpawnerCreature.java +++ b/src/main/java/net/minecraft/server/SpawnerCreature.java @@ -10,6 +10,7 @@ import org.apache.logging.log4j.LogManager; @@ -202,15 +202,15 @@ index 50b1175cc1..cc0a884cd3 100644 import org.bukkit.craftbukkit.util.LongHash; import org.bukkit.craftbukkit.util.LongHashSet; import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason; -@@ -167,6 +168,7 @@ public final class SpawnerCreature { - entityinsentient = (EntityInsentient) biomebase_biomemeta.b.a((World) worldserver); - } catch (Exception exception) { - SpawnerCreature.a.warn("Failed to create mob", exception); +@@ -171,6 +172,7 @@ public final class SpawnerCreature { + entityinsentient = (EntityInsentient) biomebase_biomemeta.b.a((World) worldserver); + } catch (Exception exception) { + SpawnerCreature.a.warn("Failed to create mob", exception); + ServerInternalException.reportInternalException(exception); // Paper - return j1; - } + return j1; + } -@@ -287,6 +289,7 @@ public final class SpawnerCreature { +@@ -292,6 +294,7 @@ public final class SpawnerCreature { entityinsentient = (EntityInsentient) biomebase_biomemeta.b.a(generatoraccess.getMinecraftWorld()); } catch (Exception exception) { SpawnerCreature.a.warn("Failed to create mob", exception); @@ -219,7 +219,7 @@ index 50b1175cc1..cc0a884cd3 100644 } diff --git a/src/main/java/net/minecraft/server/VillageSiege.java b/src/main/java/net/minecraft/server/VillageSiege.java -index e649d662ae..560edb523f 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/VillageSiege.java +++ b/src/main/java/net/minecraft/server/VillageSiege.java @@ -1,5 +1,7 @@ @@ -239,7 +239,7 @@ index e649d662ae..560edb523f 100644 } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 65e84b666f..19eb905979 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1,6 +1,8 @@ @@ -276,7 +276,7 @@ index 65e84b666f..19eb905979 100644 this.tileEntityListTick.remove(tileTickPosition--); continue; diff --git a/src/main/java/net/minecraft/server/WorldPersistentData.java b/src/main/java/net/minecraft/server/WorldPersistentData.java -index 65931bfb5f..625335c60f 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/WorldPersistentData.java +++ b/src/main/java/net/minecraft/server/WorldPersistentData.java @@ -138,6 +138,7 @@ public class WorldPersistentData { @@ -288,7 +288,7 @@ index 65931bfb5f..625335c60f 100644 throw throwable1; } finally { diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index 93b9134d6e..26753fac5e 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java @@ -15,6 +15,9 @@ import java.util.concurrent.atomic.AtomicReference; @@ -334,5 +334,5 @@ index 93b9134d6e..26753fac5e 100644 // (async tasks must live with race-conditions if they attempt to cancel between these few lines of code) } -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0069-Add-World-Util-Methods.patch b/Spigot-Server-Patches/0069-Add-World-Util-Methods.patch index e3603819c0..e4f78cdc6e 100644 --- a/Spigot-Server-Patches/0069-Add-World-Util-Methods.patch +++ b/Spigot-Server-Patches/0069-Add-World-Util-Methods.patch @@ -1,4 +1,4 @@ -From f0d99154ec0d953d8431bc1479a92b176abd2b92 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 18 Mar 2016 20:16:03 -0400 Subject: [PATCH] Add World Util Methods @@ -6,10 +6,10 @@ Subject: [PATCH] Add World Util Methods Methods that can be used for other patches to help improve logic. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 7ad41d04d3..8756d39b6e 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -632,6 +632,7 @@ public class Chunk implements IChunkAccess { +@@ -633,6 +633,7 @@ public class Chunk implements IChunkAccess { } } @@ -18,7 +18,7 @@ index 7ad41d04d3..8756d39b6e 100644 return this.a(blockposition, i, this.world.o().g()); } diff --git a/src/main/java/net/minecraft/server/IWorldReader.java b/src/main/java/net/minecraft/server/IWorldReader.java -index ac85986a1a..06c5a54254 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/IWorldReader.java +++ b/src/main/java/net/minecraft/server/IWorldReader.java @@ -35,6 +35,22 @@ public interface IWorldReader extends IBlockAccess { @@ -50,11 +50,11 @@ index ac85986a1a..06c5a54254 100644 VoxelShapeBitSet voxelshapebitset = new VoxelShapeBitSet(j - i, l - k, j1 - i1); - Predicate predicate = (voxelshape3) -> { + Predicate predicate = (voxelshape3) -> { // Paper - decompile fix - return !voxelshape3.b() && VoxelShapes.c(voxelshape, voxelshape3, OperatorBoolean.AND); + return !voxelshape3.isEmpty() && VoxelShapes.c(voxelshape, voxelshape3, OperatorBoolean.AND); }; Stream stream = StreamSupport.stream(BlockPosition.MutableBlockPosition.b(i, k, i1, j - 1, l - 1, j1 - 1).spliterator(), false).map((blockposition$mutableblockposition) -> { diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 19eb905979..275978de83 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -84,7 +84,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc @@ -151,5 +151,5 @@ index 19eb905979..275978de83 100644 return this.getChunkAt(blockposition.getX() >> 4, blockposition.getZ() >> 4); } -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0080-Optimize-isValidLocation-getType-and-getBlockData-fo.patch b/Spigot-Server-Patches/0080-Optimize-isValidLocation-getType-and-getBlockData-fo.patch index 3b4e961600..8a44b98822 100644 --- a/Spigot-Server-Patches/0080-Optimize-isValidLocation-getType-and-getBlockData-fo.patch +++ b/Spigot-Server-Patches/0080-Optimize-isValidLocation-getType-and-getBlockData-fo.patch @@ -1,4 +1,4 @@ -From 250ceafb78749d981f6cb4e1eb3521c1f09cc803 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Mar 2016 02:07:55 -0600 Subject: [PATCH] Optimize isValidLocation, getType and getBlockData for inling @@ -12,7 +12,7 @@ Replace all calls to the new place to the unnecessary forward. Optimize getType and getBlockData to manually inline and optimize the calls diff --git a/src/main/java/net/minecraft/server/BaseBlockPosition.java b/src/main/java/net/minecraft/server/BaseBlockPosition.java -index 4048937c63..680764b342 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/BaseBlockPosition.java +++ b/src/main/java/net/minecraft/server/BaseBlockPosition.java @@ -9,6 +9,14 @@ public class BaseBlockPosition implements Comparable { @@ -31,7 +31,7 @@ index 4048937c63..680764b342 100644 public BaseBlockPosition(int i, int j, int k) { this.a = i; diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java -index 5c5f19b4b4..d81e2dc1c5 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java @@ -240,6 +240,16 @@ public class BlockPosition extends BaseBlockPosition { @@ -52,10 +52,10 @@ index 5c5f19b4b4..d81e2dc1c5 100644 public MutableBlockPosition() { this(0, 0, 0); diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 8756d39b6e..c5e19383f1 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -420,12 +420,24 @@ public class Chunk implements IChunkAccess { +@@ -421,12 +421,24 @@ public class Chunk implements IChunkAccess { return this.getBlockData(i, j, k).b(this.world, new BlockPosition(i, j, k)); } @@ -84,7 +84,7 @@ index 8756d39b6e..c5e19383f1 100644 IBlockData iblockdata = null; diff --git a/src/main/java/net/minecraft/server/ChunkSection.java b/src/main/java/net/minecraft/server/ChunkSection.java -index 274c449480..7e4c79a1ce 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/ChunkSection.java +++ b/src/main/java/net/minecraft/server/ChunkSection.java @@ -6,7 +6,7 @@ public class ChunkSection { @@ -97,7 +97,7 @@ index 274c449480..7e4c79a1ce 100644 private NibbleArray skyLight; diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 275978de83..cad60e4f8b 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -263,11 +263,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc @@ -201,5 +201,5 @@ index 275978de83..cad60e4f8b 100644 } else { Chunk chunk = this.chunkProvider.getChunkAt(blockposition.getX() >> 4, blockposition.getZ() >> 4, false, false); -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0084-Configurable-Chunk-Inhabited-Timer.patch b/Spigot-Server-Patches/0084-Configurable-Chunk-Inhabited-Timer.patch index 7877fa2537..18d69b220a 100644 --- a/Spigot-Server-Patches/0084-Configurable-Chunk-Inhabited-Timer.patch +++ b/Spigot-Server-Patches/0084-Configurable-Chunk-Inhabited-Timer.patch @@ -1,4 +1,4 @@ -From 25afef4cbcf72fb11820bfdbe02462f7e66fe40b Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 28 Mar 2016 20:46:14 -0400 Subject: [PATCH] Configurable Chunk Inhabited Timer @@ -9,7 +9,7 @@ aspects of vanilla gameplay to this factor. For people who want all chunks to be treated equally, you can disable the timer. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index deb4ec2543..dd23ea45e5 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -233,4 +233,9 @@ public class PaperWorldConfig { @@ -23,10 +23,10 @@ index deb4ec2543..dd23ea45e5 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index c5e19383f1..94f0fc697e 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -1276,7 +1276,7 @@ public class Chunk implements IChunkAccess { +@@ -1277,7 +1277,7 @@ public class Chunk implements IChunkAccess { } public long m() { @@ -36,5 +36,5 @@ index c5e19383f1..94f0fc697e 100644 public void b(long i) { -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0089-Do-not-load-chunks-for-Pathfinding.patch b/Spigot-Server-Patches/0089-Do-not-load-chunks-for-Pathfinding.patch index e66a5c0421..01b4e1f9d7 100644 --- a/Spigot-Server-Patches/0089-Do-not-load-chunks-for-Pathfinding.patch +++ b/Spigot-Server-Patches/0089-Do-not-load-chunks-for-Pathfinding.patch @@ -1,11 +1,11 @@ -From d8f79a7c0c289ac8d6ca3fd0e9c9be164ea452c5 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 31 Mar 2016 19:17:58 -0400 Subject: [PATCH] Do not load chunks for Pathfinding diff --git a/src/main/java/net/minecraft/server/ChunkCache.java b/src/main/java/net/minecraft/server/ChunkCache.java -index ff740bc1a7..78adbf9062 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/ChunkCache.java +++ b/src/main/java/net/minecraft/server/ChunkCache.java @@ -21,7 +21,7 @@ public class ChunkCache implements IIBlockAccess { @@ -18,7 +18,7 @@ index ff740bc1a7..78adbf9062 100644 } diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java -index a8b070ed32..7a4bc0fcc3 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/NavigationAbstract.java +++ b/src/main/java/net/minecraft/server/NavigationAbstract.java @@ -21,13 +21,15 @@ public abstract class NavigationAbstract { @@ -47,7 +47,7 @@ index a8b070ed32..7a4bc0fcc3 100644 if (this.m) { this.l(); diff --git a/src/main/java/net/minecraft/server/Pathfinder.java b/src/main/java/net/minecraft/server/Pathfinder.java -index 04c71ac0ef..6e583356ce 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Pathfinder.java +++ b/src/main/java/net/minecraft/server/Pathfinder.java @@ -8,7 +8,7 @@ public class Pathfinder { @@ -60,7 +60,7 @@ index 04c71ac0ef..6e583356ce 100644 public Pathfinder(PathfinderAbstract pathfinderabstract) { this.d = pathfinderabstract; diff --git a/src/main/java/net/minecraft/server/PathfinderAbstract.java b/src/main/java/net/minecraft/server/PathfinderAbstract.java -index ba7fe359fe..6716280146 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/PathfinderAbstract.java +++ b/src/main/java/net/minecraft/server/PathfinderAbstract.java @@ -3,6 +3,7 @@ package net.minecraft.server; @@ -80,7 +80,7 @@ index ba7fe359fe..6716280146 100644 this.c.c(); this.d = MathHelper.d(entityinsentient.width + 1.0F); diff --git a/src/main/java/net/minecraft/server/PathfinderNormal.java b/src/main/java/net/minecraft/server/PathfinderNormal.java -index 64e0b08170..93f3d2e363 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/PathfinderNormal.java +++ b/src/main/java/net/minecraft/server/PathfinderNormal.java @@ -47,7 +47,7 @@ public class PathfinderNormal extends PathfinderAbstract { @@ -89,9 +89,9 @@ index 64e0b08170..93f3d2e363 100644 if (this.b.a(pathtype1) < 0.0F) { - HashSet hashset = Sets.newHashSet(); + HashSet hashset = Sets.newHashSet(); // Paper - decompile fix - hashset.add(new BlockPosition(this.b.getBoundingBox().a, (double)i, this.b.getBoundingBox().c)); - hashset.add(new BlockPosition(this.b.getBoundingBox().a, (double)i, this.b.getBoundingBox().f)); - hashset.add(new BlockPosition(this.b.getBoundingBox().d, (double)i, this.b.getBoundingBox().c)); + hashset.add(new BlockPosition(this.b.getBoundingBox().minX, (double)i, this.b.getBoundingBox().minZ)); + hashset.add(new BlockPosition(this.b.getBoundingBox().minX, (double)i, this.b.getBoundingBox().maxZ)); + hashset.add(new BlockPosition(this.b.getBoundingBox().maxX, (double)i, this.b.getBoundingBox().minZ)); @@ -233,7 +233,7 @@ public class PathfinderNormal extends PathfinderAbstract { } @@ -134,5 +134,5 @@ index 64e0b08170..93f3d2e363 100644 Material material = iblockdata.getMaterial(); if (iblockdata.isAir()) { -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0094-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/Spigot-Server-Patches/0094-Configurable-Keep-Spawn-Loaded-range-per-world.patch index 656f9f10fe..ef4444fd0e 100644 --- a/Spigot-Server-Patches/0094-Configurable-Keep-Spawn-Loaded-range-per-world.patch +++ b/Spigot-Server-Patches/0094-Configurable-Keep-Spawn-Loaded-range-per-world.patch @@ -1,4 +1,4 @@ -From 19bce9bdfcc2862adc935166689dd5cb4c1cfd0f Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 13 Sep 2014 23:14:43 -0400 Subject: [PATCH] Configurable Keep Spawn Loaded range per world @@ -6,7 +6,7 @@ Subject: [PATCH] Configurable Keep Spawn Loaded range per world This lets you disable it for some worlds and lower it for others. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 17755108a8..6fe3c0ea8a 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -244,4 +244,10 @@ public class PaperWorldConfig { @@ -21,7 +21,7 @@ index 17755108a8..6fe3c0ea8a 100644 + } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index abed6bb977..8056dc40df 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -490,13 +490,21 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati @@ -63,10 +63,10 @@ index abed6bb977..8056dc40df 100644 } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index b8fcfb6092..411cfedd25 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -2881,8 +2881,9 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc +@@ -2902,8 +2902,9 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc int k = i * 16 + 8 - blockposition.getX(); int l = j * 16 + 8 - blockposition.getZ(); boolean flag = true; @@ -78,7 +78,7 @@ index b8fcfb6092..411cfedd25 100644 public LongSet ag() { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index eb17d5e957..ffa6a46b78 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1001,7 +1001,7 @@ public final class CraftServer implements Server { @@ -91,7 +91,7 @@ index eb17d5e957..ffa6a46b78 100644 for (int j = -short1; j <= short1; j += 16) { for (int k = -short1; k <= short1; k += 16) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 9756ca3a4f..72d1a0f51d 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1280,8 +1280,9 @@ public class CraftWorld implements World { @@ -107,5 +107,5 @@ index 9756ca3a4f..72d1a0f51d 100644 loadChunk(chunkCoordX + x, chunkCoordZ + z); } else { -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0096-Don-t-spam-reload-spawn-chunks-in-nether-end.patch b/Spigot-Server-Patches/0096-Don-t-spam-reload-spawn-chunks-in-nether-end.patch index 50a856bbb9..193bdfd549 100644 --- a/Spigot-Server-Patches/0096-Don-t-spam-reload-spawn-chunks-in-nether-end.patch +++ b/Spigot-Server-Patches/0096-Don-t-spam-reload-spawn-chunks-in-nether-end.patch @@ -1,14 +1,14 @@ -From ee3d42118720a0a3751847a60457ba75cccf6d0d Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 5 Apr 2016 19:42:22 -0400 Subject: [PATCH] Don't spam reload spawn chunks in nether/end diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index b4274cf0ec..796ce3103a 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -2877,6 +2877,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc +@@ -2898,6 +2898,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc return this.K; } @@ -16,27 +16,19 @@ index b4274cf0ec..796ce3103a 100644 public boolean e(int i, int j) { BlockPosition blockposition = this.getSpawn(); int k = i * 16 + 8 - blockposition.getX(); -@@ -2893,6 +2894,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc - return (LongSet) (forcedchunk != null ? LongSets.unmodifiable(forcedchunk.a()) : LongSets.EMPTY_SET); - } - -+ public boolean isForcedChunk(int i, int j) { return f(i, j); } // Paper - OBFHELPER - public boolean f(int i, int j) { - ForcedChunk forcedchunk = (ForcedChunk) this.a(this.worldProvider.getDimensionManager(), ForcedChunk::new, "chunks"); - diff --git a/src/main/java/net/minecraft/server/WorldProvider.java b/src/main/java/net/minecraft/server/WorldProvider.java -index 53ce7d5e11..e1fe195bf8 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/WorldProvider.java +++ b/src/main/java/net/minecraft/server/WorldProvider.java @@ -72,7 +72,7 @@ public abstract class WorldProvider { } public boolean a(int i, int j) { -- return !this.b.f(i, j); -+ return !this.b.isSpawnChunk(i, j) && !this.b.isForcedChunk(i, j); // Paper - Use spawn chunks check for all worlds +- return !this.b.isForceLoaded(i, j); ++ return !this.b.isSpawnChunk(i, j) && !this.b.isForceLoaded(i, j); // Paper - Use spawn chunks check for all worlds } protected abstract void m(); -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0115-Activation-Range-Improvements.patch b/Spigot-Server-Patches/0115-Activation-Range-Improvements.patch index b10665ed94..01eaa11c7b 100644 --- a/Spigot-Server-Patches/0115-Activation-Range-Improvements.patch +++ b/Spigot-Server-Patches/0115-Activation-Range-Improvements.patch @@ -1,4 +1,4 @@ -From 4504fed8cc5a75b0c8c10ebb12bcb840d6d51973 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 13 May 2016 01:38:06 -0400 Subject: [PATCH] Activation Range Improvements @@ -10,7 +10,7 @@ Fixes and adds new Immunities to improve gameplay behavior Adds water Mobs to activation range config and nerfs fish diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java -index d81e2dc1c5..7bd51b3578 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java @@ -327,6 +327,7 @@ public class BlockPosition extends BaseBlockPosition { @@ -22,7 +22,7 @@ index d81e2dc1c5..7bd51b3578 100644 return new BlockPosition(this); } diff --git a/src/main/java/net/minecraft/server/EntityCreature.java b/src/main/java/net/minecraft/server/EntityCreature.java -index a5c147b989..9e88897a07 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityCreature.java +++ b/src/main/java/net/minecraft/server/EntityCreature.java @@ -7,6 +7,7 @@ import org.bukkit.event.entity.EntityUnleashEvent; @@ -34,7 +34,7 @@ index a5c147b989..9e88897a07 100644 private float b; diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 4fe91b5a2f..91f831326c 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -74,7 +74,7 @@ public abstract class EntityLiving extends Entity { @@ -47,7 +47,7 @@ index 4fe91b5a2f..91f831326c 100644 protected int ticksFarFromPlayer; protected float aZ; diff --git a/src/main/java/net/minecraft/server/EntityLlama.java b/src/main/java/net/minecraft/server/EntityLlama.java -index b661a86901..26184f463a 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityLlama.java +++ b/src/main/java/net/minecraft/server/EntityLlama.java @@ -340,6 +340,7 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn @@ -59,7 +59,7 @@ index b661a86901..26184f463a 100644 return this.bQ != null; } diff --git a/src/main/java/net/minecraft/server/PathfinderGoal.java b/src/main/java/net/minecraft/server/PathfinderGoal.java -index acc099e955..339c78eec9 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoal.java +++ b/src/main/java/net/minecraft/server/PathfinderGoal.java @@ -20,7 +20,9 @@ public abstract class PathfinderGoal { @@ -73,7 +73,7 @@ index acc099e955..339c78eec9 100644 public void e() { } diff --git a/src/main/java/net/minecraft/server/PathfinderGoalGotoTarget.java b/src/main/java/net/minecraft/server/PathfinderGoalGotoTarget.java -index 9a75cb63ba..cf10605aaa 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoalGotoTarget.java +++ b/src/main/java/net/minecraft/server/PathfinderGoalGotoTarget.java @@ -1,12 +1,12 @@ @@ -114,7 +114,7 @@ index 9a75cb63ba..cf10605aaa 100644 } } diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index f52de10238..19881fd71d 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -2,6 +2,8 @@ package org.spigotmc; @@ -204,7 +204,7 @@ index f52de10238..19881fd71d 100644 + waterBB = player.getBoundingBox().grow( waterActivationRange, 256, waterActivationRange ); // Paper monsterBB = player.getBoundingBox().grow( monsterActivationRange, 256, monsterActivationRange ); - int i = MathHelper.floor( maxBB.a / 16.0D ); + int i = MathHelper.floor( maxBB.minX / 16.0D ); @@ -128,9 +140,9 @@ public class ActivationRange { for ( int j1 = k; j1 <= l; ++j1 ) @@ -301,7 +301,7 @@ index f52de10238..19881fd71d 100644 { isActive = false; diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java -index 87bc8e2d9c..06d84a0b66 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/spigotmc/SpigotWorldConfig.java +++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java @@ -144,12 +144,14 @@ public class SpigotWorldConfig @@ -320,5 +320,5 @@ index 87bc8e2d9c..06d84a0b66 100644 log( "Entity Activation Range: An " + animalActivationRange + " / Mo " + monsterActivationRange + " / Mi " + miscActivationRange + " / Tiv " + tickInactiveVillagers ); } -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0123-Delay-Chunk-Unloads-based-on-Player-Movement.patch b/Spigot-Server-Patches/0123-Delay-Chunk-Unloads-based-on-Player-Movement.patch index fe6e1d9cac..dd17359d4b 100644 --- a/Spigot-Server-Patches/0123-Delay-Chunk-Unloads-based-on-Player-Movement.patch +++ b/Spigot-Server-Patches/0123-Delay-Chunk-Unloads-based-on-Player-Movement.patch @@ -1,4 +1,4 @@ -From e0e9bb45bf77190f4f76771b06f865521ee1035c Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 18 Jun 2016 23:22:12 -0400 Subject: [PATCH] Delay Chunk Unloads based on Player Movement @@ -20,7 +20,7 @@ This also makes the Chunk GC System useless, by auto scheduling unload as soon a a spare chunk is added to the server thats outside of view distance. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index ff1a2046f6..0cd15c17e8 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -296,4 +296,18 @@ public class PaperWorldConfig { @@ -43,10 +43,10 @@ index ff1a2046f6..0cd15c17e8 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 94f0fc697e..7e371c278f 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -37,6 +37,7 @@ public class Chunk implements IChunkAccess { +@@ -36,6 +36,7 @@ public class Chunk implements IChunkAccess { private boolean i;public boolean isLoaded() { return i; } // Paper - OBFHELPER public final World world; public final Map heightMap; @@ -55,7 +55,7 @@ index 94f0fc697e..7e371c278f 100644 public final int locZ; private boolean l; diff --git a/src/main/java/net/minecraft/server/ChunkMap.java b/src/main/java/net/minecraft/server/ChunkMap.java -index df967ff07d..a3dc90fd2b 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/ChunkMap.java +++ b/src/main/java/net/minecraft/server/ChunkMap.java @@ -48,6 +48,15 @@ public class ChunkMap extends Long2ObjectOpenHashMap { @@ -75,7 +75,7 @@ index df967ff07d..a3dc90fd2b 100644 // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 2d10f4aa37..719d5deb2c 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -306,6 +306,19 @@ public class ChunkProviderServer implements IChunkProvider { @@ -99,7 +99,7 @@ index 2d10f4aa37..719d5deb2c 100644 this.chunkScheduler.a(booleansupplier); } diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index ac0e90eeca..2fd8fa30ee 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java @@ -33,8 +33,22 @@ public class PlayerChunk { @@ -160,7 +160,7 @@ index ac0e90eeca..2fd8fa30ee 100644 } } diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index a69d510dd1..7b67fa3208 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -460,7 +460,13 @@ public class PlayerChunkMap { @@ -179,7 +179,7 @@ index a69d510dd1..7b67fa3208 100644 } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 785f020652..d31101861c 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1342,7 +1342,13 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc @@ -198,7 +198,7 @@ index 785f020652..d31101861c 100644 this.methodProfiler.a(() -> { return String.valueOf(TileEntityTypes.a(tileentity.C())); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 72d1a0f51d..3536433d14 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1633,7 +1633,7 @@ public class CraftWorld implements World { @@ -211,7 +211,7 @@ index 72d1a0f51d..3536433d14 100644 } diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index 05e10fb366..d47a77fdee 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -319,6 +319,11 @@ public class ActivationRange @@ -227,5 +227,5 @@ index 05e10fb366..d47a77fdee 100644 } } -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0135-Auto-Save-Improvements.patch b/Spigot-Server-Patches/0135-Auto-Save-Improvements.patch index 96acea5b0a..36ab8898aa 100644 --- a/Spigot-Server-Patches/0135-Auto-Save-Improvements.patch +++ b/Spigot-Server-Patches/0135-Auto-Save-Improvements.patch @@ -1,4 +1,4 @@ -From f397718c1bd2ed68e1dca5603ca882a4b087b7a9 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 19 Sep 2016 23:16:39 -0400 Subject: [PATCH] Auto Save Improvements @@ -12,7 +12,7 @@ Re-introduce a cap per tick for auto save (Spigot disabled the vanilla cap) and Adds incremental player auto saving too diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index c278ac98d..ae3d0f8f7 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -269,4 +269,15 @@ public class PaperConfig { @@ -32,7 +32,7 @@ index c278ac98d..ae3d0f8f7 100644 + } } diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 0cd15c17e..c43152f45 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -2,6 +2,7 @@ package com.destroystokyo.paper; @@ -64,10 +64,10 @@ index 0cd15c17e..c43152f45 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 7e371c278..a79b0b59d 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -50,9 +50,9 @@ public class Chunk implements IChunkAccess { +@@ -49,9 +49,9 @@ public class Chunk implements IChunkAccess { private final TickList s; private final TickList t; private boolean u; @@ -79,7 +79,7 @@ index 7e371c278..a79b0b59d 100644 private int y; private long z; private int A; -@@ -1058,11 +1058,11 @@ public class Chunk implements IChunkAccess { +@@ -1059,11 +1059,11 @@ public class Chunk implements IChunkAccess { if (this.v && this.world.getTime() != this.lastSaved || this.x) { return true; } @@ -96,7 +96,7 @@ index 7e371c278..a79b0b59d 100644 public boolean isEmpty() { diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 719d5deb2..69219b13a 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -241,7 +241,7 @@ public class ChunkProviderServer implements IChunkProvider { @@ -109,7 +109,7 @@ index 719d5deb2..69219b13a 100644 } } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 3d8390029..690cff882 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -37,6 +37,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -121,7 +121,7 @@ index 3d8390029..690cff882 100644 public final MinecraftServer server; public final PlayerInteractManager playerInteractManager; diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 04d8c108b..a547ee5ca 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -148,6 +148,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati @@ -168,7 +168,7 @@ index 04d8c108b..a547ee5ca 100644 this.methodProfiler.a("snooper"); if (getSnooperEnabled() && !this.i.d() && this.ticks > 100) { // Spigot diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index baf870ac2..7d778ff3e 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -342,6 +342,7 @@ public abstract class PlayerList { @@ -207,7 +207,7 @@ index baf870ac2..7d778ff3e 100644 public WhiteList getWhitelist() { return this.whitelist; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index c5201697d..ca2e027cd 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -872,8 +872,9 @@ public class WorldServer extends World implements IAsyncTaskHandler { diff --git a/Spigot-Server-Patches/0140-Option-to-remove-corrupt-tile-entities.patch b/Spigot-Server-Patches/0140-Option-to-remove-corrupt-tile-entities.patch index cd05bb4b88..24eb238e47 100644 --- a/Spigot-Server-Patches/0140-Option-to-remove-corrupt-tile-entities.patch +++ b/Spigot-Server-Patches/0140-Option-to-remove-corrupt-tile-entities.patch @@ -1,11 +1,11 @@ -From b6c35d12e0d314f517e7ae851c1dac7608bf1e34 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Wed, 5 Oct 2016 16:27:36 -0500 Subject: [PATCH] Option to remove corrupt tile entities diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index c43152f456..0d456bcbac 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -326,4 +326,9 @@ public class PaperWorldConfig { @@ -19,10 +19,10 @@ index c43152f456..0d456bcbac 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index a79b0b59d7..91b80ca0bc 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -838,6 +838,12 @@ public class Chunk implements IChunkAccess { +@@ -839,6 +839,12 @@ public class Chunk implements IChunkAccess { "Chunk coordinates: " + (this.locX * 16) + "," + (this.locZ * 16)); e.printStackTrace(); ServerInternalException.reportInternalException(e); @@ -35,7 +35,7 @@ index a79b0b59d7..91b80ca0bc 100644 // Paper end // CraftBukkit end } -@@ -847,6 +853,7 @@ public class Chunk implements IChunkAccess { +@@ -848,6 +854,7 @@ public class Chunk implements IChunkAccess { this.h.put(new BlockPosition(nbttagcompound.getInt("x"), nbttagcompound.getInt("y"), nbttagcompound.getInt("z")), nbttagcompound); } @@ -44,5 +44,5 @@ index a79b0b59d7..91b80ca0bc 100644 if (this.i) { TileEntity tileentity = (TileEntity) this.tileEntities.remove(blockposition); -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0141-Add-EntityZapEvent.patch b/Spigot-Server-Patches/0141-Add-EntityZapEvent.patch index 6f91b1417a..ffffb6b11e 100644 --- a/Spigot-Server-Patches/0141-Add-EntityZapEvent.patch +++ b/Spigot-Server-Patches/0141-Add-EntityZapEvent.patch @@ -1,11 +1,11 @@ -From 0dde45ee1d5f2f012c9425ab82f3e27321d1b239 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: AlphaBlend Date: Sun, 16 Oct 2016 23:19:30 -0700 Subject: [PATCH] Add EntityZapEvent diff --git a/src/main/java/net/minecraft/server/EntityPig.java b/src/main/java/net/minecraft/server/EntityPig.java -index fecc7e154d..b405e63e81 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityPig.java +++ b/src/main/java/net/minecraft/server/EntityPig.java @@ -152,6 +152,12 @@ public class EntityPig extends EntityAnimal { @@ -22,7 +22,7 @@ index fecc7e154d..b405e63e81 100644 if (CraftEventFactory.callPigZapEvent(this, entitylightning, entitypigzombie).isCancelled()) { return; diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index 32e327e42c..5aebdba56c 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java @@ -610,6 +610,12 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant { @@ -48,10 +48,10 @@ index 32e327e42c..5aebdba56c 100644 } } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 3da2679721..1f9713a411 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -712,6 +712,14 @@ public class CraftEventFactory { +@@ -723,6 +723,14 @@ public class CraftEventFactory { return event; } @@ -67,5 +67,5 @@ index 3da2679721..1f9713a411 100644 HorseJumpEvent event = new HorseJumpEvent((AbstractHorse) horse.getBukkitEntity(), power); horse.getBukkitEntity().getServer().getPluginManager().callEvent(event); -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0144-Chunk-Save-Stats-Debug-Option.patch b/Spigot-Server-Patches/0144-Chunk-Save-Stats-Debug-Option.patch index 98ac2ae24c..6a9ed63f9f 100644 --- a/Spigot-Server-Patches/0144-Chunk-Save-Stats-Debug-Option.patch +++ b/Spigot-Server-Patches/0144-Chunk-Save-Stats-Debug-Option.patch @@ -1,4 +1,4 @@ -From 3a3142f6e641798f49064f6ad53110476408ef57 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 4 Nov 2016 02:12:10 -0400 Subject: [PATCH] Chunk Save Stats Debug Option @@ -8,13 +8,13 @@ Adds a command line flag to enable stats on how chunk saves are processing. Stats on current queue, how many was processed and how many were queued. diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 09c81e9ab..a94719d58 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -30,6 +30,11 @@ public class ChunkProviderServer implements IChunkProvider { public final LongSet unloadQueue = new LongOpenHashSet(); public final ChunkGenerator chunkGenerator; - public final IChunkLoader chunkLoader; // PAIL + public final IChunkLoader chunkLoader; + // Paper start - chunk save stats + private long lastQueuedSaves = 0L; // Paper + private long lastProcessedSaves = 0L; // Paper @@ -54,7 +54,7 @@ index 09c81e9ab..a94719d58 100644 return false; } diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index e86d47a05..ec328126c 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -152,7 +152,13 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { @@ -89,5 +89,5 @@ index e86d47a05..ec328126c 100644 if (nbttagcompound == null) { return true; -- -2.16.1.windows.1 +2.19.1 diff --git a/Spigot-Server-Patches/0149-Add-source-to-PlayerExpChangeEvent.patch b/Spigot-Server-Patches/0149-Add-source-to-PlayerExpChangeEvent.patch index 4f174e6d86..ce8de1424b 100644 --- a/Spigot-Server-Patches/0149-Add-source-to-PlayerExpChangeEvent.patch +++ b/Spigot-Server-Patches/0149-Add-source-to-PlayerExpChangeEvent.patch @@ -1,11 +1,11 @@ -From ff061dc089b08b5521b4bb43b6ee8a06df1776d6 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: AlphaBlend Date: Thu, 8 Sep 2016 08:48:33 -0700 Subject: [PATCH] Add source to PlayerExpChangeEvent diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java -index 33b24c833b..880f496526 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java +++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java @@ -185,7 +185,7 @@ public class EntityExperienceOrb extends Entity { @@ -18,7 +18,7 @@ index 33b24c833b..880f496526 100644 this.die(); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 1f9713a411..3c138d6a29 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -50,6 +50,7 @@ import org.bukkit.entity.Player; @@ -29,7 +29,7 @@ index 1f9713a411..3c138d6a29 100644 import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.block.*; -@@ -681,6 +682,17 @@ public class CraftEventFactory { +@@ -692,6 +693,17 @@ public class CraftEventFactory { return event; } @@ -48,5 +48,5 @@ index 1f9713a411..3c138d6a29 100644 return handleBlockGrowEvent(world, pos, block, 3); } -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0152-Add-ProjectileCollideEvent.patch b/Spigot-Server-Patches/0152-Add-ProjectileCollideEvent.patch index 15d7cf1370..d08790c4ad 100644 --- a/Spigot-Server-Patches/0152-Add-ProjectileCollideEvent.patch +++ b/Spigot-Server-Patches/0152-Add-ProjectileCollideEvent.patch @@ -1,11 +1,11 @@ -From 4898bbb7ec6fa70c31d0e00885417fc75fc10ddd Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Techcable Date: Fri, 16 Dec 2016 21:25:39 -0600 Subject: [PATCH] Add ProjectileCollideEvent diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java -index 74cf2ab68a..a82dc0a94e 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityArrow.java +++ b/src/main/java/net/minecraft/server/EntityArrow.java @@ -195,6 +195,16 @@ public abstract class EntityArrow extends Entity implements IProjectile { @@ -26,7 +26,7 @@ index 74cf2ab68a..a82dc0a94e 100644 this.a(movingobjectposition); this.impulse = true; diff --git a/src/main/java/net/minecraft/server/EntityFireball.java b/src/main/java/net/minecraft/server/EntityFireball.java -index 3e3619d79f..58cc4824cf 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityFireball.java +++ b/src/main/java/net/minecraft/server/EntityFireball.java @@ -68,6 +68,15 @@ public abstract class EntityFireball extends Entity { @@ -46,7 +46,7 @@ index 3e3619d79f..58cc4824cf 100644 this.a(movingobjectposition); diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java -index 62e8f27aa7..81de03084a 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityFishingHook.java +++ b/src/main/java/net/minecraft/server/EntityFishingHook.java @@ -245,6 +245,16 @@ public class EntityFishingHook extends Entity { @@ -67,7 +67,7 @@ index 62e8f27aa7..81de03084a 100644 vec3d1 = new Vec3D(movingobjectposition.pos.x, movingobjectposition.pos.y, movingobjectposition.pos.z); } diff --git a/src/main/java/net/minecraft/server/EntityProjectile.java b/src/main/java/net/minecraft/server/EntityProjectile.java -index ee402d4140..fc8c0cab55 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityProjectile.java +++ b/src/main/java/net/minecraft/server/EntityProjectile.java @@ -144,6 +144,15 @@ public abstract class EntityProjectile extends Entity implements IProjectile { @@ -87,10 +87,10 @@ index ee402d4140..fc8c0cab55 100644 if (movingobjectposition.type == MovingObjectPosition.EnumMovingObjectType.BLOCK && this.world.getType(movingobjectposition.a()).getBlock() == Blocks.NETHER_PORTAL) { this.e(movingobjectposition.a()); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 3c138d6a29..57dc17845a 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -816,6 +816,16 @@ public class CraftEventFactory { +@@ -827,6 +827,16 @@ public class CraftEventFactory { return CraftItemStack.asNMSCopy(bitem); } @@ -108,5 +108,5 @@ index 3c138d6a29..57dc17845a 100644 Projectile bukkitEntity = (Projectile) entity.getBukkitEntity(); ProjectileLaunchEvent event = new ProjectileLaunchEvent(bukkitEntity); -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0167-Don-t-allow-entities-to-ride-themselves-572.patch b/Spigot-Server-Patches/0167-Don-t-allow-entities-to-ride-themselves-572.patch index 92ce442d6d..fbb9d1b2bd 100644 --- a/Spigot-Server-Patches/0167-Don-t-allow-entities-to-ride-themselves-572.patch +++ b/Spigot-Server-Patches/0167-Don-t-allow-entities-to-ride-themselves-572.patch @@ -1,21 +1,21 @@ -From 484e628fd2b20a8cb9e9143b579d0e5d0846c057 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Alfie Cleveland Date: Sun, 8 Jan 2017 04:31:36 +0000 Subject: [PATCH] Don't allow entities to ride themselves - #572 diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index a41dfb6e50..45cd8dca16 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -2076,6 +2076,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } - protected boolean o(Entity entity) { // CraftBukkit + protected boolean addPassenger(Entity entity) { // CraftBukkit + if (entity == this) throw new IllegalArgumentException("Entities cannot become a passenger of themselves"); // Paper - issue 572 if (entity.getVehicle() != this) { throw new IllegalStateException("Use x.startRiding(y), not y.addPassenger(x)"); } else { -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0179-Use-TerminalConsoleAppender-for-console-improvements.patch b/Spigot-Server-Patches/0179-Use-TerminalConsoleAppender-for-console-improvements.patch index 1d3d50c4e6..af6d65f8cb 100644 --- a/Spigot-Server-Patches/0179-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/Spigot-Server-Patches/0179-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -324,7 +324,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 + System.setProperty(TerminalConsoleAppender.JLINE_OVERRIDE_PROPERTY, "false"); // Paper } - if (false && Main.class.getPackage().getImplementationVendor() != null && System.getProperty("IReallyKnowWhatIAmDoingISwear") == null) { + if (Main.class.getPackage().getImplementationVendor() != null && System.getProperty("IReallyKnowWhatIAmDoingISwear") == null) { diff --git a/src/main/java/org/bukkit/craftbukkit/command/ColouredConsoleSender.java b/src/main/java/org/bukkit/craftbukkit/command/ColouredConsoleSender.java deleted file mode 100644 index 7ac07ac07ac0..7ac07ac07ac0 diff --git a/Spigot-Server-Patches/0195-GH-806-Respect-saving-disabled-before-unloading-all-.patch b/Spigot-Server-Patches/0195-GH-806-Respect-saving-disabled-before-unloading-all-.patch index 64d2f43152..5eda4d5a44 100644 --- a/Spigot-Server-Patches/0195-GH-806-Respect-saving-disabled-before-unloading-all-.patch +++ b/Spigot-Server-Patches/0195-GH-806-Respect-saving-disabled-before-unloading-all-.patch @@ -1,4 +1,4 @@ -From 571545c9c126571aa5ad9c1a9c63baecf61ef5e0 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 27 Jul 2017 00:06:43 -0400 Subject: [PATCH] GH-806: Respect saving disabled before unloading all chunks @@ -9,18 +9,18 @@ This behavior causes a save to occur even though saving was supposed to be turne It's triggered when Hell/End worlds are empty of players. diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index 7b67fa3208..395b5a470f 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -194,7 +194,7 @@ public class PlayerChunkMap { try (Timing ignored = world.timings.doChunkMapUnloadChunks.startTiming()) { // Paper WorldProvider worldprovider = this.world.worldProvider; -- if (!worldprovider.p()) { -+ if (!worldprovider.p() && !this.world.savingDisabled) { // Paper - respect saving disabled setting +- if (!worldprovider.canRespawn()) { ++ if (!worldprovider.canRespawn() && !this.world.savingDisabled) { // Paper - respect saving disabled setting this.world.getChunkProviderServer().b(); } } // Paper timing -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0197-Fix-this-stupid-bullshit.patch b/Spigot-Server-Patches/0197-Fix-this-stupid-bullshit.patch index c4ce35cd24..415e412cb7 100644 --- a/Spigot-Server-Patches/0197-Fix-this-stupid-bullshit.patch +++ b/Spigot-Server-Patches/0197-Fix-this-stupid-bullshit.patch @@ -1,4 +1,4 @@ -From af6980c50bad0cd035739fcf1e0c39e00f65764a Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: DemonWav Date: Sun, 6 Aug 2017 17:17:53 -0500 Subject: [PATCH] Fix this stupid bullshit @@ -9,12 +9,12 @@ modified in order to prevent merge conflicts when Spigot changes/disables the wa and to provide some level of hint without being disruptive. diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 393a39fadc..dd0c324ce9 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -217,10 +217,12 @@ public class Main { Calendar deadline = Calendar.getInstance(); - deadline.add(Calendar.DAY_OF_YEAR, -10); + deadline.add(Calendar.DAY_OF_YEAR, -7); if (buildDate.before(deadline.getTime())) { - System.err.println("*** Error, this build is outdated ***"); + // Paper start - This is some stupid bullshit @@ -29,5 +29,5 @@ index 393a39fadc..dd0c324ce9 100644 } -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0198-Ocelot-despawns-should-honor-nametags-and-leash.patch b/Spigot-Server-Patches/0198-Ocelot-despawns-should-honor-nametags-and-leash.patch index f8a47b69c3..05611236b4 100644 --- a/Spigot-Server-Patches/0198-Ocelot-despawns-should-honor-nametags-and-leash.patch +++ b/Spigot-Server-Patches/0198-Ocelot-despawns-should-honor-nametags-and-leash.patch @@ -1,22 +1,22 @@ -From 23a07330847d4ddf96a3ba1882668889be0981e5 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Mon, 31 Jul 2017 01:54:40 -0500 Subject: [PATCH] Ocelot despawns should honor nametags and leash diff --git a/src/main/java/net/minecraft/server/EntityOcelot.java b/src/main/java/net/minecraft/server/EntityOcelot.java -index 447e6c2d12..5431ef57ab 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityOcelot.java +++ b/src/main/java/net/minecraft/server/EntityOcelot.java @@ -61,7 +61,7 @@ public class EntityOcelot extends EntityTameableAnimal { } - protected boolean isTypeNotPersistent() { + public boolean isTypeNotPersistent() { - return !this.isTamed() /*&& this.ticksLived > 2400*/; // CraftBukkit -+ return !this.isTamed() && !this.hasCustomName() && !this.isLeashed() /*&& this.ticksLived > 2400*/; // CraftBukkit (ticks lived) - Paper (honor name and leash) ++ return !this.isTamed() && !this.hasCustomName() && !this.isLeashed() /*&& this.ticksLived > 2400*/; // CraftBukkit - Paper (honor name and leash) } protected void initAttributes() { -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0226-PreCreatureSpawnEvent.patch b/Spigot-Server-Patches/0226-PreCreatureSpawnEvent.patch index 70c39a2227..e1e1f271c6 100644 --- a/Spigot-Server-Patches/0226-PreCreatureSpawnEvent.patch +++ b/Spigot-Server-Patches/0226-PreCreatureSpawnEvent.patch @@ -1,4 +1,4 @@ -From 83b5a86c5de9a3f9ea95ae34a473f739224c0ee8 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 14 Jan 2018 17:01:31 -0500 Subject: [PATCH] PreCreatureSpawnEvent @@ -15,7 +15,7 @@ instead and save a lot of server resources. See: https://github.com/PaperMC/Paper/issues/917 diff --git a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java -index 408ef423e9..79600cd73e 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java +++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java @@ -1,6 +1,7 @@ @@ -56,16 +56,16 @@ index 408ef423e9..79600cd73e 100644 if (entity == null) { diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java -index cc0a884cd3..3f6bcbbd76 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/SpawnerCreature.java +++ b/src/main/java/net/minecraft/server/SpawnerCreature.java -@@ -160,10 +160,30 @@ public final class SpawnerCreature { +@@ -164,10 +164,30 @@ public final class SpawnerCreature { - if (worldserver.a(enumcreaturetype, biomebase_biomemeta, (BlockPosition) blockposition_mutableblockposition)) { - EntityPositionTypes.Surface entitypositiontypes_surface = EntityPositionTypes.a(biomebase_biomemeta.b); + if (worldserver.a(enumcreaturetype, biomebase_biomemeta, (BlockPosition) blockposition_mutableblockposition)) { + EntityPositionTypes.Surface entitypositiontypes_surface = EntityPositionTypes.a(biomebase_biomemeta.b); - - if (entitypositiontypes_surface != null && a(entitypositiontypes_surface, worldserver, blockposition_mutableblockposition, biomebase_biomemeta.b)) { - EntityInsentient entityinsentient; + if (entitypositiontypes_surface != null && a(entitypositiontypes_surface, worldserver, blockposition_mutableblockposition, biomebase_biomemeta.b)) { + EntityInsentient entityinsentient; + // Paper start + com.destroystokyo.paper.event.entity.PreCreatureSpawnEvent event; @@ -78,7 +78,7 @@ index cc0a884cd3..3f6bcbbd76 100644 + ); + if (!event.callEvent()) { + if (event.shouldAbortSpawn()) { -+ continue label128; // right above the iterator for c (Chunk Pos Set) ++ continue label137; // right above the iterator for c (Chunk Pos Set) + } + j1 += l2; + ++j4; @@ -88,9 +88,9 @@ index cc0a884cd3..3f6bcbbd76 100644 + // Paper end + + - try { - entityinsentient = (EntityInsentient) biomebase_biomemeta.b.a((World) worldserver); - } catch (Exception exception) { + try { + entityinsentient = (EntityInsentient) biomebase_biomemeta.b.a((World) worldserver); + } catch (Exception exception) { -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0238-Implement-extended-PaperServerListPingEvent.patch b/Spigot-Server-Patches/0238-Implement-extended-PaperServerListPingEvent.patch index 9fecfb0c25..6056944c67 100644 --- a/Spigot-Server-Patches/0238-Implement-extended-PaperServerListPingEvent.patch +++ b/Spigot-Server-Patches/0238-Implement-extended-PaperServerListPingEvent.patch @@ -1,4 +1,4 @@ -From e5b9baa3179e567e8d031ea4c5bce99b8efefaf9 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Wed, 11 Oct 2017 15:56:26 +0200 Subject: [PATCH] Implement extended PaperServerListPingEvent @@ -6,7 +6,7 @@ Subject: [PATCH] Implement extended PaperServerListPingEvent diff --git a/src/main/java/com/destroystokyo/paper/network/PaperServerListPingEventImpl.java b/src/main/java/com/destroystokyo/paper/network/PaperServerListPingEventImpl.java new file mode 100644 -index 0000000000..c1a8e295b6 +index 7ac07ac07ac0..7ac07ac07ac0 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/network/PaperServerListPingEventImpl.java @@ -0,0 +1,31 @@ @@ -43,7 +43,7 @@ index 0000000000..c1a8e295b6 +} diff --git a/src/main/java/com/destroystokyo/paper/network/PaperStatusClient.java b/src/main/java/com/destroystokyo/paper/network/PaperStatusClient.java new file mode 100644 -index 0000000000..a2a409e635 +index 7ac07ac07ac0..7ac07ac07ac0 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/network/PaperStatusClient.java @@ -0,0 +1,11 @@ @@ -60,7 +60,7 @@ index 0000000000..a2a409e635 +} diff --git a/src/main/java/com/destroystokyo/paper/network/StandardPaperServerListPingEventImpl.java b/src/main/java/com/destroystokyo/paper/network/StandardPaperServerListPingEventImpl.java new file mode 100644 -index 0000000000..26e3031d28 +index 7ac07ac07ac0..7ac07ac07ac0 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/network/StandardPaperServerListPingEventImpl.java @@ -0,0 +1,112 @@ @@ -177,7 +177,7 @@ index 0000000000..26e3031d28 + +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 65204c259e..18eeee5106 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1,6 +1,7 @@ @@ -198,7 +198,7 @@ index 65204c259e..18eeee5106 100644 for (int k = 0; k < agameprofile.length; ++k) { @@ -1300,10 +1301,12 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati - return "1.13.1"; + return "1.13.2"; } + public int getPlayerCount() { return y(); } // Paper - OBFHELPER @@ -211,7 +211,7 @@ index 65204c259e..18eeee5106 100644 return this.s.getMaxPlayers(); } diff --git a/src/main/java/net/minecraft/server/PacketStatusListener.java b/src/main/java/net/minecraft/server/PacketStatusListener.java -index c9edd289ac..8aa121e2f7 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/PacketStatusListener.java +++ b/src/main/java/net/minecraft/server/PacketStatusListener.java @@ -30,6 +30,8 @@ public class PacketStatusListener implements PacketStatusInListener { @@ -234,7 +234,7 @@ index c9edd289ac..8aa121e2f7 100644 // CraftBukkit end } diff --git a/src/main/java/net/minecraft/server/ServerPing.java b/src/main/java/net/minecraft/server/ServerPing.java -index 615aa2cd04..408aad098a 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/ServerPing.java +++ b/src/main/java/net/minecraft/server/ServerPing.java @@ -29,6 +29,7 @@ public class ServerPing { @@ -259,7 +259,7 @@ index 615aa2cd04..408aad098a 100644 this.c = agameprofile; } diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java -index 9584950c63..eed96c60c5 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java @@ -291,7 +291,7 @@ public class SpigotConfig @@ -272,5 +272,5 @@ index 9584950c63..eed96c60c5 100644 } -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0272-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch b/Spigot-Server-Patches/0272-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch index 721c959a61..1b1cb455fa 100644 --- a/Spigot-Server-Patches/0272-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch +++ b/Spigot-Server-Patches/0272-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch @@ -1,4 +1,4 @@ -From a5ad3e6239c7c47bc3640ab93d82d104dbccb000 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 15 Jun 2013 19:51:17 -0400 Subject: [PATCH] EntityShootBowEvent consumeArrow and getArrowItem API @@ -6,7 +6,7 @@ Subject: [PATCH] EntityShootBowEvent consumeArrow and getArrowItem API Adds ability to get what arrow was shot, and control if it should be consumed. diff --git a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java -index c2bc8060ac..1ae967d1c0 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java +++ b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java @@ -160,7 +160,7 @@ public abstract class EntitySkeletonAbstract extends EntityMonster implements IR @@ -19,7 +19,7 @@ index c2bc8060ac..1ae967d1c0 100644 event.getProjectile().remove(); return; diff --git a/src/main/java/net/minecraft/server/ItemBow.java b/src/main/java/net/minecraft/server/ItemBow.java -index b0f7649b82..152b179ce1 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/ItemBow.java +++ b/src/main/java/net/minecraft/server/ItemBow.java @@ -57,6 +57,7 @@ public class ItemBow extends Item { @@ -58,10 +58,10 @@ index b0f7649b82..152b179ce1 100644 if (itemstack1.isEmpty()) { entityhuman.inventory.f(itemstack1); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 57dc17845a..3c927fcb23 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -246,7 +246,7 @@ public class CraftEventFactory { +@@ -257,7 +257,7 @@ public class CraftEventFactory { /** * EntityShootBowEvent */ @@ -70,7 +70,7 @@ index 57dc17845a..3c927fcb23 100644 LivingEntity shooter = (LivingEntity) who.getBukkitEntity(); CraftItemStack itemInHand = CraftItemStack.asCraftMirror(itemstack); Arrow arrow = (Arrow) entityArrow.getBukkitEntity(); -@@ -255,7 +255,7 @@ public class CraftEventFactory { +@@ -266,7 +266,7 @@ public class CraftEventFactory { itemInHand = null; } @@ -80,5 +80,5 @@ index 57dc17845a..3c927fcb23 100644 return event; -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0279-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch b/Spigot-Server-Patches/0279-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch index 7bb53be9ff..e299a8a81f 100644 --- a/Spigot-Server-Patches/0279-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch +++ b/Spigot-Server-Patches/0279-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch @@ -1,4 +1,4 @@ -From 62a4cc869b3aab8adc3d982ba7ac0ab4307b1535 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Sat, 30 Jun 2018 05:45:39 +0200 Subject: [PATCH] Improve ProjectileHitEvent to include the BlockFace where the @@ -6,10 +6,10 @@ Subject: [PATCH] Improve ProjectileHitEvent to include the BlockFace where the diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 3c927fcb23..66b1293bf9 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -840,7 +840,7 @@ public class CraftEventFactory { +@@ -851,7 +851,7 @@ public class CraftEventFactory { hitBlock = entity.getBukkitEntity().getWorld().getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ()); } @@ -19,5 +19,5 @@ index 3c927fcb23..66b1293bf9 100644 return event; } -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0282-InventoryCloseEvent-Reason-API.patch b/Spigot-Server-Patches/0282-InventoryCloseEvent-Reason-API.patch index bf431ec074..711044a550 100644 --- a/Spigot-Server-Patches/0282-InventoryCloseEvent-Reason-API.patch +++ b/Spigot-Server-Patches/0282-InventoryCloseEvent-Reason-API.patch @@ -1,4 +1,4 @@ -From c166722f225ded601fa993cfaa6f1f03f405587a Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 3 Jul 2018 21:56:23 -0400 Subject: [PATCH] InventoryCloseEvent Reason API @@ -7,10 +7,10 @@ Allows you to determine why an inventory was closed, enabling plugin developers to "confirm" things based on if it was player triggered close or not. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 91b80ca0bc..8b00bf26c9 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -930,7 +930,7 @@ public class Chunk implements IChunkAccess { +@@ -931,7 +931,7 @@ public class Chunk implements IChunkAccess { { if ( h instanceof org.bukkit.craftbukkit.entity.CraftHumanEntity ) { @@ -19,7 +19,7 @@ index 91b80ca0bc..8b00bf26c9 100644 } } } -@@ -955,7 +955,7 @@ public class Chunk implements IChunkAccess { +@@ -956,7 +956,7 @@ public class Chunk implements IChunkAccess { { if ( h instanceof org.bukkit.craftbukkit.entity.CraftHumanEntity ) { @@ -29,7 +29,7 @@ index 91b80ca0bc..8b00bf26c9 100644 } } diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 5e13cb0640..c7dc6fe0ef 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -162,7 +162,7 @@ public abstract class EntityHuman extends EntityLiving { @@ -56,7 +56,7 @@ index 5e13cb0640..c7dc6fe0ef 100644 this.activeContainer = this.defaultContainer; } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 3644fde3bb..68f5842cfe 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -346,7 +346,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -110,7 +110,7 @@ index 3644fde3bb..68f5842cfe 100644 this.m(); } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index da32ed7a01..9819bc0576 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -2031,7 +2031,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { @@ -123,7 +123,7 @@ index da32ed7a01..9819bc0576 100644 this.player.m(); } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 6bdeb2cc90..a9b468facd 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -423,7 +423,7 @@ public abstract class PlayerList { @@ -136,7 +136,7 @@ index 6bdeb2cc90..a9b468facd 100644 PlayerQuitEvent playerQuitEvent = new PlayerQuitEvent(cserver.getPlayer(entityplayer), "\u00A7e" + entityplayer.getName() + " left the game"); cserver.getPluginManager().callEvent(playerQuitEvent); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 32fcba1d1a..3c23d40b1d 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java @@ -417,8 +417,13 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { @@ -155,7 +155,7 @@ index 32fcba1d1a..3c23d40b1d 100644 public boolean isBlocking() { return getHandle().isBlocking(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 898371e5f4..912b2e6284 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -740,7 +740,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -168,10 +168,10 @@ index 898371e5f4..912b2e6284 100644 // Check if the fromWorld and toWorld are the same. diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 66b1293bf9..f04fb045eb 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -930,8 +930,19 @@ public class CraftEventFactory { +@@ -941,8 +941,19 @@ public class CraftEventFactory { return event; } @@ -193,5 +193,5 @@ index 66b1293bf9..f04fb045eb 100644 human.activeContainer.transferTo(human.defaultContainer, human.getBukkitEntity()); } -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0283-Avoid-Chunk-Lookups-for-Entity-TileEntity-Current-Ch.patch b/Spigot-Server-Patches/0283-Avoid-Chunk-Lookups-for-Entity-TileEntity-Current-Ch.patch index dcb50cf597..cc7bc94249 100644 --- a/Spigot-Server-Patches/0283-Avoid-Chunk-Lookups-for-Entity-TileEntity-Current-Ch.patch +++ b/Spigot-Server-Patches/0283-Avoid-Chunk-Lookups-for-Entity-TileEntity-Current-Ch.patch @@ -1,4 +1,4 @@ -From 9891974c3cbebbe0ce3bb1d6320d9692f3536cbd Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 Jul 2018 03:39:51 -0400 Subject: [PATCH] Avoid Chunk Lookups for Entity/TileEntity Current Chunk @@ -10,10 +10,10 @@ to the object directly on the Entity/TileEntity object we can directly grab. Use that local value instead to reduce lookups in many hot places. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 8b00bf26c9..0a40488586 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -718,6 +718,7 @@ public class Chunk implements IChunkAccess { +@@ -719,6 +719,7 @@ public class Chunk implements IChunkAccess { ((HeightMap) this.heightMap.get(heightmap_type)).a(along); } @@ -22,7 +22,7 @@ index 8b00bf26c9..0a40488586 100644 this.a(entity, entity.af); } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 7cf4a9c11e..ee2cdb897c 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1258,12 +1258,15 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc @@ -85,5 +85,5 @@ index 7cf4a9c11e..ee2cdb897c 100644 } } -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0297-Duplicate-UUID-Resolve-Option.patch b/Spigot-Server-Patches/0297-Duplicate-UUID-Resolve-Option.patch index 8c60dda7ce..9f845a45ac 100644 --- a/Spigot-Server-Patches/0297-Duplicate-UUID-Resolve-Option.patch +++ b/Spigot-Server-Patches/0297-Duplicate-UUID-Resolve-Option.patch @@ -1,4 +1,4 @@ -From 82ec8fd06e4557c6fca2c4a6f4c3ba002044c0e8 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 14:27:34 -0400 Subject: [PATCH] Duplicate UUID Resolve Option @@ -33,7 +33,7 @@ But for those who are ok with leaving this inconsistent behavior, you may use WA It is recommended you regenerate the entities, as these were legit entities, and deserve your love. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index deb0d4f053..75b591bc2a 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -449,4 +449,43 @@ public class PaperWorldConfig { @@ -81,7 +81,7 @@ index deb0d4f053..75b591bc2a 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 0a40488586..1245576e8a 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -1,5 +1,10 @@ @@ -95,7 +95,7 @@ index 0a40488586..1245576e8a 100644 import com.destroystokyo.paper.exception.ServerInternalException; import com.google.common.collect.Maps; import com.google.common.collect.Queues; -@@ -38,6 +43,7 @@ public class Chunk implements IChunkAccess { +@@ -37,6 +42,7 @@ public class Chunk implements IChunkAccess { public final World world; public final Map heightMap; public Long scheduledForUnload; // Paper - delay chunk unloads @@ -103,7 +103,7 @@ index 0a40488586..1245576e8a 100644 public final int locX; public final int locZ; private boolean l; -@@ -686,6 +692,7 @@ public class Chunk implements IChunkAccess { +@@ -687,6 +693,7 @@ public class Chunk implements IChunkAccess { if (i != this.locX || j != this.locZ) { Chunk.d.warn("Wrong location! ({}, {}) should be ({}, {}), {}", Integer.valueOf(i), Integer.valueOf(j), Integer.valueOf(this.locX), Integer.valueOf(this.locZ), entity); entity.die(); @@ -111,7 +111,7 @@ index 0a40488586..1245576e8a 100644 } int k = MathHelper.floor(entity.locY / 16.0D); -@@ -874,6 +881,50 @@ public class Chunk implements IChunkAccess { +@@ -875,6 +882,50 @@ public class Chunk implements IChunkAccess { for (int j = 0; j < i; ++j) { List entityslice = aentityslice[j]; // Spigot @@ -163,7 +163,7 @@ index 0a40488586..1245576e8a 100644 this.world.a(entityslice.stream().filter((entity) -> { return !(entity instanceof EntityHuman); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 3606c78843..57adaf2a4c 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -2722,6 +2722,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -175,7 +175,7 @@ index 3606c78843..57adaf2a4c 100644 this.uniqueID = uuid; this.au = this.uniqueID.toString(); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index a341f5de9a..61c260a2fb 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -75,7 +75,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc @@ -188,7 +188,7 @@ index a341f5de9a..61c260a2fb 100644 public final List tileEntityListTick = Lists.newArrayList(); private final List c = Lists.newArrayList(); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 7eab55e7c1..0e63a0b5cd 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -41,7 +41,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -219,5 +219,5 @@ index 7eab55e7c1..0e63a0b5cd 100644 logger.error("Overwrote an existing entity " + old + " with " + entity); if (DEBUG_ENTITIES) { -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0301-Option-to-prevent-armor-stands-from-doing-entity-loo.patch b/Spigot-Server-Patches/0301-Option-to-prevent-armor-stands-from-doing-entity-loo.patch index 6b41f406f0..9069d2dc77 100644 --- a/Spigot-Server-Patches/0301-Option-to-prevent-armor-stands-from-doing-entity-loo.patch +++ b/Spigot-Server-Patches/0301-Option-to-prevent-armor-stands-from-doing-entity-loo.patch @@ -1,11 +1,11 @@ -From 0ac7a404449ddf6c3547d48f3c98b162638138af Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Hugo Manrique Date: Mon, 23 Jul 2018 12:57:39 +0200 Subject: [PATCH] Option to prevent armor stands from doing entity lookups diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 75b591bc2a..a2656abaf0 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -361,6 +361,11 @@ public class PaperWorldConfig { @@ -21,7 +21,7 @@ index 75b591bc2a..a2656abaf0 100644 private void maxEntityCollision() { maxCollisionsPerEntity = getInt( "max-entity-collisions", this.spigotConfig.getInt("max-entity-collisions", 8) ); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 61c260a2fb..d58de13028 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1613,6 +1613,14 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc @@ -37,8 +37,8 @@ index 61c260a2fb..d58de13028 100644 + // Paper end + public boolean a(AxisAlignedBB axisalignedbb) { - int i = MathHelper.floor(axisalignedbb.a); - int j = MathHelper.f(axisalignedbb.d); + int i = MathHelper.floor(axisalignedbb.minX); + int j = MathHelper.f(axisalignedbb.maxX); -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0302-Vanished-players-don-t-have-rights.patch b/Spigot-Server-Patches/0302-Vanished-players-don-t-have-rights.patch index 3f3e0f0896..39c41951d1 100644 --- a/Spigot-Server-Patches/0302-Vanished-players-don-t-have-rights.patch +++ b/Spigot-Server-Patches/0302-Vanished-players-don-t-have-rights.patch @@ -1,11 +1,11 @@ -From f94f20cf19c01d396b884f087d96197a74349396 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Hugo Manrique Date: Mon, 23 Jul 2018 14:22:26 +0200 Subject: [PATCH] Vanished players don't have rights diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 57adaf2a4c..0381f8e658 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -94,7 +94,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -17,20 +17,8 @@ index 57adaf2a4c..0381f8e658 100644 public final List passengers; protected int k; private Entity vehicle; -diff --git a/src/main/java/net/minecraft/server/IBlockData.java b/src/main/java/net/minecraft/server/IBlockData.java -index 24ce9137ae..bf06a90312 100644 ---- a/src/main/java/net/minecraft/server/IBlockData.java -+++ b/src/main/java/net/minecraft/server/IBlockData.java -@@ -165,6 +165,7 @@ public interface IBlockData extends IBlockDataHolder { - return this.getBlock().a(this, iblockaccess, blockposition); - } - -+ default VoxelShape getBlockShape(IBlockAccess iblockaccess, BlockPosition blockposition) { return h(iblockaccess, blockposition); } // Paper - OBFHELPER - default VoxelShape h(IBlockAccess iblockaccess, BlockPosition blockposition) { - return this.getBlock().f(this, iblockaccess, blockposition); - } diff --git a/src/main/java/net/minecraft/server/ItemBlock.java b/src/main/java/net/minecraft/server/ItemBlock.java -index 1cecccef23..afc881d9af 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/ItemBlock.java +++ b/src/main/java/net/minecraft/server/ItemBlock.java @@ -70,7 +70,8 @@ public class ItemBlock extends Item { @@ -39,12 +27,12 @@ index 1cecccef23..afc881d9af 100644 // CraftBukkit start - store default return - boolean defaultReturn = iblockdata.canPlace(blockactioncontext.getWorld(), blockactioncontext.getClickPosition()) && blockactioncontext.getWorld().a(iblockdata, blockactioncontext.getClickPosition()); + final World world = blockactioncontext.getWorld(); // Paper -+ boolean defaultReturn = iblockdata.canPlace(world, blockactioncontext.getClickPosition()) && world.a(iblockdata, blockactioncontext.getClickPosition()) && world.checkNoVisiblePlayerCollisions(blockactioncontext.getEntity(), iblockdata.getBlockShape(world, blockactioncontext.getClickPosition())); // Paper - Use our entity search ++ boolean defaultReturn = iblockdata.canPlace(world, blockactioncontext.getClickPosition()) && world.a(iblockdata, blockactioncontext.getClickPosition()) && world.checkNoVisiblePlayerCollisions(blockactioncontext.getEntity(), iblockdata.getCollisionShape(world, blockactioncontext.getClickPosition())); // Paper - Use our entity search BlockCanBuildEvent event = new BlockCanBuildEvent(CraftBlock.at(blockactioncontext.getWorld(), blockactioncontext.getClickPosition()), CraftBlockData.fromData(iblockdata), defaultReturn); blockactioncontext.getWorld().getServer().getPluginManager().callEvent(event); diff --git a/src/main/java/net/minecraft/server/VoxelShape.java b/src/main/java/net/minecraft/server/VoxelShape.java -index ea8f1c170a..fdfc0d442e 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/VoxelShape.java +++ b/src/main/java/net/minecraft/server/VoxelShape.java @@ -24,6 +24,7 @@ public abstract class VoxelShape { @@ -53,18 +41,10 @@ index ea8f1c170a..fdfc0d442e 100644 + public AxisAlignedBB getBounds() { return a(); } // Paper - OBFHELPER public AxisAlignedBB a() { - if (this.b()) { + if (this.isEmpty()) { throw new UnsupportedOperationException("No bounds for empty shape."); -@@ -38,6 +39,7 @@ public abstract class VoxelShape { - - protected abstract DoubleList a(EnumDirection.EnumAxis var1); - -+ public boolean isEmpty() { return b(); } // Paper - OBFHELPER - public boolean b() { - return this.a.a(); - } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index d58de13028..b3eaac23a6 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1595,6 +1595,37 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc @@ -103,13 +83,13 @@ index d58de13028..b3eaac23a6 100644 + // Paper end + public boolean a(@Nullable Entity entity, VoxelShape voxelshape) { - if (voxelshape.b()) { + if (voxelshape.isEmpty()) { return true; diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index f04fb045eb..9bef0e5bb7 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -821,6 +821,14 @@ public class CraftEventFactory { +@@ -832,6 +832,14 @@ public class CraftEventFactory { Projectile projectile = (Projectile) entity.getBukkitEntity(); org.bukkit.entity.Entity collided = position.entity.getBukkitEntity(); com.destroystokyo.paper.event.entity.ProjectileCollideEvent event = new com.destroystokyo.paper.event.entity.ProjectileCollideEvent(projectile, collided); @@ -125,5 +105,5 @@ index f04fb045eb..9bef0e5bb7 100644 return event; } -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0303-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch b/Spigot-Server-Patches/0303-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch index 97d282a0bb..826ad52f02 100644 --- a/Spigot-Server-Patches/0303-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch +++ b/Spigot-Server-Patches/0303-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch @@ -1,4 +1,4 @@ -From afaa779901a84d3127d03771f6d497dc6003937e Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 23 Jul 2018 22:18:31 -0400 Subject: [PATCH] Mark chunk dirty anytime entities change to guarantee it @@ -6,10 +6,10 @@ Subject: [PATCH] Mark chunk dirty anytime entities change to guarantee it diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 60829fded7..4e6ed1e349 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -711,6 +711,7 @@ public class Chunk implements IChunkAccess { +@@ -712,6 +712,7 @@ public class Chunk implements IChunkAccess { entity.ag = this.locZ; this.entitySlices[k].add(entity); // Paper start @@ -17,7 +17,7 @@ index 60829fded7..4e6ed1e349 100644 if (entity instanceof EntityItem) { itemCounts[k]++; } else if (entity instanceof IInventory) { -@@ -742,6 +743,7 @@ public class Chunk implements IChunkAccess { +@@ -743,6 +744,7 @@ public class Chunk implements IChunkAccess { if (!this.entitySlices[i].remove(entity)) { return; } @@ -26,5 +26,5 @@ index 60829fded7..4e6ed1e349 100644 itemCounts[i]--; } else if (entity instanceof IInventory) { -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0304-Add-some-Debug-to-Chunk-Entity-slices.patch b/Spigot-Server-Patches/0304-Add-some-Debug-to-Chunk-Entity-slices.patch index dfede80951..be1038da6d 100644 --- a/Spigot-Server-Patches/0304-Add-some-Debug-to-Chunk-Entity-slices.patch +++ b/Spigot-Server-Patches/0304-Add-some-Debug-to-Chunk-Entity-slices.patch @@ -1,4 +1,4 @@ -From 1c77a390555dd8816d8eac24937a48a4f46a402e Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 23 Jul 2018 22:44:23 -0400 Subject: [PATCH] Add some Debug to Chunk Entity slices @@ -9,10 +9,10 @@ This should hopefully avoid duplicate entities ever being created if the entity was to end up in 2 different chunk slices diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 3c3d44ffbd..0f79ad9588 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -709,8 +709,34 @@ public class Chunk implements IChunkAccess { +@@ -710,8 +710,34 @@ public class Chunk implements IChunkAccess { entity.ae = this.locX; entity.af = k; entity.ag = this.locZ; @@ -48,7 +48,7 @@ index 3c3d44ffbd..0f79ad9588 100644 this.markDirty(); if (entity instanceof EntityItem) { itemCounts[k]++; -@@ -740,9 +766,13 @@ public class Chunk implements IChunkAccess { +@@ -741,9 +767,13 @@ public class Chunk implements IChunkAccess { i = this.entitySlices.length - 1; } // Paper start @@ -64,7 +64,7 @@ index 3c3d44ffbd..0f79ad9588 100644 this.markDirty(); if (entity instanceof EntityItem) { itemCounts[i]--; -@@ -1015,6 +1045,7 @@ public class Chunk implements IChunkAccess { +@@ -1016,6 +1046,7 @@ public class Chunk implements IChunkAccess { } // Spigot End entity.setCurrentChunk(null); // Paper @@ -73,7 +73,7 @@ index 3c3d44ffbd..0f79ad9588 100644 // Do not pass along players, as doing so can get them stuck outside of time. // (which for example disables inventory icon updates and prevents block breaking) diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 0381f8e658..965cd592f3 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -64,6 +64,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -85,5 +85,5 @@ index 0381f8e658..965cd592f3 100644 static boolean isLevelAtLeast(NBTTagCompound tag, int level) { return tag.hasKey("Bukkit.updateLevel") && tag.getInt("Bukkit.updateLevel") >= level; -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0316-World-EntityHuman-Lookup-Optimizations.patch b/Spigot-Server-Patches/0316-World-EntityHuman-Lookup-Optimizations.patch index 6abbf1ecfd..04fa8b240b 100644 --- a/Spigot-Server-Patches/0316-World-EntityHuman-Lookup-Optimizations.patch +++ b/Spigot-Server-Patches/0316-World-EntityHuman-Lookup-Optimizations.patch @@ -1,11 +1,11 @@ -From 246270f318b5ff7e763a68d8973f446b49e2d1ec Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: willies952002 Date: Mon, 30 Jul 2018 02:42:49 -0400 Subject: [PATCH] World EntityHuman Lookup Optimizations diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index eb6d2b9d51..4cc7f7af0d 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -81,6 +81,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc @@ -41,7 +41,7 @@ index eb6d2b9d51..4cc7f7af0d 100644 this.everyoneSleeping(); } -@@ -2720,6 +2725,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc +@@ -2741,6 +2746,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc @Nullable public EntityHuman a(String s) { @@ -50,7 +50,7 @@ index eb6d2b9d51..4cc7f7af0d 100644 for (int i = 0; i < this.players.size(); ++i) { EntityHuman entityhuman = (EntityHuman) this.players.get(i); -@@ -2729,10 +2736,15 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc +@@ -2750,10 +2757,15 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc } return null; @@ -66,7 +66,7 @@ index eb6d2b9d51..4cc7f7af0d 100644 for (int i = 0; i < this.players.size(); ++i) { EntityHuman entityhuman = (EntityHuman) this.players.get(i); -@@ -2742,6 +2754,10 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc +@@ -2763,6 +2775,10 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc } return null; @@ -78,5 +78,5 @@ index eb6d2b9d51..4cc7f7af0d 100644 public void checkSession() throws ExceptionWorldConflict { -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0320-Add-hand-to-bucket-events.patch b/Spigot-Server-Patches/0320-Add-hand-to-bucket-events.patch index 66cee6ea7a..a12327aabd 100644 --- a/Spigot-Server-Patches/0320-Add-hand-to-bucket-events.patch +++ b/Spigot-Server-Patches/0320-Add-hand-to-bucket-events.patch @@ -1,11 +1,11 @@ -From 18fd911b8f6852d2b29a4e7ddd50bc8fecc704a9 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Thu, 2 Aug 2018 08:44:35 -0500 Subject: [PATCH] Add hand to bucket events diff --git a/src/main/java/net/minecraft/server/EntityCow.java b/src/main/java/net/minecraft/server/EntityCow.java -index 5f4f107d5a..b2e50f8532 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityCow.java +++ b/src/main/java/net/minecraft/server/EntityCow.java @@ -65,7 +65,7 @@ public class EntityCow extends EntityAnimal { @@ -18,7 +18,7 @@ index 5f4f107d5a..b2e50f8532 100644 if (event.isCancelled()) { return false; diff --git a/src/main/java/net/minecraft/server/ItemBucket.java b/src/main/java/net/minecraft/server/ItemBucket.java -index b63da71512..b0dd30dd12 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/ItemBucket.java +++ b/src/main/java/net/minecraft/server/ItemBucket.java @@ -35,7 +35,7 @@ public class ItemBucket extends Item { @@ -67,10 +67,10 @@ index b63da71512..b0dd30dd12 100644 ((EntityPlayer) entityhuman).playerConnection.sendPacket(new PacketPlayOutBlockChange(world, blockposition)); // SPIGOT-4238: needed when looking through entity // TODO: inventory not updated diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 9bef0e5bb7..6c05dd9051 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -170,6 +170,20 @@ public class CraftEventFactory { +@@ -181,6 +181,20 @@ public class CraftEventFactory { } private static PlayerEvent getPlayerBucketEvent(boolean isFilling, EntityHuman who, int clickedX, int clickedY, int clickedZ, EnumDirection clickedFace, ItemStack itemstack, net.minecraft.server.Item item) { @@ -91,7 +91,7 @@ index 9bef0e5bb7..6c05dd9051 100644 Player player = (who == null) ? null : (Player) who.getBukkitEntity(); CraftItemStack itemInHand = CraftItemStack.asNewCraftStack(item); Material bucket = CraftMagicNumbers.getMaterial(itemstack.getItem()); -@@ -182,10 +196,10 @@ public class CraftEventFactory { +@@ -193,10 +207,10 @@ public class CraftEventFactory { PlayerEvent event = null; if (isFilling) { @@ -105,5 +105,5 @@ index 9bef0e5bb7..6c05dd9051 100644 } -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0322-Entity-add-to-world-fixes.patch b/Spigot-Server-Patches/0322-Entity-add-to-world-fixes.patch index 73537138c8..956dae04e5 100644 --- a/Spigot-Server-Patches/0322-Entity-add-to-world-fixes.patch +++ b/Spigot-Server-Patches/0322-Entity-add-to-world-fixes.patch @@ -1,4 +1,4 @@ -From 9bfc6b4bd66887fbc5b2641994f87db64f1ed69a Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 3 Aug 2018 22:47:46 -0400 Subject: [PATCH] Entity add to world fixes @@ -14,10 +14,10 @@ Fix this by differing entity add to world for all entities at the same time the original entity is dead, overwrite it as the logic does for unloaod queued entities. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 0f79ad9588..a5f939f557 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -910,6 +910,7 @@ public class Chunk implements IChunkAccess { +@@ -911,6 +911,7 @@ public class Chunk implements IChunkAccess { this.world.a(this.tileEntities.values()); List[] aentityslice = this.entitySlices; // Spigot int i = aentityslice.length; @@ -25,7 +25,7 @@ index 0f79ad9588..a5f939f557 100644 for (int j = 0; j < i; ++j) { List entityslice = aentityslice[j]; // Spigot -@@ -956,12 +957,11 @@ public class Chunk implements IChunkAccess { +@@ -957,12 +958,11 @@ public class Chunk implements IChunkAccess { thisChunk.put(entity.uniqueID, entity); } } @@ -42,7 +42,7 @@ index 0f79ad9588..a5f939f557 100644 // CraftBukkit start org.bukkit.Server server = this.world.getServer(); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 4cc7f7af0d..2474b96382 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1103,6 +1103,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc @@ -68,7 +68,7 @@ index 4cc7f7af0d..2474b96382 100644 this.b(entity); }); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 0e63a0b5cd..72c661ef2d 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -990,7 +990,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -81,5 +81,5 @@ index 0e63a0b5cd..72c661ef2d 100644 } else { if (!(entity instanceof EntityHuman)) { -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0323-Fix-client-rendering-skulls-from-same-user.patch b/Spigot-Server-Patches/0323-Fix-client-rendering-skulls-from-same-user.patch index 87e80f1a09..1962a6b8c9 100644 --- a/Spigot-Server-Patches/0323-Fix-client-rendering-skulls-from-same-user.patch +++ b/Spigot-Server-Patches/0323-Fix-client-rendering-skulls-from-same-user.patch @@ -1,4 +1,4 @@ -From 545079cfdb0bf7030b9480898d9db0631ed9aaeb Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 22 Nov 2016 00:40:42 -0500 Subject: [PATCH] Fix client rendering skulls from same user @@ -12,7 +12,7 @@ This allows the client to render multiple skull textures from the same user, for when different skins were used when skull was made. diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index a238388012..9326eaa2a9 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -44,7 +44,7 @@ public final class ItemStack { @@ -25,10 +25,10 @@ index a238388012..9326eaa2a9 100644 private EntityItemFrame i; private ShapeDetectorBlock j; diff --git a/src/main/java/net/minecraft/server/PacketDataSerializer.java b/src/main/java/net/minecraft/server/PacketDataSerializer.java -index a63a5811d6..cab8374832 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/PacketDataSerializer.java +++ b/src/main/java/net/minecraft/server/PacketDataSerializer.java -@@ -252,6 +252,15 @@ public class PacketDataSerializer extends ByteBuf { +@@ -253,6 +253,15 @@ public class PacketDataSerializer extends ByteBuf { CraftItemStack.setItemMeta(itemstack, CraftItemStack.getItemMeta(itemstack)); // Spigot end nbttagcompound = itemstack.getTag(); @@ -62,7 +62,7 @@ index a63a5811d6..cab8374832 100644 } // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java -index af382815f3..22a262bb60 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java +++ b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java @@ -33,6 +33,7 @@ public class PacketPlayOutMapChunk implements Packet { @@ -74,7 +74,7 @@ index af382815f3..22a262bb60 100644 } } diff --git a/src/main/java/net/minecraft/server/TileEntitySkull.java b/src/main/java/net/minecraft/server/TileEntitySkull.java -index e59f3c21d7..05fca47f34 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/TileEntitySkull.java +++ b/src/main/java/net/minecraft/server/TileEntitySkull.java @@ -142,9 +142,37 @@ public class TileEntitySkull extends TileEntity /*implements ITickable*/ { // Pa @@ -117,5 +117,5 @@ index e59f3c21d7..05fca47f34 100644 public NBTTagCompound aa_() { -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0333-Cache-World-Entity-Type-counts.patch b/Spigot-Server-Patches/0333-Cache-World-Entity-Type-counts.patch index 486e5d9c57..594de80d77 100644 --- a/Spigot-Server-Patches/0333-Cache-World-Entity-Type-counts.patch +++ b/Spigot-Server-Patches/0333-Cache-World-Entity-Type-counts.patch @@ -1,4 +1,4 @@ -From ef69ea8d6737f5239af634473c519654c0026121 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Colin Godsey Date: Wed, 8 Aug 2018 10:10:06 -0600 Subject: [PATCH] Cache World Entity Type counts @@ -7,7 +7,7 @@ Optimizes mob spawning by keeping a count of entities by type diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldEntityList.java b/src/main/java/com/destroystokyo/paper/PaperWorldEntityList.java new file mode 100644 -index 0000000000..35104542c5 +index 7ac07ac07ac0..7ac07ac07ac0 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/PaperWorldEntityList.java @@ -0,0 +1,121 @@ @@ -107,7 +107,7 @@ index 0000000000..35104542c5 + + if (entity instanceof EntityInsentient) { + EntityInsentient entityinsentient = (EntityInsentient) entity; -+ if (amt > 0 && entityinsentient.isDespawnableByDefault() && entityinsentient.isPersistent()) { ++ if (amt > 0 && entityinsentient.isTypeNotPersistent() && entityinsentient.isPersistent()) { + return; + } + } @@ -133,7 +133,7 @@ index 0000000000..35104542c5 + } +} diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 1554530966..4007f1ebb7 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -124,6 +124,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -144,20 +144,8 @@ index 1554530966..4007f1ebb7 100644 public float width; public float length; public float J; -diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index 141db48f16..56542d531a 100644 ---- a/src/main/java/net/minecraft/server/EntityInsentient.java -+++ b/src/main/java/net/minecraft/server/EntityInsentient.java -@@ -615,6 +615,7 @@ public abstract class EntityInsentient extends EntityLiving { - return true; - } - -+ public boolean isDespawnableByDefault() { return isTypeNotPersistent(); } // Paper - sortof an obf helper, too annoying to change visibility here - protected boolean isTypeNotPersistent() { - return true; - } diff --git a/src/main/java/net/minecraft/server/EnumCreatureType.java b/src/main/java/net/minecraft/server/EnumCreatureType.java -index 8874a05be5..0af387c059 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EnumCreatureType.java +++ b/src/main/java/net/minecraft/server/EnumCreatureType.java @@ -18,6 +18,8 @@ public enum EnumCreatureType { @@ -170,7 +158,7 @@ index 8874a05be5..0af387c059 100644 return this.e; } diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java -index 95d98b65cf..387570ed67 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/SpawnerCreature.java +++ b/src/main/java/net/minecraft/server/SpawnerCreature.java @@ -114,7 +114,7 @@ public final class SpawnerCreature { @@ -183,7 +171,7 @@ index 95d98b65cf..387570ed67 100644 if (l1 <= k) { BlockPosition.MutableBlockPosition blockposition_mutableblockposition = new BlockPosition.MutableBlockPosition(); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 2474b96382..a7dcfb4191 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -50,7 +50,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc @@ -222,5 +210,5 @@ index 2474b96382..a7dcfb4191 100644 if (!guardEntityList) { // Spigot - It will get removed after the tick if we are ticking // Paper - always remove from current chunk above // CraftBukkit start - Decrement loop variable field if we've already ticked this entity -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0340-Anti-Xray.patch b/Spigot-Server-Patches/0340-Anti-Xray.patch index f03cf47c61..db28578852 100644 --- a/Spigot-Server-Patches/0340-Anti-Xray.patch +++ b/Spigot-Server-Patches/0340-Anti-Xray.patch @@ -1,11 +1,11 @@ -From 09738247178ff3203eda24c65cf73b0a9ede6621 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: stonar96 Date: Mon, 20 Aug 2018 03:03:58 +0200 Subject: [PATCH] Anti-Xray diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index ac07bcc751..ca93fab889 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -1,7 +1,10 @@ @@ -49,7 +49,7 @@ index ac07bcc751..ca93fab889 100644 } diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockController.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockController.java new file mode 100644 -index 0000000000..1ba8477bf9 +index 7ac07ac07ac0..7ac07ac07ac0 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockController.java @@ -0,0 +1,45 @@ @@ -100,7 +100,7 @@ index 0000000000..1ba8477bf9 +} diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java new file mode 100644 -index 0000000000..d00e113ba8 +index 7ac07ac07ac0..7ac07ac07ac0 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java @@ -0,0 +1,670 @@ @@ -776,7 +776,7 @@ index 0000000000..d00e113ba8 +} diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfo.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfo.java new file mode 100644 -index 0000000000..a68bace353 +index 7ac07ac07ac0..7ac07ac07ac0 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfo.java @@ -0,0 +1,81 @@ @@ -863,7 +863,7 @@ index 0000000000..a68bace353 +} diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfoAntiXray.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfoAntiXray.java new file mode 100644 -index 0000000000..e255a45fa3 +index 7ac07ac07ac0..7ac07ac07ac0 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfoAntiXray.java @@ -0,0 +1,29 @@ @@ -898,7 +898,7 @@ index 0000000000..e255a45fa3 +} diff --git a/src/main/java/com/destroystokyo/paper/antixray/DataBitsReader.java b/src/main/java/com/destroystokyo/paper/antixray/DataBitsReader.java new file mode 100644 -index 0000000000..cc586827aa +index 7ac07ac07ac0..7ac07ac07ac0 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/antixray/DataBitsReader.java @@ -0,0 +1,56 @@ @@ -960,7 +960,7 @@ index 0000000000..cc586827aa +} diff --git a/src/main/java/com/destroystokyo/paper/antixray/DataBitsWriter.java b/src/main/java/com/destroystokyo/paper/antixray/DataBitsWriter.java new file mode 100644 -index 0000000000..37093419cf +index 7ac07ac07ac0..7ac07ac07ac0 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/antixray/DataBitsWriter.java @@ -0,0 +1,84 @@ @@ -1049,10 +1049,10 @@ index 0000000000..37093419cf + } +} diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index a5f939f557..80ec314599 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -534,7 +534,7 @@ public class Chunk implements IChunkAccess { +@@ -535,7 +535,7 @@ public class Chunk implements IChunkAccess { return null; } @@ -1061,7 +1061,7 @@ index a5f939f557..80ec314599 100644 this.sections[j >> 4] = chunksection; flag1 = j >= l; } -@@ -634,7 +634,7 @@ public class Chunk implements IChunkAccess { +@@ -635,7 +635,7 @@ public class Chunk implements IChunkAccess { return; } @@ -1071,7 +1071,7 @@ index a5f939f557..80ec314599 100644 this.initLighting(); } diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index b6ec518371..c233b7e903 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -859,7 +859,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { @@ -1093,7 +1093,7 @@ index b6ec518371..c233b7e903 100644 chunksection.getBlocks().a(nbttagcompound, "Palette", "BlockStates"); chunksection.a(new NibbleArray(nbttagcompound.getByteArray("BlockLight"))); diff --git a/src/main/java/net/minecraft/server/ChunkSection.java b/src/main/java/net/minecraft/server/ChunkSection.java -index 7e4c79a1ce..bdfc7d81ff 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/ChunkSection.java +++ b/src/main/java/net/minecraft/server/ChunkSection.java @@ -10,9 +10,15 @@ public class ChunkSection { @@ -1114,7 +1114,7 @@ index 7e4c79a1ce..bdfc7d81ff 100644 if (flag) { this.skyLight = new NibbleArray(); diff --git a/src/main/java/net/minecraft/server/ChunkTaskScheduler.java b/src/main/java/net/minecraft/server/ChunkTaskScheduler.java -index 95eb1a84ac..34019bd1b3 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/ChunkTaskScheduler.java +++ b/src/main/java/net/minecraft/server/ChunkTaskScheduler.java @@ -42,7 +42,7 @@ public class ChunkTaskScheduler extends Scheduler> { @@ -1332,7 +1332,7 @@ index f8facddb40..b2afec5e4b 100644 public void a() { this.o(); diff --git a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java -index 22a262bb60..40ec398eef 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java +++ b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java @@ -1,5 +1,6 @@ @@ -1418,7 +1418,7 @@ index 22a262bb60..40ec398eef 100644 if (flag) { packetdataserializer.writeBytes(chunksection.getSkyLightArray().asBytes()); diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index a0fcac3296..2c7c8adf7c 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java @@ -118,6 +118,8 @@ public class PlayerChunk { @@ -1449,7 +1449,7 @@ index a0fcac3296..2c7c8adf7c 100644 } else { this.a((Packet) (new PacketPlayOutMultiBlockChange(this.dirtyCount, this.dirtyBlocks, this.chunk))); diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java -index cae24961fd..a9690fb1c3 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java @@ -206,6 +206,8 @@ public class PlayerInteractManager { @@ -1462,7 +1462,7 @@ index cae24961fd..a9690fb1c3 100644 public void a(BlockPosition blockposition) { diff --git a/src/main/java/net/minecraft/server/ProtoChunk.java b/src/main/java/net/minecraft/server/ProtoChunk.java -index 9242b95a52..395ce2e4ad 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/ProtoChunk.java +++ b/src/main/java/net/minecraft/server/ProtoChunk.java @@ -46,11 +46,23 @@ public class ProtoChunk implements IChunkAccess { @@ -1510,7 +1510,7 @@ index 9242b95a52..395ce2e4ad 100644 if (enumskyblock == EnumSkyBlock.SKY) { diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index f713b0d3d0..2016051ef5 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1,6 +1,8 @@ @@ -1541,13 +1541,13 @@ index f713b0d3d0..2016051ef5 100644 @@ -411,6 +415,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc // CraftBukkit end - IBlockData iblockdata1 = chunk.a(blockposition, iblockdata, (i & 64) != 0, (i & 1024) == 0); // CraftBukkit custom NO_PLACE flag + IBlockData iblockdata1 = chunk.setType(blockposition, iblockdata, (i & 64) != 0, (i & 1024) == 0); // CraftBukkit custom NO_PLACE flag + this.chunkPacketBlockController.onBlockChange(this, blockposition, iblockdata, iblockdata1, i); // Paper - Anti-Xray if (iblockdata1 == null) { // CraftBukkit start - remove blockstate if failed diff --git a/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java b/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java -index c26f0ed16b..f6915d32ab 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java +++ b/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java @@ -17,9 +17,11 @@ import org.bukkit.material.MaterialData; @@ -1572,5 +1572,5 @@ index c26f0ed16b..f6915d32ab 100644 return section; } -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0347-Implement-Force-Loaded-Chunk-API.patch b/Spigot-Server-Patches/0345-Implement-Force-Loaded-Chunk-API.patch similarity index 58% rename from Spigot-Server-Patches/0347-Implement-Force-Loaded-Chunk-API.patch rename to Spigot-Server-Patches/0345-Implement-Force-Loaded-Chunk-API.patch index d6ebc8af19..9e2e42dd54 100644 --- a/Spigot-Server-Patches/0347-Implement-Force-Loaded-Chunk-API.patch +++ b/Spigot-Server-Patches/0345-Implement-Force-Loaded-Chunk-API.patch @@ -1,23 +1,11 @@ -From 26e5f4a9dead4dec758399f9f3ad765c6cbc4a96 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: willies952002 Date: Wed, 29 Aug 2018 00:37:42 -0400 Subject: [PATCH] Implement Force-Loaded Chunk API -diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 2016051ef5..bcbc78bd8f 100644 ---- a/src/main/java/net/minecraft/server/World.java -+++ b/src/main/java/net/minecraft/server/World.java -@@ -3024,6 +3024,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc - return forcedchunk != null && forcedchunk.a().contains(ChunkCoordIntPair.a(i, j)); - } - -+ public boolean setForcedChunk(int i, int j, boolean flag) { return b(i, j, flag); } // Paper - OBFHELPER - public boolean b(int i, int j, boolean flag) { - String s = "chunks"; - ForcedChunk forcedchunk = (ForcedChunk) this.a(this.worldProvider.getDimensionManager(), ForcedChunk::new, "chunks"); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java -index 12c6d850d2..55394e0c15 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java @@ -289,6 +289,18 @@ public class CraftChunk implements Chunk { @@ -27,12 +15,12 @@ index 12c6d850d2..55394e0c15 100644 + // Paper start - Force-Loaded Chunk API + @Override + public boolean isForceLoaded() { -+ return getHandle().getWorld().isForcedChunk(this.x, this.z); ++ return getHandle().getWorld().isForceLoaded(this.x, this.z); + } + + @Override + public void setForceLoaded(boolean force) { -+ getHandle().getWorld().setForcedChunk(this.x, this.z, force); ++ getHandle().getWorld().setForceLoaded(this.x, this.z, force); + } + // Paper end + @@ -40,7 +28,7 @@ index 12c6d850d2..55394e0c15 100644 Arrays.fill(emptySkyLight, (byte) 0xFF); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 8565de51f4..08fd8850c6 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -590,6 +590,12 @@ public class CraftWorld implements World { @@ -49,7 +37,7 @@ index 8565de51f4..08fd8850c6 100644 + // Paper start + public boolean isChunkForceLoaded(int x, int z) { -+ return this.isChunkGenerated(x, z) && this.getHandle().isForcedChunk(x, z); ++ return this.isChunkGenerated(x, z) && this.getHandle().isForceLoaded(x, z); + } + // Paper end + @@ -57,5 +45,5 @@ index 8565de51f4..08fd8850c6 100644 return generator; } -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0345-Optimize-Chunk-getPos.patch b/Spigot-Server-Patches/0345-Optimize-Chunk-getPos.patch deleted file mode 100644 index 53cc9cbba3..0000000000 --- a/Spigot-Server-Patches/0345-Optimize-Chunk-getPos.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 7972c755053a2eb8570b3501e8eb955686b05914 Mon Sep 17 00:00:00 2001 -From: Aikar -Date: Tue, 28 Aug 2018 21:35:05 -0400 -Subject: [PATCH] Optimize Chunk#getPos - -Don't create an object just to get chunk coords. - -diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 80ec314599..6548bdbd31 100644 ---- a/src/main/java/net/minecraft/server/Chunk.java -+++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -169,8 +169,9 @@ public class Chunk implements IChunkAccess { - // CraftBukkit start - this.bukkitChunk = new org.bukkit.craftbukkit.CraftChunk(this); - this.chunkKey = ChunkCoordIntPair.a(this.locX, this.locZ); -+ this.chunkCoords = new ChunkCoordIntPair(this.locX, this.locZ); // Paper - } -- -+ private final ChunkCoordIntPair chunkCoords; // Paper - public org.bukkit.Chunk bukkitChunk; - public boolean mustSave; - private boolean needsDecoration; -@@ -1190,7 +1191,7 @@ public class Chunk implements IChunkAccess { - } - - public ChunkCoordIntPair getPos() { -- return new ChunkCoordIntPair(this.locX, this.locZ); -+ return this.chunkCoords; // Paper - } - - public boolean b(int i, int j) { --- -2.19.0 - diff --git a/Spigot-Server-Patches/0348-Inventory-removeItemAnySlot.patch b/Spigot-Server-Patches/0346-Inventory-removeItemAnySlot.patch similarity index 95% rename from Spigot-Server-Patches/0348-Inventory-removeItemAnySlot.patch rename to Spigot-Server-Patches/0346-Inventory-removeItemAnySlot.patch index fb8668cf30..f288a485d3 100644 --- a/Spigot-Server-Patches/0348-Inventory-removeItemAnySlot.patch +++ b/Spigot-Server-Patches/0346-Inventory-removeItemAnySlot.patch @@ -1,11 +1,11 @@ -From cde4fa48e25eff26e56881ac77f50eae38d61521 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 28 Aug 2018 23:04:15 -0400 Subject: [PATCH] Inventory#removeItemAnySlot diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java -index dd7b3d766f..01af982933 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java @@ -213,10 +213,16 @@ public class CraftInventory implements Inventory { @@ -57,5 +57,5 @@ index dd7b3d766f..01af982933 100644 // Drat! we don't have this type in the inventory if (first == -1) { -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0346-Use-an-EnumMap-for-Chunk-Height-Maps.patch b/Spigot-Server-Patches/0346-Use-an-EnumMap-for-Chunk-Height-Maps.patch deleted file mode 100644 index 0a2049f2c9..0000000000 --- a/Spigot-Server-Patches/0346-Use-an-EnumMap-for-Chunk-Height-Maps.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 28e003ea3f3461bb37b3b385505ef1eabfc05bb2 Mon Sep 17 00:00:00 2001 -From: Aikar -Date: Tue, 28 Aug 2018 22:11:13 -0400 -Subject: [PATCH] Use an EnumMap for Chunk Height Maps - - -diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index f4b26bd999..c68cef1677 100644 ---- a/src/main/java/net/minecraft/server/Chunk.java -+++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -133,7 +133,7 @@ public class Chunk implements IChunkAccess { - this.sections = new ChunkSection[16]; - this.g = new boolean[256]; - this.h = Maps.newHashMap(); -- this.heightMap = Maps.newHashMap(); -+ this.heightMap = new java.util.EnumMap<>(HeightMap.Type.class); // PAper - this.tileEntities = new TileEntityHashMap(); // Paper - this.p = Maps.newHashMap(); - this.q = Maps.newHashMap(); --- -2.19.0 - diff --git a/Spigot-Server-Patches/0349-Optimize-getChunkIfLoaded-type-calls.patch b/Spigot-Server-Patches/0347-Optimize-getChunkIfLoaded-type-calls.patch similarity index 95% rename from Spigot-Server-Patches/0349-Optimize-getChunkIfLoaded-type-calls.patch rename to Spigot-Server-Patches/0347-Optimize-getChunkIfLoaded-type-calls.patch index 876f6b81aa..113f559656 100644 --- a/Spigot-Server-Patches/0349-Optimize-getChunkIfLoaded-type-calls.patch +++ b/Spigot-Server-Patches/0347-Optimize-getChunkIfLoaded-type-calls.patch @@ -1,4 +1,4 @@ -From 44b5fb3182caf56b8cd583b33e4c69406dfbeb5a Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 29 Aug 2018 21:59:22 -0400 Subject: [PATCH] Optimize getChunkIfLoaded type calls @@ -10,7 +10,7 @@ Will improve inlining across many hot methods. Improve getBrightness to not do double chunk map lookups. diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index d07ba950eb..958a4084e6 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -378,7 +378,7 @@ public class ChunkProviderServer implements IChunkProvider { @@ -23,7 +23,7 @@ index d07ba950eb..958a4084e6 100644 neighbor.setNeighborUnloaded(-x, -z); chunk.setNeighborUnloaded(x, z); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index bcbc78bd8f..af7cbb5fcf 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -166,7 +166,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc @@ -55,7 +55,7 @@ index bcbc78bd8f..af7cbb5fcf 100644 return chunk != null && !chunk.isEmpty(); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 08fd8850c6..2422251c72 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -212,7 +212,7 @@ public class CraftWorld implements World { @@ -77,5 +77,5 @@ index 08fd8850c6..2422251c72 100644 return true; } -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0350-Don-t-double-add-golems-to-world.patch b/Spigot-Server-Patches/0348-Don-t-double-add-golems-to-world.patch similarity index 88% rename from Spigot-Server-Patches/0350-Don-t-double-add-golems-to-world.patch rename to Spigot-Server-Patches/0348-Don-t-double-add-golems-to-world.patch index 306792a3df..e3c7b1a0a5 100644 --- a/Spigot-Server-Patches/0350-Don-t-double-add-golems-to-world.patch +++ b/Spigot-Server-Patches/0348-Don-t-double-add-golems-to-world.patch @@ -1,4 +1,4 @@ -From 91b4f51a74524843e76a6531ca4279cef4fbe489 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 30 Aug 2018 20:56:26 -0400 Subject: [PATCH] Don't double add golems to world @@ -6,7 +6,7 @@ Subject: [PATCH] Don't double add golems to world spawnCreature adds to world now diff --git a/src/main/java/net/minecraft/server/Village.java b/src/main/java/net/minecraft/server/Village.java -index 5b56ae1818..afb79bb641 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Village.java +++ b/src/main/java/net/minecraft/server/Village.java @@ -83,7 +83,7 @@ public class Village { diff --git a/Spigot-Server-Patches/0351-fix-newlines-in-spigot-tab-list-API.patch b/Spigot-Server-Patches/0349-fix-newlines-in-spigot-tab-list-API.patch similarity index 94% rename from Spigot-Server-Patches/0351-fix-newlines-in-spigot-tab-list-API.patch rename to Spigot-Server-Patches/0349-fix-newlines-in-spigot-tab-list-API.patch index d7ccf5e155..44d79cab12 100644 --- a/Spigot-Server-Patches/0351-fix-newlines-in-spigot-tab-list-API.patch +++ b/Spigot-Server-Patches/0349-fix-newlines-in-spigot-tab-list-API.patch @@ -1,4 +1,4 @@ -From f15ad304fc3c04eae815094516634a4e1dfdeac6 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sat, 1 Sep 2018 11:29:52 +0100 Subject: [PATCH] fix newlines in spigot tab list API @@ -7,7 +7,7 @@ Spigots implementation around the header/footer strips newlines from the header/footer, this patch allows the tab list header/footer to retain newlines. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 912b2e6284..6c78c2e823 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -370,20 +370,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -36,7 +36,7 @@ index 912b2e6284..6c78c2e823 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftChatMessage.java b/src/main/java/org/bukkit/craftbukkit/util/CraftChatMessage.java -index a067e39d54..5e20a9a619 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftChatMessage.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftChatMessage.java @@ -143,7 +143,13 @@ public final class CraftChatMessage { @@ -55,5 +55,5 @@ index a067e39d54..5e20a9a619 100644 public static IChatBaseComponent[] fromString(String message) { -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0352-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch b/Spigot-Server-Patches/0350-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch similarity index 89% rename from Spigot-Server-Patches/0352-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch rename to Spigot-Server-Patches/0350-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch index 69a05467f4..fdbfbe202c 100644 --- a/Spigot-Server-Patches/0352-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch +++ b/Spigot-Server-Patches/0350-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch @@ -1,4 +1,4 @@ -From 81f1e6ead3e17cdceaab153207a34e7b3cc1ca30 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Sun, 2 Sep 2018 19:34:33 -0700 Subject: [PATCH] Make CraftWorld#loadChunk(int, int, false) load unconverted @@ -6,7 +6,7 @@ Subject: [PATCH] Make CraftWorld#loadChunk(int, int, false) load unconverted diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 2422251c72..d0110070a9 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -289,7 +289,7 @@ public class CraftWorld implements World { @@ -19,5 +19,5 @@ index 2422251c72..d0110070a9 100644 public boolean isChunkLoaded(Chunk chunk) { -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0353-Add-ray-tracing-methods-to-LivingEntity.patch b/Spigot-Server-Patches/0351-Add-ray-tracing-methods-to-LivingEntity.patch similarity index 95% rename from Spigot-Server-Patches/0353-Add-ray-tracing-methods-to-LivingEntity.patch rename to Spigot-Server-Patches/0351-Add-ray-tracing-methods-to-LivingEntity.patch index 7e4ce20f6f..8115b315c6 100644 --- a/Spigot-Server-Patches/0353-Add-ray-tracing-methods-to-LivingEntity.patch +++ b/Spigot-Server-Patches/0351-Add-ray-tracing-methods-to-LivingEntity.patch @@ -1,11 +1,11 @@ -From 390fed6c4568d2753e12fe3e7a80c7c00673b909 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Mon, 3 Sep 2018 18:20:03 -0500 Subject: [PATCH] Add ray tracing methods to LivingEntity diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index c051200da8..1328f88898 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2813,6 +2813,22 @@ public abstract class EntityLiving extends Entity { @@ -32,7 +32,7 @@ index c051200da8..1328f88898 100644 public int getShieldBlockingDelay() { diff --git a/src/main/java/net/minecraft/server/MovingObjectPosition.java b/src/main/java/net/minecraft/server/MovingObjectPosition.java -index 6d5dbe89a6..a31f9f6072 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/MovingObjectPosition.java +++ b/src/main/java/net/minecraft/server/MovingObjectPosition.java @@ -28,6 +28,7 @@ public class MovingObjectPosition { @@ -44,7 +44,7 @@ index 6d5dbe89a6..a31f9f6072 100644 return this.e; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 0860f2334d..028495700f 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -169,6 +169,23 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { @@ -72,5 +72,5 @@ index 0860f2334d..028495700f 100644 return getLineOfSight(transparent, maxDistance, 2); } -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0355-Expose-attack-cooldown-methods-for-Player.patch b/Spigot-Server-Patches/0352-Expose-attack-cooldown-methods-for-Player.patch similarity index 92% rename from Spigot-Server-Patches/0355-Expose-attack-cooldown-methods-for-Player.patch rename to Spigot-Server-Patches/0352-Expose-attack-cooldown-methods-for-Player.patch index 31e143eb23..6d8b99ac84 100644 --- a/Spigot-Server-Patches/0355-Expose-attack-cooldown-methods-for-Player.patch +++ b/Spigot-Server-Patches/0352-Expose-attack-cooldown-methods-for-Player.patch @@ -1,11 +1,11 @@ -From 4e87d71abca5dc5f455afa7f7803b2e0cd9dee2f Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Tue, 4 Sep 2018 15:02:00 -0500 Subject: [PATCH] Expose attack cooldown methods for Player diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index c7dc6fe0ef..3df3d5bbef 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -2054,14 +2054,17 @@ public abstract class EntityHuman extends EntityLiving { @@ -27,7 +27,7 @@ index c7dc6fe0ef..3df3d5bbef 100644 this.aH = 0; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 6c78c2e823..2f9cff6e71 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1912,6 +1912,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -52,5 +52,5 @@ index 6c78c2e823..2f9cff6e71 100644 private final Player.Spigot spigot = new Player.Spigot() { -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0356-Fix-1420.patch b/Spigot-Server-Patches/0353-Fix-1420.patch similarity index 94% rename from Spigot-Server-Patches/0356-Fix-1420.patch rename to Spigot-Server-Patches/0353-Fix-1420.patch index a4be5a83dd..235c276183 100644 --- a/Spigot-Server-Patches/0356-Fix-1420.patch +++ b/Spigot-Server-Patches/0353-Fix-1420.patch @@ -1,11 +1,11 @@ -From 3f994823ee28a8aa606a0f3dddf190a3e22a6872 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Fri, 7 Sep 2018 18:28:24 -0500 Subject: [PATCH] Fix #1420 diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java -index a82dc0a94e..529629a867 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityArrow.java +++ b/src/main/java/net/minecraft/server/EntityArrow.java @@ -492,6 +492,7 @@ public abstract class EntityArrow extends Entity implements IProjectile { @@ -29,5 +29,5 @@ index a82dc0a94e..529629a867 100644 flag = false; } -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0354-Fix-concurrency-and-performance-issues-in-DataFixers.patch b/Spigot-Server-Patches/0354-Fix-concurrency-and-performance-issues-in-DataFixers.patch deleted file mode 100644 index 3372e19553..0000000000 --- a/Spigot-Server-Patches/0354-Fix-concurrency-and-performance-issues-in-DataFixers.patch +++ /dev/null @@ -1,293 +0,0 @@ -From 296dfee228fa6471e26b9d4d697ba514cf5db998 Mon Sep 17 00:00:00 2001 -From: Aikar -Date: Mon, 3 Sep 2018 22:18:38 -0400 -Subject: [PATCH] Fix concurrency and performance issues in DataFixers - -We are seeing issues with DataFixers being not thread safe in async chunks -and even in some spigot packet sending code. - -There are a few more global objects that are mutated that need to -be synchronized to be safe for use over multiple threads. - -There may be more cases, but these are extremely obvious ones. - -Also replaced quite a few bad uses of Map.containsKey - -containsKey is a common newbie mistake that "reads" cleaner, but -results in double the performance cost of all map operations as -containsKey in MOST cases where null values are not used is identical to get() == null - -Considering how deep datafixers go in call stacks, with tons of map lookups, -this micro optimization could provide some gains. - -Additionally, many of the containsKey/get/put style operations were -also a concurrency risk, resulting in multiple computation/insertions. - -diff --git a/src/main/java/com/mojang/datafixers/DataFixerUpper.java b/src/main/java/com/mojang/datafixers/DataFixerUpper.java -index fb2c380f8a..a4922a35a2 100644 ---- a/src/main/java/com/mojang/datafixers/DataFixerUpper.java -+++ b/src/main/java/com/mojang/datafixers/DataFixerUpper.java -@@ -65,7 +65,7 @@ public class DataFixerUpper implements DataFixer { - private final Int2ObjectSortedMap schemas; - private final List globalList; - private final IntSortedSet fixerVersions; -- private final Long2ObjectMap rules = new Long2ObjectOpenHashMap<>(); -+ private final Long2ObjectMap rules = it.unimi.dsi.fastutil.longs.Long2ObjectMaps.synchronize(new Long2ObjectOpenHashMap<>()); // Paper - - protected DataFixerUpper(final Int2ObjectSortedMap schemas, final List globalList, final IntSortedSet fixerVersions) { - this.schemas = schemas; -@@ -125,7 +125,7 @@ public class DataFixerUpper implements DataFixer { - final int expandedDataVersion = DataFixUtils.makeKey(dataVersion); - - final long key = (long) expandedVersion << 32 | expandedDataVersion; -- if (!rules.containsKey(key)) { -+ return rules.computeIfAbsent(key, k -> { // Paper - final List rules = Lists.newArrayList(); - for (final DataFix fix : globalList) { - final int fixVersion = fix.getVersionKey(); -@@ -137,9 +137,8 @@ public class DataFixerUpper implements DataFixer { - rules.add(fixRule); - } - } -- this.rules.put(key, TypeRewriteRule.seq(rules)); -- } -- return rules.get(key); -+ return TypeRewriteRule.seq(rules); // Paper -+ }); // Paper - } - - protected IntSortedSet fixerVersions() { -diff --git a/src/main/java/com/mojang/datafixers/NamedChoiceFinder.java b/src/main/java/com/mojang/datafixers/NamedChoiceFinder.java -index 2c259d74e9..17481fb6e6 100644 ---- a/src/main/java/com/mojang/datafixers/NamedChoiceFinder.java -+++ b/src/main/java/com/mojang/datafixers/NamedChoiceFinder.java -@@ -71,8 +71,10 @@ final class NamedChoiceFinder implements OpticFinder { - }*/ - if (targetType instanceof TaggedChoice.TaggedChoiceType) { - final TaggedChoice.TaggedChoiceType choiceType = (TaggedChoice.TaggedChoiceType) targetType; -- if (choiceType.types().containsKey(name)) { -- final Type elementType = choiceType.types().get(name); -+ // Paper start - performance - don't use containsKey -+ final Type elementType = choiceType.types().get(name); -+ if (elementType != null) { -+ // Paper end - if (!Objects.equals(type, elementType)) { - return Either.right(new Type.FieldNotFoundException(String.format("Type error for choice type \"%s\": expected type: %s, actual type: %s)", name, targetType, elementType))); - } -diff --git a/src/main/java/com/mojang/datafixers/functions/PointFree.java b/src/main/java/com/mojang/datafixers/functions/PointFree.java -index 0d88490f77..4d2af956a0 100644 ---- a/src/main/java/com/mojang/datafixers/functions/PointFree.java -+++ b/src/main/java/com/mojang/datafixers/functions/PointFree.java -@@ -9,15 +9,19 @@ import java.util.Optional; - import java.util.function.Function; - - public abstract class PointFree { -- private boolean initialized; -+ private volatile boolean initialized; - @Nullable - private Function, T> value; - - @SuppressWarnings("ConstantConditions") - public Function, T> evalCached() { - if (!initialized) { -- initialized = true; -- value = eval(); -+ synchronized (this) { -+ if (!initialized) { -+ value = eval(); -+ initialized = true; -+ } -+ } - } - return value; - } -diff --git a/src/main/java/com/mojang/datafixers/schemas/Schema.java b/src/main/java/com/mojang/datafixers/schemas/Schema.java -index 7c67d989e0..d81e8d1a1a 100644 ---- a/src/main/java/com/mojang/datafixers/schemas/Schema.java -+++ b/src/main/java/com/mojang/datafixers/schemas/Schema.java -@@ -50,8 +50,11 @@ public class Schema { - - for (final String name : TYPE_TEMPLATES.keySet()) { - final Type type; -- if (RECURSIVE_TYPES.containsKey(name)) { -- type = family.apply(RECURSIVE_TYPES.getInt(name)); -+ // Paper start - concurrency and performance improvement, don't use containsKey -+ int recurseId = RECURSIVE_TYPES.getOrDefault(name, -1); -+ if (recurseId != -1) { -+ type = family.apply(recurseId); -+ // Paper end - } else { - type = getTemplate(name).apply(family).apply(-1); - } -@@ -89,8 +92,11 @@ public class Schema { - } - - public TypeTemplate id(final String name) { -- if (RECURSIVE_TYPES.containsKey(name)) { -- return DSL.id(RECURSIVE_TYPES.get(name)); -+ // Paper start - improve concurrency and performance -+ int id = RECURSIVE_TYPES.getOrDefault(name, -1); -+ if (id != -1) { -+ return DSL.id(id); -+ // Paper end - } - return getTemplate(name); - } -diff --git a/src/main/java/com/mojang/datafixers/types/DynamicOps.java b/src/main/java/com/mojang/datafixers/types/DynamicOps.java -index 3c76929f24..f21531b3cd 100644 ---- a/src/main/java/com/mojang/datafixers/types/DynamicOps.java -+++ b/src/main/java/com/mojang/datafixers/types/DynamicOps.java -@@ -151,10 +151,10 @@ public interface DynamicOps { - - default Optional getGeneric(final T input, final T key) { - return getMapValues(input).flatMap(map -> { -- if (map.containsKey(key)) { -- return Optional.of(map.get(key)); -- } -- return Optional.empty(); -+ // Paper start - performance - don't use containsKey -+ T value = map.get(key); -+ return value != null ? Optional.of(value) : Optional.empty(); -+ // Paper end - }); - } - -diff --git a/src/main/java/com/mojang/datafixers/types/Type.java b/src/main/java/com/mojang/datafixers/types/Type.java -index a80e3fee91..2d5bae7a37 100644 ---- a/src/main/java/com/mojang/datafixers/types/Type.java -+++ b/src/main/java/com/mojang/datafixers/types/Type.java -@@ -27,8 +27,10 @@ import javax.annotation.Nullable; - import java.util.Map; - import java.util.Objects; - import java.util.Optional; -+import java.util.concurrent.CompletableFuture; - - public abstract class Type implements App { -+ private static final Map, TypeRewriteRule, PointFreeRule>, CompletableFuture>>> PENDING_REWRITE_CACHE = Maps.newConcurrentMap(); - private static final Map, TypeRewriteRule, PointFreeRule>, Optional>> REWRITE_CACHE = Maps.newConcurrentMap(); - - public static class Mu implements K1 {} -@@ -155,11 +157,34 @@ public abstract class Type implements App { - @SuppressWarnings("unchecked") - public Optional> rewrite(final TypeRewriteRule rule, final PointFreeRule fRule) { - final Triple, TypeRewriteRule, PointFreeRule> key = Triple.of(this, rule, fRule); -- if (!REWRITE_CACHE.containsKey(key)) { -- final Optional> result = rule.rewrite(this).flatMap(r -> r.view().rewrite(fRule).map(view -> RewriteResult.create(view, r.recData()))); -+ // Paper start - concurrency and performance boost - this code under contention would generate multiple rewrites -+ // rewrite this to use a CompletableFuture for pending rewrites. We can not use computeIfAbsent because this is -+ // a recursive call that will block server startup during the Bootstrap phrase thats trying to precache these rewrites -+ Optional> rewrite = REWRITE_CACHE.get(key); -+ //noinspection OptionalAssignedToNull -+ if (rewrite != null) { -+ return (Optional>) rewrite; -+ } -+ CompletableFuture>> pending; -+ boolean needsCreate; -+ synchronized (PENDING_REWRITE_CACHE) { -+ pending = PENDING_REWRITE_CACHE.get(key); -+ needsCreate = pending == null; -+ if (pending == null) { -+ pending = new CompletableFuture<>(); -+ PENDING_REWRITE_CACHE.put(key, pending); -+ } -+ } -+ if (needsCreate) { -+ Optional> result = rule.rewrite(this).flatMap(r -> r.view().rewrite(fRule).map(view -> RewriteResult.create(view, r.recData()))); - REWRITE_CACHE.put(key, result); -+ pending.complete(result); -+ PENDING_REWRITE_CACHE.remove(key); -+ return result; -+ } else { -+ return (Optional>) pending.join(); - } -- return (Optional>) REWRITE_CACHE.get(key); -+ // Paper end - } - - public Type getSetType(final OpticFinder optic, final Type newType) { -diff --git a/src/main/java/com/mojang/datafixers/types/families/RecursiveTypeFamily.java b/src/main/java/com/mojang/datafixers/types/families/RecursiveTypeFamily.java -index 4a1f906837..93c2f565fd 100644 ---- a/src/main/java/com/mojang/datafixers/types/families/RecursiveTypeFamily.java -+++ b/src/main/java/com/mojang/datafixers/types/families/RecursiveTypeFamily.java -@@ -32,7 +32,7 @@ public final class RecursiveTypeFamily implements TypeFamily { - private final TypeTemplate template; - private final int size; - -- private final Int2ObjectMap> types = new Int2ObjectOpenHashMap<>(); -+ private final Int2ObjectMap> types = it.unimi.dsi.fastutil.ints.Int2ObjectMaps.synchronize(new Int2ObjectOpenHashMap<>()); // Paper - private final int hashCode; - - public RecursiveTypeFamily(final String name, final TypeTemplate template) { -diff --git a/src/main/java/com/mojang/datafixers/types/templates/Tag.java b/src/main/java/com/mojang/datafixers/types/templates/Tag.java -index ece3fb5f88..396637bbd1 100644 ---- a/src/main/java/com/mojang/datafixers/types/templates/Tag.java -+++ b/src/main/java/com/mojang/datafixers/types/templates/Tag.java -@@ -173,8 +173,10 @@ public final class Tag implements TypeTemplate { - public Pair> read(final DynamicOps ops, final T input) { - final Optional> map = ops.getMapValues(input); - final T nameObject = ops.createString(name); -- if (map.isPresent() && map.get().containsKey(nameObject)) { -- final T elementValue = map.get().get(nameObject); -+ // Paper start - performance - don't use containsKey -+ final T elementValue; -+ if (map.isPresent() && (elementValue = map.get().get(nameObject)) != null) { -+ // Paper end - final Optional value = element.read(ops, elementValue).getSecond(); - if (value.isPresent()) { - return Pair.of(ops.createMap(map.get().entrySet().stream().filter(e -> !Objects.equals(e.getKey(), nameObject)).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue))), value); -diff --git a/src/main/java/com/mojang/datafixers/types/templates/TaggedChoice.java b/src/main/java/com/mojang/datafixers/types/templates/TaggedChoice.java -index e6dd31233a..77d64362b1 100644 ---- a/src/main/java/com/mojang/datafixers/types/templates/TaggedChoice.java -+++ b/src/main/java/com/mojang/datafixers/types/templates/TaggedChoice.java -@@ -187,17 +187,25 @@ public final class TaggedChoice implements TypeTemplate { - if (values.isPresent()) { - final Map map = values.get(); - final T nameObject = ops.createString(name); -- if (map.containsKey(nameObject)) { -- final Optional key = keyType.read(ops, map.get(nameObject)).getSecond(); -- if (!key.isPresent() || !types.containsKey(key.get())) { -+ // Paper start - performance - don't use containsKey -+ T mapValue = map.get(nameObject); -+ if (mapValue != null) { -+ final Optional key = keyType.read(ops, mapValue).getSecond(); -+ // also skip containsKey here -+ //noinspection OptionalIsPresent -+ K keyValue = key.isPresent() ? key.get() : null; -+ Type type = keyValue != null ? types.get(keyValue) : null; -+ if (type == null) { - if (DataFixerUpper.ERRORS_ARE_FATAL) { -- throw new IllegalArgumentException("Unsupported key: " + key.get() + " in " + this); -+ throw new IllegalArgumentException("Unsupported key: " + keyValue + " in " + this); - } else { -- LOGGER.warn("Unsupported key: {} in {}", key.get(), this); -+ LOGGER.warn("Unsupported key: {} in {}", keyValue, this); - return Pair.of(input, Optional.empty()); - } - } -- return types.get(key.get()).read(ops, input).mapSecond(vo -> vo.map(v -> Pair.of(key.get(), v))); -+ -+ return type.read(ops, input).mapSecond(vo -> vo.map(v -> Pair.of(keyValue, v))); -+ // Paper end - } - } - return Pair.of(input, Optional.empty()); -@@ -205,12 +213,14 @@ public final class TaggedChoice implements TypeTemplate { - - @Override - public T write(final DynamicOps ops, final T rest, final Pair value) { -- if (!types.containsKey(value.getFirst())) { -+ // Paper start - performance - don't use containsKey -+ final Type type = types.get(value.getFirst()); -+ if (type == null) { - // TODO: better error handling? - // TODO: See todo in read method - throw new IllegalArgumentException("Unsupported key: " + value.getFirst() + " in " + this); - } -- final Type type = types.get(value.getFirst()); -+ // Paper end - return capWrite(ops, type, value.getFirst(), value.getSecond(), rest); - } - --- -2.19.1 - diff --git a/Spigot-Server-Patches/0357-MC-2025-Save-and-load-entity-AABB-to-prevent-wobble.patch b/Spigot-Server-Patches/0354-MC-2025-Save-and-load-entity-AABB-to-prevent-wobble.patch similarity index 82% rename from Spigot-Server-Patches/0357-MC-2025-Save-and-load-entity-AABB-to-prevent-wobble.patch rename to Spigot-Server-Patches/0354-MC-2025-Save-and-load-entity-AABB-to-prevent-wobble.patch index 8d3f7b6af5..76136c3abe 100644 --- a/Spigot-Server-Patches/0357-MC-2025-Save-and-load-entity-AABB-to-prevent-wobble.patch +++ b/Spigot-Server-Patches/0354-MC-2025-Save-and-load-entity-AABB-to-prevent-wobble.patch @@ -1,4 +1,4 @@ -From b15596a5c1821f6cf47a5ab1c74e6b588684126b Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 4 Sep 2018 19:07:57 -0400 Subject: [PATCH] MC-2025: Save and load entity AABB to prevent wobble @@ -23,30 +23,30 @@ This reasoning leads us to one clear conclusion: The simplest, least invasive, a store the AABB in NBT data on chunk save and restore the AABB exactly as it was saved upon reload. diff --git a/src/main/java/net/minecraft/server/AxisAlignedBB.java b/src/main/java/net/minecraft/server/AxisAlignedBB.java -index 92edfe0295..624f0e3956 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/AxisAlignedBB.java +++ b/src/main/java/net/minecraft/server/AxisAlignedBB.java @@ -3,12 +3,12 @@ package net.minecraft.server; import javax.annotation.Nullable; public class AxisAlignedBB { -- public final double a; -- public final double b; -- public final double c; -- public final double d; -- public final double e; -- public final double f; -+ public final double a; public double getMinX() { return this.a; } // Paper - OBFHELPER -+ public final double b; public double getMinY() { return this.b; } // Paper - OBFHELPER -+ public final double c; public double getMinZ() { return this.c; } // Paper - OBFHELPER -+ public final double d; public double getMaxX() { return this.d; } // Paper - OBFHELPER -+ public final double e; public double getMaxY() { return this.e; } // Paper - OBFHELPER -+ public final double f; public double getMaxZ() { return this.f; } // Paper - OBFHELPER +- public final double minX; +- public final double minY; +- public final double minZ; +- public final double maxX; +- public final double maxY; +- public final double maxZ; ++ public final double minY; public double getMinY() { return this.minY; } // Paper - OBFHELPER ++ public final double minX; public double getMinX() { return this.minX; } // Paper - OBFHELPER ++ public final double minZ; public double getMinZ() { return this.minZ; } // Paper - OBFHELPER ++ public final double maxX; public double getMaxX() { return this.maxX; } // Paper - OBFHELPER ++ public final double maxY; public double getMaxY() { return this.maxY; } // Paper - OBFHELPER ++ public final double maxZ; public double getMaxZ() { return this.maxZ; } // Paper - OBFHELPER public AxisAlignedBB(double d0, double d1, double d2, double d3, double d4, double d5) { - this.a = Math.min(d0, d3); + this.minX = Math.min(d0, d3); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 4007f1ebb7..2bb6c5f3c4 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1658,6 +1658,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -86,7 +86,7 @@ index 4007f1ebb7..2bb6c5f3c4 100644 + public void setBoundingBox(AxisAlignedBB axisAlignedBB) { this.a(axisAlignedBB); } // Paper - OBFHELPER public void a(AxisAlignedBB axisalignedbb) { // CraftBukkit start - block invalid bounding boxes - double a = axisalignedbb.a, + double minX = axisalignedbb.minX, -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0358-Improve-death-events.patch b/Spigot-Server-Patches/0355-Improve-death-events.patch similarity index 96% rename from Spigot-Server-Patches/0358-Improve-death-events.patch rename to Spigot-Server-Patches/0355-Improve-death-events.patch index 4cb04aa8bc..92b62da093 100644 --- a/Spigot-Server-Patches/0358-Improve-death-events.patch +++ b/Spigot-Server-Patches/0355-Improve-death-events.patch @@ -1,4 +1,4 @@ -From 4a4878217d66303dd4b85128f99d4067c8e59a23 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Phoenix616 Date: Tue, 21 Aug 2018 01:39:35 +0100 Subject: [PATCH] Improve death events @@ -15,7 +15,7 @@ items and experience which is otherwise only properly possible by using internal code. diff --git a/src/main/java/net/minecraft/server/CombatTracker.java b/src/main/java/net/minecraft/server/CombatTracker.java -index 63bdb96db8..96dd1a7fa4 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/CombatTracker.java +++ b/src/main/java/net/minecraft/server/CombatTracker.java @@ -163,6 +163,7 @@ public class CombatTracker { @@ -27,7 +27,7 @@ index 63bdb96db8..96dd1a7fa4 100644 int i = this.f ? 300 : 100; if (this.g && (!this.b.isAlive() || this.b.ticksLived - this.c > i)) { diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 2bb6c5f3c4..c45c52084a 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1538,6 +1538,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -55,7 +55,7 @@ index 2bb6c5f3c4..c45c52084a 100644 return SoundCategory.NEUTRAL; } diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index 35afffedef..e8e7413748 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java @@ -629,7 +629,8 @@ public class EntityArmorStand extends EntityLiving { @@ -69,7 +69,7 @@ index 35afffedef..e8e7413748 100644 } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 1328f88898..13dd555491 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -76,14 +76,14 @@ public abstract class EntityLiving extends Entity { @@ -207,7 +207,7 @@ index 1328f88898..13dd555491 100644 return this.isBaby() ? (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 1.5F : (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 1.0F; } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 68f5842cfe..5ab4e01edf 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -75,6 +75,10 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -258,7 +258,7 @@ index 68f5842cfe..5ab4e01edf 100644 } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftSound.java b/src/main/java/org/bukkit/craftbukkit/CraftSound.java -index 17fab031b4..ee8219e3ba 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftSound.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftSound.java @@ -674,6 +674,22 @@ public enum CraftSound { @@ -285,7 +285,7 @@ index 17fab031b4..ee8219e3ba 100644 this.minecraftKey = minecraftKey; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 2f9cff6e71..ac7fc0ef3e 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1711,7 +1711,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -306,10 +306,10 @@ index 2f9cff6e71..ac7fc0ef3e 100644 public void injectScaledMaxHealth(Collection collection, boolean force) { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 6c05dd9051..9e903159d9 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -427,9 +427,16 @@ public class CraftEventFactory { +@@ -438,9 +438,16 @@ public class CraftEventFactory { public static EntityDeathEvent callEntityDeathEvent(EntityLiving victim, List drops) { CraftLivingEntity entity = (CraftLivingEntity) victim.getBukkitEntity(); EntityDeathEvent event = new EntityDeathEvent(entity, drops, victim.getExpReward()); @@ -326,7 +326,7 @@ index 6c05dd9051..9e903159d9 100644 victim.expToDrop = event.getDroppedExp(); for (org.bukkit.inventory.ItemStack stack : event.getDrops()) { -@@ -445,8 +452,15 @@ public class CraftEventFactory { +@@ -456,8 +463,15 @@ public class CraftEventFactory { CraftPlayer entity = victim.getBukkitEntity(); PlayerDeathEvent event = new PlayerDeathEvent(entity, drops, victim.getExpReward(), 0, deathMessage); event.setKeepInventory(keepInventory); @@ -342,7 +342,7 @@ index 6c05dd9051..9e903159d9 100644 victim.keepLevel = event.getKeepLevel(); victim.newLevel = event.getNewLevel(); -@@ -467,6 +481,31 @@ public class CraftEventFactory { +@@ -478,6 +492,31 @@ public class CraftEventFactory { return event; } @@ -375,5 +375,5 @@ index 6c05dd9051..9e903159d9 100644 * Server methods */ -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0359-Allow-chests-to-be-placed-with-NBT-data.patch b/Spigot-Server-Patches/0356-Allow-chests-to-be-placed-with-NBT-data.patch similarity index 92% rename from Spigot-Server-Patches/0359-Allow-chests-to-be-placed-with-NBT-data.patch rename to Spigot-Server-Patches/0356-Allow-chests-to-be-placed-with-NBT-data.patch index 4d19bc9ae5..b691e38b63 100644 --- a/Spigot-Server-Patches/0359-Allow-chests-to-be-placed-with-NBT-data.patch +++ b/Spigot-Server-Patches/0356-Allow-chests-to-be-placed-with-NBT-data.patch @@ -1,11 +1,11 @@ -From df899b98ec5b314f89684d81f48312bb7d27511c Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sat, 8 Sep 2018 18:43:31 -0500 Subject: [PATCH] Allow chests to be placed with NBT data diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index 4641113f9d..26055924b9 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -228,6 +228,15 @@ public final class ItemStack { @@ -25,7 +25,7 @@ index 4641113f9d..26055924b9 100644 for (BlockState blockstate : blocks) { blockstate.update(true, false); diff --git a/src/main/java/net/minecraft/server/TileEntityChest.java b/src/main/java/net/minecraft/server/TileEntityChest.java -index 9573a4ecdf..7594c16e99 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/TileEntityChest.java +++ b/src/main/java/net/minecraft/server/TileEntityChest.java @@ -305,7 +305,7 @@ public class TileEntityChest extends TileEntityLootable { // Paper - Remove ITic @@ -38,5 +38,5 @@ index 9573a4ecdf..7594c16e99 100644 // CraftBukkit end } -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0360-Mob-Pathfinding-API.patch b/Spigot-Server-Patches/0357-Mob-Pathfinding-API.patch similarity index 97% rename from Spigot-Server-Patches/0360-Mob-Pathfinding-API.patch rename to Spigot-Server-Patches/0357-Mob-Pathfinding-API.patch index 705a6d2efa..bd9676bcee 100644 --- a/Spigot-Server-Patches/0360-Mob-Pathfinding-API.patch +++ b/Spigot-Server-Patches/0357-Mob-Pathfinding-API.patch @@ -1,4 +1,4 @@ -From be254c51040ca6213260aab425d0759e76f03576 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 9 Sep 2018 13:30:00 -0400 Subject: [PATCH] Mob Pathfinding API @@ -7,7 +7,7 @@ Implements Pathfinding API for mobs diff --git a/src/main/java/com/destroystokyo/paper/entity/PaperPathfinder.java b/src/main/java/com/destroystokyo/paper/entity/PaperPathfinder.java new file mode 100644 -index 0000000000..ed3d86ddd3 +index 7ac07ac07ac0..7ac07ac07ac0 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/entity/PaperPathfinder.java @@ -0,0 +1,113 @@ @@ -125,7 +125,7 @@ index 0000000000..ed3d86ddd3 + } +} diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java -index efdfa7195c..113fd9a50f 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/NavigationAbstract.java +++ b/src/main/java/net/minecraft/server/NavigationAbstract.java @@ -65,7 +65,7 @@ public abstract class NavigationAbstract { @@ -173,7 +173,7 @@ index efdfa7195c..113fd9a50f 100644 this.pathfindFailures = 0; this.lastFailure = 0; // Paper - Pathfinding optimizations this.c = null; diff --git a/src/main/java/net/minecraft/server/PathEntity.java b/src/main/java/net/minecraft/server/PathEntity.java -index 5ffcda6d56..dae08cbbf8 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/PathEntity.java +++ b/src/main/java/net/minecraft/server/PathEntity.java @@ -3,12 +3,13 @@ package net.minecraft.server; @@ -212,7 +212,7 @@ index 5ffcda6d56..dae08cbbf8 100644 return new Vec3D((double)pathpoint.a, (double)pathpoint.b, (double)pathpoint.c); } diff --git a/src/main/java/net/minecraft/server/PathPoint.java b/src/main/java/net/minecraft/server/PathPoint.java -index 497f472233..7fd1eff0b5 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/PathPoint.java +++ b/src/main/java/net/minecraft/server/PathPoint.java @@ -1,9 +1,9 @@ @@ -229,7 +229,7 @@ index 497f472233..7fd1eff0b5 100644 public int d = -1; public float e; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java -index 5bf1cd06fa..53c2d154ed 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java @@ -12,8 +12,11 @@ import org.bukkit.loot.LootTable; @@ -245,5 +245,5 @@ index 5bf1cd06fa..53c2d154ed 100644 public void setTarget(LivingEntity target) { EntityInsentient entity = getHandle(); -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0361-Prevent-chunk-loading-from-Fluid-Flowing.patch b/Spigot-Server-Patches/0358-Prevent-chunk-loading-from-Fluid-Flowing.patch similarity index 97% rename from Spigot-Server-Patches/0361-Prevent-chunk-loading-from-Fluid-Flowing.patch rename to Spigot-Server-Patches/0358-Prevent-chunk-loading-from-Fluid-Flowing.patch index 6253fa1aea..e0629ea40b 100644 --- a/Spigot-Server-Patches/0361-Prevent-chunk-loading-from-Fluid-Flowing.patch +++ b/Spigot-Server-Patches/0358-Prevent-chunk-loading-from-Fluid-Flowing.patch @@ -1,11 +1,11 @@ -From a99f18b8f595114614470c2a507b27498d468194 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 10 Sep 2018 23:36:16 -0400 Subject: [PATCH] Prevent chunk loading from Fluid Flowing diff --git a/src/main/java/net/minecraft/server/FluidTypeFlowing.java b/src/main/java/net/minecraft/server/FluidTypeFlowing.java -index 90ba7a346f..7f16dec688 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/FluidTypeFlowing.java +++ b/src/main/java/net/minecraft/server/FluidTypeFlowing.java @@ -186,7 +186,8 @@ public abstract class FluidTypeFlowing extends FluidType { @@ -75,5 +75,5 @@ index 90ba7a346f..7f16dec688 100644 IBlockData iblockdata1 = (IBlockData) pair.getFirst(); Fluid fluid = (Fluid) pair.getSecond(); -- -2.19.0 +2.19.1 diff --git a/Spigot-Server-Patches/0362-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch b/Spigot-Server-Patches/0359-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch similarity index 100% rename from Spigot-Server-Patches/0362-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch rename to Spigot-Server-Patches/0359-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch diff --git a/Spigot-Server-Patches/0363-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch b/Spigot-Server-Patches/0360-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch similarity index 95% rename from Spigot-Server-Patches/0363-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch rename to Spigot-Server-Patches/0360-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch index 65b9cdb202..757ad6057f 100644 --- a/Spigot-Server-Patches/0363-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch +++ b/Spigot-Server-Patches/0360-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch @@ -1,11 +1,11 @@ -From 496b26a50673e17f690b5a4f1e94de3fce2c5a36 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 10 Sep 2018 23:56:36 -0400 Subject: [PATCH] Prevent Mob AI Rules from Loading Chunks diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index b8d87bea..300c54c8 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -481,6 +481,7 @@ public class Chunk implements IChunkAccess { @@ -17,7 +17,7 @@ index b8d87bea..300c54c8 100644 return this.b(blockposition.getX(), blockposition.getY(), blockposition.getZ()); } diff --git a/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java b/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java -index b1661693..2cbb6c8f 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java +++ b/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java @@ -7,11 +7,13 @@ public class PathfinderGoalRemoveBlock extends PathfinderGoalGotoTarget { @@ -63,7 +63,7 @@ index b1661693..2cbb6c8f 100644 } } diff --git a/src/main/java/net/minecraft/server/RandomPositionGenerator.java b/src/main/java/net/minecraft/server/RandomPositionGenerator.java -index 800e0046..bfa6c2ee 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/RandomPositionGenerator.java +++ b/src/main/java/net/minecraft/server/RandomPositionGenerator.java @@ -78,6 +78,7 @@ public class RandomPositionGenerator { @@ -84,7 +84,7 @@ index 800e0046..bfa6c2ee 100644 } } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index af7cbb5f..a2559f0c 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -763,6 +763,18 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc diff --git a/Spigot-Server-Patches/0364-Prevent-mob-spawning-from-loading-generating-chunks.patch b/Spigot-Server-Patches/0361-Prevent-mob-spawning-from-loading-generating-chunks.patch similarity index 61% rename from Spigot-Server-Patches/0364-Prevent-mob-spawning-from-loading-generating-chunks.patch rename to Spigot-Server-Patches/0361-Prevent-mob-spawning-from-loading-generating-chunks.patch index b824317c7d..f235a039f4 100644 --- a/Spigot-Server-Patches/0364-Prevent-mob-spawning-from-loading-generating-chunks.patch +++ b/Spigot-Server-Patches/0361-Prevent-mob-spawning-from-loading-generating-chunks.patch @@ -1,4 +1,4 @@ -From f5d5bd26cd99def1285340bd7914b8b93449fa72 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 12 Sep 2018 21:12:57 -0400 Subject: [PATCH] Prevent mob spawning from loading/generating chunks @@ -6,7 +6,7 @@ Subject: [PATCH] Prevent mob spawning from loading/generating chunks also prevents if out of world border bounds diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java -index 387570ed..fb57cb83 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/SpawnerCreature.java +++ b/src/main/java/net/minecraft/server/SpawnerCreature.java @@ -129,9 +129,9 @@ public final class SpawnerCreature { @@ -21,15 +21,15 @@ index 387570ed..fb57cb83 100644 int l2 = 0; int i3 = 0; -@@ -167,7 +167,7 @@ public final class SpawnerCreature { - i4 = biomebase_biomemeta.c + worldserver.random.nextInt(1 + biomebase_biomemeta.d - biomebase_biomemeta.c); - } +@@ -171,7 +171,7 @@ public final class SpawnerCreature { + i4 = biomebase_biomemeta.c + worldserver.random.nextInt(1 + biomebase_biomemeta.d - biomebase_biomemeta.c); + } -- if (worldserver.a(enumcreaturetype, biomebase_biomemeta, (BlockPosition) blockposition_mutableblockposition)) { +- if (worldserver.a(enumcreaturetype, biomebase_biomemeta, (BlockPosition) blockposition_mutableblockposition)) { + if (worldserver.isLoadedAndInBounds(blockposition_mutableblockposition) && worldserver.a(enumcreaturetype, biomebase_biomemeta, (BlockPosition) blockposition_mutableblockposition)) { // Paper - don't load chunks for mob spawn - EntityPositionTypes.Surface entitypositiontypes_surface = EntityPositionTypes.a(biomebase_biomemeta.b); - if (entitypositiontypes_surface != null && a(entitypositiontypes_surface, worldserver, blockposition_mutableblockposition, biomebase_biomemeta.b)) { - EntityInsentient entityinsentient; + EntityPositionTypes.Surface entitypositiontypes_surface = EntityPositionTypes.a(biomebase_biomemeta.b); + if (entitypositiontypes_surface != null && a(entitypositiontypes_surface, worldserver, blockposition_mutableblockposition, biomebase_biomemeta.b)) { + EntityInsentient entityinsentient; -- 2.19.1 diff --git a/Spigot-Server-Patches/0365-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch b/Spigot-Server-Patches/0362-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch similarity index 97% rename from Spigot-Server-Patches/0365-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch rename to Spigot-Server-Patches/0362-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch index 1cb1351fc4..569024ef96 100644 --- a/Spigot-Server-Patches/0365-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch +++ b/Spigot-Server-Patches/0362-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch @@ -1,4 +1,4 @@ -From d41001fdacb7f976ccce6b9d8383a9415f3c0dec Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 12 Sep 2018 21:47:01 -0400 Subject: [PATCH] Optimize Biome Mob Lookups for Mob Spawning @@ -6,7 +6,7 @@ Subject: [PATCH] Optimize Biome Mob Lookups for Mob Spawning Uses an EnumMap as well as a Set paired List for O(1) contains calls. diff --git a/src/main/java/net/minecraft/server/BiomeBase.java b/src/main/java/net/minecraft/server/BiomeBase.java -index 66c03878..b6990a6d 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/BiomeBase.java +++ b/src/main/java/net/minecraft/server/BiomeBase.java @@ -118,7 +118,7 @@ public abstract class BiomeBase { diff --git a/Spigot-Server-Patches/0366-Optimize-and-Fix-ExpiringMap-Issues.patch b/Spigot-Server-Patches/0363-Optimize-and-Fix-ExpiringMap-Issues.patch similarity index 98% rename from Spigot-Server-Patches/0366-Optimize-and-Fix-ExpiringMap-Issues.patch rename to Spigot-Server-Patches/0363-Optimize-and-Fix-ExpiringMap-Issues.patch index fc7c9712f9..9b73a189f8 100644 --- a/Spigot-Server-Patches/0366-Optimize-and-Fix-ExpiringMap-Issues.patch +++ b/Spigot-Server-Patches/0363-Optimize-and-Fix-ExpiringMap-Issues.patch @@ -1,4 +1,4 @@ -From e836dfad3997362004d8fd275670e5d7a0ad08b3 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 16 Sep 2018 00:00:16 -0400 Subject: [PATCH] Optimize and Fix ExpiringMap Issues @@ -14,7 +14,7 @@ manipulation, and instead to run clean once per tick per active expiring map. diff --git a/src/main/java/net/minecraft/server/ExpiringMap.java b/src/main/java/net/minecraft/server/ExpiringMap.java -index 4006f5a6..795e7354 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/ExpiringMap.java +++ b/src/main/java/net/minecraft/server/ExpiringMap.java @@ -2,38 +2,165 @@ package net.minecraft.server; @@ -217,7 +217,7 @@ index 4006f5a6..795e7354 100644 public void putAll(Map var1) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index eb3fc836..81cda5df 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -155,6 +155,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati diff --git a/Spigot-Server-Patches/0367-Implement-furnace-cook-speed-multiplier-API.patch b/Spigot-Server-Patches/0364-Implement-furnace-cook-speed-multiplier-API.patch similarity index 88% rename from Spigot-Server-Patches/0367-Implement-furnace-cook-speed-multiplier-API.patch rename to Spigot-Server-Patches/0364-Implement-furnace-cook-speed-multiplier-API.patch index 1ab6df2f45..d12902034f 100644 --- a/Spigot-Server-Patches/0367-Implement-furnace-cook-speed-multiplier-API.patch +++ b/Spigot-Server-Patches/0364-Implement-furnace-cook-speed-multiplier-API.patch @@ -1,4 +1,4 @@ -From 453e95b01dd84871f78cf41f7f3cb55b97939310 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Tassu Date: Thu, 13 Sep 2018 08:45:21 +0300 Subject: [PATCH] Implement furnace cook speed multiplier API @@ -6,10 +6,10 @@ Subject: [PATCH] Implement furnace cook speed multiplier API Signed-off-by: Tassu diff --git a/src/main/java/net/minecraft/server/TileEntityFurnace.java b/src/main/java/net/minecraft/server/TileEntityFurnace.java -index c439b20c..a537d35b 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/TileEntityFurnace.java +++ b/src/main/java/net/minecraft/server/TileEntityFurnace.java -@@ -11,6 +11,7 @@ import java.util.Map.Entry; +@@ -10,6 +10,7 @@ import java.util.Map.Entry; import javax.annotation.Nullable; // CraftBukkit start import java.util.List; @@ -17,7 +17,7 @@ index c439b20c..a537d35b 100644 import org.bukkit.craftbukkit.block.CraftBlock; import org.bukkit.craftbukkit.entity.CraftHumanEntity; import org.bukkit.craftbukkit.inventory.CraftItemStack; -@@ -27,6 +28,7 @@ public class TileEntityFurnace extends TileEntityContainer implements IWorldInve +@@ -26,6 +27,7 @@ public class TileEntityFurnace extends TileEntityContainer implements IWorldInve private NonNullList items; private int burnTime; private int ticksForCurrentFuel; @@ -25,7 +25,7 @@ index c439b20c..a537d35b 100644 private int cookTime; private int cookTimeTotal; private IChatBaseComponent l; -@@ -220,6 +222,11 @@ public class TileEntityFurnace extends TileEntityContainer implements IWorldInve +@@ -219,6 +221,11 @@ public class TileEntityFurnace extends TileEntityContainer implements IWorldInve this.l = IChatBaseComponent.ChatSerializer.a(nbttagcompound.getString("CustomName")); } @@ -37,7 +37,7 @@ index c439b20c..a537d35b 100644 } public NBTTagCompound save(NBTTagCompound nbttagcompound) { -@@ -227,6 +234,7 @@ public class TileEntityFurnace extends TileEntityContainer implements IWorldInve +@@ -226,6 +233,7 @@ public class TileEntityFurnace extends TileEntityContainer implements IWorldInve nbttagcompound.setShort("BurnTime", (short) this.burnTime); nbttagcompound.setShort("CookTime", (short) this.cookTime); nbttagcompound.setShort("CookTimeTotal", (short) this.cookTimeTotal); @@ -45,7 +45,7 @@ index c439b20c..a537d35b 100644 ContainerUtil.a(nbttagcompound, this.items); nbttagcompound.setShort("RecipesUsedSize", (short) this.m.size()); int i = 0; -@@ -301,8 +309,8 @@ public class TileEntityFurnace extends TileEntityContainer implements IWorldInve +@@ -300,8 +308,8 @@ public class TileEntityFurnace extends TileEntityContainer implements IWorldInve } if (this.isBurning() && this.canBurn(irecipe)) { @@ -57,7 +57,7 @@ index c439b20c..a537d35b 100644 this.cookTimeTotal = this.s(); this.burn(irecipe); diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftFurnace.java b/src/main/java/org/bukkit/craftbukkit/block/CraftFurnace.java -index 469dc4ff..0ffbe8cd 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftFurnace.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftFurnace.java @@ -71,4 +71,18 @@ public class CraftFurnace extends CraftContainer implements F diff --git a/Spigot-Server-Patches/0368-Support-Overriding-World-Seeds.patch b/Spigot-Server-Patches/0365-Support-Overriding-World-Seeds.patch similarity index 95% rename from Spigot-Server-Patches/0368-Support-Overriding-World-Seeds.patch rename to Spigot-Server-Patches/0365-Support-Overriding-World-Seeds.patch index 2f0528d9f9..5f4dd7fc66 100644 --- a/Spigot-Server-Patches/0368-Support-Overriding-World-Seeds.patch +++ b/Spigot-Server-Patches/0365-Support-Overriding-World-Seeds.patch @@ -1,4 +1,4 @@ -From dca2e9783368d8ab92cd2a2d7adb54841cbfc1a2 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 17 Sep 2018 23:05:31 -0400 Subject: [PATCH] Support Overriding World Seeds @@ -15,7 +15,7 @@ This seed will end up being saved to the world data file, so it is a permanent change in that it won't go back if you remove it from paper.yml diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 4061073b..b703e084 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -11,6 +11,7 @@ import java.lang.reflect.Modifier; @@ -59,7 +59,7 @@ index 4061073b..b703e084 100644 + } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 81cda5df..fb623203 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -350,7 +350,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati @@ -72,7 +72,7 @@ index 81cda5df..fb623203 100644 if (j == 0) { diff --git a/src/main/java/net/minecraft/server/WorldData.java b/src/main/java/net/minecraft/server/WorldData.java -index db07e5f9..1b188f96 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/WorldData.java +++ b/src/main/java/net/minecraft/server/WorldData.java @@ -110,7 +110,7 @@ public class WorldData { @@ -85,7 +85,7 @@ index db07e5f9..1b188f96 100644 String s = nbttagcompound.getString("generatorName"); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 58811a73..8f6c44a3 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -982,7 +982,7 @@ public final class CraftServer implements Server { diff --git a/Spigot-Server-Patches/0369-Optimize-Server-World-Map.patch b/Spigot-Server-Patches/0366-Optimize-Server-World-Map.patch similarity index 98% rename from Spigot-Server-Patches/0369-Optimize-Server-World-Map.patch rename to Spigot-Server-Patches/0366-Optimize-Server-World-Map.patch index 0a7f83d3ce..730daf2cf6 100644 --- a/Spigot-Server-Patches/0369-Optimize-Server-World-Map.patch +++ b/Spigot-Server-Patches/0366-Optimize-Server-World-Map.patch @@ -1,4 +1,4 @@ -From 01ca1a1afabe9533f57491d4b4235ae94bdd5246 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 17 Sep 2018 23:37:31 -0400 Subject: [PATCH] Optimize Server World Map @@ -21,7 +21,7 @@ known NMS used methods, but we can add more if naughty plugins are found later. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldMap.java b/src/main/java/com/destroystokyo/paper/PaperWorldMap.java new file mode 100644 -index 00000000..af9e4455 +index 7ac07ac07ac0..7ac07ac07ac0 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/PaperWorldMap.java @@ -0,0 +1,191 @@ @@ -217,7 +217,7 @@ index 00000000..af9e4455 + } +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index fb623203..98d182fd 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -87,7 +87,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati diff --git a/Spigot-Server-Patches/0370-PreSpawnerSpawnEvent.patch b/Spigot-Server-Patches/0367-PreSpawnerSpawnEvent.patch similarity index 94% rename from Spigot-Server-Patches/0370-PreSpawnerSpawnEvent.patch rename to Spigot-Server-Patches/0367-PreSpawnerSpawnEvent.patch index f4e13b8f74..25d1e9a05a 100644 --- a/Spigot-Server-Patches/0370-PreSpawnerSpawnEvent.patch +++ b/Spigot-Server-Patches/0367-PreSpawnerSpawnEvent.patch @@ -1,4 +1,4 @@ -From 7a06d125636795031f0de486b7551429700e8d8f Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Phoenix616 Date: Tue, 18 Sep 2018 23:53:23 +0100 Subject: [PATCH] PreSpawnerSpawnEvent @@ -9,7 +9,7 @@ SpawnerSpawnEvent gets called instead of the CreatureSpawnEvent for spawners. diff --git a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java -index 79600cd7..81d07606 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java +++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java @@ -102,11 +102,11 @@ public abstract class MobSpawnerAbstract { diff --git a/Spigot-Server-Patches/0371-MC-134115-Fix-Double-Chest-Conversion-Error.patch b/Spigot-Server-Patches/0368-MC-134115-Fix-Double-Chest-Conversion-Error.patch similarity index 91% rename from Spigot-Server-Patches/0371-MC-134115-Fix-Double-Chest-Conversion-Error.patch rename to Spigot-Server-Patches/0368-MC-134115-Fix-Double-Chest-Conversion-Error.patch index 33df9870e5..34f64181e3 100644 --- a/Spigot-Server-Patches/0371-MC-134115-Fix-Double-Chest-Conversion-Error.patch +++ b/Spigot-Server-Patches/0368-MC-134115-Fix-Double-Chest-Conversion-Error.patch @@ -1,4 +1,4 @@ -From 20a044d9f21feef4db685bcb18479413dd915078 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 20 Sep 2018 19:11:33 -0400 Subject: [PATCH] MC-134115: Fix Double Chest Conversion Error @@ -9,11 +9,11 @@ loss from chunks if they crossed chunk boundries. This fixes the issue. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 300c54c8..edfcb107 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -514,6 +514,26 @@ public class Chunk implements IChunkAccess { - return this.a(blockposition, iblockdata, flag, true); + return this.setType(blockposition, iblockdata, flag, true); } + // Paper start @@ -37,10 +37,10 @@ index 300c54c8..edfcb107 100644 + // Paper end + @Nullable - public IBlockData a(BlockPosition blockposition, IBlockData iblockdata, boolean flag, boolean doPlace) { + public IBlockData setType(BlockPosition blockposition, IBlockData iblockdata, boolean flag, boolean doPlace) { // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/ChunkConverter.java b/src/main/java/net/minecraft/server/ChunkConverter.java -index 65b2654d..70c60d54 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/ChunkConverter.java +++ b/src/main/java/net/minecraft/server/ChunkConverter.java @@ -198,10 +198,15 @@ public class ChunkConverter { diff --git a/Spigot-Server-Patches/0372-Catch-JsonParseException-in-Entity-and-TE-names.patch b/Spigot-Server-Patches/0369-Catch-JsonParseException-in-Entity-and-TE-names.patch similarity index 93% rename from Spigot-Server-Patches/0372-Catch-JsonParseException-in-Entity-and-TE-names.patch rename to Spigot-Server-Patches/0369-Catch-JsonParseException-in-Entity-and-TE-names.patch index 68e58af44c..a37cbe59de 100644 --- a/Spigot-Server-Patches/0372-Catch-JsonParseException-in-Entity-and-TE-names.patch +++ b/Spigot-Server-Patches/0369-Catch-JsonParseException-in-Entity-and-TE-names.patch @@ -1,4 +1,4 @@ -From b80b23e0c387b09ceaed6772cfdae833e07c1ed1 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sat, 22 Sep 2018 15:56:59 -0400 Subject: [PATCH] Catch JsonParseException in Entity and TE names @@ -13,7 +13,7 @@ Shulkers) may need to be changed in order for it to re-save properly No more crashing though. diff --git a/src/main/java/net/minecraft/server/CommandBlockListenerAbstract.java b/src/main/java/net/minecraft/server/CommandBlockListenerAbstract.java -index 729859d1..2a1dffbf 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/CommandBlockListenerAbstract.java +++ b/src/main/java/net/minecraft/server/CommandBlockListenerAbstract.java @@ -57,7 +57,7 @@ public abstract class CommandBlockListenerAbstract implements ICommandListener { @@ -26,7 +26,7 @@ index 729859d1..2a1dffbf 100644 if (nbttagcompound.hasKeyOfType("TrackOutput", 1)) { diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index c45c5208..0237049a 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1733,7 +1733,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -39,7 +39,7 @@ index c45c5208..0237049a 100644 this.setCustomNameVisible(nbttagcompound.getBoolean("CustomNameVisible")); diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java -index 0ef5ad11..f70f5899 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/MCUtil.java +++ b/src/main/java/net/minecraft/server/MCUtil.java @@ -339,4 +339,19 @@ public final class MCUtil { @@ -63,7 +63,7 @@ index 0ef5ad11..f70f5899 100644 + } } diff --git a/src/main/java/net/minecraft/server/TileEntityBanner.java b/src/main/java/net/minecraft/server/TileEntityBanner.java -index b4fae0d3..364a9fa7 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/TileEntityBanner.java +++ b/src/main/java/net/minecraft/server/TileEntityBanner.java @@ -74,7 +74,7 @@ public class TileEntityBanner extends TileEntity implements INamableTileEntity { @@ -76,7 +76,7 @@ index b4fae0d3..364a9fa7 100644 if (this.hasWorld()) { diff --git a/src/main/java/net/minecraft/server/TileEntityBrewingStand.java b/src/main/java/net/minecraft/server/TileEntityBrewingStand.java -index 480faa66..f3ddb86d 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/TileEntityBrewingStand.java +++ b/src/main/java/net/minecraft/server/TileEntityBrewingStand.java @@ -236,7 +236,7 @@ public class TileEntityBrewingStand extends TileEntityContainer implements IWorl @@ -89,7 +89,7 @@ index 480faa66..f3ddb86d 100644 this.fuelLevel = nbttagcompound.getByte("Fuel"); diff --git a/src/main/java/net/minecraft/server/TileEntityChest.java b/src/main/java/net/minecraft/server/TileEntityChest.java -index 7594c16e..80379307 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/TileEntityChest.java +++ b/src/main/java/net/minecraft/server/TileEntityChest.java @@ -83,7 +83,7 @@ public class TileEntityChest extends TileEntityLootable { // Paper - Remove ITic @@ -102,7 +102,7 @@ index 7594c16e..80379307 100644 } diff --git a/src/main/java/net/minecraft/server/TileEntityDispenser.java b/src/main/java/net/minecraft/server/TileEntityDispenser.java -index ddd2e0eb..21bd156e 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/TileEntityDispenser.java +++ b/src/main/java/net/minecraft/server/TileEntityDispenser.java @@ -107,7 +107,7 @@ public class TileEntityDispenser extends TileEntityLootable { @@ -115,10 +115,10 @@ index ddd2e0eb..21bd156e 100644 } diff --git a/src/main/java/net/minecraft/server/TileEntityFurnace.java b/src/main/java/net/minecraft/server/TileEntityFurnace.java -index a537d35b..f6bc6403 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/TileEntityFurnace.java +++ b/src/main/java/net/minecraft/server/TileEntityFurnace.java -@@ -219,7 +219,7 @@ public class TileEntityFurnace extends TileEntityContainer implements IWorldInve +@@ -218,7 +218,7 @@ public class TileEntityFurnace extends TileEntityContainer implements IWorldInve } if (nbttagcompound.hasKeyOfType("CustomName", 8)) { @@ -128,7 +128,7 @@ index a537d35b..f6bc6403 100644 // Paper start - cook speed API diff --git a/src/main/java/net/minecraft/server/TileEntityHopper.java b/src/main/java/net/minecraft/server/TileEntityHopper.java -index a8cf160f..c5642217 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/TileEntityHopper.java +++ b/src/main/java/net/minecraft/server/TileEntityHopper.java @@ -61,7 +61,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi @@ -141,7 +141,7 @@ index a8cf160f..c5642217 100644 this.f = nbttagcompound.getInt("TransferCooldown"); diff --git a/src/main/java/net/minecraft/server/TileEntityShulkerBox.java b/src/main/java/net/minecraft/server/TileEntityShulkerBox.java -index df9a3056..65a68545 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/TileEntityShulkerBox.java +++ b/src/main/java/net/minecraft/server/TileEntityShulkerBox.java @@ -254,7 +254,7 @@ public class TileEntityShulkerBox extends TileEntityLootable implements IWorldIn diff --git a/Spigot-Server-Patches/0373-Avoid-dimension-id-collisions.patch b/Spigot-Server-Patches/0370-Avoid-dimension-id-collisions.patch similarity index 90% rename from Spigot-Server-Patches/0373-Avoid-dimension-id-collisions.patch rename to Spigot-Server-Patches/0370-Avoid-dimension-id-collisions.patch index bee0c187b1..335cb36fa4 100644 --- a/Spigot-Server-Patches/0373-Avoid-dimension-id-collisions.patch +++ b/Spigot-Server-Patches/0370-Avoid-dimension-id-collisions.patch @@ -1,4 +1,4 @@ -From c47b3feb44e365c99fd60c6146e29b450566808c Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Tue, 25 Sep 2018 06:53:43 +0200 Subject: [PATCH] Avoid dimension id collisions @@ -8,7 +8,7 @@ we would reuse an existing dimension id, if some other dimension was unloaded before. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 8f6c44a3..9c7b86a5 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -968,7 +968,7 @@ public final class CraftServer implements Server { diff --git a/Spigot-Server-Patches/0374-Honor-EntityAgeable.ageLock.patch b/Spigot-Server-Patches/0371-Honor-EntityAgeable.ageLock.patch similarity index 85% rename from Spigot-Server-Patches/0374-Honor-EntityAgeable.ageLock.patch rename to Spigot-Server-Patches/0371-Honor-EntityAgeable.ageLock.patch index 0c6cfd2112..5360f1c879 100644 --- a/Spigot-Server-Patches/0374-Honor-EntityAgeable.ageLock.patch +++ b/Spigot-Server-Patches/0371-Honor-EntityAgeable.ageLock.patch @@ -1,11 +1,11 @@ -From 6b9b47d424d1a09b17cbc3a4bf4dbd3210290e89 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sun, 23 Sep 2018 20:59:53 -0500 Subject: [PATCH] Honor EntityAgeable.ageLock diff --git a/src/main/java/net/minecraft/server/EntityAgeable.java b/src/main/java/net/minecraft/server/EntityAgeable.java -index 1d7c998a..a11bdaad 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityAgeable.java +++ b/src/main/java/net/minecraft/server/EntityAgeable.java @@ -82,6 +82,7 @@ public abstract class EntityAgeable extends EntityCreature { diff --git a/Spigot-Server-Patches/0375-Async-Chunk-Loading-and-Generation.patch b/Spigot-Server-Patches/0372-Async-Chunk-Loading-and-Generation.patch similarity index 99% rename from Spigot-Server-Patches/0375-Async-Chunk-Loading-and-Generation.patch rename to Spigot-Server-Patches/0372-Async-Chunk-Loading-and-Generation.patch index e30c6bb0c0..06bfbd9766 100644 --- a/Spigot-Server-Patches/0375-Async-Chunk-Loading-and-Generation.patch +++ b/Spigot-Server-Patches/0372-Async-Chunk-Loading-and-Generation.patch @@ -2252,7 +2252,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 // helper methods private static boolean canBuild(CraftWorld world, Player player, int x, int z) { -@@ -301,6 +302,7 @@ public class CraftEventFactory { +@@ -312,6 +313,7 @@ public class CraftEventFactory { CraftServer craftServer = (CraftServer) entity.getServer(); CreatureSpawnEvent event = new CreatureSpawnEvent(entity, spawnReason); @@ -2260,7 +2260,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 craftServer.getPluginManager().callEvent(event); return event; } -@@ -948,6 +950,7 @@ public class CraftEventFactory { +@@ -959,6 +961,7 @@ public class CraftEventFactory { } BlockIgniteEvent event = new BlockIgniteEvent(bukkitWorld.getBlockAt(block.getX(), block.getY(), block.getZ()), cause, igniter); @@ -2268,7 +2268,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 world.getServer().getPluginManager().callEvent(event); return event; } -@@ -972,6 +975,7 @@ public class CraftEventFactory { +@@ -983,6 +986,7 @@ public class CraftEventFactory { } BlockIgniteEvent event = new BlockIgniteEvent(bukkitWorld.getBlockAt(pos.getX(), pos.getY(), pos.getZ()), cause, bukkitIgniter); @@ -2276,7 +2276,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 world.getServer().getPluginManager().callEvent(event); return event; } -@@ -1179,7 +1183,8 @@ public class CraftEventFactory { +@@ -1190,7 +1194,8 @@ public class CraftEventFactory { public static BlockPhysicsEvent callBlockPhysicsEvent(GeneratorAccess world, BlockPosition blockposition) { org.bukkit.block.Block block = CraftBlock.at(world, blockposition); BlockPhysicsEvent event = new BlockPhysicsEvent(block, block.getBlockData()); @@ -2286,7 +2286,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 return event; } -@@ -1215,6 +1220,7 @@ public class CraftEventFactory { +@@ -1226,6 +1231,7 @@ public class CraftEventFactory { } EntityPotionEffectEvent event = new EntityPotionEffectEvent((LivingEntity) entity.getBukkitEntity(), bukkitOldEffect, bukkitNewEffect, cause, action, willOverride); @@ -2294,7 +2294,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 Bukkit.getPluginManager().callEvent(event); return event; -@@ -1233,6 +1239,7 @@ public class CraftEventFactory { +@@ -1244,6 +1250,7 @@ public class CraftEventFactory { blockState.setData(block); BlockFormEvent event = (entity == null) ? new BlockFormEvent(blockState.getBlock(), blockState) : new EntityBlockFormEvent(entity.getBukkitEntity(), blockState.getBlock(), blockState); @@ -2331,5 +2331,5 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 this.random = new Random(seed); this.chunkManager = world.worldProvider.getChunkGenerator().getWorldChunkManager(); -- -2.18.0 +2.19.1 diff --git a/Spigot-Server-Patches/0376-Ignore-Dimension-NBT-field-in-Entity-data.patch b/Spigot-Server-Patches/0373-Ignore-Dimension-NBT-field-in-Entity-data.patch similarity index 95% rename from Spigot-Server-Patches/0376-Ignore-Dimension-NBT-field-in-Entity-data.patch rename to Spigot-Server-Patches/0373-Ignore-Dimension-NBT-field-in-Entity-data.patch index cdd301e3bc..33e0d988a4 100644 --- a/Spigot-Server-Patches/0376-Ignore-Dimension-NBT-field-in-Entity-data.patch +++ b/Spigot-Server-Patches/0373-Ignore-Dimension-NBT-field-in-Entity-data.patch @@ -1,4 +1,4 @@ -From 2dd78c8c6a56d4916b90e8f62d430f7576c7ddcc Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 27 Sep 2018 00:08:31 -0400 Subject: [PATCH] Ignore Dimension NBT field in Entity data @@ -14,7 +14,7 @@ DimensionManager set to the world it is being placed into. This fixes corrupt entities breaking chunk saving in custom worlds. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index cd601f29..0c18405a 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1583,7 +1583,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0378-Optimize-Light-Recalculations.patch b/Spigot-Server-Patches/0374-Optimize-Light-Recalculations.patch similarity index 95% rename from Spigot-Server-Patches/0378-Optimize-Light-Recalculations.patch rename to Spigot-Server-Patches/0374-Optimize-Light-Recalculations.patch index 86ef5e5eac..e9a2480c8b 100644 --- a/Spigot-Server-Patches/0378-Optimize-Light-Recalculations.patch +++ b/Spigot-Server-Patches/0374-Optimize-Light-Recalculations.patch @@ -1,4 +1,4 @@ -From 1b68fda5180070010d05a20a1c0b8b2fc820f6b9 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 28 Sep 2018 20:46:29 -0400 Subject: [PATCH] Optimize Light Recalculations @@ -14,7 +14,7 @@ Also optimizes to not repeatedly look up the same chunk for light lookups. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index cb998887..027f9863 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -347,7 +347,7 @@ public class Chunk implements IChunkAccess { @@ -36,7 +36,7 @@ index cb998887..027f9863 100644 int i1 = iblockdata.b(this.world, blockposition); int j1 = iblockdata1.b(this.world, blockposition); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index bbcedb8f..540d237c 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -589,8 +589,9 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc diff --git a/Spigot-Server-Patches/0379-Fix-issues-with-entity-loss-due-to-unloaded-chunks.patch b/Spigot-Server-Patches/0375-Fix-issues-with-entity-loss-due-to-unloaded-chunks.patch similarity index 94% rename from Spigot-Server-Patches/0379-Fix-issues-with-entity-loss-due-to-unloaded-chunks.patch rename to Spigot-Server-Patches/0375-Fix-issues-with-entity-loss-due-to-unloaded-chunks.patch index de29d19907..66c10bdb5c 100644 --- a/Spigot-Server-Patches/0379-Fix-issues-with-entity-loss-due-to-unloaded-chunks.patch +++ b/Spigot-Server-Patches/0375-Fix-issues-with-entity-loss-due-to-unloaded-chunks.patch @@ -1,4 +1,4 @@ -From a5a46deb22649b7963e7372c3dc982d5686d22f2 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 28 Sep 2018 21:49:53 -0400 Subject: [PATCH] Fix issues with entity loss due to unloaded chunks @@ -18,7 +18,7 @@ This change ensures the chunks are always loaded when entities are added to the world, or a valid entity moves between chunks. diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 540d237c..2b54834c 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1147,7 +1147,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc diff --git a/Spigot-Server-Patches/0380-Don-t-recheck-type-after-setting-a-block.patch b/Spigot-Server-Patches/0376-Don-t-recheck-type-after-setting-a-block.patch similarity index 92% rename from Spigot-Server-Patches/0380-Don-t-recheck-type-after-setting-a-block.patch rename to Spigot-Server-Patches/0376-Don-t-recheck-type-after-setting-a-block.patch index e0f32dcdd7..ee626e2ae0 100644 --- a/Spigot-Server-Patches/0380-Don-t-recheck-type-after-setting-a-block.patch +++ b/Spigot-Server-Patches/0376-Don-t-recheck-type-after-setting-a-block.patch @@ -1,4 +1,4 @@ -From 74c0e9c54d60733b0af7a462245ded899bf150f9 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 28 Sep 2018 22:27:33 -0400 Subject: [PATCH] Don't recheck type after setting a block @@ -16,7 +16,7 @@ be having data corruption issues anyways. This provides a small boost to all setType calls. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 027f9863..2ecac57a 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -573,7 +573,7 @@ public class Chunk implements IChunkAccess { diff --git a/Spigot-Server-Patches/0381-Fix-Sending-Chunks-to-Client.patch b/Spigot-Server-Patches/0377-Fix-Sending-Chunks-to-Client.patch similarity index 97% rename from Spigot-Server-Patches/0381-Fix-Sending-Chunks-to-Client.patch rename to Spigot-Server-Patches/0377-Fix-Sending-Chunks-to-Client.patch index 011523314d..d0b5f51afe 100644 --- a/Spigot-Server-Patches/0381-Fix-Sending-Chunks-to-Client.patch +++ b/Spigot-Server-Patches/0377-Fix-Sending-Chunks-to-Client.patch @@ -26,7 +26,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 } public boolean v() { -@@ -1471,6 +1471,13 @@ public class Chunk implements IChunkAccess { +@@ -1443,6 +1443,13 @@ public class Chunk implements IChunkAccess { this.h.clear(); this.a(ChunkStatus.POSTPROCESSED); this.m.a(this); @@ -62,5 +62,5 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 if (this.done) { return true; -- -2.18.0 +2.19.1 diff --git a/Spigot-Server-Patches/0377-Fix-turtle-lag.patch b/Spigot-Server-Patches/0377-Fix-turtle-lag.patch deleted file mode 100644 index 87f72e14f5..0000000000 --- a/Spigot-Server-Patches/0377-Fix-turtle-lag.patch +++ /dev/null @@ -1,31 +0,0 @@ -From f5ffd1e9a4b8fbb7ca801c7c02f429a4906badb0 Mon Sep 17 00:00:00 2001 -From: BillyGalbreath -Date: Fri, 28 Sep 2018 12:27:54 -0500 -Subject: [PATCH] Fix turtle lag - - -diff --git a/src/main/java/net/minecraft/server/EntityTurtle.java b/src/main/java/net/minecraft/server/EntityTurtle.java -index 1b09f577..4f5592d1 100644 ---- a/src/main/java/net/minecraft/server/EntityTurtle.java -+++ b/src/main/java/net/minecraft/server/EntityTurtle.java -@@ -599,7 +599,7 @@ public class EntityTurtle extends EntityAnimal { - ++this.d; - } - -- if (this.a.dA() || this.a.getNavigation().p()) { -+ if (/*this.a.dA() ||*/ this.a.getNavigation().p()) { // Paper - Fix GH-1501 - Vec3D vec3d = RandomPositionGenerator.a((EntityCreature) this.a, 16, 3, new Vec3D((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ()), 0.3141592741012573D); - - if (vec3d == null) { -@@ -656,7 +656,7 @@ public class EntityTurtle extends EntityAnimal { - } - - public void e() { -- if (this.a.dA() || this.a.getNavigation().p()) { -+ if (/*this.a.dA() ||*/ this.a.getNavigation().p()) { // Paper - Fix GH-1501 - BlockPosition blockposition = this.a.dC(); - Vec3D vec3d = RandomPositionGenerator.a((EntityCreature) this.a, 16, 3, new Vec3D((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ()), 0.3141592741012573D); - --- -2.19.1 - diff --git a/Spigot-Server-Patches/0382-Configurable-connection-throttle-kick-message.patch b/Spigot-Server-Patches/0378-Configurable-connection-throttle-kick-message.patch similarity index 93% rename from Spigot-Server-Patches/0382-Configurable-connection-throttle-kick-message.patch rename to Spigot-Server-Patches/0378-Configurable-connection-throttle-kick-message.patch index 87c621332e..b6c890dc24 100644 --- a/Spigot-Server-Patches/0382-Configurable-connection-throttle-kick-message.patch +++ b/Spigot-Server-Patches/0378-Configurable-connection-throttle-kick-message.patch @@ -1,11 +1,11 @@ -From 94c4c194e47a4c773eb520a1dee1df12b8ac6b55 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Tue, 2 Oct 2018 09:57:50 +0100 Subject: [PATCH] Configurable connection throttle kick message diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 77d35ac9..35216672 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -305,6 +305,11 @@ public class PaperConfig { @@ -21,7 +21,7 @@ index 77d35ac9..35216672 100644 private static void savePlayerData() { savePlayerData = getBoolean("settings.save-player-data", savePlayerData); diff --git a/src/main/java/net/minecraft/server/HandshakeListener.java b/src/main/java/net/minecraft/server/HandshakeListener.java -index a02fa292..7dc51fd9 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/HandshakeListener.java +++ b/src/main/java/net/minecraft/server/HandshakeListener.java @@ -37,7 +37,7 @@ public class HandshakeListener implements PacketHandshakingInListener { diff --git a/Spigot-Server-Patches/0383-Fix-FileIOThread-concurrency-issues.patch b/Spigot-Server-Patches/0379-Fix-FileIOThread-concurrency-issues.patch similarity index 93% rename from Spigot-Server-Patches/0383-Fix-FileIOThread-concurrency-issues.patch rename to Spigot-Server-Patches/0379-Fix-FileIOThread-concurrency-issues.patch index 5877c9c4ae..24cbb063e0 100644 --- a/Spigot-Server-Patches/0383-Fix-FileIOThread-concurrency-issues.patch +++ b/Spigot-Server-Patches/0379-Fix-FileIOThread-concurrency-issues.patch @@ -1,4 +1,4 @@ -From db6603c022c074b67523c76525967024dfee2b9f Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Wed, 3 Oct 2018 19:04:53 +0100 Subject: [PATCH] Fix FileIOThread concurrency issues @@ -9,7 +9,7 @@ issues when this counter is updated from multiple threads, potentially causing these counters to desync due to the unsafe volatile update diff --git a/src/main/java/net/minecraft/server/FileIOThread.java b/src/main/java/net/minecraft/server/FileIOThread.java -index 97917551..1959bc06 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/FileIOThread.java +++ b/src/main/java/net/minecraft/server/FileIOThread.java @@ -9,7 +9,7 @@ import org.apache.logging.log4j.Logger; diff --git a/Spigot-Server-Patches/0384-Don-t-update-snapshot-blockstates.patch b/Spigot-Server-Patches/0380-Don-t-update-snapshot-blockstates.patch similarity index 90% rename from Spigot-Server-Patches/0384-Don-t-update-snapshot-blockstates.patch rename to Spigot-Server-Patches/0380-Don-t-update-snapshot-blockstates.patch index b6a30557dd..309b1ea615 100644 --- a/Spigot-Server-Patches/0384-Don-t-update-snapshot-blockstates.patch +++ b/Spigot-Server-Patches/0380-Don-t-update-snapshot-blockstates.patch @@ -1,11 +1,11 @@ -From 0bb99cb622bc1bca1ce4987fc2503121a772180a Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Matthew Miller Date: Fri, 5 Oct 2018 15:46:46 +1000 Subject: [PATCH] Don't update snapshot blockstates diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java -index d4d9c5fc..f5c6dbd8 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java @@ -131,7 +131,11 @@ public class CraftBlockEntityState extends CraftBlockState diff --git a/Spigot-Server-Patches/0385-Hook-into-CB-plugin-rewrites.patch b/Spigot-Server-Patches/0381-Hook-into-CB-plugin-rewrites.patch similarity index 98% rename from Spigot-Server-Patches/0385-Hook-into-CB-plugin-rewrites.patch rename to Spigot-Server-Patches/0381-Hook-into-CB-plugin-rewrites.patch index 4b6acb4779..01b7ca719f 100644 --- a/Spigot-Server-Patches/0385-Hook-into-CB-plugin-rewrites.patch +++ b/Spigot-Server-Patches/0381-Hook-into-CB-plugin-rewrites.patch @@ -1,4 +1,4 @@ -From e9372325c7a5b5d08c94d0539398b5af10c9e7c0 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Wed, 3 Oct 2018 20:09:18 -0400 Subject: [PATCH] Hook into CB plugin rewrites @@ -8,7 +8,7 @@ our own relocation. Also lets us rewrite NMS calls for when we're debugging in an IDE pre-relocate. diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index 6674943e..8ca304a7 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java @@ -6,7 +6,9 @@ import java.io.FileOutputStream; diff --git a/Spigot-Server-Patches/0386-Allow-setting-the-vex-s-summoner.patch b/Spigot-Server-Patches/0382-Allow-setting-the-vex-s-summoner.patch similarity index 90% rename from Spigot-Server-Patches/0386-Allow-setting-the-vex-s-summoner.patch rename to Spigot-Server-Patches/0382-Allow-setting-the-vex-s-summoner.patch index 77876ec71f..cbd4eabdf6 100644 --- a/Spigot-Server-Patches/0386-Allow-setting-the-vex-s-summoner.patch +++ b/Spigot-Server-Patches/0382-Allow-setting-the-vex-s-summoner.patch @@ -1,11 +1,11 @@ -From 957c52f8d4ec9042127d120922d18f8f2aa83702 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sat, 6 Oct 2018 21:47:44 -0500 Subject: [PATCH] Allow setting the vex's summoner diff --git a/src/main/java/net/minecraft/server/EntityVex.java b/src/main/java/net/minecraft/server/EntityVex.java -index 6e029ff4..1bf705e8 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityVex.java +++ b/src/main/java/net/minecraft/server/EntityVex.java @@ -127,6 +127,7 @@ public class EntityVex extends EntityMonster { @@ -17,7 +17,7 @@ index 6e029ff4..1bf705e8 100644 this.b = entityinsentient; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java -index 927ed9a9..c23b1e96 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java @@ -23,6 +23,10 @@ public class CraftVex extends CraftMonster implements Vex { diff --git a/Spigot-Server-Patches/0387-Add-LivingEntity-getTargetEntity.patch b/Spigot-Server-Patches/0383-Add-LivingEntity-getTargetEntity.patch similarity index 94% rename from Spigot-Server-Patches/0387-Add-LivingEntity-getTargetEntity.patch rename to Spigot-Server-Patches/0383-Add-LivingEntity-getTargetEntity.patch index 0447c95332..1218f77073 100644 --- a/Spigot-Server-Patches/0387-Add-LivingEntity-getTargetEntity.patch +++ b/Spigot-Server-Patches/0383-Add-LivingEntity-getTargetEntity.patch @@ -1,11 +1,11 @@ -From e429cff25e45e6564e184db8ba59e7077984f297 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sat, 22 Sep 2018 00:33:08 -0500 Subject: [PATCH] Add LivingEntity#getTargetEntity diff --git a/src/main/java/net/minecraft/server/AxisAlignedBB.java b/src/main/java/net/minecraft/server/AxisAlignedBB.java -index 624f0e39..4cc11d0e 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/AxisAlignedBB.java +++ b/src/main/java/net/minecraft/server/AxisAlignedBB.java @@ -102,6 +102,7 @@ public class AxisAlignedBB { @@ -14,8 +14,8 @@ index 624f0e39..4cc11d0e 100644 + public AxisAlignedBB expand(double x, double y, double z) { return b(x, y, z); } // Paper - OBFHELPER public AxisAlignedBB b(double d0, double d1, double d2) { - double d3 = this.a; - double d4 = this.b; + double d3 = this.minX; + double d4 = this.minY; @@ -130,6 +131,12 @@ public class AxisAlignedBB { return new AxisAlignedBB(d3, d4, d5, d6, d7, d8); } @@ -27,10 +27,10 @@ index 624f0e39..4cc11d0e 100644 + // Paper end + public AxisAlignedBB grow(double d0, double d1, double d2) { - double d3 = this.a - d0; - double d4 = this.b - d1; + double d3 = this.minX - d0; + double d4 = this.minY - d1; @@ -184,6 +191,7 @@ public class AxisAlignedBB { - return this.a < d3 && this.d > d0 && this.b < d4 && this.e > d1 && this.c < d5 && this.f > d2; + return this.minX < d3 && this.maxX > d0 && this.minY < d4 && this.maxY > d1 && this.minZ < d5 && this.maxZ > d2; } + public boolean contains(Vec3D vec3d) { return b(vec3d); } // Paper - OBFHELPER @@ -46,7 +46,7 @@ index 624f0e39..4cc11d0e 100644 public MovingObjectPosition b(Vec3D vec3d, Vec3D vec3d1) { return this.a(vec3d, vec3d1, (BlockPosition)null); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 0c18405a..22fce6c3 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1518,6 +1518,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -71,7 +71,7 @@ index 0c18405a..22fce6c3 100644 return this.d(this.pitch, this.yaw); } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 13dd5554..2c4b3f9c 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -3,6 +3,8 @@ package net.minecraft.server; @@ -130,7 +130,7 @@ index 13dd5554..2c4b3f9c 100644 public int getShieldBlockingDelay() { diff --git a/src/main/java/net/minecraft/server/IEntitySelector.java b/src/main/java/net/minecraft/server/IEntitySelector.java -index b1d05220..a0c6c346 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/IEntitySelector.java +++ b/src/main/java/net/minecraft/server/IEntitySelector.java @@ -17,6 +17,7 @@ public final class IEntitySelector { @@ -142,7 +142,7 @@ index b1d05220..a0c6c346 100644 return !(entity instanceof EntityHuman) || !((EntityHuman)entity).isSpectator(); }; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 02849570..b8ff4f18 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -184,6 +184,33 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/Spigot-Server-Patches/0388-Add-sun-related-API.patch b/Spigot-Server-Patches/0384-Add-sun-related-API.patch similarity index 88% rename from Spigot-Server-Patches/0388-Add-sun-related-API.patch rename to Spigot-Server-Patches/0384-Add-sun-related-API.patch index 0320be70e4..5612b93510 100644 --- a/Spigot-Server-Patches/0388-Add-sun-related-API.patch +++ b/Spigot-Server-Patches/0384-Add-sun-related-API.patch @@ -1,14 +1,14 @@ -From 8e85096d6f9887ba063cd528c64ae8d185c09160 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sun, 7 Oct 2018 00:54:21 -0500 Subject: [PATCH] Add sun related API diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index 56542d53..6c84ec96 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java -@@ -1287,6 +1287,7 @@ public abstract class EntityInsentient extends EntityLiving { +@@ -1286,6 +1286,7 @@ public abstract class EntityInsentient extends EntityLiving { return flag; } @@ -17,7 +17,7 @@ index 56542d53..6c84ec96 100644 if (this.world.L() && !this.world.isClientSide) { float f = this.az(); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 2b54834c..3b53020f 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -829,6 +829,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc @@ -29,7 +29,7 @@ index 2b54834c..3b53020f 100644 return this.G < 4; } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 02b6bf29..7a66a4af 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -542,6 +542,12 @@ public class CraftWorld implements World { @@ -46,7 +46,7 @@ index 02b6bf29..7a66a4af 100644 return createExplosion(x, y, z, power, false, true); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java -index 53c2d154..40a42994 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java @@ -68,4 +68,10 @@ public abstract class CraftMob extends CraftLivingEntity implements Mob { diff --git a/Spigot-Server-Patches/0389-Check-Drowned-for-Villager-Aggression-Config.patch b/Spigot-Server-Patches/0385-Check-Drowned-for-Villager-Aggression-Config.patch similarity index 94% rename from Spigot-Server-Patches/0389-Check-Drowned-for-Villager-Aggression-Config.patch rename to Spigot-Server-Patches/0385-Check-Drowned-for-Villager-Aggression-Config.patch index b7bb21d422..4d7726422f 100644 --- a/Spigot-Server-Patches/0389-Check-Drowned-for-Villager-Aggression-Config.patch +++ b/Spigot-Server-Patches/0385-Check-Drowned-for-Villager-Aggression-Config.patch @@ -1,11 +1,11 @@ -From 2bf53d440ac2651aa453efbfafae70d59b75f790 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Wed, 10 Oct 2018 21:22:44 -0500 Subject: [PATCH] Check Drowned for Villager Aggression Config diff --git a/src/main/java/net/minecraft/server/EntityDrowned.java b/src/main/java/net/minecraft/server/EntityDrowned.java -index aeb34568..467c0c8a 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityDrowned.java +++ b/src/main/java/net/minecraft/server/EntityDrowned.java @@ -27,7 +27,7 @@ public class EntityDrowned extends EntityZombie implements IRangedEntity { diff --git a/Spigot-Server-Patches/0390-Here-s-Johnny.patch b/Spigot-Server-Patches/0386-Here-s-Johnny.patch similarity index 91% rename from Spigot-Server-Patches/0390-Here-s-Johnny.patch rename to Spigot-Server-Patches/0386-Here-s-Johnny.patch index 2491d3a7e5..3d49fe3f5b 100644 --- a/Spigot-Server-Patches/0390-Here-s-Johnny.patch +++ b/Spigot-Server-Patches/0386-Here-s-Johnny.patch @@ -1,11 +1,11 @@ -From 9720957b700b6ad50e7c1cdd7078098349190bc0 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Fri, 12 Oct 2018 01:37:22 -0500 Subject: [PATCH] Here's Johnny! diff --git a/src/main/java/net/minecraft/server/EntityVindicator.java b/src/main/java/net/minecraft/server/EntityVindicator.java -index 597878e2..4e59df89 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityVindicator.java +++ b/src/main/java/net/minecraft/server/EntityVindicator.java @@ -4,7 +4,7 @@ import java.util.function.Predicate; @@ -18,7 +18,7 @@ index 597878e2..4e59df89 100644 return entity instanceof EntityLiving && ((EntityLiving)entity).df(); }; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVindicator.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVindicator.java -index 951d4792..5ff957ce 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVindicator.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVindicator.java @@ -25,4 +25,14 @@ public class CraftVindicator extends CraftIllager implements Vindicator { diff --git a/Spigot-Server-Patches/0391-Turtle-API.patch b/Spigot-Server-Patches/0387-Turtle-API.patch similarity index 89% rename from Spigot-Server-Patches/0391-Turtle-API.patch rename to Spigot-Server-Patches/0387-Turtle-API.patch index 0b58b1f1e3..8c7af908ea 100644 --- a/Spigot-Server-Patches/0391-Turtle-API.patch +++ b/Spigot-Server-Patches/0387-Turtle-API.patch @@ -1,11 +1,11 @@ -From c64e4c23435a6ce17c4a9f69540e62ca05c79ae8 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sat, 29 Sep 2018 16:08:23 -0500 Subject: [PATCH] Turtle API diff --git a/src/main/java/net/minecraft/server/EntityTurtle.java b/src/main/java/net/minecraft/server/EntityTurtle.java -index 4f5592d1..981a025e 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityTurtle.java +++ b/src/main/java/net/minecraft/server/EntityTurtle.java @@ -27,51 +27,63 @@ public class EntityTurtle extends EntityAnimal { @@ -17,8 +17,8 @@ index 4f5592d1..981a025e 100644 this.datawatcher.set(EntityTurtle.bD, blockposition); } -+ public BlockPosition getHome() { return dB(); } // Paper - OBFHELPER - private BlockPosition dB() { ++ public BlockPosition getHome() { return dA(); } // Paper - OBFHELPER + private BlockPosition dA() { return (BlockPosition) this.datawatcher.get(EntityTurtle.bD); } @@ -27,8 +27,8 @@ index 4f5592d1..981a025e 100644 this.datawatcher.set(EntityTurtle.bH, blockposition); } -+ public BlockPosition getTravelPos() { return dC(); } // Paper - OBFHELPER - private BlockPosition dC() { ++ public BlockPosition getTravelPos() { return dB(); } // Paper - OBFHELPER + private BlockPosition dB() { return (BlockPosition) this.datawatcher.get(EntityTurtle.bH); } @@ -53,8 +53,8 @@ index 4f5592d1..981a025e 100644 this.datawatcher.set(EntityTurtle.bG, Boolean.valueOf(flag)); } -+ public boolean isGoingHome() { return dH(); } // Paper - OBFHELPER - private boolean dH() { ++ public boolean isGoingHome() { return dC(); } // Paper - OBFHELPER + private boolean dC() { return ((Boolean) this.datawatcher.get(EntityTurtle.bI)).booleanValue(); } @@ -63,8 +63,8 @@ index 4f5592d1..981a025e 100644 this.datawatcher.set(EntityTurtle.bI, Boolean.valueOf(flag)); } -+ public boolean isTravelling() { return dI(); } // Paper - OBFHELPER - private boolean dI() { ++ public boolean isTravelling() { return dH(); } // Paper - OBFHELPER + private boolean dH() { return ((Boolean) this.datawatcher.get(EntityTurtle.bJ)).booleanValue(); } @@ -72,7 +72,7 @@ index 4f5592d1..981a025e 100644 private void v(boolean flag) { this.datawatcher.set(EntityTurtle.bJ, Boolean.valueOf(flag)); } -@@ -441,14 +453,18 @@ public class EntityTurtle extends EntityAnimal { +@@ -435,14 +447,18 @@ public class EntityTurtle extends EntityAnimal { if (!this.f.isInWater() && this.k()) { if (this.f.bK < 1) { @@ -94,17 +94,17 @@ index 4f5592d1..981a025e 100644 } // CraftBukkit end this.f.s(false); -@@ -574,7 +590,7 @@ public class EntityTurtle extends EntityAnimal { +@@ -568,7 +584,7 @@ public class EntityTurtle extends EntityAnimal { } public boolean a() { -- return this.a.isBaby() ? false : (this.a.dy() ? true : (this.a.getRandom().nextInt(700) != 0 ? false : this.a.c(this.a.dB()) >= 4096.0D)); -+ return this.a.isBaby() ? false : (this.a.dy() ? true : (this.a.getRandom().nextInt(700) != 0 ? false : this.a.c(this.a.dB()) >= 4096.0D)) && new com.destroystokyo.paper.event.entity.TurtleGoHomeEvent((org.bukkit.entity.Turtle) this.a.getBukkitEntity()).callEvent(); // Paper +- return this.a.isBaby() ? false : (this.a.dy() ? true : (this.a.getRandom().nextInt(700) != 0 ? false : this.a.c(this.a.dA()) >= 4096.0D)); ++ return this.a.isBaby() ? false : (this.a.dy() ? true : (this.a.getRandom().nextInt(700) != 0 ? false : this.a.c(this.a.dA()) >= 4096.0D)) && new com.destroystokyo.paper.event.entity.TurtleGoHomeEvent((org.bukkit.entity.Turtle) this.a.getBukkitEntity()).callEvent(); // Paper; } public void c() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftTurtle.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftTurtle.java -index 123a2c75..8edcf7af 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftTurtle.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftTurtle.java @@ -1,6 +1,8 @@ diff --git a/Spigot-Server-Patches/0393-Fire-EntityCombustEvent-for-phantoms.patch b/Spigot-Server-Patches/0388-Fire-EntityCombustEvent-for-phantoms.patch similarity index 89% rename from Spigot-Server-Patches/0393-Fire-EntityCombustEvent-for-phantoms.patch rename to Spigot-Server-Patches/0388-Fire-EntityCombustEvent-for-phantoms.patch index 07df737372..2c9b454a44 100644 --- a/Spigot-Server-Patches/0393-Fire-EntityCombustEvent-for-phantoms.patch +++ b/Spigot-Server-Patches/0388-Fire-EntityCombustEvent-for-phantoms.patch @@ -1,11 +1,11 @@ -From a08b6f26411ed7f1765aa6e4c34510c58d171554 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Sat, 13 Oct 2018 22:29:17 +0200 Subject: [PATCH] Fire EntityCombustEvent for phantoms diff --git a/src/main/java/net/minecraft/server/EntityPhantom.java b/src/main/java/net/minecraft/server/EntityPhantom.java -index e2760010..09866219 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityPhantom.java +++ b/src/main/java/net/minecraft/server/EntityPhantom.java @@ -105,7 +105,12 @@ public class EntityPhantom extends EntityFlying implements IMonster { diff --git a/Spigot-Server-Patches/0394-Limit-lightning-strike-effect-distance.patch b/Spigot-Server-Patches/0389-Limit-lightning-strike-effect-distance.patch similarity index 96% rename from Spigot-Server-Patches/0394-Limit-lightning-strike-effect-distance.patch rename to Spigot-Server-Patches/0389-Limit-lightning-strike-effect-distance.patch index 4a86496f2f..4d56baa312 100644 --- a/Spigot-Server-Patches/0394-Limit-lightning-strike-effect-distance.patch +++ b/Spigot-Server-Patches/0389-Limit-lightning-strike-effect-distance.patch @@ -1,11 +1,11 @@ -From 263378eb549abdf332efa617e3fdbb6e224df669 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Trigary Date: Fri, 14 Sep 2018 17:42:08 +0200 Subject: [PATCH] Limit lightning strike effect distance diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 93bf8c6d..25246eac 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -237,6 +237,30 @@ public class PaperWorldConfig { @@ -40,7 +40,7 @@ index 93bf8c6d..25246eac 100644 public boolean firePhysicsEventForRedstone = false; private void firePhysicsEventForRedstone() { diff --git a/src/main/java/net/minecraft/server/EntityLightning.java b/src/main/java/net/minecraft/server/EntityLightning.java -index afbe43dd..f64e6e86 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityLightning.java +++ b/src/main/java/net/minecraft/server/EntityLightning.java @@ -60,6 +60,14 @@ public class EntityLightning extends EntityWeather { @@ -68,7 +68,7 @@ index afbe43dd..f64e6e86 100644 --this.lifeTicks; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 0a764826..b41dc3a7 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1087,7 +1087,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { diff --git a/Spigot-Server-Patches/0395-Implement-getters-and-setters-for-EntityItem-owner-a.patch b/Spigot-Server-Patches/0390-Implement-getters-and-setters-for-EntityItem-owner-a.patch similarity index 100% rename from Spigot-Server-Patches/0395-Implement-getters-and-setters-for-EntityItem-owner-a.patch rename to Spigot-Server-Patches/0390-Implement-getters-and-setters-for-EntityItem-owner-a.patch diff --git a/Spigot-Server-Patches/0396-MC-50319-Check-other-worlds-for-shooter-of-projectil.patch b/Spigot-Server-Patches/0391-MC-50319-Check-other-worlds-for-shooter-of-projectil.patch similarity index 94% rename from Spigot-Server-Patches/0396-MC-50319-Check-other-worlds-for-shooter-of-projectil.patch rename to Spigot-Server-Patches/0391-MC-50319-Check-other-worlds-for-shooter-of-projectil.patch index cd27edcc05..50c818ad27 100644 --- a/Spigot-Server-Patches/0396-MC-50319-Check-other-worlds-for-shooter-of-projectil.patch +++ b/Spigot-Server-Patches/0391-MC-50319-Check-other-worlds-for-shooter-of-projectil.patch @@ -1,4 +1,4 @@ -From cb2a5ba2ae2620f053d523370d4127e4151ad30e Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 17 Oct 2018 19:17:27 -0400 Subject: [PATCH] MC-50319: Check other worlds for shooter of projectiles @@ -11,7 +11,7 @@ If the projectile fails to find the shooter in the current world, check other worlds. diff --git a/src/main/java/net/minecraft/server/EntityProjectile.java b/src/main/java/net/minecraft/server/EntityProjectile.java -index dd8af4be..b4a5bc60 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityProjectile.java +++ b/src/main/java/net/minecraft/server/EntityProjectile.java @@ -250,11 +250,21 @@ public abstract class EntityProjectile extends Entity implements IProjectile { diff --git a/Spigot-Server-Patches/0397-Call-player-spectator-target-events.patch b/Spigot-Server-Patches/0392-Call-player-spectator-target-events.patch similarity index 100% rename from Spigot-Server-Patches/0397-Call-player-spectator-target-events.patch rename to Spigot-Server-Patches/0392-Call-player-spectator-target-events.patch diff --git a/Spigot-Server-Patches/0392-Optimize-DataFixer-Bootstrap-to-prebuild-faster.patch b/Spigot-Server-Patches/0392-Optimize-DataFixer-Bootstrap-to-prebuild-faster.patch deleted file mode 100644 index 2db8532787..0000000000 --- a/Spigot-Server-Patches/0392-Optimize-DataFixer-Bootstrap-to-prebuild-faster.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 91eccecb6628c012672846b4faeef2ee5f41cd45 Mon Sep 17 00:00:00 2001 -From: Aikar -Date: Fri, 12 Oct 2018 01:28:32 -0400 -Subject: [PATCH] Optimize DataFixer Bootstrap to prebuild faster - - -diff --git a/src/main/java/com/mojang/datafixers/DataFixerBuilder.java b/src/main/java/com/mojang/datafixers/DataFixerBuilder.java -index 8bc1e3b9..114f9586 100644 ---- a/src/main/java/com/mojang/datafixers/DataFixerBuilder.java -+++ b/src/main/java/com/mojang/datafixers/DataFixerBuilder.java -@@ -12,7 +12,9 @@ import org.apache.logging.log4j.LogManager; - import org.apache.logging.log4j.Logger; - - import java.util.ArrayList; -+import java.util.Collections; - import java.util.List; -+import java.util.Set; - import java.util.concurrent.Executor; - import java.util.function.BiFunction; - -@@ -60,16 +62,37 @@ public class DataFixerBuilder { - final DataFixerUpper fixerUpper = new DataFixerUpper(new Int2ObjectAVLTreeMap<>(schemas), new ArrayList<>(globalList), new IntAVLTreeSet(fixerVersions)); - - executor.execute(() -> { -- final IntBidirectionalIterator iterator = fixerUpper.fixerVersions().iterator(); -+ List taskList = new ArrayList<>(); -+ IntBidirectionalIterator iterator = fixerUpper.fixerVersions().iterator(); - while (iterator.hasNext()) { - final int versionKey = iterator.nextInt(); - final Schema schema = schemas.get(versionKey); -+ - for (final String typeName: schema.types()) { -- final Type dataType = schema.getType(() -> typeName); -- final TypeRewriteRule rule = fixerUpper.getRule(DataFixUtils.getVersion(versionKey), dataVersion); -- dataType.rewrite(rule, DataFixerUpper.OPTIMIZATION_RULE); -+ taskList.add(() -> { -+ final Type dataType = schema.getType(() -> typeName); -+ final TypeRewriteRule rule = fixerUpper.getRule(DataFixUtils.getVersion(versionKey), dataVersion); -+ dataType.rewrite(rule, DataFixerUpper.OPTIMIZATION_RULE); -+ }); - } - } -+ -+ // Divide up into sets of tasks by number of CPU cores -+ // Some tasks are faster than others, randomize it to try to divide it more -+ Collections.shuffle(taskList); -+ List> buildQueue = new ArrayList<>(); -+ List current = new ArrayList<>(); -+ buildQueue.add(current); -+ int maxTasks = (int) Math.max(1, Math.floor(taskList.size() / (float)Math.min(6, Runtime.getRuntime().availableProcessors()-2))); -+ for (Runnable task : taskList) { -+ if (current.size() > maxTasks) { -+ current = new ArrayList<>(); -+ buildQueue.add(current); -+ } -+ current.add(task); -+ } -+ -+ buildQueue.forEach(queue -> executor.execute(() -> queue.forEach(Runnable::run))); - }); - - return fixerUpper; --- -2.19.1 - diff --git a/Spigot-Server-Patches/0398-Add-Velocity-IP-Forwarding-Support.patch b/Spigot-Server-Patches/0393-Add-Velocity-IP-Forwarding-Support.patch similarity index 97% rename from Spigot-Server-Patches/0398-Add-Velocity-IP-Forwarding-Support.patch rename to Spigot-Server-Patches/0393-Add-Velocity-IP-Forwarding-Support.patch index 851dd7f8db..539a45e25e 100644 --- a/Spigot-Server-Patches/0398-Add-Velocity-IP-Forwarding-Support.patch +++ b/Spigot-Server-Patches/0393-Add-Velocity-IP-Forwarding-Support.patch @@ -1,4 +1,4 @@ -From 42fb8acb4a8019d8f865997a568de0a6a1398c0b Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: Andrew Steinborn Date: Mon, 8 Oct 2018 14:36:14 -0400 Subject: [PATCH] Add Velocity IP Forwarding Support @@ -14,7 +14,7 @@ forwarding, and is integrated into the Minecraft login process by using the 1.13 login plugin message packet. diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 35216672..70f650bb 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -8,6 +8,7 @@ import java.io.IOException; @@ -55,7 +55,7 @@ index 35216672..70f650bb 100644 } diff --git a/src/main/java/com/destroystokyo/paper/proxy/VelocityProxy.java b/src/main/java/com/destroystokyo/paper/proxy/VelocityProxy.java new file mode 100644 -index 00000000..fdd8708f +index 7ac07ac07ac0..7ac07ac07ac0 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/proxy/VelocityProxy.java @@ -0,0 +1,67 @@ @@ -127,7 +127,7 @@ index 00000000..fdd8708f + } +} diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index 5778a520..b6a3992a 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java @@ -43,6 +43,7 @@ public class LoginListener implements PacketLoginInListener, ITickable { @@ -203,7 +203,7 @@ index 5778a520..b6a3992a 100644 } diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java -index b2afec5e..97a9dffe 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/NetworkManager.java +++ b/src/main/java/net/minecraft/server/NetworkManager.java @@ -48,7 +48,7 @@ public class NetworkManager extends SimpleChannelInboundHandler> { @@ -216,7 +216,7 @@ index b2afec5e..97a9dffe 100644 public com.mojang.authlib.properties.Property[] spoofedProfile; public boolean preparing = true; diff --git a/src/main/java/net/minecraft/server/PacketDataSerializer.java b/src/main/java/net/minecraft/server/PacketDataSerializer.java -index cab83748..fb6e373f 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/PacketDataSerializer.java +++ b/src/main/java/net/minecraft/server/PacketDataSerializer.java @@ -140,6 +140,7 @@ public class PacketDataSerializer extends ByteBuf { @@ -244,7 +244,7 @@ index cab83748..fb6e373f 100644 int j = this.g(); diff --git a/src/main/java/net/minecraft/server/PacketLoginInCustomPayload.java b/src/main/java/net/minecraft/server/PacketLoginInCustomPayload.java -index e3c0094f..edfd4a50 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/PacketLoginInCustomPayload.java +++ b/src/main/java/net/minecraft/server/PacketLoginInCustomPayload.java @@ -3,8 +3,8 @@ package net.minecraft.server; @@ -259,7 +259,7 @@ index e3c0094f..edfd4a50 100644 public PacketLoginInCustomPayload() { } diff --git a/src/main/java/net/minecraft/server/PacketLoginOutCustomPayload.java b/src/main/java/net/minecraft/server/PacketLoginOutCustomPayload.java -index 9c5559ec..9de0421b 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/PacketLoginOutCustomPayload.java +++ b/src/main/java/net/minecraft/server/PacketLoginOutCustomPayload.java @@ -10,6 +10,14 @@ public class PacketLoginOutCustomPayload implements Packet Date: Fri, 12 Oct 2018 14:10:46 -0500 Subject: [PATCH] Add more Witch API diff --git a/src/main/java/net/minecraft/server/EntityWitch.java b/src/main/java/net/minecraft/server/EntityWitch.java -index b5f676f0..41673ec9 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityWitch.java +++ b/src/main/java/net/minecraft/server/EntityWitch.java @@ -1,5 +1,11 @@ @@ -94,7 +94,7 @@ index b5f676f0..41673ec9 100644 f = super.applyMagicModifier(damagesource, f); if (damagesource.getEntity() == this) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftWitch.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftWitch.java -index f25998eb..ac465bda 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftWitch.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftWitch.java @@ -6,6 +6,13 @@ import org.bukkit.craftbukkit.CraftServer; diff --git a/Spigot-Server-Patches/0400-Fix-MC-93764.patch b/Spigot-Server-Patches/0395-Fix-MC-93764.patch similarity index 81% rename from Spigot-Server-Patches/0400-Fix-MC-93764.patch rename to Spigot-Server-Patches/0395-Fix-MC-93764.patch index ad5ba46a64..0251b28537 100644 --- a/Spigot-Server-Patches/0400-Fix-MC-93764.patch +++ b/Spigot-Server-Patches/0395-Fix-MC-93764.patch @@ -1,11 +1,11 @@ -From 99ed7aeec6f05ab04eb9ad55c35c706c538debd8 Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Fri, 19 Oct 2018 19:38:45 -0500 Subject: [PATCH] Fix MC-93764 diff --git a/src/main/java/net/minecraft/server/WorldProviderTheEnd.java b/src/main/java/net/minecraft/server/WorldProviderTheEnd.java -index d830b761..b6e0b6c7 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/WorldProviderTheEnd.java +++ b/src/main/java/net/minecraft/server/WorldProviderTheEnd.java @@ -25,7 +25,7 @@ public class WorldProviderTheEnd extends WorldProvider { @@ -16,7 +16,7 @@ index d830b761..b6e0b6c7 100644 + return 0.5F; // Paper - fix MC-93764 } - public boolean p() { + public boolean canRespawn() { -- 2.19.1 diff --git a/Spigot-Server-Patches/0401-Don-t-modify-item-tag-if-interaction-is-canceled.patch b/Spigot-Server-Patches/0396-Don-t-modify-item-tag-if-interaction-is-canceled.patch similarity index 100% rename from Spigot-Server-Patches/0401-Don-t-modify-item-tag-if-interaction-is-canceled.patch rename to Spigot-Server-Patches/0396-Don-t-modify-item-tag-if-interaction-is-canceled.patch diff --git a/Spigot-Server-Patches/0402-Add-option-to-prevent-players-from-moving-into-unloa.patch b/Spigot-Server-Patches/0397-Add-option-to-prevent-players-from-moving-into-unloa.patch similarity index 99% rename from Spigot-Server-Patches/0402-Add-option-to-prevent-players-from-moving-into-unloa.patch rename to Spigot-Server-Patches/0397-Add-option-to-prevent-players-from-moving-into-unloa.patch index c32eb63afe..aa452b5030 100644 --- a/Spigot-Server-Patches/0402-Add-option-to-prevent-players-from-moving-into-unloa.patch +++ b/Spigot-Server-Patches/0397-Add-option-to-prevent-players-from-moving-into-unloa.patch @@ -52,5 +52,5 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 float f2 = this.player.dc() ? 300.0F : 100.0F; -- -2.18.0.windows.1 +2.19.1 diff --git a/Spigot-Server-Patches/0402-Reset-players-airTicks-on-respawn.patch b/Spigot-Server-Patches/0398-Reset-players-airTicks-on-respawn.patch similarity index 84% rename from Spigot-Server-Patches/0402-Reset-players-airTicks-on-respawn.patch rename to Spigot-Server-Patches/0398-Reset-players-airTicks-on-respawn.patch index e75323f275..692e621851 100644 --- a/Spigot-Server-Patches/0402-Reset-players-airTicks-on-respawn.patch +++ b/Spigot-Server-Patches/0398-Reset-players-airTicks-on-respawn.patch @@ -1,11 +1,11 @@ -From 3cbba85fb406eed003f0ce5a1b733ae350d50a3a Mon Sep 17 00:00:00 2001 +From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 From: GreenMeanie Date: Sat, 20 Oct 2018 22:34:02 -0400 Subject: [PATCH] Reset players airTicks on respawn diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 22fce6c36..9d1c53897 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -2334,7 +2334,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -18,10 +18,10 @@ index 22fce6c36..9d1c53897 100644 } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 4ca5cfe9a..91d9b62e9 100644 +index 7ac07ac07ac0..7ac07ac07ac0 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -1614,6 +1614,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1617,6 +1617,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { } this.setHealth(this.getMaxHealth()); diff --git a/scripts/importmcdev.sh b/scripts/importmcdev.sh index c893fd2850..e3b5dae872 100755 --- a/scripts/importmcdev.sh +++ b/scripts/importmcdev.sh @@ -102,17 +102,6 @@ done # These must always be mapped manually, no automatic stuff # # # group # lib # prefix # many files -importLibrary com.mojang datafixerupper com/mojang/datafixers \ - schemas/Schema.java \ - DataFixerBuilder.java \ - DataFixerUpper.java \ - NamedChoiceFinder.java \ - functions/PointFree.java \ - types/Type.java \ - types/DynamicOps.java \ - types/templates/Tag.java \ - types/templates/TaggedChoice.java \ - types/families/RecursiveTypeFamily.java # dont forget \ at end of each line but last diff --git a/work/BuildData b/work/BuildData index 83455962ed..f527a8ff0d 160000 --- a/work/BuildData +++ b/work/BuildData @@ -1 +1 @@ -Subproject commit 83455962edb05fea080f04d6708eede4fa8be7b1 +Subproject commit f527a8ff0d2f2efafc292ac7648ae3a184245a74 diff --git a/work/Bukkit b/work/Bukkit index 0e17dc03f9..f311182396 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit 0e17dc03f99c653e54c15d9176825bc75443b134 +Subproject commit f311182396bd74b106efebc926ea4d0b92cfba80 diff --git a/work/CraftBukkit b/work/CraftBukkit index a639ae44d2..b4230a9a7e 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit a639ae44d24fd7ce48c9390c27dd70cc5fd9d38b +Subproject commit b4230a9a7efde35b30fefdb4a2492209d5334def diff --git a/work/Paperclip b/work/Paperclip index bd6d95b96e..6b0c27538a 160000 --- a/work/Paperclip +++ b/work/Paperclip @@ -1 +1 @@ -Subproject commit bd6d95b96efca8b703559034cdc5ab44a65ce4e3 +Subproject commit 6b0c27538a39d187202e7dc5eff7052edec611d6 diff --git a/work/Spigot b/work/Spigot index f6a273b19f..a1ba5fe512 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit f6a273b19fc2eeb2a91cd90d59f1faaad8134379 +Subproject commit a1ba5fe5127f8bc4399ff4d23828701b24563f27