Update to Minecraft 1.17.1 (#6097)

This commit is contained in:
Nassim Jahnke
2021-07-07 08:52:40 +02:00
parent 43f52d9c13
commit 7037cd401f
58 changed files with 182 additions and 258 deletions

View File

@@ -151,18 +151,18 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ registerCleaner();
+ // Paper end
if (bytes.length != 2048) {
throw (IllegalArgumentException) Util.pauseInIde((Throwable) (new IllegalArgumentException("ChunkNibbleArrays should be 2048 bytes not: " + bytes.length)));
throw (IllegalArgumentException) Util.pauseInIde((Throwable) (new IllegalArgumentException("DataLayer should be 2048 bytes not: " + bytes.length)));
}
@@ -0,0 +0,0 @@ public class DataLayer {
public void set(int index, int value) { // PAIL: private -> public
private void set(int index, int value) {
if (this.data == null) {
- this.data = new byte[2048];
+ this.data = BYTE_2048.acquire(); // Paper
+ registerCleaner();// Paper
}
int k = this.getPosition(index);
int k = DataLayer.getByteIndex(index);
@@ -0,0 +0,0 @@ public class DataLayer {
public byte[] getData() {
if (this.data == null) {
@@ -231,28 +231,6 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
this.clearCache();
}
diff --git a/src/main/java/net/minecraft/world/level/lighting/FlatDataLayer.java b/src/main/java/net/minecraft/world/level/lighting/FlatDataLayer.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/world/level/lighting/FlatDataLayer.java
+++ b/src/main/java/net/minecraft/world/level/lighting/FlatDataLayer.java
@@ -0,0 +0,0 @@ public class FlatDataLayer extends DataLayer {
public FlatDataLayer(DataLayer chunkNibbleArray, int offset) {
super(128);
- System.arraycopy(chunkNibbleArray.getData(), offset * 128, this.data, 0, 128);
+ System.arraycopy(chunkNibbleArray.getIfSet(), offset * 128, this.data, 0, 128); // Paper
}
@Override
@@ -0,0 +0,0 @@ public class FlatDataLayer extends DataLayer {
@Override
public byte[] getData() {
- byte[] bs = new byte[2048];
+ byte[] bs = BYTE_2048.acquire(); // Paper
for(int i = 0; i < 16; ++i) {
System.arraycopy(this.data, 0, bs, i * 128, 128);
diff --git a/src/main/java/net/minecraft/world/level/lighting/LayerLightSectionStorage.java b/src/main/java/net/minecraft/world/level/lighting/LayerLightSectionStorage.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/world/level/lighting/LayerLightSectionStorage.java
@@ -286,17 +264,31 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
--- a/src/main/java/net/minecraft/world/level/lighting/SkyLightSectionStorage.java
+++ b/src/main/java/net/minecraft/world/level/lighting/SkyLightSectionStorage.java
@@ -0,0 +0,0 @@ public class SkyLightSectionStorage extends LayerLightSectionStorage<SkyLightSec
l = SectionPos.offset(l, Direction.UP);
}
- return new DataLayer((new FlatDataLayer(dataLayer2, 0)).getData());
+ return new DataLayer().markPoolSafe(new FlatDataLayer(dataLayer2, 0).getData()); // Paper - mark pool use as safe (no auto cleaner)
return repeatFirstLayer(dataLayer2);
} else {
- return new DataLayer();
+ return new DataLayer().markPoolSafe(); // Paper - mark pool use as safe (no auto cleaner)
}
}
}
private static DataLayer repeatFirstLayer(DataLayer source) {
if (source.isEmpty()) {
- return new DataLayer();
+ return new DataLayer().markPoolSafe(); // Paper - mark pool use as safe (no auto cleaner)
} else {
byte[] bs = source.getData();
byte[] cs = new byte[2048];
@@ -0,0 +0,0 @@ public class SkyLightSectionStorage extends LayerLightSectionStorage<SkyLightSec
System.arraycopy(bs, 0, cs, i * 128, 128);
}
- return new DataLayer(cs);
+ return new DataLayer(cs).markPoolSafe(cs); // Paper - mark pool use as safe (no auto cleaner)
}
}
@@ -0,0 +0,0 @@ public class SkyLightSectionStorage extends LayerLightSectionStorage<SkyLightSec
this.updatingSectionData.copyDataLayer(l);
}