NOT FINISHED!!! Current Progress on 1.13-pre7 update

This work is 100% unfinished. I am pushing it up so that we as a team
can work on this update.

Do not try to use this branch. You will fail.
This commit is contained in:
Aikar
2018-07-14 21:53:17 -04:00
parent 898b8957a8
commit 6d1a918378
180 changed files with 1801 additions and 5796 deletions

View File

@@ -7,25 +7,27 @@ This causes the nether to spam unload/reload chunks, plus overall
bad behavior.
diff --git a/src/main/java/net/minecraft/server/BlockFire.java b/src/main/java/net/minecraft/server/BlockFire.java
index a3a5c853c..6832a19af 100644
index b6caf4c8a..f3a278c0b 100644
--- a/src/main/java/net/minecraft/server/BlockFire.java
+++ b/src/main/java/net/minecraft/server/BlockFire.java
@@ -0,0 +0,0 @@ public class BlockFire extends Block {
}
BlockPosition blockposition1 = blockposition.a(j, l, k);
+ if (!world.isLoaded(blockposition1)) continue; // Paper
int j1 = this.d(world, blockposition1);
blockposition_mutableblockposition.g(blockposition).d(l, j1, i1);
+ if (!world.isLoaded(blockposition_mutableblockposition)) continue; // Paper
int l1 = this.a((IWorldReader) world, (BlockPosition) blockposition_mutableblockposition);
if (j1 > 0) {
if (l1 > 0) {
@@ -0,0 +0,0 @@ public class BlockFire extends Block {
}
private void a(World world, BlockPosition blockposition, int i, Random random, int j, BlockPosition sourceposition) { // CraftBukkit add sourceposition
- int k = this.f(world.getType(blockposition).getBlock());
+ // Paper start
+ final IBlockData iblockdata = world.getTypeIfLoaded(blockposition);
+ if (iblockdata == null) return;
int k = this.e(world.getType(blockposition).getBlock());
+ int k = this.f(iblockdata.getBlock());
+ // Paper end
if (random.nextInt(i) < k) {
- IBlockData iblockdata = world.getType(blockposition);
@@ -37,9 +39,13 @@ index a3a5c853c..6832a19af 100644
for (int k = 0; k < j; ++k) {
EnumDirection enumdirection = aenumdirection[k];
+ final IBlockData type = world.getTypeIfLoaded(blockposition.shift(enumdirection)); // Paper
+ if (type == null) continue; // Paper
i = Math.max(this.f(world.getType(blockposition.shift(enumdirection)).getBlock()), i);
- i = Math.max(this.g(iworldreader.getType(blockposition.shift(enumdirection)).getBlock()), i);
+ // Paper start
+ final IBlockData type = ((World)iworldreader).getTypeIfLoaded(blockposition.shift(enumdirection));
+ if (type == null) continue;
+ i = Math.max(this.g(type.getBlock()), i);
+ // Paper end
}
return i;
--