internal void SetBlock(PositionBlock pos, int blockId) { PositionChunk positionChunk = PositionChunk.CreateFrom(pos); Chunk chunk = GetChunk(positionChunk); positionChunk.ConvertToLocalPosition(ref pos); chunk.SetLocalBlock(pos.X, pos.Y, pos.Z, blockId); }
internal Entity GetBlockEntity(PositionBlock position) { PositionChunk positionChunk = PositionChunk.CreateFrom(position); Chunk chunk = GetChunk(positionChunk); positionChunk.ConvertToLocalPosition(ref position); Entity entity = chunk.GetBlockEntity(position); return(entity); }
internal Entity GetBlockEntityFromPosition(PositionBlock pos) { if (pos.Y < 0) { return(null); } if (pos.Y >= Chunk.MaxSizeY) { return(null); } PositionChunk positionChunk = PositionChunk.CreateFrom(pos); Chunk chunk = GetChunk(positionChunk); positionChunk.ConvertToLocalPosition(ref pos); return(chunk.GetBlockEntityFromPosition(pos)); }
internal void SetBlockMetaData(PositionBlock pos, string variable, object value) { if (pos.Y < 0) { return; } if (pos.Y >= Chunk.MaxSizeY) { return; } PositionChunk positionChunk = PositionChunk.CreateFrom(pos); Chunk chunk = GetChunk(positionChunk); positionChunk.ConvertToLocalPosition(ref pos); chunk.SetBlockMetaData(pos, variable, value); }
internal object GetBlockMetaData(PositionBlock pos, string variable) { if (pos.Y < 0) { return(null); } if (pos.Y >= Chunk.MaxSizeY) { return(null); } PositionChunk positionChunk = PositionChunk.CreateFrom(pos); Chunk chunk = GetChunk(positionChunk); positionChunk.ConvertToLocalPosition(ref pos); return(chunk.GetBlockMetaData(pos, variable)); }
internal int GetBlock(PositionBlock pos) { if (pos.Y < 0) { return(0); } if (pos.Y >= Chunk.MaxSizeY) { return(0); } PositionChunk positionChunk = PositionChunk.CreateFrom(pos); Chunk chunk = GetChunk(positionChunk); positionChunk.ConvertToLocalPosition(ref pos); int blockId = chunk.GetLocalBlock(pos.X, pos.Y, pos.Z); return(blockId); }