Add getHeight method to ChunkData (#12311)
This commit is contained in:
@ -8,12 +8,13 @@ import net.minecraft.world.level.block.EntityBlock;
|
||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.chunk.ChunkAccess;
|
||||
import org.bukkit.HeightMap;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.block.Biome;
|
||||
import org.bukkit.block.data.BlockData;
|
||||
import org.bukkit.craftbukkit.CraftHeightMap;
|
||||
import org.bukkit.craftbukkit.block.CraftBiome;
|
||||
import org.bukkit.craftbukkit.block.CraftBlockType;
|
||||
import org.bukkit.craftbukkit.block.data.CraftBlockData;
|
||||
import org.bukkit.craftbukkit.util.CraftMagicNumbers;
|
||||
import org.bukkit.generator.ChunkGenerator;
|
||||
@ -180,4 +181,12 @@ public final class CraftChunkData implements ChunkGenerator.ChunkData {
|
||||
access.removeBlockEntity(blockPosition);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getHeight(final HeightMap heightMap, final int x, final int z) {
|
||||
Preconditions.checkArgument(heightMap != null, "HeightMap cannot be null");
|
||||
Preconditions.checkArgument(x >= 0 && x <= 15 && z >= 0 && z <= 15, "Cannot get height outside of a chunks bounds, must be between 0 and 15, got x: %s, z: %s", x, z);
|
||||
|
||||
return getHandle().getHeight(CraftHeightMap.toNMS(heightMap), x, z);
|
||||
}
|
||||
}
|
||||
|
||||
@ -8,6 +8,7 @@ import net.minecraft.core.Registry;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.chunk.LevelChunkSection;
|
||||
import org.bukkit.HeightMap;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Biome;
|
||||
import org.bukkit.block.data.BlockData;
|
||||
@ -200,4 +201,9 @@ public final class OldCraftChunkData implements ChunkGenerator.ChunkData {
|
||||
Set<BlockPos> getLights() {
|
||||
return this.lights;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getHeight(HeightMap heightMap, final int x, final int z) {
|
||||
throw new UnsupportedOperationException("Unsupported, in older chunk generator api");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user