fix: OtherChunkAccessibleContext.get/setBlockState() should use level pos instead of chunk local pos

This commit is contained in:
daoge_cmd 2024-06-19 01:05:37 +08:00
parent e68f928e38
commit 2d0e4a83b0

View File

@ -41,12 +41,12 @@ public record AllayProtoWorld(AllayServerWorld allayServerWorld, OtherChunkAcces
@Override @Override
public void setBlockState(int x, int y, int z, BlockState data, boolean physics) { public void setBlockState(int x, int y, int z, BlockState data, boolean physics) {
context.setBlockState(x & 15, y, z & 15, ((AllayBlockState)data).allayBlockState()); context.setBlockState(x, y, z, ((AllayBlockState)data).allayBlockState());
} }
@Override @Override
public BlockState getBlockState(int x, int y, int z) { public BlockState getBlockState(int x, int y, int z) {
var blockState = context.getBlockState(x & 15, y, z & 15); var blockState = context.getBlockState(x, y, z);
return new AllayBlockState(blockState, Mapping.blockStateBeToJe(blockState)); return new AllayBlockState(blockState, Mapping.blockStateBeToJe(blockState));
} }