Merge remote-tracking branch 'runelite/master' into 1710-merge

This commit is contained in:
Owain van Brakel
2019-10-17 19:12:46 +02:00
75 changed files with 10716 additions and 639 deletions
@@ -25,119 +25,39 @@
package net.runelite.api;
/**
* Represents an indexed sprite.
* Represents an paletted sprite.
*/
public interface IndexedSprite
{
/**
* Gets the pixels contained by the sprite.
*
* @return the sprite pixels
* The bitmap of this sprite. Each value is an index into {@link #getPalette()}.
* 0 is transparent
*/
byte[] getPixels();
/**
* Sets the pixels contained by the sprite.
*
* @param pixels the new sprite pixels
*/
void setPixels(byte[] pixels);
/**
* Gets the color palette for the sprites pixels.
*
* @return the color palette
* The color palette in RGB. The zero index is unused.
*/
int[] getPalette();
/**
* Sets the color palette for the sprites pixels.
*
* @param palette the new color palette
*/
void setPalette(int[] palette);
/**
* Gets the offset of the sprite along the x-axis.
*
* @return the x-axis offset
*/
int getOffsetX();
/**
* Sets the offset of the sprite along the x-axis.
*
* @param offsetX new x-axis offset
*/
void setOffsetX(int offsetX);
/**
* Gets the offset of the sprite along the y-axis.
*
* @return the y-axis offset
*/
int getOffsetY();
/**
* Sets the offset of the sprite along the y-axis.
*
* @param offsetY new y-axis offset
*/
void setOffsetY(int offsetY);
/**
* Gets the width of the sprite.
*
* @return the width
*/
int getWidth();
/**
* Sets the width of the sprite.
*
* @param width the new width
*/
void setWidth(int width);
/**
* Gets the original width of the sprite.
*
* @return the width
*/
int getOriginalWidth();
/**
* Sets the original width of the sprite.
*
* @param originalWidth the width
*/
int getHeight();
void setHeight(int height);
int getOriginalWidth();
void setOriginalWidth(int originalWidth);
/**
* Gets the height of the sprite.
*
* @return the height
*/
int getHeight();
/**
* Sets the height of the sprite.
*
* @param height the height
*/
void setHeight(int height);
/**
* Gets the original height of the sprite.
*
* @return the height
*/
int getOriginalHeight();
/**
* Sets the original height of the sprite.
*
* @param originalHeight the height
*/
void setOriginalHeight(int originalHeight);
}
@@ -8080,16 +8080,17 @@ public final class ItemID
public static final int BIRD_SNARE_PACK = 12740;
public static final int BOX_TRAP_PACK = 12742;
public static final int MAGIC_IMP_BOX_PACK = 12744;
public static final int MYSTERIOUS_EMBLEM = 12746;
public static final int MYSTERIOUS_EMBLEM_TIER_2 = 12748;
public static final int MYSTERIOUS_EMBLEM_TIER_3 = 12749;
public static final int MYSTERIOUS_EMBLEM_TIER_4 = 12750;
public static final int MYSTERIOUS_EMBLEM_TIER_5 = 12751;
public static final int MYSTERIOUS_EMBLEM_TIER_6 = 12752;
public static final int MYSTERIOUS_EMBLEM_TIER_7 = 12753;
public static final int MYSTERIOUS_EMBLEM_TIER_8 = 12754;
public static final int MYSTERIOUS_EMBLEM_TIER_9 = 12755;
public static final int MYSTERIOUS_EMBLEM_TIER_10 = 12756;
public static final int ARCHAIC_EMBLEM_TIER_1 = 12746;
public static final int ARCHAIC_EMBLEM_TIER_1_12747 = 12747;
public static final int ARCHAIC_EMBLEM_TIER_2 = 12748;
public static final int ARCHAIC_EMBLEM_TIER_3 = 12749;
public static final int ARCHAIC_EMBLEM_TIER_4 = 12750;
public static final int ARCHAIC_EMBLEM_TIER_5 = 12751;
public static final int ARCHAIC_EMBLEM_TIER_6 = 12752;
public static final int ARCHAIC_EMBLEM_TIER_7 = 12753;
public static final int ARCHAIC_EMBLEM_TIER_8 = 12754;
public static final int ARCHAIC_EMBLEM_TIER_9 = 12755;
public static final int ARCHAIC_EMBLEM_TIER_10 = 12756;
public static final int BLUE_DARK_BOW_PAINT = 12757;
public static final int GREEN_DARK_BOW_PAINT = 12759;
public static final int YELLOW_DARK_BOW_PAINT = 12761;
@@ -10860,6 +10861,7 @@ public final class ItemID
public static final int HEALER_ICON_23484 = 23484;
public static final int HEALER_ICON_23485 = 23485;
public static final int HEALER_ICON_23486 = 23486;
public static final int ARCHAIC_EMBLEM_TIER_10_23487 = 23487;
public static final int WINE_OF_ZAMORAK_23489 = 23489;
public static final int LARRANS_KEY = 23490;
public static final int SRARACHA = 23495;
@@ -11285,5 +11287,11 @@ public final class ItemID
public static final int BASILISK_JAW = 24268;
public static final int NEITIZNOT_FACEGUARD = 24271;
public static final int BASILISK_KNIGHT = 24276;
public static final int MYSTERIOUS_EMBLEM_TIER_1 = 24277;
public static final int MYSTERIOUS_EMBLEM_TIER_2 = 24279;
public static final int MYSTERIOUS_EMBLEM_TIER_3 = 24281;
public static final int MYSTERIOUS_EMBLEM_TIER_4 = 24283;
public static final int MYSTERIOUS_EMBLEM_TIER_5 = 24285;
public static final int DECORATIVE_EMBLEM = 24287;
/* This file is automatically generated. Do not edit. */
}
@@ -24,91 +24,70 @@
*/
package net.runelite.api;
/**
* Information about a specific {@link NpcID}
*/
public interface NPCDefinition
{
/**
* Gets the name of the NPC.
*
* @return the name
*/
String getName();
/**
* Gets the model IDs that compose this NPC.
*
* @return the NPCs model IDs
*/
int[] getModels();
/**
* Gets an array of possible right-click menu actions that can be
* performed on the NPC.
*
* @return the menu actions
* The 5 menuops this NPC has when in world. Index 0 corresponds to
* {@link MenuAction#NPC_FIRST_OPTION}, Index 2 to
* {@link MenuAction#NPC_SECOND_OPTION} and so on.
*/
String[] getActions();
/**
* Gets whether the NPC can be clicked.
*
* @return true if the NPC can be clicked, false otherwise
*/
boolean isClickable();
/**
* Gets whether the NPC is visible on the mini-map.
*
* @return the mini-map visible state
*/
boolean isMinimapVisible();
/**
* Gets whether the NPC is visible.
*
* @return the visible state
*/
boolean isVisible();
/**
* Gets the ID of the NPC.
*
* @return the ID of the NPC
* @see NpcID
*/
int getId();
/**
* Gets the combat level of the NPC.
*
* @return the combat level, -1 if none
*/
int getCombatLevel();
/**
* Gets the configuration data for the NPC.
*
* @return the configuration data
* Get the {@link NpcID}s of NPCs this can transform into, depending
* on a {@link Varbits} or {@link VarPlayer}
*/
int[] getConfigs();
/**
* Transforms this NPC into a new state, which may have a different ID.
* Get the NPC composition the player's state says this NPC should
* transmogrify into.
*
* @return the transformed composition
* @throws NullPointerException if {@link #getConfigs()} is null
*/
NPCDefinition transform();
/**
* Gets the size of the NPC.
*
* @return the NPCs size
* How many tiles wide this NPC is
*/
int getSize();
/**
* Gets the displayed overhead icon of the NPC.
*
* @return the overhead icon
*/
HeadIcon getOverheadIcon();
}
@@ -286,7 +286,6 @@ public final class NpcID
public static final int DWARF = 290;
public static final int CHAOS_DWARF = 291;
public static final int DWARF_292 = 292;
public static final int DWARF_293 = 293;
public static final int DWARF_294 = 294;
public static final int DWARF_295 = 295;
public static final int DWARF_296 = 296;
@@ -301,14 +300,13 @@ public final class NpcID
public static final int JENNIFER = 305;
public static final int LUMBRIDGE_GUIDE = 306;
public static final int DR_JEKYLL = 307;
public static final int EMBLEM_TRADER = 308;
public static final int REACHER = 309;
public static final int AYESHA = 310;
public static final int ADAM = 311;
public static final int FROG = 312;
public static final int REACHER_313 = 313;
public static final int DR_JEKYLL_314 = 314;
public static final int EMBLEM_TRADER = 315;
public static final int EMBLEM_TRADER_316 = 316;
public static final int PAUL = 317;
public static final int DARK_CORE = 318;
public static final int CORPOREAL_BEAST = 319;
@@ -7161,8 +7159,7 @@ public final class NpcID
public static final int REVENANT_DARK_BEAST = 7938;
public static final int REVENANT_KNIGHT = 7939;
public static final int REVENANT_DRAGON = 7940;
public static final int EMBLEM_TRADER_7941 = 7941;
public static final int EMBLEM_TRADER_7942 = 7942;
public static final int EMBLEM_TRADER_7943 = 7943;
public static final int FISHING_SPOT_7946 = 7946;
public static final int FISHING_SPOT_7947 = 7947;
public static final int CORSAIR_TRAITOR_HARD = 7948;
@@ -4551,7 +4551,6 @@ public final class NullItemID
public static final int NULL_12741 = 12741;
public static final int NULL_12743 = 12743;
public static final int NULL_12745 = 12745;
public static final int NULL_12747 = 12747;
public static final int NULL_12758 = 12758;
public static final int NULL_12760 = 12760;
public static final int NULL_12762 = 12762;
@@ -12416,7 +12415,6 @@ public final class NullItemID
public static final int NULL_23456 = 23456;
public static final int NULL_23457 = 23457;
public static final int NULL_23459 = 23459;
public static final int NULL_23487 = 23487;
public static final int NULL_23488 = 23488;
public static final int NULL_23491 = 23491;
public static final int NULL_23492 = 23492;
@@ -12783,5 +12781,10 @@ public final class NullItemID
public static final int NULL_24273 = 24273;
public static final int NULL_24274 = 24274;
public static final int NULL_24275 = 24275;
public static final int NULL_24278 = 24278;
public static final int NULL_24280 = 24280;
public static final int NULL_24282 = 24282;
public static final int NULL_24284 = 24284;
public static final int NULL_24286 = 24286;
/* This file is automatically generated. Do not edit. */
}
@@ -25,58 +25,52 @@
package net.runelite.api;
/**
* Represents the template of a specific object.
* Information about a specific {@link ObjectID}
*/
public interface ObjectDefinition
{
/**
* Gets ID for the object.
*
* @return the object ID
* @see ObjectID
*/
int getId();
/**
* Gets the name of the object.
*
* @return the object name
*/
String getName();
/**
* Gets an array of possible right-click menu actions that can be
* performed on the object.
*
* @return the menu actions
* The 5 menuops this object has when in world. Index 0 corresponds to
* {@link MenuAction#GAME_OBJECT_FIRST_OPTION}, Index 2 to
* {@link MenuAction#GAME_OBJECT_SECOND_OPTION} and so on.
*/
String[] getActions();
/**
* Gets the map scene ID for the object.
*
* @return the scene ID
* Gets the index of this object in the {@link Client#getMapScene()}
* array, or -1 if it has no map scene icon
*/
int getMapSceneId();
/**
* Gets the map icon ID for the object.
*
* @return the map icon ID
* Gets the index of this object in the {@link Client#getMapIcons()}
* array, or -1 if it has no full map icon
*/
int getMapIconId();
/**
* Gets IDs for objects that are considered fakes of this object,
* such as barrows walls.
*
* @return the impostor IDs
* Get the {@link ObjectID}s of objects this can transform into, depending
* on a {@link Varbits} or {@link VarPlayer}
*/
int[] getImpostorIds();
/**
* Gets the impostor composition for this object.
* Get the object composition the player's state says this object should
* transmogrify into.
*
* @return the impostor
* @throws NullPointerException if {@link #getImpostorIds()} is null
*/
ObjectDefinition getImpostor();
}
@@ -19383,5 +19383,6 @@ public final class ObjectID
public static final int DOOR_37422 = 37422;
public static final int THE_JORMUNGAND = 37424;
public static final int ROUGH_WALL_37431 = 37431;
public static final int STREAK_INFO = 37434;
/* This file is automatically generated. Do not edit. */
}
@@ -30,21 +30,19 @@ public interface TextureProvider
/**
* Set the brightness for textures, clearing the texture cache.
* @param brightness
*
* .9 is the darkest value available in the standard options
* .6 is the brightest value
*/
void setBrightness(double brightness);
/**
* Get all textures
*
* @return
*/
Texture[] getTextures();
/**
* Get the pixels for a texture
* @param textureId
* @return
*/
int[] load(int textureId);
}
@@ -30,17 +30,10 @@ package net.runelite.api;
public interface TileItem extends Entity
{
/**
* Gets the items ID.
*
* @return the ID of the item
* @see ItemID
*/
int getId();
/**
* Gets the items quantity.
*
* @return the items quantity
*/
int getQuantity();
}
@@ -32,88 +32,65 @@ import java.awt.Shape;
import javax.annotation.Nullable;
/**
* Represents an object that a tile holds.
* Represents an object on a Tile
*/
public interface TileObject extends Locatable
{
/**
* Gets the hashed value of this object.
*
* @return the object hash
*/
long getHash();
/**
* Gets the x-axis coordinate of the object in local context.
*
* @return the x-axis coordinate
* @see LocalPoint
*/
int getX();
/**
* Gets the y-axis coordinate of the object in local context.
*
* @return the y-axis coordinate
* @see LocalPoint
*/
int getY();
/**
* Gets the plane of the tile that the object is on.
*
* @return the tile plane
*/
int getPlane();
/**
* Gets the ID of the object.
*
* @return the object ID
* @see ObjectID
* @see NullObjectID
*/
int getId();
/**
* Gets the location coordinate of the object in the world.
*
* @return the world location
*/
WorldPoint getWorldLocation();
/**
* Gets the local location of the object.
*
* @return the local location
*/
LocalPoint getLocalLocation();
/**
* Gets the upper-left canvas point where this object is drawn.
*
* @return the canvas location
* Calculates the position of the center of this tile on the canvas
*/
Point getCanvasLocation();
/**
* Gets the upper-left canvas point where this object is drawn,
* offset by the passed value.
* Calculates the position of the center of this tile on the canvas
*
* @param zOffset the z-axis offset
* @return the canvas location
* @param zOffset Vertical offset to apply before projection
*/
Point getCanvasLocation(int zOffset);
/**
* Gets the polygon of the objects model as drawn on the canvas.
*
* @return the canvas polygon
* Creates a polygon outlining the tile this object is on
*/
Polygon getCanvasTilePoly();
/**
* Gets the text position on the canvas.
* Calculates the canvas point to center {@code text} above the tile this object is on.
*
* @param graphics the client graphics
* @param text the text to draw
* @param zOffset the offset from ground plane
* @param graphics the graphics to use for font size calculation
* @param zOffset Vertical offset to apply before projection
* @return the canvas point to draw the text at
*/
Point getCanvasTextLocation(Graphics2D graphics, String text, int zOffset);
@@ -127,9 +104,7 @@ public interface TileObject extends Locatable
Point getMinimapLocation();
/**
* Get the on-screen clickable area of the object.
*
* @return the clickable area
* Calculate the on-screen clickable area of the object.
*/
@Nullable
Shape getClickbox();
@@ -28,7 +28,11 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* An enumeration of integer local variables.
* Client side only, content-developer integers
*
* VarCInts are stored entirely in memory, or locally on a user's
* machine in the preferences2.dat file depending on how Jagex
* configured the variable
*/
@AllArgsConstructor
@Getter
@@ -28,7 +28,11 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* An enumeration of string local variables.
* Client side only, content-developer strings
*
* VarCInts are stored entirely in memory, or locally on a user's
* machine in the preferences2.dat file depending on how Jagex
* configured the variable
*/
@AllArgsConstructor
@Getter
@@ -28,7 +28,12 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* An enumeration of local player variables.
* Server controlled "content-developer" integers.
*
* VarPlayers are stored per RuneScape player save, and synchronized
* from the server to the client. The client can change them preemptively
* if it thinks they will change the next tick as a lag-hiding measure.
* The client CANNOT directly make the server change a varbit.
*/
@AllArgsConstructor
@Getter
@@ -28,7 +28,15 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* An enumeration of local client variables.
* Server controlled "content-developer" integers.
*
* @see VarPlayer
*
* These differ from a {@link VarPlayer} in that VarBits can be
* less than 32 bits. One or more VarBits can be assigned to a
* backing VarPlayer, each with a static range of bits that it is
* allowed to access. This allows a more compact representation
* of small values, like booleans
*/
@AllArgsConstructor
@Getter
@@ -34,11 +34,12 @@ import lombok.Data;
public class ScriptCallbackEvent implements Event
{
/**
* The script being called.
* The script that is currently being executed
*/
private Script script;
/**
* The name of the event that triggered script execution.
* The name passed to runelite_callback
*/
private String eventName;
}
@@ -29,6 +29,7 @@ import lombok.Value;
/**
* An event where a client int var has changed.
* @see net.runelite.api.VarClientInt
*/
@Value
public class VarClientIntChanged implements Event
@@ -29,6 +29,7 @@ import lombok.Value;
/**
* An event where a client var string has changed.
* @see net.runelite.api.VarClientStr
*/
@Value
public class VarClientStrChanged implements Event
@@ -30,6 +30,11 @@ import lombok.Data;
/**
* An event when a varbit or varplayer has changed.
*
* If the client preemptively changes a varp and the server agrees
* the next tick, VarbitChanged will only be posted when the client
* changes the value, not the server. This can cause unintended effects
* if the VarPlayer has special engine behavior assigned to it.
*/
@Data
public class VarbitChanged implements Event
@@ -28,7 +28,7 @@ import net.runelite.api.widgets.WidgetInfo;
import lombok.Data;
/**
* An event where an option has been clicked in a {@link net.runelite.api.widgets.Widget}s menu.
* A MenuManager widget menu was clicked. This event is NOT fired for non-MenuManager menu options
*/
@Data
public class WidgetMenuOptionClicked implements Event
@@ -26,6 +26,10 @@ package net.runelite.api.widgets;
import net.runelite.api.ScriptEvent;
/**
* An object that can be set as the first argument to a {@link Widget} listener
* to handle ScriptEvents with Java code, rather than cs2.
*/
@FunctionalInterface
public interface JavaScriptCallback
{
@@ -986,11 +986,11 @@ public class WidgetID
static final int PVP_WIDGET_CONTAINER = 54; // OUTDATED?
static final int SKULL = 56; // OUTDATED?
static final int ATTACK_RANGE = 59; // OUTDATED?
static final int BOUNTY_HUNTER_INFO = 18;
static final int KILLDEATH_RATIO = 15;
static final int SKULL_CONTAINER = 61;
static final int SAFE_ZONE = 63;
static final int WILDERNESS_LEVEL = 66; // this can also be the Deadman Mode "Protection" text
static final int BOUNTY_HUNTER_INFO = 6;
static final int KILLDEATH_RATIO = 33;
static final int SKULL_CONTAINER = 53;
static final int SAFE_ZONE = 55;
static final int WILDERNESS_LEVEL = 57; // this can also be the Deadman Mode "Protection" text
}
static class KourendFavour