From fa6cdb897ea40c9f0023141c6562af1a7f5a3bef Mon Sep 17 00:00:00 2001 From: ThatGamerBlue Date: Wed, 24 Mar 2021 21:51:18 +0000 Subject: [PATCH] api: fix bug with tile --- buildSrc/src/main/kotlin/Dependencies.kt | 2 +- .../src/main/java/net/runelite/api/Tile.java | 9 +++++- .../net/runelite/api/queries/TileQuery.java | 29 ++++++++++++++++++- 3 files changed, 37 insertions(+), 3 deletions(-) diff --git a/buildSrc/src/main/kotlin/Dependencies.kt b/buildSrc/src/main/kotlin/Dependencies.kt index 90b866be0b..ded2106f2a 100644 --- a/buildSrc/src/main/kotlin/Dependencies.kt +++ b/buildSrc/src/main/kotlin/Dependencies.kt @@ -27,7 +27,7 @@ object ProjectVersions { const val launcherVersion = "2.2.0" const val rlVersion = "1.7.3" - const val openosrsVersion = "4.2.0" + const val openosrsVersion = "4.2.1" const val rsversion = 194 const val cacheversion = 165 diff --git a/runelite-api/src/main/java/net/runelite/api/Tile.java b/runelite-api/src/main/java/net/runelite/api/Tile.java index a5b0c1d213..c9473da415 100644 --- a/runelite-api/src/main/java/net/runelite/api/Tile.java +++ b/runelite-api/src/main/java/net/runelite/api/Tile.java @@ -29,7 +29,7 @@ import java.util.List; /** * Represents a tile in the game. */ -public interface Tile extends TileObject +public interface Tile extends Locatable { /** * Gets the decoration on the tile. @@ -108,6 +108,13 @@ public interface Tile extends TileObject */ Point getSceneLocation(); + /** + * Gets the plane that this tile is on. + * + * @return the plane + */ + int getPlane(); + /** * Get the plane this tile is rendered on, which is where the tile heights are from. * diff --git a/runelite-api/src/main/java/net/runelite/api/queries/TileQuery.java b/runelite-api/src/main/java/net/runelite/api/queries/TileQuery.java index 2918b47539..dc53168fa4 100644 --- a/runelite-api/src/main/java/net/runelite/api/queries/TileQuery.java +++ b/runelite-api/src/main/java/net/runelite/api/queries/TileQuery.java @@ -24,14 +24,41 @@ */ package net.runelite.api.queries; +import java.util.ArrayList; +import java.util.List; import java.util.Objects; import java.util.stream.Collectors; import net.runelite.api.Client; +import net.runelite.api.Constants; import net.runelite.api.LocatableQueryResults; +import net.runelite.api.Scene; import net.runelite.api.Tile; -public class TileQuery extends TileObjectQuery +@Deprecated(since = "4.2.1", forRemoval = true) +public class TileQuery extends LocatableQuery { + private List getTiles(Client client) + { + List tilesList = new ArrayList<>(); + Scene scene = client.getScene(); + Tile[][][] tiles = scene.getTiles(); + int z = client.getPlane(); + for (int x = 0; x < Constants.SCENE_SIZE; ++x) + { + for (int y = 0; y < Constants.SCENE_SIZE; ++y) + { + Tile tile = tiles[z][x][y]; + if (tile == null) + { + continue; + } + tilesList.add(tile); + } + } + return tilesList; + } + + @Deprecated(since = "4.2.1", forRemoval = true) @Override public LocatableQueryResults result(Client client) {