even even even more work

This commit is contained in:
MiniDigger | Martin
2020-06-25 16:09:55 +02:00
parent 4aa7955818
commit e943ece469
125 changed files with 857 additions and 3512 deletions

View File

@@ -26,10 +26,10 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
@Nullable
private BlockPosition a(BlockPosition blockposition, IBlockAccess iblockaccess) {
- if (iblockaccess.getType(blockposition).getBlock() == this.g) {
- if (iblockaccess.getType(blockposition).a(this.g)) {
+ Block block = world.getBlockIfLoaded(blockposition); // Paper
+ if (block == null) return null; // Paper
+ if (block == this.g) { // Paper
+ if (block.a(this.g)) { // Paper
return blockposition;
} else {
BlockPosition[] ablockposition = new BlockPosition[]{blockposition.down(), blockposition.west(), blockposition.east(), blockposition.north(), blockposition.south(), blockposition.down().down()};
@@ -37,8 +37,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
for (int j = 0; j < i; ++j) {
BlockPosition blockposition1 = ablockposition1[j];
- if (iblockaccess.getType(blockposition1).getBlock() == this.g) {
+ if (world.getBlockIfLoaded(blockposition1) == this.g) { // Paper
- if (iblockaccess.getType(blockposition1).a(this.g)) {
+ if (iblockaccess.getBlockIfLoaded(blockposition1).a(this.g)) { // Paper
return blockposition1;
}
}
@@ -49,7 +49,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
- IChunkAccess ichunkaccess = iworldreader.getChunkAt(blockposition.getX() >> 4, blockposition.getZ() >> 4, ChunkStatus.FULL, false);
+ IChunkAccess ichunkaccess = iworldreader.getChunkIfLoadedImmediately(blockposition.getX() >> 4, blockposition.getZ() >> 4); // Paper
return ichunkaccess == null ? false : ichunkaccess.getType(blockposition).getBlock() == this.g && ichunkaccess.getType(blockposition.up()).isAir() && ichunkaccess.getType(blockposition.up(2)).isAir();
return ichunkaccess == null ? false : ichunkaccess.getType(blockposition).a(this.g) && ichunkaccess.getType(blockposition.up()).isAir() && ichunkaccess.getType(blockposition.up(2)).isAir();
}
diff --git a/src/main/java/net/minecraft/server/RandomPositionGenerator.java b/src/main/java/net/minecraft/server/RandomPositionGenerator.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
@@ -67,9 +67,9 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
});
}
- if (flag || !entitycreature.world.getFluid(blockposition2).a(TagsFluid.WATER)) {
- if (flag || !entitycreature.world.getFluid(blockposition2).a((Tag) TagsFluid.WATER)) {
+ Fluid fluid = entitycreature.world.getFluidIfLoaded(blockposition2); // Paper
+ if (flag || (fluid != null && !fluid.a(TagsFluid.WATER))) { // Paper
PathType pathtype = PathfinderNormal.b(entitycreature.world, blockposition2.getX(), blockposition2.getY(), blockposition2.getZ());
+ if (flag || (fluid != null && !fluid.a((Tag) TagsFluid.WATER))) { // Paper
PathType pathtype = PathfinderNormal.a((IBlockAccess) entitycreature.world, blockposition2.i());
if (entitycreature.a(pathtype) == 0.0F) {