Merge remote-tracking branch 'runelite/master'

This commit is contained in:
Owain van Brakel
2022-01-26 01:20:31 +01:00
19 changed files with 157 additions and 71 deletions

View File

@@ -204,6 +204,12 @@ public final class AnimationID
public static final int LEAGUE_HOME_TELEPORT_4 = 8803;
public static final int LEAGUE_HOME_TELEPORT_5 = 8805;
public static final int LEAGUE_HOME_TELEPORT_6 = 8807;
public static final int SHATTERED_LEAGUE_HOME_TELEPORT_1 = 9209;
public static final int SHATTERED_LEAGUE_HOME_TELEPORT_2 = 9210;
public static final int SHATTERED_LEAGUE_HOME_TELEPORT_3 = 9211;
public static final int SHATTERED_LEAGUE_HOME_TELEPORT_4 = 9212;
public static final int SHATTERED_LEAGUE_HOME_TELEPORT_5 = 9213;
public static final int SHATTERED_LEAGUE_HOME_TELEPORT_6 = 9214;
public static final int RAID_LIGHT_ANIMATION = 3101;
public static final int LOOTBEAM_ANIMATION = 9260;

View File

@@ -35,6 +35,7 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import net.runelite.api.annotations.VisibleForExternalPlugins;
import net.runelite.api.clan.ClanChannel;
import net.runelite.api.clan.ClanID;
import net.runelite.api.clan.ClanSettings;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.coords.WorldPoint;
@@ -42,9 +43,11 @@ import net.runelite.api.events.PlayerChanged;
import net.runelite.api.hooks.Callbacks;
import net.runelite.api.hooks.DrawCallbacks;
import net.runelite.api.vars.AccountType;
import net.runelite.api.widgets.ItemQuantityMode;
import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo;
import org.slf4j.Logger;
import org.intellij.lang.annotations.MagicConstant;
/**
* Represents the RuneScape client.
@@ -440,7 +443,7 @@ public interface Client extends GameEngine
* @return the created sprite
*/
@Nullable
SpritePixels createItemSprite(int itemId, int quantity, int border, int shadowColor, int stackable, boolean noted, int scale);
SpritePixels createItemSprite(int itemId, int quantity, int border, int shadowColor, @MagicConstant(valuesFromClass = ItemQuantityMode.class) int stackable, boolean noted, int scale);
/**
* Loads and creates the sprite images of the passed archive and file IDs.
@@ -944,7 +947,7 @@ public interface Client extends GameEngine
*
* @return the widget flags table
*/
HashTable getWidgetFlags();
HashTable<IntegerNode> getWidgetFlags();
/**
* Gets the widget node component table.
@@ -2274,7 +2277,7 @@ public interface Client extends GameEngine
* @return
* @see KeyCode
*/
boolean isKeyPressed(int keycode);
boolean isKeyPressed(@MagicConstant(valuesFromClass = KeyCode.class) int keycode);
int getFollowerIndex();
@@ -2375,7 +2378,7 @@ public interface Client extends GameEngine
* @see net.runelite.api.clan.ClanID
*/
@Nullable
ClanChannel getClanChannel(int clanId);
ClanChannel getClanChannel(@MagicConstant(valuesFromClass = ClanID.class) int clanId);
/**
* Get clan settings by id
@@ -2384,7 +2387,7 @@ public interface Client extends GameEngine
* @see net.runelite.api.clan.ClanID
*/
@Nullable
ClanSettings getClanSettings(int clanId);
ClanSettings getClanSettings(@MagicConstant(valuesFromClass = ClanID.class) int clanId);
void setUnlockedFps(boolean unlock);
void setUnlockedFpsTarget(int fps);

View File

@@ -24,6 +24,8 @@
*/
package net.runelite.api;
import org.intellij.lang.annotations.MagicConstant;
/**
* Represents tile collision data for the scene
*/
@@ -42,5 +44,6 @@ public interface CollisionData
* @return all collision flags for the tiles in the scene
* @see net.runelite.api.Constants#SCENE_SIZE
*/
@MagicConstant(flagsFromClass = CollisionDataFlag.class)
int[][] getFlags();
}

View File

