mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-19 17:37:42 +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
|
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
|
--- a/src/main/java/net/minecraft/server/BlockBase.java
|
||||||
+++ b/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 {
|
@@ -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) {
|
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);
|
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;
|
- return this.a == null || this.a.c;
|
||||||
|
+ public boolean d() {
|
||||||
+ return this.shapeExceedsCube; // Tuinity - moved into shape cache init
|
+ return this.shapeExceedsCube; // Tuinity - moved into shape cache init
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2356,7 +2358,7 @@ index 083da88c1..018972007 100644
|
|||||||
|
|
||||||
this.n[i].clear();
|
this.n[i].clear();
|
||||||
diff --git a/src/main/java/net/minecraft/server/ChunkMapDistance.java b/src/main/java/net/minecraft/server/ChunkMapDistance.java
|
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
|
--- a/src/main/java/net/minecraft/server/ChunkMapDistance.java
|
||||||
+++ b/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 {
|
@@ -31,7 +31,7 @@ public abstract class ChunkMapDistance {
|
||||||
@@ -2416,7 +2418,7 @@ index 3c7b225ed..1b750da9e 100644
|
|||||||
protected ChunkMapDistance(Executor executor, Executor executor1) {
|
protected ChunkMapDistance(Executor executor, Executor executor1) {
|
||||||
executor1.getClass();
|
executor1.getClass();
|
||||||
Mailbox<Runnable> mailbox = Mailbox.a("player ticket throttler", executor1::execute);
|
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() {
|
protected void purgeTickets() {
|
||||||
@@ -2452,7 +2454,15 @@ index 3c7b225ed..1b750da9e 100644
|
|||||||
this.ticketLevelTracker.update(entry.getLongKey(), getLowestTicketLevel((ArraySetSorted) entry.getValue()), false);
|
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);
|
protected abstract PlayerChunk a(long i, int j, @Nullable PlayerChunk playerchunk, int k);
|
||||||
|
|
||||||
public boolean a(PlayerChunkMap playerchunkmap) {
|
public boolean a(PlayerChunkMap playerchunkmap) {
|
||||||
@@ -2460,7 +2470,7 @@ index 3c7b225ed..1b750da9e 100644
|
|||||||
//this.f.a(); // Paper - no longer used
|
//this.f.a(); // Paper - no longer used
|
||||||
AsyncCatcher.catchOp("DistanceManagerTick"); // Paper
|
AsyncCatcher.catchOp("DistanceManagerTick"); // Paper
|
||||||
this.g.a();
|
this.g.a();
|
||||||
@@ -176,27 +237,11 @@ public abstract class ChunkMapDistance {
|
@@ -176,27 +239,11 @@ public abstract class ChunkMapDistance {
|
||||||
boolean removed = false; // CraftBukkit
|
boolean removed = false; // CraftBukkit
|
||||||
if (arraysetsorted.remove(ticket)) {
|
if (arraysetsorted.remove(ticket)) {
|
||||||
removed = true; // CraftBukkit
|
removed = true; // CraftBukkit
|
||||||
@@ -2492,7 +2502,7 @@ index 3c7b225ed..1b750da9e 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (arraysetsorted.isEmpty()) {
|
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) {
|
private ArraySetSorted<Ticket<?>> e(long i) {
|
||||||
@@ -2500,7 +2510,7 @@ index 3c7b225ed..1b750da9e 100644
|
|||||||
return (ArraySetSorted) this.tickets.computeIfAbsent(i, (j) -> {
|
return (ArraySetSorted) this.tickets.computeIfAbsent(i, (j) -> {
|
||||||
return ArraySetSorted.a(4);
|
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) {
|
public void a(SectionPosition sectionposition, EntityPlayer entityplayer) {
|
||||||
@@ -2508,7 +2518,7 @@ index 3c7b225ed..1b750da9e 100644
|
|||||||
long i = sectionposition.r().pair();
|
long i = sectionposition.r().pair();
|
||||||
|
|
||||||
((ObjectSet) this.c.computeIfAbsent(i, (j) -> {
|
((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) {
|
public void b(SectionPosition sectionposition, EntityPlayer entityplayer) {
|
||||||
@@ -2516,7 +2526,7 @@ index 3c7b225ed..1b750da9e 100644
|
|||||||
long i = sectionposition.r().pair();
|
long i = sectionposition.r().pair();
|
||||||
ObjectSet<EntityPlayer> objectset = (ObjectSet) this.c.get(i);
|
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
|
// CraftBukkit start
|
||||||
public <T> void removeAllTicketsFor(TicketType<T> ticketType, int ticketLevel, T ticketIdentifier) {
|
public <T> void removeAllTicketsFor(TicketType<T> ticketType, int ticketLevel, T ticketIdentifier) {
|
||||||
|
|||||||
Reference in New Issue
Block a user