Start modeling out wrappers, not sure about this getInteracting()
This commit is contained in:
46
src/main/java/net/runelite/api/Actor.java
Normal file
46
src/main/java/net/runelite/api/Actor.java
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
package net.runelite.api;
|
||||||
|
|
||||||
|
public abstract class Actor extends Renderable
|
||||||
|
{
|
||||||
|
private Client client;
|
||||||
|
private net.runelite.rs.api.Actor actor;
|
||||||
|
|
||||||
|
public Actor(Client client, net.runelite.rs.api.Actor actor)
|
||||||
|
{
|
||||||
|
super(actor);
|
||||||
|
|
||||||
|
this.client = client;
|
||||||
|
this.actor = actor;
|
||||||
|
}
|
||||||
|
|
||||||
|
public abstract String getName();
|
||||||
|
|
||||||
|
public Actor getInteracting()
|
||||||
|
{
|
||||||
|
int i = actor.getInteracting();
|
||||||
|
if (i == -1)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// logic taken from runeloader.
|
||||||
|
if (i < 32767)
|
||||||
|
{
|
||||||
|
return client.getNpcs()[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
// XXX is this correct for i = 32767 ?
|
||||||
|
i = i - 32767 - 1;
|
||||||
|
return client.getPlayers()[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getHealth()
|
||||||
|
{
|
||||||
|
return actor.getHealth();
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getMaxHealth()
|
||||||
|
{
|
||||||
|
return actor.getMaxHealth();
|
||||||
|
}
|
||||||
|
}
|
||||||
35
src/main/java/net/runelite/api/Client.java
Normal file
35
src/main/java/net/runelite/api/Client.java
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
package net.runelite.api;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
public class Client
|
||||||
|
{
|
||||||
|
private net.runelite.rs.api.Client client;
|
||||||
|
|
||||||
|
public Client(net.runelite.rs.api.Client client)
|
||||||
|
{
|
||||||
|
this.client = client;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Player getLocalPlayer()
|
||||||
|
{
|
||||||
|
if (client.getLocalPlayer() == null)
|
||||||
|
return null;
|
||||||
|
|
||||||
|
return new Player(this, client.getLocalPlayer());
|
||||||
|
}
|
||||||
|
|
||||||
|
public NPC[] getNpcs()
|
||||||
|
{
|
||||||
|
return Arrays.stream(client.getCachedNPCs())
|
||||||
|
.map(npc -> npc != null ? new NPC(this, npc) : null)
|
||||||
|
.toArray(size -> new NPC[size]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Player[] getPlayers()
|
||||||
|
{
|
||||||
|
return Arrays.stream(client.getCachedPlayers())
|
||||||
|
.map(player -> player != null ? new Player(this, player) : null)
|
||||||
|
.toArray(size -> new Player[size]);
|
||||||
|
}
|
||||||
|
}
|
||||||
20
src/main/java/net/runelite/api/NPC.java
Normal file
20
src/main/java/net/runelite/api/NPC.java
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
package net.runelite.api;
|
||||||
|
|
||||||
|
import net.runelite.rs.api.NPCComposition;
|
||||||
|
|
||||||
|
public class NPC extends Actor
|
||||||
|
{
|
||||||
|
private net.runelite.rs.api.NPC npc;
|
||||||
|
|
||||||
|
public NPC(Client client, net.runelite.rs.api.NPC npc)
|
||||||
|
{
|
||||||
|
super(client, npc);
|
||||||
|
this.npc = npc;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getName()
|
||||||
|
{
|
||||||
|
return npc.getComposition().getName();
|
||||||
|
}
|
||||||
|
}
|
||||||
21
src/main/java/net/runelite/api/Player.java
Normal file
21
src/main/java/net/runelite/api/Player.java
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
package net.runelite.api;
|
||||||
|
|
||||||
|
public class Player extends Actor
|
||||||
|
{
|
||||||
|
private Client client;
|
||||||
|
private net.runelite.rs.api.Player player;
|
||||||
|
|
||||||
|
public Player(Client client, net.runelite.rs.api.Player player)
|
||||||
|
{
|
||||||
|
super(client, player);
|
||||||
|
|
||||||
|
this.player = player;
|
||||||
|
this.client = client;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getName()
|
||||||
|
{
|
||||||
|
return player.getName();
|
||||||
|
}
|
||||||
|
}
|
||||||
11
src/main/java/net/runelite/api/Renderable.java
Normal file
11
src/main/java/net/runelite/api/Renderable.java
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
package net.runelite.api;
|
||||||
|
|
||||||
|
public class Renderable
|
||||||
|
{
|
||||||
|
private net.runelite.rs.api.Renderable renderable;
|
||||||
|
|
||||||
|
public Renderable(net.runelite.rs.api.Renderable renderable)
|
||||||
|
{
|
||||||
|
this.renderable = renderable;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -7,10 +7,10 @@ import net.runelite.mapping.Import;
|
|||||||
public interface ClassInfo
|
public interface ClassInfo
|
||||||
{
|
{
|
||||||
@Import("methods")
|
@Import("methods")
|
||||||
Method getMethods();
|
Method[] getMethods();
|
||||||
|
|
||||||
@Import("fields")
|
@Import("fields")
|
||||||
Field getFields();
|
Field[] getFields();
|
||||||
|
|
||||||
@Import("args")
|
@Import("args")
|
||||||
byte[][][] getArgs();
|
byte[][][] getArgs();
|
||||||
|
|||||||
Reference in New Issue
Block a user