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
|
||||
{
|
||||
@Import("methods")
|
||||
Method getMethods();
|
||||
Method[] getMethods();
|
||||
|
||||
@Import("fields")
|
||||
Field getFields();
|
||||
Field[] getFields();
|
||||
|
||||
@Import("args")
|
||||
byte[][][] getArgs();
|
||||
|
||||
Reference in New Issue
Block a user