mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-19 09:27:43 +01:00
Update to 1.16.4 ^_^
This commit is contained in:
@@ -288,7 +288,7 @@ and an action can be defined: DROP or KICK
|
||||
If interval or rate are less-than 0, the limit is ignored
|
||||
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
index 9211fac206..e5b74fbf25 100644
|
||||
index 80f1652913..1f265fb038 100644
|
||||
--- a/pom.xml
|
||||
+++ b/pom.xml
|
||||
@@ -1,11 +1,11 @@
|
||||
@@ -298,7 +298,7 @@ index 9211fac206..e5b74fbf25 100644
|
||||
- <artifactId>paper</artifactId>
|
||||
+ <artifactId>tuinity</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<version>1.16.3-R0.1-SNAPSHOT</version>
|
||||
<version>1.16.4-R0.1-SNAPSHOT</version>
|
||||
- <name>Paper</name>
|
||||
- <url>https://papermc.io</url>
|
||||
+ <name>Tuinity-Server</name>
|
||||
@@ -2250,7 +2250,7 @@ index 6b655b744d..e811295b4d 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockBase.java b/src/main/java/net/minecraft/server/BlockBase.java
|
||||
index 5131d2172d..2c2fea8e3f 100644
|
||||
index 1f334d6328..0172e2396b 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockBase.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockBase.java
|
||||
@@ -182,8 +182,8 @@ public abstract class BlockBase {
|
||||
@@ -2261,7 +2261,7 @@ index 5131d2172d..2c2fea8e3f 100644
|
||||
- public int f(IBlockData iblockdata, IBlockAccess iblockaccess, BlockPosition blockposition) {
|
||||
+ @Deprecated public final int getOpacity(IBlockData iblockdata, IBlockAccess iblockaccess, BlockPosition blockposition) { return this.f(iblockdata, iblockaccess, blockposition); } // Tuinity - OBFHELPER
|
||||
+ @Deprecated public int f(IBlockData iblockdata, IBlockAccess iblockaccess, BlockPosition blockposition) { // Tuinity - OBFHELPER
|
||||
return iblockdata.i(iblockaccess, blockposition) ? iblockaccess.J() : (iblockdata.a(iblockaccess, blockposition) ? 0 : 1);
|
||||
return iblockdata.i(iblockaccess, blockposition) ? iblockaccess.K() : (iblockdata.a(iblockaccess, blockposition) ? 0 : 1);
|
||||
}
|
||||
|
||||
@@ -295,14 +295,14 @@ public abstract class BlockBase {
|
||||
@@ -2743,7 +2743,7 @@ index 3c7b225edb..43cbb77caf 100644
|
||||
|
||||
for (java.util.Iterator<Entry<ArraySetSorted<Ticket<?>>>> iterator = this.tickets.long2ObjectEntrySet().fastIterator(); iterator.hasNext();) {
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
index 45c142c227..b74ff6b9f3 100644
|
||||
index 6acb5f05a0..6e65842172 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
@@ -22,6 +22,12 @@ import it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap; // Paper
|
||||
@@ -3268,10 +3268,10 @@ index 95ef962868..73163b417a 100644
|
||||
T t0 = this.h.a(this.a.a(i));
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
index f55dc28f3e..8542f2f4d2 100644
|
||||
index 5504facd2e..fcba187bbd 100644
|
||||
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
@@ -166,6 +166,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
@@ -169,6 +169,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
com.destroystokyo.paper.PaperConfig.registerCommands();
|
||||
com.destroystokyo.paper.VersionHistoryManager.INSTANCE.getClass(); // load version history now
|
||||
// Paper end
|
||||
@@ -3293,7 +3293,7 @@ index 550232cb38..229c3b0f0c 100644
|
||||
throwable = throwable1;
|
||||
throw throwable1;
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index b845e488e3..86903aaa02 100644
|
||||
index 0c952fea30..4fb01d835b 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -136,7 +136,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -3362,7 +3362,7 @@ index b845e488e3..86903aaa02 100644
|
||||
public Entity(EntityTypes<?> entitytypes, World world) {
|
||||
this.id = Entity.entityCount.incrementAndGet();
|
||||
this.passengers = Lists.newArrayList();
|
||||
@@ -590,7 +633,39 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -591,7 +634,39 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
return this.onGround;
|
||||
}
|
||||
|
||||
@@ -3402,7 +3402,7 @@ index b845e488e3..86903aaa02 100644
|
||||
if (this.noclip) {
|
||||
this.a(this.getBoundingBox().c(vec3d));
|
||||
this.recalcPosition();
|
||||
@@ -618,7 +693,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -619,7 +694,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
// Paper end
|
||||
|
||||
vec3d = this.a(vec3d, enummovetype);
|
||||
@@ -3411,7 +3411,7 @@ index b845e488e3..86903aaa02 100644
|
||||
|
||||
if (vec3d1.g() > 1.0E-7D) {
|
||||
this.a(this.getBoundingBox().c(vec3d1));
|
||||
@@ -734,6 +809,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -735,6 +810,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
|
||||
this.world.getMethodProfiler().exit();
|
||||
}
|
||||
@@ -3424,8 +3424,8 @@ index b845e488e3..86903aaa02 100644
|
||||
+ // Tuinity end - detailed watchdog information
|
||||
}
|
||||
|
||||
protected BlockPosition ao() {
|
||||
@@ -814,6 +896,132 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
protected BlockPosition ap() {
|
||||
@@ -815,6 +897,132 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
return d0;
|
||||
}
|
||||
|
||||
@@ -3558,7 +3558,7 @@ index b845e488e3..86903aaa02 100644
|
||||
private Vec3D g(Vec3D vec3d) {
|
||||
AxisAlignedBB axisalignedbb = this.getBoundingBox();
|
||||
VoxelShapeCollision voxelshapecollision = VoxelShapeCollision.a(this);
|
||||
@@ -849,6 +1057,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -850,6 +1058,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
return vec3d1;
|
||||
}
|
||||
|
||||
@@ -3566,23 +3566,23 @@ index b845e488e3..86903aaa02 100644
|
||||
public static double c(Vec3D vec3d) {
|
||||
return vec3d.x * vec3d.x + vec3d.z * vec3d.z;
|
||||
}
|
||||
@@ -1947,11 +2156,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -1948,11 +2157,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
return EnumInteractionResult.PASS;
|
||||
}
|
||||
|
||||
- public boolean j(Entity entity) {
|
||||
+ public final boolean hardCollidesWith(Entity other) { return this.j(other); } // Tuinity - OBFHELPER
|
||||
+ public boolean j(Entity entity) { // Tuinity - diff on change, hard colliding entities override this
|
||||
return entity.aY() && !this.isSameVehicle(entity);
|
||||
return entity.aZ() && !this.isSameVehicle(entity);
|
||||
}
|
||||
|
||||
- public boolean aY() {
|
||||
+ public final boolean collisionBoxIsHard() { return this.aY(); } // Tuinity - OBFHELPER
|
||||
+ public boolean aY() { // Tuinity - diff on change, hard colliding entities override this
|
||||
- public boolean aZ() {
|
||||
+ public final boolean collisionBoxIsHard() { return this.aZ(); } // Tuinity - OBFHELPER
|
||||
+ public boolean aZ() { // Tuinity - diff on change, hard colliding entities override this
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -3293,12 +3504,16 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -3294,12 +3505,16 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
return this.locBlock;
|
||||
}
|
||||
|
||||
@@ -3599,7 +3599,7 @@ index b845e488e3..86903aaa02 100644
|
||||
}
|
||||
|
||||
public void setMot(double d0, double d1, double d2) {
|
||||
@@ -3353,7 +3568,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -3354,7 +3569,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
}
|
||||
// Paper end
|
||||
if (this.loc.x != d0 || this.loc.y != d1 || this.loc.z != d2) {
|
||||
@@ -3610,7 +3610,7 @@ index b845e488e3..86903aaa02 100644
|
||||
int j = MathHelper.floor(d1);
|
||||
int k = MathHelper.floor(d2);
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityCat.java b/src/main/java/net/minecraft/server/EntityCat.java
|
||||
index 3148863984..79de11ce2f 100644
|
||||
index 957a351c3f..57166a543a 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityCat.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityCat.java
|
||||
@@ -292,7 +292,7 @@ public class EntityCat extends EntityTameableAnimal {
|
||||
@@ -3623,7 +3623,7 @@ index 3148863984..79de11ce2f 100644
|
||||
this.setPersistent();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index 76185f042d..0e000c7186 100644
|
||||
index fe0334b505..87cd6fb0c0 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -2847,7 +2847,11 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -3775,7 +3775,7 @@ index 25e54a1fad..b66c802d5e 100644
|
||||
return this.d(entity, axisalignedbb, predicate).allMatch(VoxelShape::isEmpty);
|
||||
} finally { if (entity != null) entity.collisionLoadChunks = false; } // Paper
|
||||
diff --git a/src/main/java/net/minecraft/server/IEntityAccess.java b/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||
index 1cb8ba7cd2..882b82d895 100644
|
||||
index 07dbdd5609..150daa725a 100644
|
||||
--- a/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||
+++ b/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||
@@ -52,16 +52,26 @@ public interface IEntityAccess {
|
||||
@@ -3861,7 +3861,7 @@ index ff74be1451..653ba0f1d8 100644
|
||||
0, 2, 60L, TimeUnit.SECONDS,
|
||||
new LinkedBlockingQueue<Runnable>(),
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 26bbfeba13..c5a8d6d3fb 100644
|
||||
index 9c4ea5265e..75d36eb3ee 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -985,7 +985,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -3976,7 +3976,7 @@ index 26bbfeba13..c5a8d6d3fb 100644
|
||||
protected TickTask postToMainThread(Runnable runnable) {
|
||||
@@ -1133,6 +1188,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
|
||||
private boolean ba() {
|
||||
private boolean bb() {
|
||||
if (super.executeNext()) {
|
||||
+ this.executeMidTickTasks(); // Tuinity - execute chunk tasks mid tick
|
||||
return true;
|
||||
@@ -4054,7 +4054,7 @@ index 26bbfeba13..c5a8d6d3fb 100644
|
||||
|
||||
public CrashReport b(CrashReport crashreport) {
|
||||
diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java
|
||||
index c9b36e6040..ab6fb2d027 100644
|
||||
index 7a84ea4116..450e63270d 100644
|
||||
--- a/src/main/java/net/minecraft/server/NetworkManager.java
|
||||
+++ b/src/main/java/net/minecraft/server/NetworkManager.java
|
||||
@@ -71,6 +71,39 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
|
||||
@@ -4764,10 +4764,10 @@ index 6c399bcea0..087bbad025 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 4b0ff3e1ac..da2039b536 100644
|
||||
index 7abf55f532..10f3c97180 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -372,7 +372,9 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -415,7 +415,9 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
speed *= 2f; // TODO: Get the speed of the vehicle instead of the player
|
||||
|
||||
// Paper start - Prevent moving into unloaded chunks
|
||||
@@ -4778,7 +4778,7 @@ index 4b0ff3e1ac..da2039b536 100644
|
||||
this.networkManager.sendPacket(new PacketPlayOutVehicleMove(entity));
|
||||
return;
|
||||
}
|
||||
@@ -978,7 +980,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -1052,7 +1054,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
}
|
||||
|
||||
if (this.teleportPos != null) {
|
||||
@@ -4787,7 +4787,7 @@ index 4b0ff3e1ac..da2039b536 100644
|
||||
this.A = this.e;
|
||||
this.a(this.teleportPos.x, this.teleportPos.y, this.teleportPos.z, this.player.yaw, this.player.pitch);
|
||||
}
|
||||
@@ -1048,7 +1050,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -1122,7 +1124,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
speed = player.abilities.walkSpeed * 10f;
|
||||
}
|
||||
// Paper start - Prevent moving into unloaded chunks
|
||||
@@ -4796,7 +4796,7 @@ index 4b0ff3e1ac..da2039b536 100644
|
||||
this.internalTeleport(this.player.locX(), this.player.locY(), this.player.locZ(), this.player.yaw, this.player.pitch, Collections.emptySet());
|
||||
return;
|
||||
}
|
||||
@@ -1104,6 +1106,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -1178,6 +1180,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
}
|
||||
|
||||
this.player.move(EnumMoveType.PLAYER, new Vec3D(d7, d8, d9));
|
||||
@@ -4804,7 +4804,7 @@ index 4b0ff3e1ac..da2039b536 100644
|
||||
this.player.setOnGround(packetplayinflying.b()); // CraftBukkit - SPIGOT-5810, SPIGOT-5835: reset by this.player.move
|
||||
// Paper start - prevent position desync
|
||||
if (this.teleportPos != null) {
|
||||
@@ -1128,7 +1131,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -1202,7 +1205,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
}
|
||||
|
||||
this.player.setLocation(d4, d5, d6, f, f1);
|
||||
@@ -4862,7 +4862,7 @@ index 7ea293f38d..e698dd2260 100644
|
||||
});
|
||||
throw CancelledPacketHandleException.INSTANCE;
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java
|
||||
index ac3bee9dfb..06a1b4b977 100644
|
||||
index 485b609bb5..614cfacb1e 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerInteractManager.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java
|
||||
@@ -21,14 +21,29 @@ public class PlayerInteractManager {
|
||||
@@ -6352,7 +6352,7 @@ index e21c747b6c..4bdadffee0 100644
|
||||
return voxelshape != b() && voxelshape1 != b() ? (voxelshape.isEmpty() && voxelshape1.isEmpty() ? false : !c(b(), b(voxelshape, voxelshape1, OperatorBoolean.OR), OperatorBoolean.ONLY_FIRST)) : true;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index d91124bc85..db90920c8d 100644
|
||||
index d64d94b8c3..3804758a62 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -94,6 +94,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -6412,7 +6412,7 @@ index d91124bc85..db90920c8d 100644
|
||||
}
|
||||
// Paper start - Prevent armor stands from doing entity lookups
|
||||
@Override
|
||||
@@ -1072,10 +1087,44 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -1076,10 +1091,44 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
return this.getChunkAt(i, j, ChunkStatus.FULL, false);
|
||||
}
|
||||
|
||||
@@ -6530,10 +6530,10 @@ index f011869880..26a8c4ffe2 100644
|
||||
return this.j.d();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 95da2a5602..215789b762 100644
|
||||
index b196810316..dcf28739fc 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -51,12 +51,13 @@ import org.bukkit.event.server.MapInitializeEvent;
|
||||
@@ -55,12 +55,13 @@ import org.bukkit.event.server.MapInitializeEvent;
|
||||
import org.bukkit.event.weather.LightningStrikeEvent;
|
||||
import org.bukkit.event.world.TimeSkipEvent;
|
||||
// CraftBukkit end
|
||||
@@ -6548,7 +6548,7 @@ index 95da2a5602..215789b762 100644
|
||||
private final Map<UUID, Entity> entitiesByUUID = Maps.newHashMap();
|
||||
private final Queue<Entity> entitiesToAdd = Queues.newArrayDeque();
|
||||
public final List<EntityPlayer> players = Lists.newArrayList(); // Paper - private -> public
|
||||
@@ -80,7 +81,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -84,7 +85,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
private final PortalTravelAgent portalTravelAgent;
|
||||
private final TickListServer<Block> nextTickListBlock;
|
||||
private final TickListServer<FluidType> nextTickListFluid;
|
||||
@@ -6557,7 +6557,7 @@ index 95da2a5602..215789b762 100644
|
||||
protected final PersistentRaid persistentRaid;
|
||||
private final ObjectLinkedOpenHashSet<BlockActionData> L;
|
||||
private boolean ticking;
|
||||
@@ -201,6 +202,100 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -205,6 +206,100 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
// Paper end - rewrite ticklistserver
|
||||
|
||||
@@ -6658,7 +6658,7 @@ index 95da2a5602..215789b762 100644
|
||||
// Add env and gen to constructor, WorldData -> WorldDataServer
|
||||
public WorldServer(MinecraftServer minecraftserver, Executor executor, Convertable.ConversionSession convertable_conversionsession, IWorldDataServer iworlddataserver, ResourceKey<World> resourcekey, DimensionManager dimensionmanager, WorldLoadListener worldloadlistener, ChunkGenerator chunkgenerator, boolean flag, long i, List<MobSpawner> list, boolean flag1, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen) {
|
||||
super(iworlddataserver, resourcekey, dimensionmanager, minecraftserver::getMethodProfiler, false, flag, i, gen, env, executor); // Paper pass executor
|
||||
@@ -261,6 +356,328 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -265,6 +360,328 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
this.asyncChunkTaskManager = new com.destroystokyo.paper.io.chunk.ChunkTaskManager(this); // Paper
|
||||
}
|
||||
|
||||
@@ -6987,7 +6987,7 @@ index 95da2a5602..215789b762 100644
|
||||
// CraftBukkit start
|
||||
@Override
|
||||
protected TileEntity getTileEntity(BlockPosition pos, boolean validate) {
|
||||
@@ -463,7 +880,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -467,7 +884,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
timings.scheduledBlocks.stopTiming(); // Paper
|
||||
|
||||
@@ -6996,16 +6996,16 @@ index 95da2a5602..215789b762 100644
|
||||
gameprofilerfiller.exitEnter("raid");
|
||||
this.timings.raids.startTiming(); // Paper - timings
|
||||
this.persistentRaid.a();
|
||||
@@ -472,7 +889,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -476,7 +893,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
timings.doSounds.startTiming(); // Spigot
|
||||
this.aj();
|
||||
this.ak();
|
||||
timings.doSounds.stopTiming(); // Spigot
|
||||
- this.getMinecraftServer().midTickLoadChunks(); // Paper
|
||||
+ // Tuinity - replace logic
|
||||
this.ticking = false;
|
||||
gameprofilerfiller.exitEnter("entities");
|
||||
boolean flag3 = true || !this.players.isEmpty() || !this.getForceLoadedChunks().isEmpty(); // CraftBukkit - this prevents entity cleanup, other issues on servers with no players
|
||||
@@ -488,13 +905,12 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -492,13 +909,12 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
|
||||
this.tickingEntities = true;
|
||||
@@ -7021,7 +7021,7 @@ index 95da2a5602..215789b762 100644
|
||||
Entity entity1 = entity.getVehicle();
|
||||
|
||||
/* CraftBukkit start - We prevent spawning in general, so this butchering is not needed
|
||||
@@ -530,7 +946,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -534,7 +950,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
gameprofilerfiller.enter("remove");
|
||||
if (entity.dead) {
|
||||
this.removeEntityFromChunk(entity);
|
||||
@@ -7030,7 +7030,7 @@ index 95da2a5602..215789b762 100644
|
||||
this.unregisterEntity(entity);
|
||||
}
|
||||
|
||||
@@ -538,6 +954,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -542,6 +958,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
timings.entityTick.stopTiming(); // Spigot
|
||||
|
||||
@@ -7038,7 +7038,7 @@ index 95da2a5602..215789b762 100644
|
||||
this.tickingEntities = false;
|
||||
// Paper start
|
||||
for (java.lang.Runnable run : this.afterEntityTickingTasks) {
|
||||
@@ -549,7 +966,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -553,7 +970,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
this.afterEntityTickingTasks.clear();
|
||||
// Paper end
|
||||
@@ -7047,7 +7047,7 @@ index 95da2a5602..215789b762 100644
|
||||
|
||||
Entity entity2;
|
||||
|
||||
@@ -559,7 +976,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -563,7 +980,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
|
||||
timings.tickEntities.stopTiming(); // Spigot
|
||||
@@ -7056,7 +7056,7 @@ index 95da2a5602..215789b762 100644
|
||||
this.tickBlockEntities();
|
||||
}
|
||||
|
||||
@@ -805,7 +1222,26 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -809,7 +1226,26 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
|
||||
}
|
||||
|
||||
@@ -7083,7 +7083,7 @@ index 95da2a5602..215789b762 100644
|
||||
if (!(entity instanceof EntityHuman) && !this.getChunkProvider().a(entity)) {
|
||||
this.chunkCheck(entity);
|
||||
} else {
|
||||
@@ -858,6 +1294,11 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -862,6 +1298,11 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
//} finally { timer.stopTiming(); } // Paper - timings - move up
|
||||
|
||||
}
|
||||
@@ -7095,7 +7095,7 @@ index 95da2a5602..215789b762 100644
|
||||
}
|
||||
|
||||
public void a(Entity entity, Entity entity1) {
|
||||
@@ -1295,7 +1736,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1299,7 +1740,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
Entity entity = (Entity) iterator.next();
|
||||
|
||||
if (!(entity instanceof EntityPlayer)) {
|
||||
@@ -7104,7 +7104,7 @@ index 95da2a5602..215789b762 100644
|
||||
throw (IllegalStateException) SystemUtils.c((Throwable) (new IllegalStateException("Removing entity while ticking!")));
|
||||
}
|
||||
|
||||
@@ -1323,6 +1764,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1327,6 +1768,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
|
||||
public void unregisterEntity(Entity entity) {
|
||||
org.spigotmc.AsyncCatcher.catchOp("entity unregister"); // Spigot
|
||||
@@ -7112,7 +7112,7 @@ index 95da2a5602..215789b762 100644
|
||||
// Paper start - fix entity registration issues
|
||||
if (entity instanceof EntityComplexPart) {
|
||||
// Usually this is a no-op for complex parts, and ID's should be removed, but go ahead and remove it anyways
|
||||
@@ -1389,12 +1831,16 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1393,12 +1835,16 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
this.getScoreboard().a(entity);
|
||||
// CraftBukkit start - SPIGOT-5278
|
||||
if (entity instanceof EntityDrowned) {
|
||||
@@ -7132,7 +7132,7 @@ index 95da2a5602..215789b762 100644
|
||||
}
|
||||
new com.destroystokyo.paper.event.entity.EntityRemoveFromWorldEvent(entity.getBukkitEntity()).callEvent(); // Paper - fire while valid
|
||||
entity.valid = false; // CraftBukkit
|
||||
@@ -1410,7 +1856,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1414,7 +1860,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
return;
|
||||
}
|
||||
// Paper end
|
||||
@@ -7141,7 +7141,7 @@ index 95da2a5602..215789b762 100644
|
||||
if (!entity.isQueuedForRegister) { // Paper
|
||||
this.entitiesToAdd.add(entity);
|
||||
entity.isQueuedForRegister = true; // Paper
|
||||
@@ -1418,6 +1864,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1422,6 +1868,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
} else {
|
||||
entity.isQueuedForRegister = false; // Paper
|
||||
this.entitiesById.put(entity.getId(), entity);
|
||||
@@ -7149,7 +7149,7 @@ index 95da2a5602..215789b762 100644
|
||||
if (entity instanceof EntityEnderDragon) {
|
||||
EntityComplexPart[] aentitycomplexpart = ((EntityEnderDragon) entity).eJ();
|
||||
int i = aentitycomplexpart.length;
|
||||
@@ -1426,6 +1873,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1430,6 +1877,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
EntityComplexPart entitycomplexpart = aentitycomplexpart[j];
|
||||
|
||||
this.entitiesById.put(entitycomplexpart.getId(), entitycomplexpart);
|
||||
@@ -7157,7 +7157,7 @@ index 95da2a5602..215789b762 100644
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1450,12 +1898,16 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1454,12 +1902,16 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
// this.getChunkProvider().addEntity(entity); // Paper - moved down below valid=true
|
||||
// CraftBukkit start - SPIGOT-5278
|
||||
if (entity instanceof EntityDrowned) {
|
||||
@@ -7177,7 +7177,7 @@ index 95da2a5602..215789b762 100644
|
||||
}
|
||||
entity.valid = true; // CraftBukkit
|
||||
this.getChunkProvider().addEntity(entity); // Paper - from above to be below valid=true
|
||||
@@ -1471,7 +1923,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1475,7 +1927,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
|
||||
public void removeEntity(Entity entity) {
|
||||
@@ -7186,7 +7186,7 @@ index 95da2a5602..215789b762 100644
|
||||
throw (IllegalStateException) SystemUtils.c((Throwable) (new IllegalStateException("Removing entity while ticking!")));
|
||||
} else {
|
||||
this.removeEntityFromChunk(entity);
|
||||
@@ -1567,13 +2019,16 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1571,13 +2023,16 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
|
||||
@Override
|
||||
public void notify(BlockPosition blockposition, IBlockData iblockdata, IBlockData iblockdata1, int i) {
|
||||
@@ -7204,7 +7204,7 @@ index 95da2a5602..215789b762 100644
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
NavigationAbstract navigationabstract = (NavigationAbstract) iterator.next();
|
||||
@@ -1582,6 +2037,9 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1586,6 +2041,9 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
navigationabstract.b(blockposition);
|
||||
}
|
||||
}
|
||||
@@ -7336,7 +7336,7 @@ index 299f57ca2a..4de6252f07 100644
|
||||
}, MinecraftServer.getServer());
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
index e8f52003f3..27cfaf6acf 100644
|
||||
index 9118f05424..a9c96d45c6 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
@@ -138,6 +138,13 @@ public class Main {
|
||||
|
||||
Reference in New Issue
Block a user