public Array<Warp> createWarps(){
		Array<Warp> warps = new Array<>();
		MapProperties prop = tileMap.getProperties();

		//create right warp
		if(prop.get("next")!=null) {
			String next = prop.get("next", String.class);
			String nextWarp = prop.get("nextWarp", String.class);

			int nextID = 0;
			if(nextWarp!=null) nextID = Integer.parseInt(nextWarp);
			Rectangle rect = new Rectangle(width-Vars.TILE_SIZE*2, 0, Vars.TILE_SIZE*2, height);

			Warp w = new Warp(this, next.replaceAll(" ", ""), 1, nextID, rect.x, 
					rect.y+rect.height/2, rect.width, rect.height);

			w.setInstant(true);
			warps.add(w);
		}

		//create left warp
		if(prop.get("previous")!=null) {
			String next = prop.get("previous", String.class);
			String nextWarp = prop.get("prevWarp", String.class);

			int nextID = 1;
			if(nextWarp!=null) nextID = Integer.parseInt(nextWarp);
			Rectangle rect = new Rectangle(Vars.TILE_SIZE*2, 0, Vars.TILE_SIZE*2, height);

			Warp w = new Warp(this, next.replaceAll(" ", ""), 0, nextID, rect.x, 
					rect.y+rect.height/2, rect.width, rect.height);

			w.setInstant(true);
			warps.add(w);
		}

		//create all other warps
		if(tileMap.getLayers().get("entities")!=null){
			MapObjects objects = tileMap.getLayers().get("entities").getObjects();
			for(MapObject object : objects) {
				if (object instanceof RectangleMapObject) {
					Rectangle rect = ((RectangleMapObject) object).getRectangle();
					if(object.getProperties().get("warp")!=null) {
						String next = object.getProperties().get("next", String.class);
						String nextWarp = object.getProperties().get("nextWarp", String.class);
						String id = object.getProperties().get("ID", String.class);
						String condition = object.getProperties().get("warp", String.class);
						boolean instant = false;

						//instant property must have a constant tile offset to ensure that the player
						//doesn't constantly bounce between levels
						if(object.getProperties().get("instant")!=null)
							instant = true;

						int warpID = Integer.parseInt(id);
						int nextID = Integer.parseInt(nextWarp);
						Warp w = new Warp(this, next.replaceAll(" ", ""), warpID, nextID, rect.x+rect.width/2f, 
								rect.y+rect.height/2-Vars.TILE_SIZE*(9f/80f), rect.width, rect.height);
						w.setCondition(condition);
						w.setInstant(instant);
						warps.add(w);
					}
				}
			}
		}
		
		return warps;
	}