aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0980-Moonrise-optimisation-patches.patch
diff options
context:
space:
mode:
authorSpottedleaf <[email protected]>2024-10-24 12:47:34 -0700
committerSpottedleaf <[email protected]>2024-10-25 11:25:10 -0700
commitf1a11a6e3fc5c3b3b68df8008aab527ec92bfa6b (patch)
treebaeeecf49cdc6b3eb1ab7551ef5182101a20b2bd /patches/server/0980-Moonrise-optimisation-patches.patch
parent75e3409cec7315a081928a237c73ffee3eb4e050 (diff)
downloadPaper-f1a11a6e3fc5c3b3b68df8008aab527ec92bfa6b.tar.gz
Paper-f1a11a6e3fc5c3b3b68df8008aab527ec92bfa6b.zip
Finish mixin diff review
The mixin diff review looks OK, but need to check the patch diff now.
Diffstat (limited to 'patches/server/0980-Moonrise-optimisation-patches.patch')
-rw-r--r--patches/server/0980-Moonrise-optimisation-patches.patch20
1 files changed, 13 insertions, 7 deletions
diff --git a/patches/server/0980-Moonrise-optimisation-patches.patch b/patches/server/0980-Moonrise-optimisation-patches.patch
index c9f3fac9b9..4db77860f7 100644
--- a/patches/server/0980-Moonrise-optimisation-patches.patch
+++ b/patches/server/0980-Moonrise-optimisation-patches.patch
@@ -23635,7 +23635,7 @@ index 39c9c0dad159744da8322c3dfa3bfae448f73241..3ed19896a0e06fe834953e6450f23abd
}
diff --git a/src/main/java/net/minecraft/server/level/ChunkHolder.java b/src/main/java/net/minecraft/server/level/ChunkHolder.java
-index b9ab241b930edc63a39dbbcf14cd0b5edacb9ea9..3b5b6799b6e7832d7cc7d73afb5f2ca04fee6060 100644
+index b9ab241b930edc63a39dbbcf14cd0b5edacb9ea9..8dd9375f2ad2c65a773a3195aeff1f977e09e7e0 100644
--- a/src/main/java/net/minecraft/server/level/ChunkHolder.java
+++ b/src/main/java/net/minecraft/server/level/ChunkHolder.java
@@ -32,46 +32,125 @@ import net.minecraft.world.level.lighting.LevelLightEngine;
@@ -23795,7 +23795,7 @@ index b9ab241b930edc63a39dbbcf14cd0b5edacb9ea9..3b5b6799b6e7832d7cc7d73afb5f2ca0
return this.getFullChunkNowUnchecked();
}
-@@ -89,59 +168,60 @@ public class ChunkHolder extends GenerationChunkHolder {
+@@ -89,64 +168,65 @@ public class ChunkHolder extends GenerationChunkHolder {
// CraftBukkit end
public CompletableFuture<ChunkResult<LevelChunk>> getTickingChunkFuture() {
@@ -23878,6 +23878,12 @@ index b9ab241b930edc63a39dbbcf14cd0b5edacb9ea9..3b5b6799b6e7832d7cc7d73afb5f2ca0
}
+ public boolean blockChanged(BlockPos pos) {
+- LevelChunk chunk = this.getTickingChunk();
++ LevelChunk chunk = this.playersSentChunkTo.size() == 0 ? null : this.getChunkToSend(); // Paper - rewrite chunk system
+
+ if (chunk == null) {
+ return false;
@@ -172,7 +252,7 @@ public class ChunkHolder extends GenerationChunkHolder {
return false;
} else {
@@ -31015,7 +31021,7 @@ index 95d30c2db7e291d65c24feb114b0f3598d280912..99fd67a78539133adf78d65e2c520ff3
public Block getBlock() {
diff --git a/src/main/java/net/minecraft/world/level/block/state/StateHolder.java b/src/main/java/net/minecraft/world/level/block/state/StateHolder.java
-index 422b364764e0df16ca250b4939d7b226e69c0840..2df28ffc731bd77e0d7af3541cfd3741aa5af83b 100644
+index 422b364764e0df16ca250b4939d7b226e69c0840..815ee11aa5ed3448ff255e9c36d769478de477bd 100644
--- a/src/main/java/net/minecraft/world/level/block/state/StateHolder.java
+++ b/src/main/java/net/minecraft/world/level/block/state/StateHolder.java
@@ -15,7 +15,7 @@ import java.util.stream.Collectors;
@@ -31032,7 +31038,7 @@ index 422b364764e0df16ca250b4939d7b226e69c0840..2df28ffc731bd77e0d7af3541cfd3741
};
protected final O owner;
- private final Reference2ObjectArrayMap<Property<?>, Comparable<?>> values;
-+ private Reference2ObjectArrayMap<Property<?>, Comparable<?>> values; // Paper - optimise blockstate property access - remove final
++ private Reference2ObjectArrayMap<Property<?>, Comparable<?>> values; // Paper - optimise blockstate property access - remove final
private Map<Property<?>, S[]> neighbours;
protected final MapCodec<S> propertiesCodec;
@@ -31859,7 +31865,7 @@ index 325d1e38a72a4b30f30261267e9adfb8a8726b11..86b018042590c3ce115555639e7791c5
@Nullable
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java
-index 52f44f14bbda60fe771c351e01e6ff470d7371e6..4167ed830382c6a76bb281e9d753919925c6bd00 100644
+index 52f44f14bbda60fe771c351e01e6ff470d7371e6..b85f354afa23ddf7e24facdb0516407ee2725bee 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java
@@ -13,7 +13,7 @@ import net.minecraft.world.level.block.Blocks;
@@ -31889,8 +31895,8 @@ index 52f44f14bbda60fe771c351e01e6ff470d7371e6..4167ed830382c6a76bb281e9d7539199
+ private final ca.spottedleaf.moonrise.common.list.ShortList tickingBlocks = new ca.spottedleaf.moonrise.common.list.ShortList();
+
+ @Override
-+ public final int moonrise$getSpecialCollidingBlocks() {
-+ return this.specialCollidingBlocks;
++ public final boolean moonrise$hasSpecialCollidingBlocks() {
++ return this.specialCollidingBlocks != 0;
+ }
+
+ @Override