mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Updated Upstream (Paper & Tuinity)
Upstream has released updates that appears to apply and compile correctly Paper Changes: fcbeac8a [CI-SKIP] Readme update (#3702) 824f8086 Bandaid italic legacy serialization #3757 (#3760) Tuinity Changes: 9f21359: Re-add optimise collision checking in player move packet handling 1152054: Revert player move packet optimisation ef0a6c4: Optimise collision checking in player move packets
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
From 049e07a77b3110ad4685e5e2ffc797f7410a1650 Mon Sep 17 00:00:00 2001
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
||||
Date: Fri, 14 Dec 2018 21:53:58 -0800
|
||||
Subject: [PATCH] Tuinity Server Changes
|
||||
@@ -216,99 +216,6 @@ Prevent log spam for "Block is water but TE is chest"
|
||||
|
||||
Happens when breaking a waterlogged chest.
|
||||
Fix is to just not validate the TE while the chest is being removed.
|
||||
---
|
||||
pom.xml | 22 +-
|
||||
.../co/aikar/timings/MinecraftTimings.java | 2 +
|
||||
.../java/co/aikar/timings/TimingsExport.java | 3 +-
|
||||
.../paper/PaperVersionFetcher.java | 11 +-
|
||||
.../paper/server/ticklist/PaperTickList.java | 9 +
|
||||
.../chunk/SingleThreadChunkRegionManager.java | 159 ++++++
|
||||
.../tuinity/tuinity/config/TuinityConfig.java | 277 ++++++++++
|
||||
.../com/tuinity/tuinity/util/CachedLists.java | 53 ++
|
||||
.../com/tuinity/tuinity/util/TickThread.java | 41 ++
|
||||
.../IteratorSafeOrderedReferenceSet.java | 265 +++++++++
|
||||
.../tuinity/tuinity/voxel/AABBVoxelShape.java | 246 +++++++++
|
||||
.../net/minecraft/server/AxisAlignedBB.java | 116 ++++
|
||||
.../java/net/minecraft/server/BiomeBase.java | 12 +
|
||||
.../java/net/minecraft/server/BlockBase.java | 1 +
|
||||
.../java/net/minecraft/server/BlockChest.java | 4 +-
|
||||
.../net/minecraft/server/BlockPiston.java | 30 +-
|
||||
.../minecraft/server/BlockPistonMoving.java | 7 +-
|
||||
src/main/java/net/minecraft/server/Chunk.java | 37 ++
|
||||
.../minecraft/server/ChunkMapDistance.java | 93 +++-
|
||||
.../minecraft/server/ChunkProviderServer.java | 286 ++++++++--
|
||||
.../minecraft/server/ChunkRegionLoader.java | 12 +-
|
||||
.../net/minecraft/server/ChunkSection.java | 1 +
|
||||
.../net/minecraft/server/ChunkStatus.java | 4 +-
|
||||
.../minecraft/server/DataPaletteBlock.java | 1 +
|
||||
.../net/minecraft/server/DedicatedServer.java | 1 +
|
||||
src/main/java/net/minecraft/server/EULA.java | 2 +-
|
||||
.../java/net/minecraft/server/Entity.java | 201 ++++++-
|
||||
.../net/minecraft/server/EntityLiving.java | 9 +-
|
||||
.../minecraft/server/EntityTrackerEntry.java | 1 +
|
||||
.../java/net/minecraft/server/HeightMap.java | 5 +-
|
||||
.../java/net/minecraft/server/IBlockData.java | 13 +
|
||||
.../net/minecraft/server/IChunkLoader.java | 2 +-
|
||||
.../minecraft/server/ICollisionAccess.java | 5 +
|
||||
.../net/minecraft/server/IEntityAccess.java | 1 +
|
||||
.../minecraft/server/LightEngineStorage.java | 7 +-
|
||||
.../java/net/minecraft/server/MCUtil.java | 14 +
|
||||
.../net/minecraft/server/MinecraftServer.java | 108 +++-
|
||||
.../net/minecraft/server/NetworkManager.java | 59 +-
|
||||
.../server/PacketPlayOutMapChunk.java | 109 +++-
|
||||
.../minecraft/server/PathfinderNormal.java | 2 +-
|
||||
.../net/minecraft/server/PlayerChunk.java | 37 +-
|
||||
.../net/minecraft/server/PlayerChunkMap.java | 64 ++-
|
||||
.../minecraft/server/PlayerConnection.java | 34 +-
|
||||
.../server/PlayerConnectionUtils.java | 26 +
|
||||
.../server/PlayerInteractManager.java | 53 +-
|
||||
.../java/net/minecraft/server/ProtoChunk.java | 16 +-
|
||||
.../java/net/minecraft/server/RegionFile.java | 466 +++++++++++++++-
|
||||
.../minecraft/server/RegionFileBitSet.java | 26 +-
|
||||
.../net/minecraft/server/RegionFileCache.java | 52 +-
|
||||
.../server/RegionFileCompression.java | 7 +-
|
||||
.../java/net/minecraft/server/Ticket.java | 11 +-
|
||||
.../java/net/minecraft/server/TicketType.java | 3 +-
|
||||
.../java/net/minecraft/server/TileEntity.java | 49 +-
|
||||
.../minecraft/server/TileEntityBeacon.java | 26 +-
|
||||
.../minecraft/server/TileEntityBeehive.java | 7 +
|
||||
.../server/TileEntityBrewingStand.java | 26 +-
|
||||
.../net/minecraft/server/TileEntityChest.java | 16 +
|
||||
.../minecraft/server/TileEntityConduit.java | 21 +-
|
||||
.../minecraft/server/TileEntityFurnace.java | 26 +-
|
||||
.../minecraft/server/TileEntityJukeBox.java | 7 +
|
||||
.../minecraft/server/TileEntityLectern.java | 51 +-
|
||||
.../minecraft/server/TileEntityPiston.java | 66 ++-
|
||||
src/main/java/net/minecraft/server/Vec3D.java | 5 +-
|
||||
.../net/minecraft/server/VillagePlace.java | 2 +-
|
||||
.../java/net/minecraft/server/VoxelShape.java | 11 +-
|
||||
.../net/minecraft/server/VoxelShapeArray.java | 72 +++
|
||||
.../net/minecraft/server/VoxelShapes.java | 79 ++-
|
||||
src/main/java/net/minecraft/server/World.java | 48 +-
|
||||
.../net/minecraft/server/WorldBorder.java | 38 +-
|
||||
.../net/minecraft/server/WorldServer.java | 517 +++++++++++++++++-
|
||||
.../net/minecraft/server/WorldUpgrader.java | 2 +-
|
||||
.../craftbukkit/CraftChunkSnapshot.java | 2 +-
|
||||
.../org/bukkit/craftbukkit/CraftServer.java | 17 +-
|
||||
.../org/bukkit/craftbukkit/CraftWorld.java | 19 +-
|
||||
.../java/org/bukkit/craftbukkit/Main.java | 9 +-
|
||||
.../bukkit/craftbukkit/block/CraftBlock.java | 21 +-
|
||||
.../craftbukkit/block/CraftBlockState.java | 2 +-
|
||||
.../block/data/CraftBlockData.java | 2 +-
|
||||
.../craftbukkit/entity/CraftEntity.java | 31 ++
|
||||
.../craftbukkit/generator/CraftChunkData.java | 2 +-
|
||||
.../scoreboard/CraftScoreboardManager.java | 9 +
|
||||
.../bukkit/craftbukkit/util/UnsafeList.java | 26 +
|
||||
.../bukkit/craftbukkit/util/Versioning.java | 2 +-
|
||||
src/main/java/org/spigotmc/AsyncCatcher.java | 2 +-
|
||||
.../java/org/spigotmc/WatchdogThread.java | 79 +++
|
||||
85 files changed, 3960 insertions(+), 358 deletions(-)
|
||||
create mode 100644 src/main/java/com/tuinity/tuinity/chunk/SingleThreadChunkRegionManager.java
|
||||
create mode 100644 src/main/java/com/tuinity/tuinity/config/TuinityConfig.java
|
||||
create mode 100644 src/main/java/com/tuinity/tuinity/util/CachedLists.java
|
||||
create mode 100644 src/main/java/com/tuinity/tuinity/util/TickThread.java
|
||||
create mode 100644 src/main/java/com/tuinity/tuinity/util/maplist/IteratorSafeOrderedReferenceSet.java
|
||||
create mode 100644 src/main/java/com/tuinity/tuinity/voxel/AABBVoxelShape.java
|
||||
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
index ef8ee637a..6fd596817 100644
|
||||
@@ -3880,7 +3787,7 @@ index 8c5639fa5..4dd6f48ca 100644
|
||||
// Paper end - optimised tracker
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index cf83059fe..c40255263 100644
|
||||
index cf83059fe..37f55c66b 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -322,19 +322,24 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -3926,6 +3833,15 @@ index cf83059fe..c40255263 100644
|
||||
this.networkManager.sendPacket(new PacketPlayOutVehicleMove(entity));
|
||||
return;
|
||||
}
|
||||
@@ -976,7 +983,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
}
|
||||
|
||||
if (this.teleportPos != null) {
|
||||
- if (this.e - this.A > 20) {
|
||||
+ if (false && this.e - this.A > 20) { // Tuinity - this will greatly screw with clients with > 1000ms RTT
|
||||
this.A = this.e;
|
||||
this.a(this.teleportPos.x, this.teleportPos.y, this.teleportPos.z, this.player.yaw, this.player.pitch);
|
||||
}
|
||||
@@ -1000,7 +1007,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
double d2 = this.player.locZ();
|
||||
double d3 = this.player.locY();
|
||||
@@ -3958,6 +3874,23 @@ index cf83059fe..c40255263 100644
|
||||
this.internalTeleport(this.player.locX(), this.player.locY(), this.player.locZ(), this.player.yaw, this.player.pitch, Collections.emptySet());
|
||||
return;
|
||||
}
|
||||
@@ -1097,6 +1109,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
}
|
||||
|
||||
this.player.move(EnumMoveType.PLAYER, new Vec3D(d7, d8, d9));
|
||||
+ boolean didCollide = toX != this.player.locX() || toY != this.player.locY() || toZ != this.player.locZ(); // Tuinity - needed here as the difference in Y can be reset - also note: this is only a guess at whether collisions took place, floating point errors can make this true when it shouldn't be...
|
||||
this.player.c(packetplayinflying.b()); // CraftBukkit - SPIGOT-5810, SPIGOT-5835: reset by this.player.move
|
||||
// Paper start - prevent position desync
|
||||
if (this.teleportPos != null) {
|
||||
@@ -1121,7 +1134,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
}
|
||||
|
||||
this.player.setLocation(d4, d5, d6, f, f1);
|
||||
- if (!this.player.noclip && !this.player.isSleeping() && (flag1 && worldserver.getCubes(this.player, axisalignedbb) || this.a((IWorldReader) worldserver, axisalignedbb))) {
|
||||
+ if (!this.player.noclip && !this.player.isSleeping() && (flag1 && worldserver.getCubes(this.player, axisalignedbb) || (didCollide && this.a((IWorldReader) worldserver, axisalignedbb)))) { // Tuinity - optimise out the extra getCubes-like call most of the time
|
||||
this.a(d0, d1, d2, f, f1);
|
||||
} else {
|
||||
// CraftBukkit start - fire PlayerMoveEvent
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
|
||||
index eb3269e0e..d9c9d01ae 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
|
||||
@@ -7158,6 +7091,3 @@ index 513c1041c..4d3109084 100644
|
||||
dumpThread( ManagementFactory.getThreadMXBean().getThreadInfo( server.serverThread.getId(), Integer.MAX_VALUE ), log );
|
||||
log.log( Level.SEVERE, "------------------------------" );
|
||||
//
|
||||
--
|
||||
2.26.2
|
||||
|
||||
|
||||
Reference in New Issue
Block a user