### BasicObjectVertex Methods - com.runemate.game.api.hybrid.entities.details.BasicObjectVertex Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/location/navigation/web/vertex_types/objects/BasicObjectVertex Details various methods available for the BasicObjectVertex class. These include methods for retrieving the object's string representation, opcode, serialization and deserialization, hash code calculation, stepping to the object, setting and getting its behavior, and setting and getting its type. ```java public String toString() public int getOpcode() public boolean serialize(ObjectOutput stream) public boolean deserialize(int protocol, ObjectInput stream) public int hashCode() public boolean step() public BasicObjectVertex behavior(BasicObjectVertex.Behavior behavior) public BasicObjectVertex.Behavior behavior() public BasicObjectVertex type(GameObject.Type type) public GameObject.Type type() ``` -------------------------------- ### Get Worn Actions in Java Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/entities/definitions/ItemDefinition Returns a list of actions that can be performed on this item while it is being worn by the player. Examples might include 'unequip' or 'remove'. ```java java.util.List wornActions = itemDefinition.getWornActions(); ``` -------------------------------- ### OSRSEntity Constructor Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/osrs/entities/OSRSEntity Initializes a new instance of the OSRSEntity class. ```APIDOC ## OSRSEntity Constructor ### Description Initializes a new instance of the `OSRSEntity` class. ### Signature `public OSRSEntity(com.runemate.client.game.open.OpenEntity entity)` ### Parameters * **entity** (com.runemate.client.game.open.OpenEntity) - The OpenEntity to wrap. ``` -------------------------------- ### Get OSRSSpotAnimation Start Cycle Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/osrs/entities/OSRSSpotAnimation Returns the game cycle at which the OSRSSpotAnimation began. This information can be used to time events or determine the age of an animation instance. ```java public int getStartCycle() Specified by: getStartCycle in interface SpotAnimation ``` -------------------------------- ### OSRSGroundItem Constructor Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/osrs/entities/OSRSGroundItem Initializes a new OSRSGroundItem instance. ```APIDOC ## OSRSGroundItem Constructor ### Description Initializes a new instance of the `OSRSGroundItem` class. ### Parameters * **node** (OpenItemNode) - The internal game node representing the item. * **position** (Coordinate) - The world coordinate of the item. ``` -------------------------------- ### Web Constructors Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/location/navigation/web/Web Details on how to instantiate the Web class. ```APIDOC ## Constructors ### `Web()` Creates a new Web with default capacity. ### `Web(int estimatedVertexCount)` Creates a new Web with a specified estimated vertex count. ### `Web(Collection vertices)` Creates a new Web initialized with a collection of WebVertex objects. ``` -------------------------------- ### Get Item ID in Java Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/cache/elements/CacheItemDefinition.Extended Retrieves the unique identifier for an item. This ID is crucial for many game interactions and lookups. It does not require any special setup or dependencies beyond the Runemate API. ```java int itemId = cacheItemDefinition.getId(); ``` -------------------------------- ### JagexCache Constructor Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/osrs/cache/fs/JagexCache Initializes a new JagexCache instance with the specified root directory. ```APIDOC ## JagexCache Constructor ### Description Initializes a new JagexCache instance with the specified root directory. ### Method `JagexCache(File root)` ### Endpoint N/A (Constructor) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ```java File cacheDirectory = new File("/path/to/cache"); JagexCache cache = new JagexCache(cacheDirectory); ``` ### Response #### Success Response (200) N/A (Constructor) #### Response Example N/A (Constructor) ### Throws `IOException` - If an I/O error occurs during initialization. ``` -------------------------------- ### Getting All MinigameTeleport Constants (Java) Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/osrs/local/hud/interfaces/MinigameTeleport This code example demonstrates how to retrieve an array of all available MinigameTeleport enum constants using the `values()` method. This is useful for iterating through all possible teleports or for populating UI elements. ```java MinigameTeleport[] allTeleports = MinigameTeleport.values(); for (MinigameTeleport teleport : allTeleports) { System.out.println(teleport.getName()); } ``` -------------------------------- ### DialogNpcVertex Constructor and Methods Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/web/vertex/npcs/DialogNpcVertex Details about the DialogNpcVertex constructor and its methods, including 'step'. ```APIDOC ## DialogNpcVertex ### Description Represents an NPC in the game world that can be interacted with via dialog. This class extends `BasicNpcVertex` and implements `Locatable` and `Vertex` interfaces. ### Constructor #### `DialogNpcVertex(Coordinate position, Pattern action, Pattern dialog, NpcQueryBuilder builder)` **Parameters** * **position** (`Coordinate`) - The world coordinate of the NPC. * **action** (`Pattern`) - A regex pattern for the NPC's interactable actions. * **dialog** (`Pattern`) - A regex pattern for the NPC's dialog. * **builder** (`NpcQueryBuilder`) - The builder used to construct the NPC query. ### Methods #### `step(Map cache)` **Description**: Attempts to step towards the NPC, potentially interacting with it. This method is specified by the `Vertex` interface and overrides the one in `BasicNpcVertex`. **Returns**: `boolean` - True if the step was successful, false otherwise. **Parameters** * **cache** (`Map`) - A map for caching intermediate results. ### Inherited Methods #### From `BasicNpcVertex` * `toString()` #### From `NpcVertex` * `getNpc()` * `getPosition()` * `scan()` #### From `Object` * `equals(Object obj)` * `getClass()` * `hashCode()` * `notify()` * `notifyAll()` * `wait()` * `wait(long timeout)` * `wait(long timeout, int nanos)` #### From `Locatable` * `distanceTo(Locatable other)` * `distanceTo(Coordinate point)` * `getLocalPosition()` * `getSceneOffset()` #### From `Vertex` * `getArea()` * `getHighPrecisionPosition()` ``` -------------------------------- ### Query for SpriteItems Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/local/hud/interfaces/Shop Initiates a query to retrieve SpriteItems. The `getItems` method can be called without arguments to get all items, or with filters, IDs, names, or patterns to retrieve a specific subset. `newQuery` starts a builder for more complex queries. ```java public static SpriteItemQueryResults getItems() @NonNull public static @NonNull SpriteItemQueryResults getItems(Predicate filter) @NonNull public static @NonNull SpriteItemQueryResults getItems(int... ids) @NonNull public static @NonNull SpriteItemQueryResults getItems(String... names) @NonNull public static @NonNull SpriteItemQueryResults getItems(Pattern... names) public static SpriteItemQueryBuilder newQuery() ``` -------------------------------- ### SpotAnimation Interface Methods - Java Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/entities/SpotAnimation This snippet details the core methods of the SpotAnimation interface: getDefinition() to retrieve the animation's definition, getStartCycle() to get the game cycle when the animation started, and isFinishedAnimating() to check if the animation has completed. ```java public interface SpotAnimation extends Identifiable, Animable, LocatableEntity { @Nullable SpotAnimationDefinition getDefinition(); int getStartCycle(); boolean isFinishedAnimating(); } ``` -------------------------------- ### initialize Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/ui/control/ControlPanel Initializes the controller after its element hierarchy has been completely processed. ```APIDOC ## Method initialize ### Description Initializes the controller after its element hierarchy has been completely processed. The location and resources used to create this root object are provided to this method. ### Method ``` public void initialize(URL url, ResourceBundle resourceBundle) ``` ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) None #### Response Example None ``` -------------------------------- ### Retrieving Minigame Teleport Destination Coordinates (Java) Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/osrs/local/hud/interfaces/MinigameTeleport This example shows how to get the game map coordinates for a specific minigame teleport using the `getDestination()` method. The returned `Coordinate` object can then be used for navigation or other location-based logic. ```java MinigameTeleport pestControlTeleport = MinigameTeleport.PEST_CONTROL; Coordinate destination = pestControlTeleport.getDestination(); if (destination != null) { System.out.println("Pest Control destination: " + destination.getX() + ", " + destination.getY()); } ``` -------------------------------- ### Web Class Constructor Documentation Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/location/navigation/web/Web Documentation for the constructors of the Web class, used for initializing a navigation web graph. Different constructors allow for initializing with a default capacity, an estimated vertex count, or a collection of existing WebVertex objects. ```java public Web() public Web(int estimatedVertexCount) public Web(Collection vertices) ``` -------------------------------- ### Get Total Quantity of Incoming Trade Items by Name (Java) Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/local/hud/interfaces/Trade.Incoming This example demonstrates how to calculate the total quantity of a specific item present in the incoming trade window, identified by its name. The method is static and returns an integer. ```java import com.runemate.game.api.hybrid.local.hud.interfaces.Trade; // ... within a method or script String itemName = "Coins"; // Replace with the item name int totalQuantity = Trade.Incoming.getQuantity(itemName); System.out.println("Total quantity of " + itemName + " in incoming trade: " + totalQuantity); ``` -------------------------------- ### ModalEquipmentOverlay Constructor Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/ui/control/ModalEquipmentOverlay Constructs a new ModalEquipmentOverlay with the specified bot platform, setting, and existing equipment loadout. ```APIDOC ## Constructor: ModalEquipmentOverlay ### Description Initializes a new instance of the ModalEquipmentOverlay class. ### Parameters - **bot** (com.runemate.game.api.script.framework.core.BotPlatform) - The bot platform instance. - **setting** (Settings.Setting) - The settings object. - **existing** (com.runemate.game.api.util.equipment.EquipmentLoadout) - The existing equipment loadout. ``` -------------------------------- ### Get All Loaded InterfaceComponents (Java) Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/local/hud/interfaces/Interfaces Retrieves all currently loaded InterfaceComponents. This can be used to get a snapshot of all available components. ```Java public static InterfaceComponentQueryResults getLoaded() ``` -------------------------------- ### BasicNpcVertex Constructor and Methods Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/web/vertex/npcs/BasicNpcVertex Details of the BasicNpcVertex class, including its constructor and instance methods. ```APIDOC ## BasicNpcVertex Class ### Description Represents a basic vertex for an NPC in the Runemate game API. ### Implements `Locatable`, `Vertex` ### Direct Known Subclasses `DialogNpcVertex` --- ### Constructor Details #### BasicNpcVertex(Coordinate position, Pattern action, NpcQueryBuilder builder) ##### Description Constructs a new `BasicNpcVertex`. ##### Parameters - **position** (Coordinate) - The position of the NPC. - **action** (Pattern) - The action associated with the NPC. - **builder** (NpcQueryBuilder) - The query builder for the NPC. --- ### Method Details #### step(Map cache) ##### Description Attempts to step to the NPC's location. ##### Returns (boolean) - True if the step was successful, false otherwise. --- #### toString() ##### Description Returns a string representation of the `BasicNpcVertex`. ##### Returns (String) - The string representation. ##### Overrides `toString` in class `NpcVertex` --- ### Methods Inherited from NpcVertex - `getNpc` - `getPosition` - `scan` --- ### Methods Inherited from Object - `equals` - `getClass` - `hashCode` - `notify` - `notifyAll` - `wait` - `wait` - `wait` --- ### Methods Inherited from Locatable - `distanceTo` - `distanceTo` - `getLocalPosition` - `getSceneOffset` --- ### Methods Inherited from Vertex - `getArea` - `getHighPrecisionPosition` ``` -------------------------------- ### Get Worn Items Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/osrs/entities/OSRSPlayer Provides methods to get all items currently worn by the player or a specific item based on the equipment slot. ```java @NonNull public @NonNull List getWornItems() ``` ```java @Nullable public ItemDefinition getWornItem(Equipment.Slot slot) ``` -------------------------------- ### Settings.Setting Class Documentation Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/ui/control/setting/Settings.Setting Provides details on the Settings.Setting class, its constructor, and various methods. ```APIDOC ## Settings.Setting Class ### Description Represents a single setting within the Runemate game settings system. It allows for manipulation and querying of setting values and their display status. ### Constructor #### Setting ```java public Setting(com.runemate.ui.setting.descriptor.open.SettingsDescriptor group, com.runemate.ui.setting.descriptor.open.SettingsSectionDescriptor section, com.runemate.ui.setting.descriptor.open.SettingDescriptor setting) ``` * **Description**: Initializes a new instance of the `Setting` class. * **Parameters**: * `group` (SettingsDescriptor) - The descriptor for the settings group. * `section` (SettingsSectionDescriptor) - The descriptor for the settings section. * `setting` (SettingDescriptor) - The descriptor for the specific setting. ### Methods #### setSettingValue ```java public void setSettingValue(String value, com.runemate.game.api.script.framework.listeners.events.SettingChangedEvent.Source source) ``` * **Description**: Sets the value of the setting. * **Parameters**: * `value` (String) - The new value to set for the setting. * `source` (SettingChangedEvent.Source) - The source that triggered the setting change. #### settingOrder ```java public int settingOrder() ``` * **Description**: Returns the order in which this setting should be displayed. * **Returns**: An integer representing the display order. #### accepts ```java public boolean accepts(com.runemate.game.api.script.framework.listeners.events.SettingChangedEvent event) ``` * **Description**: Checks if this setting accepts the given setting changed event. * **Parameters**: * `event` (SettingChangedEvent) - The setting changed event to check. * **Returns**: `true` if the setting accepts the event, `false` otherwise. #### belongsTo ```java public boolean belongsTo(com.runemate.ui.setting.descriptor.open.SettingsSectionDescriptor section) ``` * **Description**: Checks if this setting belongs to the specified settings section. * **Parameters**: * `section` (SettingsSectionDescriptor) - The settings section to check against. * **Returns**: `true` if the setting belongs to the section, `false` otherwise. #### shouldBeShown ```java public boolean shouldBeShown() ``` * **Description**: Determines if this setting should currently be displayed. * **Returns**: `true` if the setting should be shown, `false` otherwise. ### Inherited Methods from java.lang.Object * `equals` * `getClass` * `hashCode` * `notify` * `notifyAll` * `toString` * `wait` * `wait` * `wait` ``` -------------------------------- ### SettingsPane Constructor Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/ui/control/setting/SettingsPane Initializes a new instance of the SettingsPane class. ```APIDOC ## SettingsPane Constructor ### Description Initializes a new instance of the SettingsPane class. ### Method `public SettingsPane(@NonNull @NonNull DefaultUI ui, @NonNull @NonNull com.runemate.ui.setting.open.SettingsManager manager)` ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) None #### Response Example None ``` -------------------------------- ### Get NPC by Name Pattern Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/region/Npcs Gets an Npc filter that can be used to get an NPC with a name matching one of the specified patterns. This is useful for finding NPCs whose names follow a certain format. Returns a Predicate for filtering. ```java import com.runemate.game.api.hybrid.region.Npcs; import com.runemate.game.api.hybrid.entities.Npc; import java.util.function.Predicate; import java.util.regex.Pattern; // ... Predicate namePatternFilter = Npcs.getNamePredicate(Pattern.compile("Goblin.*")); // You would then use this predicate with Npcs.getLoaded(namePatternFilter); ``` -------------------------------- ### Get Bank Item Information - Java Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/local/hud/interfaces/Bank Contains static methods to retrieve information about items within the bank. This includes getting bounds of item slots, querying for specific items by ID, name, or filter, and getting the total quantity of items. ```java public final class Bank extends Object * ## Method Summary All MethodsStatic MethodsConcrete MethodsDeprecated Methods Modifier and Type Method Description `static InteractableRectangle` `getBoundsOf(int index)` `static int` `getCurrentTab()` Gets the currently opened bank tab where 0 is the main tab. `static Bank.DefaultQuantity` `getDefaultQuantity()` `static int` `getExactDefaultQuantity()` `static SpriteItem` `getItemIn(int slot)` `static SpriteItemQueryResults` `getItems()` `static SpriteItemQueryResults` `getItems(int... ids)` `static SpriteItemQueryResults` `getItems(String... names)` `static SpriteItemQueryResults` `getItems(Predicate filter)` `static SpriteItemQueryResults` `getItems(Pattern... names)` `static int` `getQuantity()` Gets the total quantity of items `static int` `getQuantity(int... ids)` Gets the total quantity of items matching the ids `static int` `getQuantity(String... names)` Gets the total quantity of items matching the names `static int` `getQuantity(Predicate filter)` Gets the total quantity of items matching the filter `static int` `getQuantity(Predicate... filters)` Gets the total quantity of items matching the `filter`s `static int` `getQuantity(Pattern... names)` Gets the total quantity of items matching the names `static List` `getSlotBounds()` `static int` `getTabContaining(@NonNull SpriteItem item)` ``` -------------------------------- ### Varbit Class Documentation Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/local/Varbit Details about the Varbit class, its constructors, and methods. ```APIDOC ## Varbit Class ### Description Represents a game varbit, which is a type of variable used in RuneScape to store game state. This class provides methods to access varbit properties and values. ### Nested Classes #### `Varbit.Domain` An enum representing the domain of a varbit. ### Constructors #### `Varbit(int id, int varType, int varId, int msb, int lsb)` Initializes a new instance of the `Varbit` class. * **id** (int) - The ID of the varbit. * **varType** (int) - The type of the varbit. * **varId** (int) - The variable ID associated with the varbit. * **msb** (int) - The most significant bit for the varbit value. * **lsb** (int) - The least significant bit for the varbit value. ### Methods #### `getVarDomain()` Returns the domain of the varbit. * **Returns**: `@NonNull Varbit.Domain` #### `getValue()` Gets the current value of the varbit. * **Returns**: `int` #### `getValue(int varValue)` Calculates the specific value of the varbit from a larger integer that may contain multiple varbit values. * **varValue** (int) - The integer containing the varbit values. * **Returns**: `int` #### `hashCode()` Returns a hash code value for the varbit. * **Overrides**: `hashCode` in class `Object` * **Returns**: `int` #### `equals(Object o)` Indicates whether some other object is "equal to" this one. * **Overrides**: `equals` in class `Object` * **o** (Object) - The reference object with which to compare. * **Returns**: `boolean` #### `getSourceIndex()` Deprecated. Returns the source index of the varbit. * **Returns**: `int` #### `getSource()` Deprecated. Returns the `Varp` source of the varbit. * **Returns**: `Varp` #### `getSourceExtractionRange()` Deprecated. Returns the extraction range for the varbit's source. * **Returns**: `com.runemate.game.api.hybrid.util.collections.Pair` #### `getName()` Returns the name of the varbit, if available. * **Returns**: `@Nullable String` ``` -------------------------------- ### initialize Method Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/ui/control/ModalOverlay Initializes the controller after its root element has been processed. ```APIDOC ## Method initialize ### Description Called to initialize a controller after its root element has been processed. ### Method `public void initialize(URL url, ResourceBundle resourceBundle)` ### Parameters #### Path Parameters - **url** (URL) - Required - The location that the `initialize()` method is called for. - **resourceBundle** (ResourceBundle) - Required - The resources that are used to localize the root object. ### Implements `initialize` in interface `javafx.fxml.Initializable` ``` -------------------------------- ### Get Action Predicate for GroundItems (Java) Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/region/GroundItems This method is intended to get a Predicate for filtering GroundItems based on their actions, but its implementation details are not provided in the source text. ```java public static Predicate getActionPredicate() ``` -------------------------------- ### Get Deprecated Item ID Predicate (Java) Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/region/GroundItems Deprecated method to get a Predicate for filtering GroundItems by their IDs. Use `Items.getIdPredicate(int...)` instead. ```java @Deprecated public static Predicate getIdPredicate(int... ids) Deprecated. use `Items.getIdPredicate(int...)` ``` -------------------------------- ### WebPathBuilder Initialization Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/location/navigation/web/WebPathBuilder Provides methods to initialize and configure the WebPathBuilder. ```APIDOC ## WebPathBuilder Initialization ### Description Methods for creating and configuring a WebPathBuilder instance. ### Method `create(Web web)` ### Endpoint N/A (Class method) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ```json { "example": "WebPathBuilder.create(web)" } ``` ### Response #### Success Response (200) - **WebPathBuilder** (WebPathBuilder) - An instance of WebPathBuilder. #### Response Example ```json { "example": "WebPathBuilder instance" } ``` ``` -------------------------------- ### Get Projectile Target and Source - OSRSProjectile API Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/osrs/entities/OSRSProjectile These methods allow you to get the Actor that the projectile is targeting or the Actor from which the projectile originated. If either is unavailable, null is returned. ```java /** * The character that this projectile is targeting/attacking. * @return The character if available, otherwise null */ public Actor getTarget() /** * The character that this projectile originated from. * @return The character if available, otherwise null */ public Actor getSource() ``` -------------------------------- ### WebPath Constructors Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/location/navigation/web/WebPath Provides details on how to instantiate a WebPath object. ```APIDOC ## WebPath Constructors ### Constructor Details * ### WebPath ```java public WebPath(List vertices, double traversalCost) ``` * ### WebPath ```java public WebPath(List vertices, Set requirements, double traversalCost) ``` * ### WebPath ```java public WebPath(List vertices, Set requirements, Set blockingConditions, double traversalCost) ``` ``` -------------------------------- ### Get Area Predicate for GroundItems (Java) Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/region/GroundItems Gets a Predicate for filtering GroundItems based on whether they are within the specified areas. Accepts a variable number of Area objects. ```java public static Predicate getAreaPredicate(Area... acceptedAreas) ``` -------------------------------- ### Initialize VarbitLoader Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/osrs/cache/definition/loader/VarbitLoader This constructor initializes a new instance of the VarbitLoader class. It does not require any arguments and is used to set up the loader for Varbit configurations. ```java public VarbitLoader() ``` -------------------------------- ### BasicNpcVertex Constructors Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/location/navigation/web/vertex_types/npcs/BasicNpcVertex These constructors initialize a BasicNpcVertex. They accept parameters such as the coordinate position, movement radius, NPC name and action (as Strings or Patterns), and collections of requirements for navigation. ```java public BasicNpcVertex(Coordinate position, double movementRadius, String name, String action, Collection requirements) public BasicNpcVertex(Coordinate position, double movementRadius, Pattern name, Pattern action, Collection requirements) public BasicNpcVertex(Coordinate position, Collection requirements, Collection forbiddingRequirements, int protocol, ObjectInput stream) ``` -------------------------------- ### Get Quantity of GroundItems Matching a Filter (Java) Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/region/GroundItems Gets the total quantity of GroundItems that match a given Predicate filter. Useful for counting specific types of items. ```java public static int getQuantity(Predicate filter) Gets the total quantity of items matching the filter Parameters: `filter` - the filter to check the items against Returns: the total quantity of items matching the filter ``` -------------------------------- ### MushTreeVertex Constructor and Methods Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/web/vertex/objects/MushTreeVertex Details on how to construct a MushTreeVertex object and the methods available. ```APIDOC ## MushTreeVertex API ### Description This section details the constructor and methods for the MushTreeVertex class. ### Constructor #### `MushTreeVertex(@NonNull Coordinate position, @NonNull String destination)` Creates a new MushTreeVertex with the specified position and destination. ### Methods #### `step(Map cache)` Attempts to step to this vertex, potentially utilizing cached data. * **Returns**: `boolean` - True if the step was successful, false otherwise. ### Inherited Methods #### From `ObjectVertex`: * `getObject()` * `getPosition()` * `scan()` #### From `Locatable`: * `distanceTo(Locatable other)` * `distanceTo(SceneOffset offset)` * `getLocalPosition()` * `getSceneOffset()` #### From `Vertex`: * `getArea()` * `getHighPrecisionPosition()` ``` -------------------------------- ### Get Deprecated Item Name Predicate (Java) Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/region/GroundItems Deprecated method to get a Predicate for filtering GroundItems by their names. Use `Items.getNamePredicate(String...)` instead. This filter is case-sensitive. ```java @Deprecated public static Predicate getNamePredicate(String... acceptedNames) Deprecated. use `Items.getNamePredicate(String...)` Gets a GroundItem filter that can be used to get a GroundItem with one of the specified names Parameters: `acceptedNames` - the names that are valid (case-sensitive) Returns: a filter ``` -------------------------------- ### Java BasicVertex Constructor and Methods Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/web/vertex/BasicVertex This Java snippet shows the constructor and key methods of the `BasicVertex` class. It includes methods for retrieving the vertex's position, high-precision position, area, and functionalities for stepping and scanning within the game world. These methods are crucial for navigation and interaction within the Runemate API. ```java public class BasicVertex extends Object implements Vertex { public BasicVertex() { // Constructor implementation } public Area.Rectangular getArea() { // Method implementation return null; } public Coordinate.HighPrecision getHighPrecisionPosition() { // Method implementation return null; } public @NonNull Coordinate getPosition() { // Method implementation return null; } public ScanResult scan(Map cache) { // Method implementation return null; } public boolean step(Map cache) { // Method implementation return false; } } ``` -------------------------------- ### Get Quantity of GroundItems Matching Multiple Filters (Java) Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/region/GroundItems Gets the total quantity of GroundItems that match any of the provided Predicate filters. Accepts a variable number of Predicate objects. ```java @SafeVarargs public static int getQuantity(Predicate... filters) Gets the total quantity of items matching the `filter`s Parameters: `filters` - the filters to check the items against Returns: the total quantity of items matching the filters ``` -------------------------------- ### Get Item Weight (Java) Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/cache/elements/CacheItemDefinition.Extended Gets the weight of the item in kilograms. Negative weights indicate weight-reducing items. This method is part of the ItemDefinition class. ```java public double getWeight() Description copied from class: `ItemDefinition` Gets the weight of the item in kg. Weight-reducing items will have negative weight. Specified by: `getWeight` in class `ItemDefinition` ``` -------------------------------- ### DialogNpcVertex Constructors Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/location/navigation/web/vertex_types/npcs/DialogNpcVertex Provides constructors for creating DialogNpcVertex instances with various parameters, including position, movement radius, NPC matching criteria, dialog options, and conditions. ```APIDOC ## DialogNpcVertex Constructors ### DialogNpcVertex(int x, int y, int plane, double movement_radius, Pattern name, Pattern action, Pattern dialog_option, boolean click_continue, int delay_length, Collection conditions) Creates a DialogNpcVertex with integer coordinates. ### DialogNpcVertex(Coordinate position, double movement_radius, Pattern name, Pattern action, Pattern dialog_option, boolean click_continue, int delay_length, Collection conditions) Creates a DialogNpcVertex with a Coordinate object. ### DialogNpcVertex(int x, int y, int plane, double movement_radius, String name, String action, Pattern dialog_option, boolean click_continue, int delay_length, Collection conditions) Creates a DialogNpcVertex with integer coordinates and String-based name and action matching. ### DialogNpcVertex(Coordinate position, double movement_radius, String name, String action, Pattern dialog_option, boolean click_continue, int delay_length, Collection conditions) Creates a DialogNpcVertex with a Coordinate object and String-based name and action matching. ### DialogNpcVertex(Coordinate position, Collection requirements, Collection forbiddingRequirements, int protocol, ObjectInput stream) Creates a DialogNpcVertex from a stream, typically used for deserialization. ``` -------------------------------- ### ObjectLoader Constructor Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/osrs/cache/definition/loader/ObjectLoader Provides details on how to instantiate the ObjectLoader. ```APIDOC ## ObjectLoader() ### Description Constructs a new ObjectLoader instance. ### Method CONSTRUCTOR ### Endpoint N/A ### Parameters None ### Request Example None ### Response #### Success Response - **ObjectLoader** (ObjectLoader) - A new instance of ObjectLoader. #### Response Example ```java ObjectLoader loader = new ObjectLoader(); ``` ``` -------------------------------- ### Get Shop Value (Java) Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/cache/elements/CacheItemDefinition.Extended Gets the shop value of an item. This information is copied from the ItemDefinition class and indicates the item's value in a shop. ```java public int getShopValue() Description copied from class: `ItemDefinition` Gets the shop value of an item Specified by: `getShopValue` in class `ItemDefinition` ``` -------------------------------- ### Js5Dat2File Methods Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/cache/file/Js5Dat2File Provides documentation for instance methods of the Js5Dat2File class. ```APIDOC ## getFile() ### Description Returns the File associated with this Js5Dat2File instance. ### Method GET ### Endpoint N/A ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **File** (File) - The associated file. #### Response Example ```json { "file": "/path/to/your/file.dat2" } ``` ## toString() ### Description Returns a string representation of the Js5Dat2File object. Overrides the default toString method from Object. ### Method GET ### Endpoint N/A ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **String** (String) - A string representation of the object. #### Response Example ```json { "toString": "com.runemate.game.cache.file.Js5Dat2File@1a2b3c4d" } ``` ``` -------------------------------- ### Get Ground Model ID in Java Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/entities/definitions/ItemDefinition Gets the model ID for the item when it appears on the ground. This determines its visual representation in the game world. ```java int groundModelId = itemDefinition.getGroundModelId(); ``` -------------------------------- ### Get Tertiary Equipment Slot in Java Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/entities/definitions/ItemDefinition Gets the tertiary equipment slot related to this item. This accounts for more complex equipment arrangements or item effects. ```java com.runemate.game.api.hybrid.entities.Equipment.Slot tertiarySlot = itemDefinition.getTertiaryEquipmentSlot(); ``` -------------------------------- ### DialogNpcVertex Constructors (Java) Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/location/navigation/web/vertex_types/npcs/DialogNpcVertex Provides various constructors for creating DialogNpcVertex objects. These constructors allow initialization with coordinates, movement radius, NPC name, action, dialog options, click continue setting, delay length, and web requirements. Different overloads exist for using Patterns or Strings for name and action, and for providing a Collection of WebRequirements and forbidding requirements. ```Java public DialogNpcVertex(int x, int y, int plane, double movement_radius, Pattern name, Pattern action, Pattern dialog_option, boolean click_continue, int delay_length, Collection conditions) public DialogNpcVertex(Coordinate position, double movement_radius, Pattern name, Pattern action, Pattern dialog_option, boolean click_continue, int delay_length, Collection conditions) public DialogNpcVertex(int x, int y, int plane, double movement_radius, String name, String action, Pattern dialog_option, boolean click_continue, int delay_length, Collection conditions) public DialogNpcVertex(Coordinate position, double movement_radius, String name, String action, Pattern dialog_option, boolean click_continue, int delay_length, Collection conditions) public DialogNpcVertex(Coordinate position, Collection requirements, Collection forbiddingRequirements, int protocol, ObjectInput stream) ``` -------------------------------- ### NpcVertex Constructor and Methods Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/web/vertex/npcs/NpcVertex Details the constructor and key methods of the NpcVertex class, such as getting its position, scanning, and retrieving the associated NPC. ```APIDOC ## NpcVertex Class Documentation ### Description Represents a vertex in the game world graph associated with an NPC. It provides information about the NPC's position and allows for scanning. ### Constructor #### `NpcVertex(Coordinate position, Pattern action, NpcQueryBuilder builder)` Constructs an `NpcVertex` with the specified position, action pattern, and NPC query builder. ### Methods #### `getNpc()` - **Returns**: `Npc` (nullable) - The NPC associated with this vertex, or null if not available. #### `getPosition()` - **Description**: Returns the exact coordinate position of this entity on the world-graph. - **Returns**: `Coordinate` (nullable) - The coordinate position, or null if unavailable. #### `scan(Map cache)` - **Description**: Scans the vertex with the provided cache. - **Parameters**: - `cache` (Map) - The cache to use for scanning. - **Returns**: `ScanResult` #### `toString()` - **Description**: Returns a string representation of the `NpcVertex` object. - **Overrides**: `toString` in class `Object` - **Returns**: `String` ### Inherited Methods - **From `java.lang.Object`**: `equals`, `getClass`, `hashCode`, `notify`, `notifyAll`, `wait` - **From `com.runemate.game.api.hybrid.entities.details.Locatable`**: `distanceTo`, `getLocalPosition`, `getSceneOffset` - **From `com.runemate.game.api.hybrid.web.vertex.Vertex`**: `getArea`, `getHighPrecisionPosition`, `step` ``` -------------------------------- ### Get Secondary Equipment Slot in Java Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/entities/definitions/ItemDefinition Gets the secondary equipment slot associated with this item. Some items might occupy or affect multiple slots. ```java com.runemate.game.api.hybrid.entities.Equipment.Slot secondarySlot = itemDefinition.getSecondaryEquipmentSlot(); ``` -------------------------------- ### ParameterDefinitionLoader Constructor Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/cache/loaders/ParameterDefinitionLoader Initializes a new instance of the ParameterDefinitionLoader class. ```APIDOC ## ParameterDefinitionLoader Constructor ### Description Initializes a new instance of the ParameterDefinitionLoader class with the specified file and game mode. ### Method CONSTRUCTOR ### Endpoint N/A ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ```json { "file": 123, "osrs": true } ``` ### Response #### Success Response (200) N/A (Constructor does not return a value) #### Response Example N/A ``` -------------------------------- ### Get Primary Equipment Slot in Java Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/entities/definitions/ItemDefinition Gets the primary equipment slot assigned to this item by the game cache. This indicates where the item is typically worn. ```java com.runemate.game.api.hybrid.entities.Equipment.Slot primarySlot = itemDefinition.getPrimaryEquipmentSlot(); ``` -------------------------------- ### On Start Event Handling - OSRSLoginHandler Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/events/osrs/OSRSLoginHandler Handles the start event for the OSRS login handler. This method overrides the one defined in the parent GameEventHandler class. ```java public void onStart() ``` -------------------------------- ### DepositBoxQueryBuilder Constructor Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/queries/DepositBoxQueryBuilder Initializes a new instance of the DepositBoxQueryBuilder class. ```APIDOC ## DepositBoxQueryBuilder() ### Description Initializes a new instance of the DepositBoxQueryBuilder class. ### Method CONSTRUCTOR ### Endpoint N/A ### Parameters None ### Request Example ```json { "example": "DepositBoxQueryBuilder" } ``` ### Response #### Success Response (200) - **DepositBoxQueryBuilder** (object) - An instance of DepositBoxQueryBuilder. #### Response Example ```json { "example": "new DepositBoxQueryBuilder()" } ``` ``` -------------------------------- ### Get Interaction Point - Interactable Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/entities/PredefinedEntity Gets a specific point on the entity that can be interacted with, considering the direction of movement from an origin point. This method is specified by the `Interactable` interface. ```java @Nullable public InteractablePoint getInteractionPoint(Point origin) Description copied from interface: `Interactable` Gets a point within the entity that can be interacted with. Takes into account the direction of movement from the origin point. Specified by: `getInteractionPoint` in interface `Interactable` ``` -------------------------------- ### Mouse Path and Speed Configuration Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/input/Mouse Configure mouse path generation and speed. ```APIDOC ## Mouse Path and Speed Configuration ### Description Allows customization of how the mouse cursor moves between points and the speed of these movements. ### Fields #### `static final Mouse.PathGenerator CLOUSE_PATH_GENERATOR` ##### Description Deprecated. Use `DEFAULT_PATH_GENERATOR` or `MLP_PATH_GENERATOR`. #### `static final double DEFAULT_MOUSE_SPEED` ##### Description The default speed multiplier for mouse movements. #### `static final Mouse.PathGenerator DEFAULT_PATH_GENERATOR` ##### Description The default path generator used for mouse movements. #### `static final Mouse.PathGenerator HOPPING_PATH_GENERATOR` ##### Description A path generator that simulates a hopping mouse movement. #### `static final Mouse.PathGenerator MLP_PATH_GENERATOR` ##### Description A path generator that uses a more advanced movement algorithm (likely MLP-based). ### Methods #### `static Mouse.PathGenerator getPathGenerator()` ##### Description Gets the currently active `Mouse.PathGenerator`. ##### Returns The current `Mouse.PathGenerator`. #### `static void setPathGenerator(Mouse.PathGenerator generator)` ##### Description Sets a custom `Mouse.PathGenerator` for mouse movements. ##### Parameters - **generator** (`Mouse.PathGenerator`) - The path generator to set. #### `static void setSpeedMultiplier(double multiplier)` ##### Description Sets the speed multiplier for mouse movements. A value of 1.0 is normal speed. ##### Parameters - **multiplier** (`double`) - The speed multiplier to apply. ``` -------------------------------- ### Get Area with Region Base - LocatableEntity Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/entities/PredefinedEntity Gets the area occupied by an entity, offsetting from a provided region base coordinate. This is an optimization technique and is specified by the `LocatableEntity` interface. ```java @NonNull public Area.Rectangular getArea(Coordinate regionBase) Description copied from interface: `LocatableEntity` Gets the area using the region base as the coordinate to offset from. For optimization. Specified by: `getArea` in interface `LocatableEntity` Parameters: `regionBase` - The Coordinate base of the loaded region ``` -------------------------------- ### Step API (With Viewport Preference) Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/location/navigation/web/WebVertex Executes a single step, with an option to prefer viewport. ```APIDOC ## POST /websites/runemate_gitlab_io_community_runemate-game-api/step ### Description Executes a single step, with a preference for the viewport. ### Method POST ### Endpoint /websites/runemate_gitlab_io_community_runemate-game-api/step ### Parameters #### Query Parameters - **prefersViewport** (boolean) - Optional - If true, the step will attempt to prefer the viewport. #### Request Body None ### Request Example ```http POST /websites/runemate_gitlab_io_community_runemate-game-api/step?prefersViewport=true HTTP/1.1 Host: example.com ``` ### Response #### Success Response (200) - **stepExecuted** (boolean) - True if the step was executed successfully, false otherwise. #### Response Example ```json { "stepExecuted": true } ``` ``` -------------------------------- ### Get Actor Stance ID (Deprecated) Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/entities/Actor Deprecated method to get the actor's stance ID. Use getPoseId() instead. This method is for historical reference. ```java default int getStanceId() Deprecated. use `getPoseId()` ``` -------------------------------- ### ControlPanel Class Documentation Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/ui/control/ControlPanel Documentation for the ControlPanel class, which extends VBox and implements Initializable. It details properties, fields, constructors, and methods. ```APIDOC ## ControlPanel Class ### Description Represents a control panel component within the Runemate UI, extending JavaFX's VBox. ### Class Hierarchy `java.lang.Object` `javafx.scene.Node` `javafx.scene.Parent` `javafx.scene.layout.Region` `javafx.scene.layout.Pane` `javafx.scene.layout.VBox` `com.runemate.ui.control.ControlPanel` ### Implemented Interfaces * `javafx.css.Styleable` * `javafx.event.EventTarget` * `javafx.fxml.Initializable` ### Constructor Summary * **`ControlPanel(DefaultUI ui)`**: Constructor for the ControlPanel. ### Method Summary * **`getPrimaryStackPane()`** (`javafx.scene.layout.StackPane`): Returns the primary stack pane. * **`initialize(URL url, ResourceBundle resourceBundle)`** (`void`): Initializes the controller. * **`setStatusText(String status)`** (`void`): Sets the status text for the control panel. ### Properties Inherited from `javafx.scene.layout.VBox` * `alignment` * `fillWidth` * `spacing` ### Properties Inherited from `javafx.scene.layout.Region` * `background` * `border` * `cacheShape` * `centerShape` * `height` * `insets` * `maxHeight` * `maxWidth` * `minHeight` * `minWidth` * `opaqueInsets` * `padding` * `prefHeight` * `prefWidth` * `scaleShape` * `shape` * `snapToPixel` * `width` ### Properties Inherited from `javafx.scene.Parent` * `needsLayout` ### Properties Inherited from `javafx.scene.Node` * `accessibleHelp`, `accessibleRoleDescription`, `accessibleRole`, `accessibleText`, `blendMode`, `boundsInLocal`, `boundsInParent`, `cacheHint`, `cache`, `clip`, `cursor`, `depthTest`, `disabled`, `disable`, `effectiveNodeOrientation`, `effect`, `eventDispatcher`, `focused`, `focusTraversable`, `focusVisible`, `focusWithin`, `hover`, `id`, `inputMethodRequests`, `layoutBounds`, `layoutX`, `layoutY`, `localToParentTransform`, `localToSceneTransform`, `managed`, `mouseTransparent`, `nodeOrientation`, `onContextMenuRequested`, `onDragDetected`, `onDragDone`, `onDragDropped`, `onDragEntered`, `onDragExited`, `onDragOver`, `onInputMethodTextChanged`, `onKeyPressed`, `onKeyReleased`, `onKeyTyped`, `onMouseClicked`, `onMouseDragEntered`, `onMouseDragExited`, `onMouseDragged`, `onMouseDragOver`, `onMouseDragReleased`, `onMouseEntered`, `onMouseExited`, `onMouseMoved`, `onMousePressed`, `onMouseReleased`, `onRotate`, `onRotationFinished`, `onRotationStarted`, `onScrollFinished`, `onScroll`, `onScrollStarted`, `onSwipeDown`, `onSwipeLeft`, `onSwipeRight`, `onSwipeUp`, `onTouchMoved`, `onTouchPressed`, `onTouchReleased`, `onTouchStationary`, `onZoomFinished`, `onZoom`, `onZoomStarted`, `opacity`, `parent`, `pickOnBounds`, `pressed`, `rotate`, `rotationAxis`, `scaleX`, `scaleY`, `scaleZ`, `scene`, `style`, `translateX`, `translateY`, `translateZ`, `viewOrder`, `visible` ### Fields Inherited from `javafx.scene.layout.Region` * `USE_COMPUTED_SIZE` * `USE_PREF_SIZE` ### Fields Inherited from `javafx.scene.Node` * `BASELINE_OFFSET_SAME_AS_HEIGHT` ``` -------------------------------- ### MenuItem Constructors Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/local/hud/MenuItem Provides details on how to instantiate a MenuItem object. ```APIDOC ## MenuItem Constructors ### Description Constructors for creating MenuItem instances. ### Constructor `MenuItem(com.runemate.client.game.open.OpenMenuItem item)` - Description: Initializes a MenuItem with the provided `OpenMenuItem`. ### Constructor `MenuItem(com.runemate.client.game.open.OpenMenuItem item, MenuItem parent)` - Description: Initializes a MenuItem with the provided `OpenMenuItem` and a parent MenuItem. ``` -------------------------------- ### Get Actor Stance Frame (Deprecated) Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/entities/Actor Deprecated method to get the actor's stance frame. Use getPoseFrame() instead. This method is for historical reference. ```java default int getStanceFrame() Deprecated. use `getPoseFrame()` ``` -------------------------------- ### Get NPC by Action Source: https://runemate.gitlab.io/community/runemate-game-api/runemate-game-api/com/runemate/game/api/hybrid/region/Npcs Gets an Npc filter that can be used to retrieve NPCs with one of the specified actions. This is useful for finding interactable NPCs. Returns a Predicate for filtering. ```java import com.runemate.game.api.hybrid.region.Npcs; import com.runemate.game.api.hybrid.entities.Npc; import java.util.function.Predicate; // ... Predicate attackableFilter = Npcs.getActionPredicate("Attack", "Chop down"); // You would then use this predicate with Npcs.getLoaded(attackableFilter); ```