@@ -1,5 +1,8 @@
package net.runelite.api;
import net.runelite.api.widgets.WidgetModalMode;
import org.intellij.lang.annotations.MagicConstant;
/**
* Represents a widget as an iterable node.
*/
@@ -16,5 +19,6 @@ public interface WidgetNode extends Node
/**
* @see net.runelite.api.widgets.WidgetModalMode
*/
@MagicConstant(valuesFromClass = WidgetModalMode.class)
int getModalMode();
}

View File

@@ -27,6 +27,8 @@ package net.runelite.api.events;
import javax.annotation.Nullable;
import lombok.Value;
import net.runelite.api.clan.ClanChannel;
import net.runelite.api.clan.ClanID;
import org.intellij.lang.annotations.MagicConstant;
/**
* An event fired when the local player joins or leaves a clan channel.
@@ -43,6 +45,7 @@ public class ClanChannelChanged
* The clan id, or -1 for guest clan
* @see net.runelite.api.clan.ClanID
*/
@MagicConstant(valuesFromClass = ClanID.class)
private int clanId;
/**
* Whether or not this was the guest clan channel

View File

@@ -25,6 +25,8 @@
package net.runelite.api.events;
import lombok.Value;
import net.runelite.api.widgets.WidgetModalMode;
import org.intellij.lang.annotations.MagicConstant;
/**
* Posted when an interface is about to be closed
@@ -40,6 +42,7 @@ public class WidgetClosed
/**
* @see net.runelite.api.widgets.WidgetModalMode
*/
@MagicConstant(valuesFromClass = WidgetModalMode.class)
private final int modalMode;
/**

View File

@@ -30,6 +30,8 @@ import javax.annotation.Nullable;
import net.runelite.api.FontTypeFace;
import net.runelite.api.Point;
import net.runelite.api.SpritePixels;
import org.intellij.lang.annotations.MagicConstant;
import org.jetbrains.annotations.Range;
/**
* Represents an on-screen UI element that is drawn on the canvas.
@@ -60,6 +62,7 @@ public interface Widget
*
* @see WidgetType
*/
@MagicConstant(valuesFromClass = WidgetType.class)
int getType();
/**
@@ -67,7 +70,7 @@ public interface Widget
*
* @see WidgetType
*/
void setType(int type);
void setType(@MagicConstant(valuesFromClass = WidgetType.class) int type);
/**
* Gets the type of content displayed by the widget.
@@ -77,14 +80,13 @@ public interface Widget
/**
* Sets the type of content displayed by the widget.
*/
void setContentType(int contentType);
Widget setContentType(int contentType);
/**
* Gets the current click configuration of the widget.
* @see WidgetConfig
*
* @see WidgetConfig
*/
@MagicConstant(flagsFromClass = WidgetConfig.class)
int getClickMask();
/**
@@ -92,7 +94,7 @@ public interface Widget
*
* @see WidgetConfig
*/
void setClickMask(int mask);
Widget setClickMask(@MagicConstant(flagsFromClass = WidgetConfig.class) int mask);
/**
* Gets the parent widget, if this widget is a child.
@@ -193,7 +195,7 @@ public interface Widget
*
* @param text the text to display
*/
void setText(String text);
Widget setText(String text);
/**
* Gets the color as an RGB value.
@@ -209,7 +211,7 @@ public interface Widget
* @param textColor RGB24 color
* @see java.awt.Color#getRGB()
*/
void setTextColor(int textColor);
Widget setTextColor(int textColor);
/**
* Gets the transparency of the rectangle
@@ -223,7 +225,7 @@ public interface Widget
*
* @param transparency 0 = fully opaque, 255 = fully transparent
*/
void setOpacity(int transparency);
Widget setOpacity(int transparency);
/**
* Gets the name "op base" of the widget.
@@ -242,12 +244,12 @@ public interface Widget
*
* @param name the new name
*/
void setName(String name);
Widget setName(String name);
/**
* Gets the Model/NPC/Item ID displayed in the widget.
*
* @see WidgetModelType
* @see #getModelType()
*/
int getModelId();
@@ -256,13 +258,14 @@ public interface Widget
*
* @see WidgetModelType
*/
void setModelId(int id);
Widget setModelId(int id);
/**
* Gets the model type of the widget.
*
* @see WidgetModelType
*/
@MagicConstant(valuesFromClass = WidgetModelType.class)
int getModelType();
/**
@@ -271,7 +274,7 @@ public interface Widget
* @param type the new model type
* @see WidgetModelType
*/
void setModelType(int type);
Widget setModelType(@MagicConstant(valuesFromClass = WidgetModelType.class) int type);
/**
* Gets the sequence ID used to animate the model in the widget
@@ -285,12 +288,13 @@ public interface Widget
*
* @see net.runelite.api.AnimationID
*/
void setAnimationId(int animationId);
Widget setAnimationId(int animationId);
/**
* Gets the x rotation of the model displayed in the widget.
* 0 = no rotation, 2047 = full rotation
*/
@Range(from = 0, to = 2047)
int getRotationX();
/**
@@ -301,12 +305,13 @@ public interface Widget
*
* @param modelX the new model x rotation value
*/
void setRotationX(int modelX);
Widget setRotationX(@Range(from = 0, to = 2047) int modelX);
/**
* Gets the y rotation of the model displayed in the widget.
* 0 = no rotation, 2047 = full rotation
*/
@Range(from = 0, to = 2047)
int getRotationY();
/**
@@ -317,12 +322,13 @@ public interface Widget
*
* @param modelY the new model y rotation value
*/
void setRotationY(int modelY);
Widget setRotationY(@Range(from = 0, to = 2047) int modelY);
/**
* Gets the z rotation of the model displayed in the widget.
* 0 = no rotation, 2047 = full rotation
*/
@Range(from = 0, to = 2047)
int getRotationZ();
/**
@@ -333,7 +339,7 @@ public interface Widget
*
* @param modelZ the new model z rotation value
*/
void setRotationZ(int modelZ);
Widget setRotationZ(@Range(from = 0, to = 2047) int modelZ);
/**
* Gets the amount zoomed in on the model displayed in the widget.
@@ -345,7 +351,7 @@ public interface Widget
*
* @param modelZoom the new model zoom value
*/
void setModelZoom(int modelZoom);
Widget setModelZoom(int modelZoom);
/**
* Gets the sprite ID displayed in the widget.
@@ -363,7 +369,7 @@ public interface Widget
/**
* Sets if sprites are repeated or stretched
*/
void setSpriteTiling(boolean tiling);
Widget setSpriteTiling(boolean tiling);
/**
* Sets the sprite ID displayed in the widget.
@@ -371,7 +377,7 @@ public interface Widget
* @param spriteId the sprite ID
* @see net.runelite.api.SpriteID
*/
void setSpriteId(int spriteId);
Widget setSpriteId(int spriteId);
/**
* Checks whether this widget or any of its parents are hidden.
@@ -395,7 +401,7 @@ public interface Widget
*
* @param hidden new hidden state
*/
void setHidden(boolean hidden);
Widget setHidden(boolean hidden);
/**
* The index of this widget in it's parent's children array
@@ -485,7 +491,7 @@ public interface Widget
*
* @param itemId the item ID
*/
void setItemId(int itemId);
Widget setItemId(int itemId);
/**
* Gets the quantity of the item displayed by the widget.
@@ -499,7 +505,7 @@ public interface Widget
*
* @param quantity the quantity of the item
*/
void setItemQuantity(int quantity);
Widget setItemQuantity(int quantity);
/**
* Checks if the passed canvas points is inside of this widget's
@@ -518,7 +524,7 @@ public interface Widget
/**
* Sets the amount of pixels the widget is scrolled in the X axis
*/
void setScrollX(int scrollX);
Widget setScrollX(int scrollX);
/**
* Gets the amount of pixels the widget is scrolled in the Y axis
@@ -528,7 +534,7 @@ public interface Widget
/**
* sets the amount of pixels the widget is scrolled in the Y axis
*/
void setScrollY(int scrollY);
Widget setScrollY(int scrollY);
/**
* Gets the size of the widget's viewport in the X axis
@@ -538,7 +544,7 @@ public interface Widget
/**
* Sets the size of the widget's viewport in the X axis
*/
void setScrollWidth(int width);
Widget setScrollWidth(int width);
/**
* Gets the size of the widget's viewport in the Y axis
@@ -548,7 +554,7 @@ public interface Widget
/**
* Sets the size of the widget's viewport in the Y axis
*/
void setScrollHeight(int height);
Widget setScrollHeight(int height);
/**
* Gets the X coordinate of this widget before being adjusted by
@@ -562,7 +568,7 @@ public interface Widget
*
* @see #setXPositionMode(int)
*/
void setOriginalX(int originalX);
Widget setOriginalX(int originalX);
/**
* Gets the Y coordinate of this widget before being adjusted by
@@ -576,7 +582,15 @@ public interface Widget
*
* @see #setYPositionMode(int)
*/
void setOriginalY(int originalY);
Widget setOriginalY(int originalY);
/**
* Sets the X/Y coordinates
*/
Widget setPos(int x, int y);
Widget setPos(int x, int y,
@MagicConstant(valuesFromClass = WidgetPositionMode.class) int xMode,
@MagicConstant(valuesFromClass = WidgetPositionMode.class) int yMode);
/**
* Gets the height coordinate of this widget before being adjusted by
@@ -590,7 +604,7 @@ public interface Widget
*
* @see #setHeightMode(int)
*/
void setOriginalHeight(int originalHeight);
Widget setOriginalHeight(int originalHeight);
/**
* Gets the width coordinate of this widget before being adjusted by
@@ -604,7 +618,12 @@ public interface Widget
*
* @see #setWidthMode(int)
*/
void setOriginalWidth(int originalWidth);
Widget setOriginalWidth(int originalWidth);
Widget setSize(int width, int height);
Widget setSize(int width, int height,
@MagicConstant(valuesFromClass = WidgetSizeMode.class) int widthMode,
@MagicConstant(valuesFromClass = WidgetSizeMode.class) int heightMode);
/**
* Gets the menu options available on the widget as a sparse array.
@@ -615,9 +634,16 @@ public interface Widget
* Creates a dynamic widget child
*
* @param index the index of the new widget in the children list or -1 to append to the back
* @param type the type of the widget
* @param type the {@link WidgetType} of the widget
*/
Widget createChild(int index, int type);
Widget createChild(int index, @MagicConstant(valuesFromClass = WidgetType.class) int type);
/**
* Creates a dynamic widget child at the end of the children list
*
* @param type the {@link WidgetType} of the widget
*/
Widget createChild(@MagicConstant(valuesFromClass = WidgetType.class) int type);
/**
* Removes all of this widget's dynamic children
@@ -704,7 +730,7 @@ public interface Widget
/**
* Sets if the widget has any listeners. This should be called whenever a setXListener function is called
*/
void setHasListener(boolean hasListener);
Widget setHasListener(boolean hasListener);
/**
* This is true if the widget is from an if3 interface, or is dynamically created
@@ -761,7 +787,7 @@ public interface Widget
*
* @see net.runelite.api.FontID
*/
void setFontId(int id);
Widget setFontId(int id);
/**
* Returns the border type of item/sprite on the widget
@@ -784,7 +810,7 @@ public interface Widget
/**
* Sets if text should be shadowed
*/
void setTextShadowed(boolean shadowed);
Widget setTextShadowed(boolean shadowed);
/**
* Returns the widget drag dead zone
@@ -809,18 +835,21 @@ public interface Widget
/**
* Returns widget {@link net.runelite.api.widgets.ItemQuantityMode}.
*/
@MagicConstant(valuesFromClass = ItemQuantityMode.class)
int getItemQuantityMode();
/**
* Sets the widget {@link net.runelite.api.widgets.ItemQuantityMode}
*/
void setItemQuantityMode(int itemQuantityMode);
@MagicConstant(valuesFromClass = ItemQuantityMode.class)
Widget setItemQuantityMode(int itemQuantityMode);
/**
* Gets the mode that the X position is calculated from the original X position
*
* @see WidgetPositionMode
*/
@MagicConstant(valuesFromClass = WidgetPositionMode.class)
int getXPositionMode();
/**
@@ -829,13 +858,14 @@ public interface Widget
*
* @see WidgetPositionMode
*/
void setXPositionMode(int xpm);
Widget setXPositionMode(@MagicConstant(valuesFromClass = WidgetPositionMode.class) int xpm);
/**
* Gets the mode that the Y position is calculated from the original Y position
*
* @see WidgetPositionMode
*/
@MagicConstant(valuesFromClass = WidgetPositionMode.class)
int getYPositionMode();
/**
@@ -844,7 +874,7 @@ public interface Widget
*
* @see WidgetPositionMode
*/
void setYPositionMode(int ypm);
Widget setYPositionMode(@MagicConstant(valuesFromClass = WidgetPositionMode.class) int ypm);
/**
* Get the line height for this widget.
@@ -858,13 +888,14 @@ public interface Widget
*
* @param lineHeight
*/
void setLineHeight(int lineHeight);
Widget setLineHeight(int lineHeight);
/**
* Gets the X axis text position mode
*
* @see WidgetTextAlignment
*/
@MagicConstant(valuesFromClass = WidgetTextAlignment.class)
int getXTextAlignment();
/**
@@ -872,13 +903,14 @@ public interface Widget
*
* @see WidgetTextAlignment
*/
void setXTextAlignment(int xta);
Widget setXTextAlignment(@MagicConstant(valuesFromClass = WidgetTextAlignment.class) int xta);
/**
* Gets the Y axis text position mode
*
* @see WidgetTextAlignment
*/
@MagicConstant(valuesFromClass = WidgetTextAlignment.class)
int getYTextAlignment();
/**
@@ -886,13 +918,14 @@ public interface Widget
*
* @see WidgetTextAlignment
*/
void setYTextAlignment(int yta);
Widget setYTextAlignment(@MagicConstant(valuesFromClass = WidgetTextAlignment.class) int yta);
/**
* Gets the mode controlling widget width
*
* @see WidgetSizeMode
*/
@MagicConstant(valuesFromClass = WidgetSizeMode.class)
int getWidthMode();
/**
@@ -901,13 +934,14 @@ public interface Widget
*
* @see WidgetSizeMode
*/
void setWidthMode(int widthMode);
Widget setWidthMode(@MagicConstant(valuesFromClass = WidgetSizeMode.class) int widthMode);
/**
* Gets the mode controlling widget width
*
* @see WidgetSizeMode
*/
@MagicConstant(valuesFromClass = WidgetSizeMode.class)
int getHeightMode();
/**
@@ -916,7 +950,7 @@ public interface Widget
*
* @see WidgetSizeMode
*/
void setHeightMode(int heightMode);
Widget setHeightMode(@MagicConstant(valuesFromClass = WidgetSizeMode.class) int heightMode);
/**
* Gets the font that this widget uses
@@ -931,7 +965,7 @@ public interface Widget
/**
* Sets if the rectangle is filled or just stroked
*/
void setFilled(boolean filled);
Widget setFilled(boolean filled);
/**
* Verb for spell targets
@@ -1012,7 +1046,7 @@ public interface Widget
/**
* Container this can be dragged in
*/
void setDragParent(Widget dragParent);
Widget setDragParent(Widget dragParent);
/**
* Gets the script and arguments to be ran when one of the listened for vars changes.

View File

@@ -844,6 +844,7 @@ public final class WidgetID
{
static final int LUMBRIDGE_HOME_TELEPORT = 6;
static final int KOUREND_HOME_TELEPORT = 4;
static final int CATHERBY_HOME_TELEPORT = 5;
}
static class AncientSpellBook

View File

@@ -505,6 +505,7 @@ public enum WidgetInfo
SPELL_LUNAR_HOME_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.LunarSpellBook.LUNAR_HOME_TELEPORT),
SPELL_ARCEUUS_HOME_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.ArceuusSpellBook.ARCEUUS_HOME_TELEPORT),
SPELL_KOUREND_HOME_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.StandardSpellBook.KOUREND_HOME_TELEPORT),
SPELL_CATHERBY_HOME_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.StandardSpellBook.CATHERBY_HOME_TELEPORT),
PVP_WILDERNESS_SKULL_CONTAINER(WidgetID.PVP_GROUP_ID, WidgetID.Pvp.WILDERNESS_SKULL_CONTAINER),
PVP_SKULL_CONTAINER(WidgetID.PVP_GROUP_ID, WidgetID.Pvp.SKULL_CONTAINER),