SPIGOT-5310: Add Chunk.contains

By: md_5 <git@md-5.net>
This commit is contained in:
CraftBukkit/Spigot 2019-09-08 11:39:08 +10:00
parent 473130fb2b
commit 280cf8ba51

View file

@ -25,7 +25,9 @@ import org.bukkit.ChunkSnapshot;
import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.block.BlockState;
import org.bukkit.block.data.BlockData;
import org.bukkit.craftbukkit.block.CraftBlock;
import org.bukkit.craftbukkit.block.data.CraftBlockData;
import org.bukkit.craftbukkit.util.CraftMagicNumbers;
import org.bukkit.entity.Entity;
import org.bukkit.plugin.Plugin;
@ -211,6 +213,20 @@ public class CraftChunk implements Chunk {
getHandle().b(ticks);
}
@Override
public boolean contains(BlockData block) {
Preconditions.checkArgument(block != null, "Block cannot be null");
IBlockData nms = ((CraftBlockData) block).getState();
for (ChunkSection section : getHandle().getSections()) {
if (section != null && section.getBlocks().a(nms)) {
return true;
}
}
return false;
}
@Override
public ChunkSnapshot getChunkSnapshot() {
return getChunkSnapshot(true, false, false);