public static void DoBlockUpdates(World world, Coordinates3D coordinates) { OnBlockUpdate(world.GetBlock(coordinates), world, coordinates); if ((coordinates + Coordinates3D.Up).Y < Chunk.Height) OnBlockUpdate(world.GetBlock(coordinates + Coordinates3D.Up), world, coordinates + Coordinates3D.Up); if ((coordinates + Coordinates3D.Down).Y >= 0) OnBlockUpdate(world.GetBlock(coordinates + Coordinates3D.Down), world, coordinates + Coordinates3D.Down); OnBlockUpdate(world.GetBlock(coordinates + Coordinates3D.North), world, coordinates + Coordinates3D.North); OnBlockUpdate(world.GetBlock(coordinates + Coordinates3D.South), world, coordinates + Coordinates3D.South); OnBlockUpdate(world.GetBlock(coordinates + Coordinates3D.East), world, coordinates + Coordinates3D.East); OnBlockUpdate(world.GetBlock(coordinates + Coordinates3D.West), world, coordinates + Coordinates3D.West); }
public static void OnItemUsedOnBlock(ItemDescriptor item, World world, Coordinates3D clickedBlock, Coordinates3D clickedSide, Coordinates3D cursorPosition) { var clicked = world.GetBlock(clickedBlock); if (OnBlockRightClicked(clicked, world, clickedBlock, clickedSide, cursorPosition)) { if ((clickedBlock + clickedSide).Y >= 0 && (clickedBlock + clickedSide).Y <= Chunk.Height) OnBlockPlaced(new BlockDescriptor(item.Id, (byte)item.Metadata), world, clickedBlock, clickedSide, cursorPosition); } }