Exemple #1
0
        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);
        }
Exemple #2
0
 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);
     }
 }