Add 'runelite-api/' from commit '934060b327413003846e150fd3296421c3ca8a19'

git-subtree-dir: runelite-api
git-subtree-mainline: 3db8786720370327a5c51682c551e2fbb6a497a7
git-subtree-split: 934060b327
This commit is contained in:
Adam
2016-04-25 18:54:52 -04:00
57 changed files with 14135 additions and 0 deletions

View 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();
}
}

View File

@@ -0,0 +1,60 @@
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]);
}
public int[] getBoostedSkillLevels()
{
return client.getBoostedSkillLevels();
}
public int[] getRealSkillLevels()
{
return client.getRealSkillLevels();
}
public int[] getSkillExperiences()
{
return client.getSkillExperiences();
}
public void sendGameMessage(String message)
{
client.sendGameMessage(99, "", message);
}
public GameState getGameState()
{
return GameState.of(client.getGameState());
}
}

View File

@@ -0,0 +1,27 @@
package net.runelite.api;
public enum GameState
{
UNKNOWN(-1),
STARTING(0),
LOGIN_SCREEN(10),
LOGGING_IN(20),
LOADING(25),
LOGGED_IN(30),
HOPPING(45);
private final int state;
GameState(int state)
{
this.state = state;
}
public static GameState of(int state)
{
for (GameState gs : GameState.values())
if (gs.state == state)
return gs;
return UNKNOWN;
}
}

File diff suppressed because it is too large Load Diff

View 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();
}
}

File diff suppressed because it is too large Load Diff

View 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();
}
}

View 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;
}
}

View File

@@ -0,0 +1,40 @@
package net.runelite.api;
public enum Skill
{
ATTACK("Attack"),
DEFENCE("Defence"),
STRENGTH("Strength"),
HITPOINTS("Hitpoints"),
RANGED("Ranged"),
PRAYER("Prayer"),
MAGIC("Magic"),
COOKING("Cooking"),
WOODCUTTING("Woodcutting"),
FLETCHING("Fletching"),
FISHING("Fishing"),
FIREMARKING("Firemarking"),
CRAFTING("Crafting"),
SMITHING("Smithing"),
MINING("Mining"),
HERBLORE("Herblore"),
AGILITY("Agility"),
THIEVING("Thieving"),
SLAYER("Slayer"),
FARMING("Farming"),
RUNECRAFT("Runecraft"),
HUNTER("Hunter"),
CONSTRUCTION("Construction");
private final String name;
Skill(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
}