protected void UpdateBlocks(Level world) { world.GetBlock(Coordinates.BlockUp()).BlockUpdate(world, Coordinates); world.GetBlock(Coordinates.BlockDown()).BlockUpdate(world, Coordinates); world.GetBlock(Coordinates.BlockWest()).BlockUpdate(world, Coordinates); world.GetBlock(Coordinates.BlockEast()).BlockUpdate(world, Coordinates); world.GetBlock(Coordinates.BlockSouth()).BlockUpdate(world, Coordinates); world.GetBlock(Coordinates.BlockNorth()).BlockUpdate(world, Coordinates); }
public override void BlockUpdate(Level level, BlockCoordinates blockCoordinates) { bool shouldKeep = true; shouldKeep &= IsValid(level.GetBlock(Coordinates.BlockUp())); shouldKeep &= IsValid(level.GetBlock(Coordinates.BlockDown())); if (Metadata < 2) { shouldKeep &= IsValid(level.GetBlock(Coordinates.BlockWest())); shouldKeep &= IsValid(level.GetBlock(Coordinates.BlockEast())); } else { shouldKeep &= IsValid(level.GetBlock(Coordinates.BlockSouth())); shouldKeep &= IsValid(level.GetBlock(Coordinates.BlockNorth())); } if (!shouldKeep) { Fill(level, Coordinates); } }