diff --git a/http-api/src/main/java/net/runelite/http/api/worlds/World.java b/http-api/src/main/java/net/runelite/http/api/worlds/World.java index 2c1e6f6798..70bc2c8237 100644 --- a/http-api/src/main/java/net/runelite/http/api/worlds/World.java +++ b/http-api/src/main/java/net/runelite/http/api/worlds/World.java @@ -38,4 +38,9 @@ public class World private String activity; private int location; private int players; + + public WorldRegion getRegion() + { + return WorldRegion.valueOf(location); + } } diff --git a/http-api/src/main/java/net/runelite/http/api/worlds/WorldRegion.java b/http-api/src/main/java/net/runelite/http/api/worlds/WorldRegion.java new file mode 100644 index 0000000000..2c391e91f4 --- /dev/null +++ b/http-api/src/main/java/net/runelite/http/api/worlds/WorldRegion.java @@ -0,0 +1,74 @@ +/* + * Copyright (c) 2020, melky + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.http.api.worlds; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * Holds the data for each world's region (location) + */ +@AllArgsConstructor +@Getter +public enum WorldRegion +{ + UNITED_STATES_OF_AMERICA("US", "USA"), + UNITED_KINGDOM("GB", "GBR"), + AUSTRALIA("AU", "AUS"), + GERMANY("DE", "DEU"); + + /** + * ISO-3166-1 alpha-2 country code + */ + private final String alpha2; + /** + * ISO-3166-1 alpha-3 country code + */ + private final String alpha3; + + /** + * Gets the region using the location id + * {@link WorldRegion} value. + * + * @param locationId the location id of world + * @return WorldRegion the region of the world + */ + public static WorldRegion valueOf(int locationId) + { + switch (locationId) + { + case 0: + return UNITED_STATES_OF_AMERICA; + case 1: + return UNITED_KINGDOM; + case 3: + return AUSTRALIA; + case 7: + return GERMANY; + default: + return null; + } + } +} diff --git a/runelite-api/src/main/java/net/runelite/api/Client.java b/runelite-api/src/main/java/net/runelite/api/Client.java index fbefcc7f65..75ace64160 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -872,7 +872,7 @@ public interface Client extends GameShell * * @return the map */ - IterableHashTable getMessages(); + IterableHashTable getMessages(); /** * Gets the viewport widget. diff --git a/runelite-api/src/main/java/net/runelite/api/IterableHashTable.java b/runelite-api/src/main/java/net/runelite/api/IterableHashTable.java index bc8c23ccd9..48894f1863 100644 --- a/runelite-api/src/main/java/net/runelite/api/IterableHashTable.java +++ b/runelite-api/src/main/java/net/runelite/api/IterableHashTable.java @@ -24,7 +24,7 @@ */ package net.runelite.api; -public interface IterableHashTable extends Iterable +public interface IterableHashTable extends Iterable { - Node get(long hash); + T get(long hash); } diff --git a/runelite-api/src/main/java/net/runelite/api/Varbits.java b/runelite-api/src/main/java/net/runelite/api/Varbits.java index 080bc84a29..1ea73994f9 100644 --- a/runelite-api/src/main/java/net/runelite/api/Varbits.java +++ b/runelite-api/src/main/java/net/runelite/api/Varbits.java @@ -229,7 +229,14 @@ public enum Varbits HB_TRAIL_31372(5750), HB_FINISH(5766), - HB_STARTED(5767), //not working + + /** + * Started hunting Herbiboar. + *
+ * NOTE: This value remains at 0 even after starting a Herbiboar trail up until searching the first object along the + * hunting path. + */ + HB_STARTED(5767), /** * Barbarian Assault diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/Widget.java b/runelite-api/src/main/java/net/runelite/api/widgets/Widget.java index e003e30950..a71de2c018 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/Widget.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/Widget.java @@ -300,6 +300,21 @@ public interface Widget * @param modelId the new model ID */ void setModelId(int modelId); + + /** + * Gets the model type of the widget. + * + * @see WidgetModelType + */ + int getModelType(); + + /** + * Sets the model type of the widget. + * + * @param type the new model type + * @see WidgetModelType + */ + void setModelType(int type); /** * Gets the x rotation of the model displayed in the widget @@ -950,4 +965,4 @@ public interface Widget boolean isWidgetItemDragged(int index); Point getWidgetItemDragOffsets(); -} +} \ No newline at end of file diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetModelType.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetModelType.java new file mode 100644 index 0000000000..ff68eef617 --- /dev/null +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetModelType.java @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2020, Jordan + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.api.widgets; + +public class WidgetModelType +{ + public static final int NULL = 0; + public static final int MODEL = 1; + public static final int NPC_CHATHEAD = 2; + public static final int LOCAL_PLAYER_CHATHEAD = 3; + public static final int ITEM = 4; + public static final int PLAYER = 5; +} diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSWidget.java b/runescape-api/src/main/java/net/runelite/rs/api/RSWidget.java index 589074b78b..89b2a92d55 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSWidget.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSWidget.java @@ -85,6 +85,9 @@ public interface RSWidget extends Widget @Import("modelType") int getModelType(); + + @Import("modelType") + void setModelType(int modelType); @Import("actions") @Override