diff --git a/Origami b/Origami index a67089df..558f40c4 160000 --- a/Origami +++ b/Origami @@ -1 +1 @@ -Subproject commit a67089df00f153c488382147160cf88b70b3fe58 +Subproject commit 558f40c487e8abf3af219bde1a7c5ed269ff0dd4 diff --git a/PATCHES.md b/PATCHES.md index 0d452bc3..51ed6fd0 100644 --- a/PATCHES.md +++ b/PATCHES.md @@ -73,7 +73,6 @@ # Patches | server | Modify POM | tr7zw | | | server | Modify default configs | tr7zw | | | server | Optimize BehaviorController | MrIvanPlays | | -| server | Optimize Hopper logic | tr7zw | | | server | Optimize TileEntity load/unload | tr7zw | | | server | Optimize Villagers | Aikar | MrIvanPlays | | server | Optimize inventory API item handling | Phoenix616 | | @@ -82,7 +81,6 @@ # Patches | server | Option for simpler Villagers | tr7zw | | | server | Option to toggle milk curing bad omen | William Blake Galbreath | | | server | Origami Server Config | Phoenix616 | | -| server | PaperMC - Buffer joins | Shane Freeder | | | server | Per entity (type) collision settings | MrIvanPlays | tr7zw | | server | Phantoms attracted to crystals and crystals shoot phantoms | William Blake Galbreath | | | server | Player-saving-async-FileIO | tr7zw | | diff --git a/Tuinity b/Tuinity index 193d9bfd..1ed41fcb 160000 --- a/Tuinity +++ b/Tuinity @@ -1 +1 @@ -Subproject commit 193d9bfd9aa644a173e955e9324c1f5e49e30589 +Subproject commit 1ed41fcb75de4e90846425f60b99362ce101f820 diff --git a/patches/Purpur/server.txt b/patches/Purpur/server.txt index f78a45ae..397d0482 100644 --- a/patches/Purpur/server.txt +++ b/patches/Purpur/server.txt @@ -1 +1 @@ -Purpur-config-files&Barrels-and-enderchests-6-rows&Lagging-threshold&Configurable-villager-brain-ticks&Alternative-Keepalive-Handling&MC-168772-Fix-Add-turtle-egg-block-options&MC-4-Fix-Item-position-desync&Giants-AI-settings&Illusioners-AI-settings&Zombie-horse-naturally-spawn&Charged-creeper-naturally-spawn&Rabbit-naturally-spawn-toast-and-killer&Fix-outdated-server-showing-in-ping-before-server-fu&Dont-send-useless-entity-packets&Tulips-change-fox-type&Breedable-Polar-Bears&Cows-eat-mushrooms&Snowman-drop-and-put-back-pumpkin&Allow-soil-to-moisten-from-water-directly-under-it&Option-to-toggle-milk-curing-bad-omen&Fix-the-dead-lagging-the-server&Skip-events-if-there-s-no-listeners&Add-permission-for-F3-N-debug&Configurable-TPS-Catchup&Villagers-follow-emerald-blocks&Allow-leashing-villagers&Add-option-to-disable-saving-projectiles-to-disk&Add-5-second-tps-average-in-tps&Phantoms-attracted-to-crystals-and-crystals-shoot-ph&Implement-bed-explosion-options&Implement-respawn-anchor-explosion-options&MC-171420-Fix-deop-kicking-non-whitelisted-player-wh&Entity-lifespan&Squid-EAR-immunity&Redstone-deactivates-spawners&PaperMC-Buffer-joins&Allow-anvil-colors&Add-no-tick-block-list&Add-option-to-disable-dolphin-treasure-searching&Use-arrow-despawn-rate-for-all-projectiles \ No newline at end of file +Purpur-config-files&Barrels-and-enderchests-6-rows&Lagging-threshold&Configurable-villager-brain-ticks&Alternative-Keepalive-Handling&MC-168772-Fix-Add-turtle-egg-block-options&MC-4-Fix-Item-position-desync&Giants-AI-settings&Illusioners-AI-settings&Zombie-horse-naturally-spawn&Charged-creeper-naturally-spawn&Rabbit-naturally-spawn-toast-and-killer&Fix-outdated-server-showing-in-ping-before-server-fu&Dont-send-useless-entity-packets&Tulips-change-fox-type&Breedable-Polar-Bears&Cows-eat-mushrooms&Snowman-drop-and-put-back-pumpkin&Allow-soil-to-moisten-from-water-directly-under-it&Option-to-toggle-milk-curing-bad-omen&Fix-the-dead-lagging-the-server&Skip-events-if-there-s-no-listeners&Add-permission-for-F3-N-debug&Configurable-TPS-Catchup&Villagers-follow-emerald-blocks&Allow-leashing-villagers&Add-option-to-disable-saving-projectiles-to-disk&Add-5-second-tps-average-in-tps&Phantoms-attracted-to-crystals-and-crystals-shoot-ph&Implement-bed-explosion-options&Implement-respawn-anchor-explosion-options&MC-171420-Fix-deop-kicking-non-whitelisted-player-wh&Entity-lifespan&Squid-EAR-immunity&Redstone-deactivates-spawners&Allow-anvil-colors&Add-no-tick-block-list&Add-option-to-disable-dolphin-treasure-searching&Use-arrow-despawn-rate-for-all-projectiles \ No newline at end of file diff --git a/patches/server/0021-Optimize-Hopper-logic.patch b/patches/removed/server/0021-Optimize-Hopper-logic.patch similarity index 100% rename from patches/server/0021-Optimize-Hopper-logic.patch rename to patches/removed/server/0021-Optimize-Hopper-logic.patch diff --git a/patches/server/0001-Yatopia-Server-Fixes.patch b/patches/server/0001-Yatopia-Server-Fixes.patch index 5bc96fad..7548d512 100644 --- a/patches/server/0001-Yatopia-Server-Fixes.patch +++ b/patches/server/0001-Yatopia-Server-Fixes.patch @@ -1507,18 +1507,9 @@ index b3616185d285849c51ce1c0d2ac61e61e0fa8d97..d62f15d7bfa9bd1f7ff4f41cbd261506 return false; } diff --git a/src/main/java/net/minecraft/server/EntityPigZombie.java b/src/main/java/net/minecraft/server/EntityPigZombie.java -index 13a2af03fc5a511f13a9be28a813e7275448d09d..ad42bc283e5b64cce893b65a101b8220aef9c5c2 100644 +index b1d96013e38f4ef1af0c1e398795be53fd9d81e5..ad42bc283e5b64cce893b65a101b8220aef9c5c2 100644 --- a/src/main/java/net/minecraft/server/EntityPigZombie.java +++ b/src/main/java/net/minecraft/server/EntityPigZombie.java -@@ -70,7 +70,7 @@ public class EntityPigZombie extends EntityZombie implements IEntityAngerable { - this.eY(); - } - -- if (this.isAngry()) { -+ if (this.isAngry() && !this.world.origamiConfig.pigmenDontTargetUnlessHit) { // Origami - fix MC-56653 - this.lastDamageByPlayerTime = this.ticksLived; - } - @@ -103,15 +103,11 @@ public class EntityPigZombie extends EntityZombie implements IEntityAngerable { double d0 = this.b(GenericAttributes.FOLLOW_RANGE); AxisAlignedBB axisalignedbb = AxisAlignedBB.a(this.getPositionVector()).grow(d0, 10.0D, d0); @@ -1542,20 +1533,37 @@ index 13a2af03fc5a511f13a9be28a813e7275448d09d..ad42bc283e5b64cce893b65a101b8220 private void fa() { diff --git a/src/main/java/net/minecraft/server/EntityPigZombie.java.rej b/src/main/java/net/minecraft/server/EntityPigZombie.java.rej deleted file mode 100644 -index 7c6c99ccd4d034994668f62d82fa8180ab0bba57..0000000000000000000000000000000000000000 +index 39ea87798a00d40a1512c337b74d10c41330cc99..0000000000000000000000000000000000000000 --- a/src/main/java/net/minecraft/server/EntityPigZombie.java.rej +++ /dev/null -@@ -1,10 +0,0 @@ +@@ -1,27 +0,0 @@ -diff a/src/main/java/net/minecraft/server/EntityPigZombie.java b/src/main/java/net/minecraft/server/EntityPigZombie.java (rejected hunks) --@@ -68,7 +68,7 @@ public class EntityPigZombie extends EntityZombie implements IEntityAngerable { -- this.eZ(); -- } +-@@ -101,15 +103,16 @@ public class EntityPigZombie extends EntityZombie implements IEntityAngerable { +- double d0 = this.b(GenericAttributes.FOLLOW_RANGE); +- AxisAlignedBB axisalignedbb = AxisAlignedBB.a(this.getPositionVector()).grow(d0, 10.0D, d0); - --- if (this.isAngry()) { --+ if (this.isAngry() && !this.world.origamiConfig.pigmenDontTargetUnlessHit) { // Origami - fix MC-56653 -- this.lastDamageByPlayerTime = this.ticksLived; -- } +-- this.world.b(EntityPigZombie.class, axisalignedbb).stream().filter((entitypigzombie) -> { +-- return entitypigzombie != this; +-- }).filter((entitypigzombie) -> { +-- return entitypigzombie.getGoalTarget() == null; +-- }).filter((entitypigzombie) -> { +-- return !entitypigzombie.r(this.getGoalTarget()); +-- }).forEach((entitypigzombie) -> { +-- entitypigzombie.setGoalTarget(this.getGoalTarget(), org.bukkit.event.entity.EntityTargetEvent.TargetReason.TARGET_ATTACKED_NEARBY_ENTITY, true); // CraftBukkit +-- }); +-+ // CraftBukkit +-+ for (EntityPigZombie entitypigzombie : this.world.b(EntityPigZombie.class, axisalignedbb)) { +-+ if (entitypigzombie != this) { +-+ if (entitypigzombie.getGoalTarget() == null) { +-+ if (!entitypigzombie.r(this.getGoalTarget())) { +-+ entitypigzombie.setGoalTarget(this.getGoalTarget(), EntityTargetEvent.TargetReason.TARGET_ATTACKED_NEARBY_ENTITY, true); +-+ } +-+ } +-+ } +-+ } +- } - +- private void fb() { diff --git a/src/main/java/net/minecraft/server/EntityPiglin.java b/src/main/java/net/minecraft/server/EntityPiglin.java index e1b4330074cf3c3de31dbfcd9e1b99feb7baf669..2581c6da77c3fcec5a18f5fcacf30a36bf6b5ee6 100644 --- a/src/main/java/net/minecraft/server/EntityPiglin.java @@ -2268,10 +2276,10 @@ index 759862aba781ec6f1ae0c9a76c4ab6352d603a4c..00000000000000000000000000000000 - - if (chunkHolder.protoChunk != null) {try (Timing ignored2 = this.world.timings.chunkLoadLevelTimer.startTimingIfSync()) { // Paper start - timings // Paper - chunk is created async diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 68ab91309cce095090940c909caeeae4a1f341b6..511862b33897371f19da9c0a61f81fbd0522e6a2 100644 +index 69a14bc78261c58903398e22b09ab276c37c4bf2..1ccbc31ee11693f732e9b2450f3967ec9e99a042 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -2827,7 +2827,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -2828,7 +2828,7 @@ public class PlayerConnection implements PacketListenerPlayIn { // Paper end public final boolean isDisconnected() { @@ -2448,12 +2456,12 @@ index c3bd58069d8dbdf36f70f1dafd7c24000f31708b..f915cb4e1110e39178527903ae93508f diff --git a/src/main/java/net/minecraft/server/StructureGenerator.java.rej b/src/main/java/net/minecraft/server/StructureGenerator.java.rej deleted file mode 100644 -index 8b5d001fb8ecb4a5b96bda6532cf8d5900816290..0000000000000000000000000000000000000000 +index 2ae4a20ca763c60c9661661d2ae558bd5b6f79a1..0000000000000000000000000000000000000000 --- a/src/main/java/net/minecraft/server/StructureGenerator.java.rej +++ /dev/null @@ -1,13 +0,0 @@ -diff a/src/main/java/net/minecraft/server/StructureGenerator.java b/src/main/java/net/minecraft/server/StructureGenerator.java (rejected hunks) --@@ -139,6 +139,11 @@ public abstract class StructureGenerator +-@@ -143,6 +143,11 @@ public abstract class StructureGenerator - int j2 = i1 + k * l1; - ChunkCoordIntPair chunkcoordintpair = this.a(structuresettingsfeature, j, seededrandom, i2, j2); - if (!iworldreader.getWorldBorder().isChunkInBounds(chunkcoordintpair.x, chunkcoordintpair.z)) { continue; } // Paper @@ -2466,7 +2474,7 @@ index 8b5d001fb8ecb4a5b96bda6532cf8d5900816290..00000000000000000000000000000000 - IChunkAccess ichunkaccess = iworldreader.getChunkAt(chunkcoordintpair.x, chunkcoordintpair.z, ChunkStatus.STRUCTURE_STARTS, !(iworldreader instanceof World) || !((World) iworldreader).origamiConfig.onlyFindGeneratedFeatures); - if (ichunkaccess == null) { diff --git a/src/main/java/net/minecraft/server/TileEntityHopper.java b/src/main/java/net/minecraft/server/TileEntityHopper.java -index 299196ad134593a2979a867b86d44532a23a40f2..95bede605c6401af10f18b641cd12c9d8ec2f207 100644 +index 63ced11539767c22aac635280dc163b731ec6e5f..95bede605c6401af10f18b641cd12c9d8ec2f207 100644 --- a/src/main/java/net/minecraft/server/TileEntityHopper.java +++ b/src/main/java/net/minecraft/server/TileEntityHopper.java @@ -508,6 +508,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi @@ -2477,20 +2485,12 @@ index 299196ad134593a2979a867b86d44532a23a40f2..95bede605c6401af10f18b641cd12c9d return true; } return false; // EMC -@@ -765,6 +766,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi - BlockPosition blockposition = this.getPosition(); - - if (VoxelShapes.c(VoxelShapes.a(entity.getBoundingBox().d((double) (-blockposition.getX()), (double) (-blockposition.getY()), (double) (-blockposition.getZ()))), this.aa_(), OperatorBoolean.AND)) { -+ enableTicking(this, 0); // Origami - don't tick empty hoppers - this.a(() -> { - return a((IInventory) this, (EntityItem) entity); - }); diff --git a/src/main/java/net/minecraft/server/TileEntityHopper.java.rej b/src/main/java/net/minecraft/server/TileEntityHopper.java.rej deleted file mode 100644 -index 3f481f57d8e0b156b7d632085265e3acfb2f4fa8..0000000000000000000000000000000000000000 +index cc8866ec1ccbc131e8491c50eda4f85590bb667b..0000000000000000000000000000000000000000 --- a/src/main/java/net/minecraft/server/TileEntityHopper.java.rej +++ /dev/null -@@ -1,17 +0,0 @@ +@@ -1,9 +0,0 @@ -diff a/src/main/java/net/minecraft/server/TileEntityHopper.java b/src/main/java/net/minecraft/server/TileEntityHopper.java (rejected hunks) -@@ -466,6 +497,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi - entityitem = (EntityItem) iterator.next(); @@ -2500,14 +2500,6 @@ index 3f481f57d8e0b156b7d632085265e3acfb2f4fa8..00000000000000000000000000000000 - return true; - } - } --@@ -722,6 +754,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi -- BlockPosition blockposition = this.getPosition(); -- -- if (VoxelShapes.c(VoxelShapes.a(entity.getBoundingBox().d((double) (-blockposition.getX()), (double) (-blockposition.getY()), (double) (-blockposition.getZ()))), this.ac_(), OperatorBoolean.AND)) { --+ enableTicking(this, 0); // Origami - don't tick empty hoppers -- this.a(() -> { -- return a((IInventory) this, (EntityItem) entity); -- }); diff --git a/src/main/java/net/minecraft/server/TileEntityShulkerBox.java.rej b/src/main/java/net/minecraft/server/TileEntityShulkerBox.java.rej deleted file mode 100644 index bada470cba41cce9beb9eb04227b42c1d489d731..0000000000000000000000000000000000000000 diff --git a/patches/server/0011-Modify-default-configs.patch b/patches/server/0011-Modify-default-configs.patch index 3e7822ac..41835ad2 100644 --- a/patches/server/0011-Modify-default-configs.patch +++ b/patches/server/0011-Modify-default-configs.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Modify default configs diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 9fc12595a566f216620a7fb296d2d30e22332689..02e05390a6106e3e83cdc95a42e966dd6eb968a0 100644 +index f65d3545039a2c471819ab5950c171ef6193cdb4..7e0a19acb9f2ea5c66adc03b5f8ce26ec3ff4d31 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -201,7 +201,7 @@ public class PaperConfig { diff --git a/patches/server/0022-Optimize-TileEntity-load-unload.patch b/patches/server/0021-Optimize-TileEntity-load-unload.patch similarity index 100% rename from patches/server/0022-Optimize-TileEntity-load-unload.patch rename to patches/server/0021-Optimize-TileEntity-load-unload.patch diff --git a/patches/server/0023-Global-Eula-file.patch b/patches/server/0022-Global-Eula-file.patch similarity index 100% rename from patches/server/0023-Global-Eula-file.patch rename to patches/server/0022-Global-Eula-file.patch diff --git a/patches/server/0024-Redirect-Configs.patch b/patches/server/0023-Redirect-Configs.patch similarity index 100% rename from patches/server/0024-Redirect-Configs.patch rename to patches/server/0023-Redirect-Configs.patch diff --git a/patches/server/0025-Akarin-Updated-Save-json-list-async.patch b/patches/server/0024-Akarin-Updated-Save-json-list-async.patch similarity index 100% rename from patches/server/0025-Akarin-Updated-Save-json-list-async.patch rename to patches/server/0024-Akarin-Updated-Save-json-list-async.patch diff --git a/patches/server/0026-lithium-MixinChunkGeneratorAbstract.patch b/patches/server/0025-lithium-MixinChunkGeneratorAbstract.patch similarity index 100% rename from patches/server/0026-lithium-MixinChunkGeneratorAbstract.patch rename to patches/server/0025-lithium-MixinChunkGeneratorAbstract.patch diff --git a/patches/server/0027-lithium-MixinDataWatcher.patch b/patches/server/0026-lithium-MixinDataWatcher.patch similarity index 100% rename from patches/server/0027-lithium-MixinDataWatcher.patch rename to patches/server/0026-lithium-MixinDataWatcher.patch diff --git a/patches/server/0028-Fix-lead-fall-dmg-config.patch b/patches/server/0027-Fix-lead-fall-dmg-config.patch similarity index 100% rename from patches/server/0028-Fix-lead-fall-dmg-config.patch rename to patches/server/0027-Fix-lead-fall-dmg-config.patch diff --git a/patches/server/0029-Optimize-player-loops-around-weather.patch b/patches/server/0028-Optimize-player-loops-around-weather.patch similarity index 100% rename from patches/server/0029-Optimize-player-loops-around-weather.patch rename to patches/server/0028-Optimize-player-loops-around-weather.patch diff --git a/patches/server/0030-Optimize-BehaviorController.patch b/patches/server/0029-Optimize-BehaviorController.patch similarity index 100% rename from patches/server/0030-Optimize-BehaviorController.patch rename to patches/server/0029-Optimize-BehaviorController.patch diff --git a/patches/server/0031-Optimize-Villagers.patch b/patches/server/0030-Optimize-Villagers.patch similarity index 100% rename from patches/server/0031-Optimize-Villagers.patch rename to patches/server/0030-Optimize-Villagers.patch diff --git a/patches/server/0032-Use-block-distance-in-portal-search-radius.patch b/patches/server/0031-Use-block-distance-in-portal-search-radius.patch similarity index 100% rename from patches/server/0032-Use-block-distance-in-portal-search-radius.patch rename to patches/server/0031-Use-block-distance-in-portal-search-radius.patch diff --git a/patches/server/0033-Add-timings-for-Pathfinder.patch b/patches/server/0032-Add-timings-for-Pathfinder.patch similarity index 100% rename from patches/server/0033-Add-timings-for-Pathfinder.patch rename to patches/server/0032-Add-timings-for-Pathfinder.patch diff --git a/patches/server/0034-Send-more-packets-immediately.patch b/patches/server/0033-Send-more-packets-immediately.patch similarity index 94% rename from patches/server/0034-Send-more-packets-immediately.patch rename to patches/server/0033-Send-more-packets-immediately.patch index fb245033..104ab049 100644 --- a/patches/server/0034-Send-more-packets-immediately.patch +++ b/patches/server/0033-Send-more-packets-immediately.patch @@ -11,7 +11,7 @@ as the server shouldn't really care about those packets - they're not related wi Additionally, I'm thinking of making those packets send asynchronously. diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java -index 72a62b9be5e1767f64991fc0614fc82967daad18..cf4cac9bae35121146657bcf567ea062e33b08a3 100644 +index fe123dc746c96b465393b2af788fae9519e5e55c..5b4901acf7d4661e52839a7ab0ebe24b93bec0d6 100644 --- a/src/main/java/net/minecraft/server/NetworkManager.java +++ b/src/main/java/net/minecraft/server/NetworkManager.java @@ -229,7 +229,11 @@ public class NetworkManager extends SimpleChannelInboundHandler> { diff --git a/patches/server/0035-Use-offline-uuids-if-we-need-to.patch b/patches/server/0034-Use-offline-uuids-if-we-need-to.patch similarity index 100% rename from patches/server/0035-Use-offline-uuids-if-we-need-to.patch rename to patches/server/0034-Use-offline-uuids-if-we-need-to.patch diff --git a/patches/server/0036-lithium-collision-optimizations.patch b/patches/server/0035-lithium-collision-optimizations.patch similarity index 99% rename from patches/server/0036-lithium-collision-optimizations.patch rename to patches/server/0035-lithium-collision-optimizations.patch index 0d1de94b..781c416d 100644 --- a/patches/server/0036-lithium-collision-optimizations.patch +++ b/patches/server/0035-lithium-collision-optimizations.patch @@ -1001,7 +1001,7 @@ index 882b82d8952d34f6e3c639404d1a1521dedf1bb0..ccf1416000354b78ccef78b072062ce0 default EntityHuman findNearbyPlayer(Entity entity, double d0, @Nullable Predicate predicate) { return this.findNearbyPlayer(entity.locX(), entity.locY(), entity.locZ(), d0, predicate); } // Paper diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index f2134c4ec6877ae3475f56928ad218c709c0e59d..c4ea24195ac8744e4abf4a9043d79ad1c1c848a0 100644 +index a0c696f951824bd1988cf9922dc3829c325f41b5..2711ce7a2b4f1868542088729bf4aa2919ee153e 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -1339,11 +1339,11 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { diff --git a/patches/server/0037-lithium-VoxelShapesMixin.patch b/patches/server/0036-lithium-VoxelShapesMixin.patch similarity index 100% rename from patches/server/0037-lithium-VoxelShapesMixin.patch rename to patches/server/0036-lithium-VoxelShapesMixin.patch diff --git a/patches/server/0038-lithium-MixinChunkSection.patch b/patches/server/0037-lithium-MixinChunkSection.patch similarity index 100% rename from patches/server/0038-lithium-MixinChunkSection.patch rename to patches/server/0037-lithium-MixinChunkSection.patch