public void Add(WorldEditBlock worldEditBlock) { if (worldEditBlock.IsPlantBlock()) { if (this.Plants.ContainsKey(worldEditBlock.Position)) { return; } this.Add(this.Plants, worldEditBlock); } else if (worldEditBlock.IsWorldObjectBlock()) { if (this.WorldObjects.ContainsKey(worldEditBlock.Position)) { return; } this.Add(this.WorldObjects, worldEditBlock); } else { if (this.Blocks.ContainsKey(worldEditBlock.Position)) { return; } this.Add(this.Blocks, worldEditBlock); } }
public static void RestoreBlock(WorldEditBlock block, Vector3i position, UserSession session) { if (IsImpenetrable(position)) { return; } ClearPosition(position); if (block.IsEmptyBlock()) { RestoreEmptyBlock(position); } else if (block.IsPlantBlock()) { RestorePlantBlock(block.BlockType, position, block.BlockData); } else if (block.IsWorldObjectBlock()) { RestoreWorldObjectBlock(block.BlockType, position, block.BlockData, session); } else { RestoreBlock(block.BlockType, position); } }