api(mixins): More object methods exposed

This commit is contained in:
Owain van Brakel
2021-09-25 03:01:43 +02:00
parent 910ff6c082
commit d6579901c6
6 changed files with 145 additions and 6 deletions

View File

@@ -30,10 +30,13 @@ import static net.runelite.api.Constants.ROOF_FLAG_BETWEEN;
import static net.runelite.api.Constants.ROOF_FLAG_DESTINATION;
import static net.runelite.api.Constants.ROOF_FLAG_HOVERED;
import static net.runelite.api.Constants.ROOF_FLAG_POSITION;
import net.runelite.api.DecorativeObject;
import net.runelite.api.GroundObject;
import net.runelite.api.Perspective;
import net.runelite.api.SceneTileModel;
import net.runelite.api.SceneTilePaint;
import net.runelite.api.Tile;
import net.runelite.api.WallObject;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.coords.WorldPoint;
import net.runelite.api.hooks.DrawCallbacks;
@@ -1240,4 +1243,61 @@ public abstract class RSSceneMixin implements RSScene
{
rl$tileShapes = tileShapes;
}
@Inject
@Override
public void removeWallObject(WallObject wallObject)
{
final Tile[][][] tiles = getTiles();
for (int y = 0; y < 104; ++y)
{
for (int x = 0; x < 104; ++x)
{
Tile tile = tiles[client.getPlane()][x][y];
if (tile != null && tile.getWallObject() == wallObject)
{
tile.setWallObject(null);
}
}
}
}
@Inject
@Override
public void removeDecorativeObject(DecorativeObject decorativeObject)
{
final Tile[][][] tiles = getTiles();
for (int y = 0; y < 104; ++y)
{
for (int x = 0; x < 104; ++x)
{
Tile tile = tiles[client.getPlane()][x][y];
if (tile != null && tile.getDecorativeObject() == decorativeObject)
{
tile.setDecorativeObject(null);
}
}
}
}
@Inject
@Override
public void removeGroundObject(GroundObject groundObject)
{
final Tile[][][] tiles = getTiles();
for (int y = 0; y < 104; ++y)
{
for (int x = 0; x < 104; ++x)
{
Tile tile = tiles[client.getPlane()][x][y];
if (tile != null && tile.getGroundObject() == groundObject)
{
tile.setGroundObject(null);
}
}
}
}
}