public void UpdateDoorOpen(AdvancedPhysicsTile tile) { if (world.GetTile(tile.x, tile.y, tile.z) != tile.block_type) return; world.SetTileNoPhysics(tile.x, tile.y, tile.z, (byte)tile.meta[0]); }
public void UpdateDoor(AdvancedPhysicsTile tile) { if (world.GetTile(tile.x, tile.y, tile.z) != tile.block_type) return; byte type = tile.block_type; if (world.GetTile(tile.x + 1, tile.y, tile.z) == type) { Queue(tile.x + 1, tile.y, tile.z, type); } if (world.GetTile(tile.x - 1, tile.y, tile.z) == type) { Queue(tile.x - 1, tile.y, tile.z, type); } if (world.GetTile(tile.x, tile.y + 1, tile.z) == type) { Queue(tile.x, tile.y + 1, tile.z, type); } if (world.GetTile(tile.x, tile.y - 1, tile.z) == type) { Queue(tile.x, tile.y - 1, tile.z, type); } if (world.GetTile(tile.x, tile.y, tile.z + 1) == type) { Queue(tile.x, tile.y, tile.z + 1, type); } if (world.GetTile(tile.x, tile.y, tile.z - 1) == type) { Queue(tile.x, tile.y, tile.z - 1, type); } world.SetTileNoPhysics(tile.x, tile.y, tile.z, (byte)tile.meta[0]); Queue(tile.x, tile.y, tile.z, (byte)tile.meta[0], PhysType.DoorOpen, new object[] { (byte)type }); }