even even even more work
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user