api: mark getCollisionMaps as nullable

This commit is contained in:
Adam
2019-01-19 15:23:36 -05:00
parent 01fbcde008
commit ccae0c2c48
3 changed files with 13 additions and 2 deletions

View File

@@ -1425,6 +1425,7 @@ public interface Client extends GameEngine
* *
* @return the collision data * @return the collision data
*/ */
@Nullable
CollisionData[] getCollisionMaps(); CollisionData[] getCollisionMaps();
@VisibleForDevtools @VisibleForDevtools

View File

@@ -295,6 +295,11 @@ public class WorldArea
} }
CollisionData[] collisionData = client.getCollisionMaps(); CollisionData[] collisionData = client.getCollisionMaps();
if (collisionData == null)
{
return false;
}
int[][] collisionDataFlags = collisionData[plane].getFlags(); int[][] collisionDataFlags = collisionData[plane].getFlags();
if (dx != 0) if (dx != 0)

View File

@@ -27,6 +27,7 @@ package net.runelite.mixins;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import net.runelite.api.Actor; import net.runelite.api.Actor;
import net.runelite.api.CollisionData;
import net.runelite.api.CollisionDataFlag; import net.runelite.api.CollisionDataFlag;
import net.runelite.api.Constants; import net.runelite.api.Constants;
import net.runelite.api.DecorativeObject; import net.runelite.api.DecorativeObject;
@@ -59,7 +60,6 @@ import net.runelite.api.mixins.Inject;
import net.runelite.api.mixins.Mixin; import net.runelite.api.mixins.Mixin;
import net.runelite.api.mixins.Shadow; import net.runelite.api.mixins.Shadow;
import net.runelite.rs.api.RSClient; import net.runelite.rs.api.RSClient;
import net.runelite.rs.api.RSCollisionData;
import net.runelite.rs.api.RSDeque; import net.runelite.rs.api.RSDeque;
import net.runelite.rs.api.RSGameObject; import net.runelite.rs.api.RSGameObject;
import net.runelite.rs.api.RSItem; import net.runelite.rs.api.RSItem;
@@ -394,7 +394,12 @@ public abstract class RSTileMixin implements RSTile
return false; return false;
} }
RSCollisionData[] collisionData = client.getCollisionMaps(); CollisionData[] collisionData = client.getCollisionMaps();
if (collisionData == null)
{
return false;
}
int z = this.getPlane(); int z = this.getPlane();
int[][] collisionDataFlags = collisionData[z].getFlags(); int[][] collisionDataFlags = collisionData[z].getFlags();