Update upstream B/CB/S

This commit is contained in:
Zach Brown
2018-10-28 18:08:08 -04:00
parent 7941af6fec
commit 45593fc5eb
8 changed files with 120 additions and 103 deletions

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Anti-Xray
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 7ac07ac07ac0..7ac07ac07ac0 100644
index ac07bcc75..ca93fab88 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -0,0 +0,0 @@
@@ -49,7 +49,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644
}
diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockController.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockController.java
new file mode 100644
index 7ac07ac07ac0..7ac07ac07ac0
index 000000000..1ba8477bf
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockController.java
@@ -0,0 +0,0 @@
@@ -100,7 +100,7 @@ index 7ac07ac07ac0..7ac07ac07ac0
+}
diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java
new file mode 100644
index 7ac07ac07ac0..7ac07ac07ac0
index 000000000..d00e113ba
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java
@@ -0,0 +0,0 @@
@@ -776,7 +776,7 @@ index 7ac07ac07ac0..7ac07ac07ac0
+}
diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfo.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfo.java
new file mode 100644
index 7ac07ac07ac0..7ac07ac07ac0
index 000000000..a68bace35
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfo.java
@@ -0,0 +0,0 @@
@@ -863,7 +863,7 @@ index 7ac07ac07ac0..7ac07ac07ac0
+}
diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfoAntiXray.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfoAntiXray.java
new file mode 100644
index 7ac07ac07ac0..7ac07ac07ac0
index 000000000..e255a45fa
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfoAntiXray.java
@@ -0,0 +0,0 @@
@@ -898,7 +898,7 @@ index 7ac07ac07ac0..7ac07ac07ac0
+}
diff --git a/src/main/java/com/destroystokyo/paper/antixray/DataBitsReader.java b/src/main/java/com/destroystokyo/paper/antixray/DataBitsReader.java
new file mode 100644
index 7ac07ac07ac0..7ac07ac07ac0
index 000000000..cc586827a
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/antixray/DataBitsReader.java
@@ -0,0 +0,0 @@
@@ -960,7 +960,7 @@ index 7ac07ac07ac0..7ac07ac07ac0
+}
diff --git a/src/main/java/com/destroystokyo/paper/antixray/DataBitsWriter.java b/src/main/java/com/destroystokyo/paper/antixray/DataBitsWriter.java
new file mode 100644
index 7ac07ac07ac0..7ac07ac07ac0
index 000000000..37093419c
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/antixray/DataBitsWriter.java
@@ -0,0 +0,0 @@
@@ -1049,7 +1049,7 @@ index 7ac07ac07ac0..7ac07ac07ac0
+ }
+}
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index 7ac07ac07ac0..7ac07ac07ac0 100644
index 585de1bb2..4e8eb137a 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -0,0 +0,0 @@ public class Chunk implements IChunkAccess {
@@ -1071,7 +1071,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644
this.initLighting();
}
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
index 7ac07ac07ac0..7ac07ac07ac0 100644
index 2dc5a8594..9b4bc3ff6 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
@@ -0,0 +0,0 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
@@ -1093,7 +1093,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644
chunksection.getBlocks().a(nbttagcompound, "Palette", "BlockStates");
chunksection.a(new NibbleArray(nbttagcompound.getByteArray("BlockLight")));
diff --git a/src/main/java/net/minecraft/server/ChunkSection.java b/src/main/java/net/minecraft/server/ChunkSection.java
index 7ac07ac07ac0..7ac07ac07ac0 100644
index 7e4c79a1c..bdfc7d81f 100644
--- a/src/main/java/net/minecraft/server/ChunkSection.java
+++ b/src/main/java/net/minecraft/server/ChunkSection.java
@@ -0,0 +0,0 @@ public class ChunkSection {
@@ -1114,7 +1114,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644
if (flag) {
this.skyLight = new NibbleArray();
diff --git a/src/main/java/net/minecraft/server/ChunkTaskScheduler.java b/src/main/java/net/minecraft/server/ChunkTaskScheduler.java
index 7ac07ac07ac0..7ac07ac07ac0 100644
index 95eb1a84a..34019bd1b 100644
--- a/src/main/java/net/minecraft/server/ChunkTaskScheduler.java
+++ b/src/main/java/net/minecraft/server/ChunkTaskScheduler.java
@@ -0,0 +0,0 @@ public class ChunkTaskScheduler extends Scheduler<ChunkCoordIntPair, ChunkStatus
@@ -1136,7 +1136,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644
}) : (Scheduler.a) this.progressCache.get(chunkcoordintpair.a());
}
diff --git a/src/main/java/net/minecraft/server/DataPaletteBlock.java b/src/main/java/net/minecraft/server/DataPaletteBlock.java
index 7ac07ac07ac0..7ac07ac07ac0 100644
index 6e7454b13..71a3636be 100644
--- a/src/main/java/net/minecraft/server/DataPaletteBlock.java
+++ b/src/main/java/net/minecraft/server/DataPaletteBlock.java
@@ -0,0 +0,0 @@
@@ -1271,7 +1271,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644
int jx = along.length * 64 / 4096;
if (this.h == this.b) {
diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java
index 7ac07ac07ac0..7ac07ac07ac0 100644
index f8facddb4..b2afec5e4 100644
--- a/src/main/java/net/minecraft/server/NetworkManager.java
+++ b/src/main/java/net/minecraft/server/NetworkManager.java
@@ -0,0 +0,0 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
@@ -1332,7 +1332,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644
public void a() {
this.o();
diff --git a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
index 7ac07ac07ac0..7ac07ac07ac0 100644
index 22a262bb6..40ec398ee 100644
--- a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
+++ b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
@@ -0,0 +0,0 @@
@@ -1418,7 +1418,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644
if (flag) {
packetdataserializer.writeBytes(chunksection.getSkyLightArray().asBytes());
diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java
index 7ac07ac07ac0..7ac07ac07ac0 100644
index a0fcac329..2c7c8adf7 100644
--- a/src/main/java/net/minecraft/server/PlayerChunk.java
+++ b/src/main/java/net/minecraft/server/PlayerChunk.java
@@ -0,0 +0,0 @@ public class PlayerChunk {
@@ -1449,7 +1449,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644
} else {
this.a((Packet) (new PacketPlayOutMultiBlockChange(this.dirtyCount, this.dirtyBlocks, this.chunk)));
diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java
index 7ac07ac07ac0..7ac07ac07ac0 100644
index cae24961f..a9690fb1c 100644
--- a/src/main/java/net/minecraft/server/PlayerInteractManager.java
+++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java
@@ -0,0 +0,0 @@ public class PlayerInteractManager {
@@ -1462,32 +1462,32 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644
public void a(BlockPosition blockposition) {
diff --git a/src/main/java/net/minecraft/server/ProtoChunk.java b/src/main/java/net/minecraft/server/ProtoChunk.java
index 7ac07ac07ac0..7ac07ac07ac0 100644
index 0b79c1b16..6554c7727 100644
--- a/src/main/java/net/minecraft/server/ProtoChunk.java
+++ b/src/main/java/net/minecraft/server/ProtoChunk.java
@@ -0,0 +0,0 @@ public class ProtoChunk implements IChunkAccess {
private long s;
private final Map<WorldGenStage.Features, BitSet> t;
private boolean u;
public boolean needsDecoration; // CraftBukkit
+ private GeneratorAccess world; // Paper - Anti-Xray
- public ProtoChunk(int i, int j, ChunkConverter chunkconverter) {
- this(new ChunkCoordIntPair(i, j), chunkconverter);
+ private final GeneratorAccess world; // Paper - Anti-Xray
+ // Paper start - Anti-Xray - Support default constructors
+ public ProtoChunk(int ix, int jx, ChunkConverter chunkconverter) {
+ this(ix, jx, chunkconverter, null);
public ProtoChunk(int ix, int jx, ChunkConverter chunkconverter) {
- this(new ChunkCoordIntPair(ix, jx), chunkconverter);
+ this(new ChunkCoordIntPair(ix, jx), chunkconverter, null);
}
public ProtoChunk(ChunkCoordIntPair chunkcoordintpair, ChunkConverter chunkconverter) {
+ this(chunkcoordintpair, chunkconverter, null);
+ }
+ // Paper end
+
+ public ProtoChunk(int i, int j, ChunkConverter chunkconverter, GeneratorAccess world) { // Paper - Anti-Xray
+ this(new ChunkCoordIntPair(i, j), chunkconverter, world); // Paper - Anti-Xray
+ public ProtoChunk(int i, int j, ChunkConverter chunkconverter, GeneratorAccess world) {
+ this(new ChunkCoordIntPair(i, j), chunkconverter, world);
+ }
+
+ public ProtoChunk(ChunkCoordIntPair chunkcoordintpair, ChunkConverter chunkconverter, GeneratorAccess world) { // Paper - Anti-Xray
+ this.world = world; // Paper - Anti-Xray
+ public ProtoChunk(ChunkCoordIntPair chunkcoordintpair, ChunkConverter chunkconverter, GeneratorAccess world) {
+ this.world = world;
+ // Paper end
this.d = new AtomicInteger();
this.f = Maps.newEnumMap(HeightMap.Type.class);
this.g = ChunkStatus.EMPTY;
@@ -1495,11 +1495,11 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644
return iblockdata;
}
- this.j[j >> 4] = new ChunkSection(j >> 4 << 4, this.x());
+ this.j[j >> 4] = new ChunkSection(j >> 4 << 4, this.x(), this, this.world, true); // Paper - Anti-Xray
- this.j[jx >> 4] = new ChunkSection(jx >> 4 << 4, this.x());
+ this.j[jx >> 4] = new ChunkSection(jx >> 4 << 4, this.x(), this, this.world, true); // Paper - Anti-Xray
}
IBlockData iblockdata1 = this.j[j >> 4].getType(i & 15, j & 15, k & 15);
IBlockData iblockdata1 = this.j[jx >> 4].getType(ix & 15, jx & 15, kx & 15);
@@ -0,0 +0,0 @@ public class ProtoChunk implements IChunkAccess {
return;
}
@@ -1510,7 +1510,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644
if (enumskyblock == EnumSkyBlock.SKY) {
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 7ac07ac07ac0..7ac07ac07ac0 100644
index bb0a23fcb..d239fc6d3 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -0,0 +0,0 @@
@@ -1547,7 +1547,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644
if (iblockdata1 == null) {
// CraftBukkit start - remove blockstate if failed
diff --git a/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java b/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java
index 7ac07ac07ac0..7ac07ac07ac0 100644
index 550416bef..923d1b282 100644
--- a/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java
+++ b/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java
@@ -0,0 +0,0 @@ import org.bukkit.material.MaterialData;