mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Updated Upstream (Tuinity)
Upstream has released updates that appears to apply and compile correctly Tuinity Changes: 5df4a4f Reset the minimum ticket level for delaying unloads (#196)
This commit is contained in:
@@ -2033,7 +2033,7 @@ index 6b655b744..e811295b4 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockBase.java b/src/main/java/net/minecraft/server/BlockBase.java
|
||||
index 5131d2172..478950e5b 100644
|
||||
index 5131d2172..d15c7e979 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 {
|
||||
@@ -2099,11 +2099,13 @@ index 5131d2172..478950e5b 100644
|
||||
public VoxelShape a(IBlockAccess iblockaccess, BlockPosition blockposition, EnumDirection enumdirection) {
|
||||
return this.a != null && this.a.i != null ? this.a.i[enumdirection.ordinal()] : VoxelShapes.a(this.c(iblockaccess, blockposition), enumdirection);
|
||||
}
|
||||
@@ -385,7 +395,7 @@ public abstract class BlockBase {
|
||||
@@ -384,8 +394,8 @@ public abstract class BlockBase {
|
||||
return this.getBlock().d(this.p(), iblockaccess, blockposition);
|
||||
}
|
||||
|
||||
public final boolean d() { // Paper
|
||||
- public final boolean d() { // Paper
|
||||
- return this.a == null || this.a.c;
|
||||
+ public boolean d() {
|
||||
+ return this.shapeExceedsCube; // Tuinity - moved into shape cache init
|
||||
}
|
||||
|
||||
@@ -2356,7 +2358,7 @@ index 083da88c1..018972007 100644
|
||||
|
||||
this.n[i].clear();
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkMapDistance.java b/src/main/java/net/minecraft/server/ChunkMapDistance.java
|
||||
index 3c7b225ed..1b750da9e 100644
|
||||
index 3c7b225ed..43cbb77ca 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkMapDistance.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkMapDistance.java
|
||||
@@ -31,7 +31,7 @@ public abstract class ChunkMapDistance {
|
||||
@@ -2416,7 +2418,7 @@ index 3c7b225ed..1b750da9e 100644
|
||||
protected ChunkMapDistance(Executor executor, Executor executor1) {
|
||||
executor1.getClass();
|
||||
Mailbox<Runnable> mailbox = Mailbox.a("player ticket throttler", executor1::execute);
|
||||
@@ -65,15 +106,34 @@ public abstract class ChunkMapDistance {
|
||||
@@ -65,21 +106,42 @@ public abstract class ChunkMapDistance {
|
||||
}
|
||||
|
||||
protected void purgeTickets() {
|
||||
@@ -2452,7 +2454,15 @@ index 3c7b225ed..1b750da9e 100644
|
||||
this.ticketLevelTracker.update(entry.getLongKey(), getLowestTicketLevel((ArraySetSorted) entry.getValue()), false);
|
||||
}
|
||||
|
||||
@@ -98,6 +158,7 @@ public abstract class ChunkMapDistance {
|
||||
if (((ArraySetSorted) entry.getValue()).isEmpty()) {
|
||||
objectiterator.remove();
|
||||
}
|
||||
+
|
||||
+ tempLevel[0] = PlayerChunkMap.GOLDEN_TICKET + 1; // Tuinity - reset
|
||||
}
|
||||
|
||||
}
|
||||
@@ -98,6 +160,7 @@ public abstract class ChunkMapDistance {
|
||||
protected abstract PlayerChunk a(long i, int j, @Nullable PlayerChunk playerchunk, int k);
|
||||
|
||||
public boolean a(PlayerChunkMap playerchunkmap) {
|
||||
@@ -2460,7 +2470,7 @@ index 3c7b225ed..1b750da9e 100644
|
||||
//this.f.a(); // Paper - no longer used
|
||||
AsyncCatcher.catchOp("DistanceManagerTick"); // Paper
|
||||
this.g.a();
|
||||
@@ -176,27 +237,11 @@ public abstract class ChunkMapDistance {
|
||||
@@ -176,27 +239,11 @@ public abstract class ChunkMapDistance {
|
||||
boolean removed = false; // CraftBukkit
|
||||
if (arraysetsorted.remove(ticket)) {
|
||||
removed = true; // CraftBukkit
|
||||
@@ -2492,7 +2502,7 @@ index 3c7b225ed..1b750da9e 100644
|
||||
}
|
||||
|
||||
if (arraysetsorted.isEmpty()) {
|
||||
@@ -370,6 +415,7 @@ public abstract class ChunkMapDistance {
|
||||
@@ -370,6 +417,7 @@ public abstract class ChunkMapDistance {
|
||||
}
|
||||
|
||||
private ArraySetSorted<Ticket<?>> e(long i) {
|
||||
@@ -2500,7 +2510,7 @@ index 3c7b225ed..1b750da9e 100644
|
||||
return (ArraySetSorted) this.tickets.computeIfAbsent(i, (j) -> {
|
||||
return ArraySetSorted.a(4);
|
||||
});
|
||||
@@ -387,6 +433,7 @@ public abstract class ChunkMapDistance {
|
||||
@@ -387,6 +435,7 @@ public abstract class ChunkMapDistance {
|
||||
}
|
||||
|
||||
public void a(SectionPosition sectionposition, EntityPlayer entityplayer) {
|
||||
@@ -2508,7 +2518,7 @@ index 3c7b225ed..1b750da9e 100644
|
||||
long i = sectionposition.r().pair();
|
||||
|
||||
((ObjectSet) this.c.computeIfAbsent(i, (j) -> {
|
||||
@@ -397,6 +444,7 @@ public abstract class ChunkMapDistance {
|
||||
@@ -397,6 +446,7 @@ public abstract class ChunkMapDistance {
|
||||
}
|
||||
|
||||
public void b(SectionPosition sectionposition, EntityPlayer entityplayer) {
|
||||
@@ -2516,7 +2526,7 @@ index 3c7b225ed..1b750da9e 100644
|
||||
long i = sectionposition.r().pair();
|
||||
ObjectSet<EntityPlayer> objectset = (ObjectSet) this.c.get(i);
|
||||
|
||||
@@ -446,6 +494,7 @@ public abstract class ChunkMapDistance {
|
||||
@@ -446,6 +496,7 @@ public abstract class ChunkMapDistance {
|
||||
|
||||
// CraftBukkit start
|
||||
public <T> void removeAllTicketsFor(TicketType<T> ticketType, int ticketLevel, T ticketIdentifier) {
|
||||
|
||||
Reference in New Issue
Block a user