From 9c11d2101a1236b2c7e3f20fb8b6293fe6ab60de Mon Sep 17 00:00:00 2001 From: emerald000 Date: Thu, 28 Oct 2021 22:55:27 -0400 Subject: [PATCH 01/11] clues: Fix charcoal burners STASH location (#14306) --- .../client/plugins/cluescrolls/clues/emote/STASHUnit.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/emote/STASHUnit.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/emote/STASHUnit.java index a3a9a9945a..fa807f2608 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/emote/STASHUnit.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/emote/STASHUnit.java @@ -139,7 +139,7 @@ public enum STASHUnit FINE_CLOTHES_ENTRANCE(NullObjectID.NULL_34737, new WorldPoint(3209, 3416, 0)), BOB_AXES_ENTRANCE(NullObjectID.NULL_34738, new WorldPoint(3233, 3200, 0)), CRYSTALLINE_MAPLE_TREES(NullObjectID.NULL_34953, new WorldPoint(2213, 3427, 0)), - CHARCOAL_BURNERS(NullObjectID.NULL_41758, new WorldPoint(1712, 3469, 0)), + CHARCOAL_BURNERS(NullObjectID.NULL_41758, new WorldPoint(1712, 3470, 0)), ; private final int objectId; From 87e51bd960ca2fb7aab0feca6a9bb6d498d42bed Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 1 Nov 2021 14:28:50 -0400 Subject: [PATCH 02/11] bank: block bank pin going to chatbox With invokeLater() now running next tick instead of next frame, with uncapped fps there can be several frames with the bank pin visible in the chatbox. This blocks the keyboard input on this tick, preventing having to clear the chatbox later. --- .../main/java/net/runelite/api/VarClientInt.java | 5 +++++ .../runelite/client/plugins/bank/BankPlugin.java | 16 ++++------------ 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/VarClientInt.java b/runelite-api/src/main/java/net/runelite/api/VarClientInt.java index 6efd010c6e..149dc72ec7 100644 --- a/runelite-api/src/main/java/net/runelite/api/VarClientInt.java +++ b/runelite-api/src/main/java/net/runelite/api/VarClientInt.java @@ -62,6 +62,11 @@ public enum VarClientInt INVENTORY_TAB(171), + /** + * time to block keypresses til + */ + BLOCK_KEYPRESS(187), + WORLD_MAP_SEARCH_FOCUSED(190); private final int index; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java index bf9289f602..71c2726f3a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java @@ -45,6 +45,7 @@ import net.runelite.api.ItemContainer; import net.runelite.api.ItemID; import net.runelite.api.MenuEntry; import net.runelite.api.ScriptID; +import net.runelite.api.VarClientInt; import net.runelite.api.VarClientStr; import net.runelite.api.events.ItemContainerChanged; import net.runelite.api.events.MenuEntryAdded; @@ -238,18 +239,9 @@ public class BankPlugin extends Plugin log.debug("Bank pin keypress"); - final String chatboxTypedText = client.getVar(VarClientStr.CHATBOX_TYPED_TEXT); - final String inputText = client.getVar(VarClientStr.INPUT_TEXT); - clientThread.invokeLater(() -> - { - // reset chatbox input to avoid pin going to chatbox.. - client.setVar(VarClientStr.CHATBOX_TYPED_TEXT, chatboxTypedText); - client.runScript(ScriptID.CHAT_PROMPT_INIT); - client.setVar(VarClientStr.INPUT_TEXT, inputText); - client.runScript(ScriptID.CHAT_TEXT_INPUT_REBUILD, ""); - - client.runScript(onOpListener); - }); + client.runScript(onOpListener); + // Block the key press this tick in keypress_permit so it doesn't enter the chatbox + client.setVar(VarClientInt.BLOCK_KEYPRESS, client.getGameCycle() + 1); }); break; } From 9065b2a792f36c8c9041a0e0be399968a8a54897 Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 1 Nov 2021 15:04:30 -0400 Subject: [PATCH 03/11] clues: capitalize fairy ring BKP --- .../plugins/cluescrolls/clues/hotcold/HotColdLocation.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/hotcold/HotColdLocation.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/hotcold/HotColdLocation.java index 8c769e3a55..3843b0483a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/hotcold/HotColdLocation.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/hotcold/HotColdLocation.java @@ -78,7 +78,7 @@ public enum HotColdLocation DESERT_SHANTY(MASTER, new WorldPoint(3292, 3107, 0), DESERT, "South-west of Shantay Pass.", BRASSICAN_MAGE), DRAYNOR_MANOR_MUSHROOMS(BEGINNER, new WorldPoint(3096, 3379, 0), MISTHALIN, "Patch of mushrooms just northwest of Draynor Manor"), DRAYNOR_WHEAT_FIELD(BEGINNER, new WorldPoint(3120, 3282, 0), MISTHALIN, "Inside the wheat field next to Draynor Village"), - FELDIP_HILLS_JIGGIG(MASTER, new WorldPoint(2409, 3053, 0), FELDIP_HILLS, "West of Jiggig, east of the fairy ring bkp.", BRASSICAN_MAGE), + FELDIP_HILLS_JIGGIG(MASTER, new WorldPoint(2409, 3053, 0), FELDIP_HILLS, "West of Jiggig, east of the fairy ring BKP.", BRASSICAN_MAGE), FELDIP_HILLS_SW(MASTER, new WorldPoint(2586, 2897, 0), FELDIP_HILLS, "West of the southeasternmost lake in Feldip Hills.", BRASSICAN_MAGE), FELDIP_HILLS_GNOME_GLITER(MASTER, new WorldPoint(2555, 2972, 0), FELDIP_HILLS, "East of the gnome glider (Lemantolly Undri).", BRASSICAN_MAGE), FELDIP_HILLS_RANTZ(MASTER, new WorldPoint(2611, 2950, 0), FELDIP_HILLS, "South of Rantz, west of the empty glass bottles.", BRASSICAN_MAGE), From c61d0c8a2fb9b4a4d95ac41e595746e3d6f960fe Mon Sep 17 00:00:00 2001 From: Adam Date: Tue, 2 Nov 2021 14:27:18 -0400 Subject: [PATCH 04/11] client: remove rogues' den plugin An improved version of this plugin has been made available on the pluginhub instead. --- .../client/plugins/roguesden/Obstacles.java | 53 ------ .../plugins/roguesden/RoguesDenOverlay.java | 93 ---------- .../plugins/roguesden/RoguesDenPlugin.java | 159 ------------------ 3 files changed, 305 deletions(-) delete mode 100644 runelite-client/src/main/java/net/runelite/client/plugins/roguesden/Obstacles.java delete mode 100644 runelite-client/src/main/java/net/runelite/client/plugins/roguesden/RoguesDenOverlay.java delete mode 100644 runelite-client/src/main/java/net/runelite/client/plugins/roguesden/RoguesDenPlugin.java diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/roguesden/Obstacles.java b/runelite-client/src/main/java/net/runelite/client/plugins/roguesden/Obstacles.java deleted file mode 100644 index 13c6052336..0000000000 --- a/runelite-client/src/main/java/net/runelite/client/plugins/roguesden/Obstacles.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (c) 2018, Shaun Dreclin - * 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.client.plugins.roguesden; - -import com.google.common.collect.Sets; -import java.util.Set; -import static net.runelite.api.ObjectID.*; -import static net.runelite.api.NullObjectID.*; - -class Obstacles -{ - public static final Set OBSTACLE_IDS_HULL = Sets.newHashSet( - SPINNING_BLADES_7224, - CONTORTION_BARS, - PENDULUM, - WALL_7249, /*Wall crushers*/ - WALL_7248, /*Wall blade*/ - LEDGE_7240, /*Ledge climb*/ - NULL_7235 /*Wall safe*/ - ); - - public static final Set OBSTACLE_IDS_TILE = Sets.newHashSet( - FLOOR, /*Floor spikes*/ - WALL_7228, /*Wall spikes*/ - WALL_7229, /*Wall spears*/ - FLOOR_7245, /*Pressure pad a*/ - FLOOR_7230, /*Pressure pad b*/ - BLADE_7252, /*Floor blade*/ - 7239 /*Bridge [Ground object]*/ - ); -} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/roguesden/RoguesDenOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/roguesden/RoguesDenOverlay.java deleted file mode 100644 index 1dc0aa0bc6..0000000000 --- a/runelite-client/src/main/java/net/runelite/client/plugins/roguesden/RoguesDenOverlay.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright (c) 2018, Shaun Dreclin - * 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.client.plugins.roguesden; - -import java.awt.Color; -import java.awt.Dimension; -import java.awt.Graphics2D; -import java.awt.Polygon; -import java.awt.Shape; -import javax.inject.Inject; -import net.runelite.api.Client; -import net.runelite.api.coords.LocalPoint; -import net.runelite.client.ui.overlay.Overlay; -import net.runelite.client.ui.overlay.OverlayLayer; -import net.runelite.client.ui.overlay.OverlayPosition; - -public class RoguesDenOverlay extends Overlay -{ - private static final int MAX_DISTANCE = 2350; - - private final Client client; - private final RoguesDenPlugin plugin; - - @Inject - public RoguesDenOverlay(Client client, RoguesDenPlugin plugin) - { - setPosition(OverlayPosition.DYNAMIC); - setLayer(OverlayLayer.ABOVE_SCENE); - this.client = client; - this.plugin = plugin; - } - - @Override - public Dimension render(Graphics2D graphics) - { - if (!plugin.isHasGem()) - { - return null; - } - - LocalPoint playerLocation = client.getLocalPlayer().getLocalLocation(); - - plugin.getObstaclesHull().forEach((obstacle, tile) -> - { - if (tile.getPlane() == client.getPlane() && obstacle.getLocalLocation().distanceTo(playerLocation) < MAX_DISTANCE) - { - Shape p = tile.getGameObjects()[0].getConvexHull(); - if (p != null) - { - graphics.setColor(Color.CYAN); - graphics.draw(p); - } - } - }); - - plugin.getObstaclesTile().forEach((obstacle, tile) -> - { - if (tile.getPlane() == client.getPlane() && obstacle.getLocalLocation().distanceTo(playerLocation) < MAX_DISTANCE) - { - Polygon p = obstacle.getCanvasTilePoly(); - if (p != null) - { - graphics.setColor(Color.CYAN); - graphics.draw(p); - } - } - }); - - return null; - } -} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/roguesden/RoguesDenPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/roguesden/RoguesDenPlugin.java deleted file mode 100644 index 2d52329d1c..0000000000 --- a/runelite-client/src/main/java/net/runelite/client/plugins/roguesden/RoguesDenPlugin.java +++ /dev/null @@ -1,159 +0,0 @@ -/* - * Copyright (c) 2018-2019, Shaun Dreclin - * 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.client.plugins.roguesden; - -import java.util.HashMap; -import javax.inject.Inject; -import lombok.AccessLevel; -import lombok.Getter; -import net.runelite.api.GameState; -import net.runelite.api.InventoryID; -import net.runelite.api.ItemContainer; -import net.runelite.api.ItemID; -import net.runelite.api.Tile; -import net.runelite.api.TileObject; -import net.runelite.api.events.GameObjectChanged; -import net.runelite.api.events.GameObjectDespawned; -import net.runelite.api.events.GameObjectSpawned; -import net.runelite.api.events.GameStateChanged; -import net.runelite.api.events.GroundObjectChanged; -import net.runelite.api.events.GroundObjectDespawned; -import net.runelite.api.events.GroundObjectSpawned; -import net.runelite.api.events.ItemContainerChanged; -import net.runelite.client.eventbus.Subscribe; -import net.runelite.client.plugins.Plugin; -import net.runelite.client.plugins.PluginDescriptor; -import net.runelite.client.ui.overlay.OverlayManager; - -@PluginDescriptor( - name = "Rogues' Den", - description = "Mark tiles and clickboxes to help traverse the maze", - tags = {"agility", "maze", "minigame", "overlay", "thieving"} -) -public class RoguesDenPlugin extends Plugin -{ - @Getter(AccessLevel.PACKAGE) - private final HashMap obstaclesHull = new HashMap<>(); - - @Getter(AccessLevel.PACKAGE) - private final HashMap obstaclesTile = new HashMap<>(); - - @Getter(AccessLevel.PACKAGE) - private boolean hasGem; - - @Inject - private OverlayManager overlayManager; - - @Inject - private RoguesDenOverlay overlay; - - @Override - protected void startUp() throws Exception - { - overlayManager.add(overlay); - } - - @Override - protected void shutDown() throws Exception - { - overlayManager.remove(overlay); - obstaclesHull.clear(); - obstaclesTile.clear(); - hasGem = false; - } - - @Subscribe - public void onItemContainerChanged(ItemContainerChanged event) - { - if (event.getContainerId() != InventoryID.INVENTORY.getId()) - { - return; - } - - ItemContainer itemContainer = event.getItemContainer(); - hasGem = itemContainer.contains(ItemID.MYSTIC_JEWEL); - } - - @Subscribe - public void onGameObjectSpawned(GameObjectSpawned event) - { - onTileObject(event.getTile(), null, event.getGameObject()); - } - - @Subscribe - public void onGameObjectChanged(GameObjectChanged event) - { - onTileObject(event.getTile(), event.getPrevious(), event.getGameObject()); - } - - @Subscribe - public void onGameObjectDespawned(GameObjectDespawned event) - { - onTileObject(event.getTile(), event.getGameObject(), null); - } - - @Subscribe - public void onGroundObjectSpawned(GroundObjectSpawned event) - { - onTileObject(event.getTile(), null, event.getGroundObject()); - } - - @Subscribe - public void onGroundObjectChanged(GroundObjectChanged event) - { - onTileObject(event.getTile(), event.getPrevious(), event.getGroundObject()); - } - - @Subscribe - public void onGroundObjectDespawned(GroundObjectDespawned event) - { - onTileObject(event.getTile(), event.getGroundObject(), null); - } - - @Subscribe - public void onGameStateChanged(GameStateChanged event) - { - if (event.getGameState() == GameState.LOADING) - { - obstaclesHull.clear(); - obstaclesTile.clear(); - } - } - - private void onTileObject(Tile tile, TileObject oldObject, TileObject newObject) - { - obstaclesHull.remove(oldObject); - if (newObject != null && Obstacles.OBSTACLE_IDS_HULL.contains(newObject.getId())) - { - obstaclesHull.put(newObject, tile); - } - - obstaclesTile.remove(oldObject); - if (newObject != null && Obstacles.OBSTACLE_IDS_TILE.contains(newObject.getId())) - { - obstaclesTile.put(newObject, tile); - } - } -} From 2eb2cdc3281f66dc56fb75e5307f902bd0b55c57 Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 1 Nov 2021 18:47:31 -0400 Subject: [PATCH 05/11] cache: rename objectdefinition ambient sound ids --- .../net/runelite/cache/definitions/ObjectDefinition.java | 2 +- .../runelite/cache/definitions/loaders/ObjectLoader.java | 2 +- .../net/runelite/cache/definitions/savers/ObjectSaver.java | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/cache/src/main/java/net/runelite/cache/definitions/ObjectDefinition.java b/cache/src/main/java/net/runelite/cache/definitions/ObjectDefinition.java index b729023abc..0bea8f3edf 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/ObjectDefinition.java +++ b/cache/src/main/java/net/runelite/cache/definitions/ObjectDefinition.java @@ -44,7 +44,7 @@ public class ObjectDefinition private int sizeX = 1; private int sizeY = 1; private int anInt2083 = 0; - private int[] anIntArray2084; + private int[] ambientSoundIds; private int offsetX = 0; private boolean mergeNormals = false; private int wallOrDoor = -1; diff --git a/cache/src/main/java/net/runelite/cache/definitions/loaders/ObjectLoader.java b/cache/src/main/java/net/runelite/cache/definitions/loaders/ObjectLoader.java index 7a9162cd64..157234e019 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/loaders/ObjectLoader.java +++ b/cache/src/main/java/net/runelite/cache/definitions/loaders/ObjectLoader.java @@ -300,7 +300,7 @@ public class ObjectLoader anIntArray2084[index] = is.readUnsignedShort(); } - def.setAnIntArray2084(anIntArray2084); + def.setAmbientSoundIds(anIntArray2084); } else if (opcode == 81) { diff --git a/cache/src/main/java/net/runelite/cache/definitions/savers/ObjectSaver.java b/cache/src/main/java/net/runelite/cache/definitions/savers/ObjectSaver.java index a688cdde7f..666c9e50f2 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/savers/ObjectSaver.java +++ b/cache/src/main/java/net/runelite/cache/definitions/savers/ObjectSaver.java @@ -176,14 +176,14 @@ public class ObjectSaver out.writeShort(obj.getAmbientSoundId()); out.writeByte(obj.getAnInt2083()); } - if (obj.getAnIntArray2084() != null) + if (obj.getAmbientSoundIds() != null) { out.writeByte(79); out.writeShort(obj.getAnInt2112()); out.writeShort(obj.getAnInt2113()); out.writeByte(obj.getAnInt2083()); - out.writeByte(obj.getAnIntArray2084().length); - for (int i : obj.getAnIntArray2084()) + out.writeByte(obj.getAmbientSoundIds().length); + for (int i : obj.getAmbientSoundIds()) { out.writeShort(i); } From 63034431c06398c215fcaf2e1aa29ec28294f121 Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 1 Nov 2021 19:16:34 -0400 Subject: [PATCH 06/11] api: add ambient sound effect --- .../net/runelite/api/AmbientSoundEffect.java | 59 +++++++++++++++++++ .../main/java/net/runelite/api/Client.java | 6 ++ .../src/main/java/net/runelite/api/Deque.java | 36 +++++++++++ 3 files changed, 101 insertions(+) create mode 100644 runelite-api/src/main/java/net/runelite/api/AmbientSoundEffect.java create mode 100644 runelite-api/src/main/java/net/runelite/api/Deque.java diff --git a/runelite-api/src/main/java/net/runelite/api/AmbientSoundEffect.java b/runelite-api/src/main/java/net/runelite/api/AmbientSoundEffect.java new file mode 100644 index 0000000000..5c31c7b79c --- /dev/null +++ b/runelite-api/src/main/java/net/runelite/api/AmbientSoundEffect.java @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2021, Adam + * 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; + +import net.runelite.api.coords.LocalPoint; + +/** + * An ambient sound effect. These are loaded only at scene load and are used to play ambient + * sound effects that are purely client side and not sent from the server. + */ +public interface AmbientSoundEffect +{ + /** + * The id of the sound effect + * @see SoundEffectID + * @return + */ + int getSoundEffectId(); + + /** + * The plane the sound effect is on + * @return + */ + int getPlane(); + + /** + * The min x/y position of the area this sound effect is at. + * @return + */ + LocalPoint getMinPosition(); + + /** + * The max x/y position of the area this sound effect is at + * @return + */ + LocalPoint getMaxPosition(); +} 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 1deb257e9b..4f38b13c0c 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -1953,4 +1953,10 @@ public interface Client extends GameEngine ClanSettings getClanSettings(int clanId); void setUnlockedFps(boolean unlock); + + /** + * Gets the ambient sound effects + * @return + */ + Deque getAmbientSoundEffects(); } diff --git a/runelite-api/src/main/java/net/runelite/api/Deque.java b/runelite-api/src/main/java/net/runelite/api/Deque.java new file mode 100644 index 0000000000..482306b6de --- /dev/null +++ b/runelite-api/src/main/java/net/runelite/api/Deque.java @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2021, Adam + * 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; + +/** + * A doubly linked list + */ +public interface Deque extends Iterable +{ + /** + * clear the deque + */ + void clear(); +} From 099221993ab8802993acf4ffccb4ba19a9b5a2c9 Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 1 Nov 2021 19:56:26 -0400 Subject: [PATCH 07/11] music: add option to mute ambient sound effects --- .../client/plugins/music/MusicConfig.java | 19 ++++++++++++++--- .../client/plugins/music/MusicPlugin.java | 21 +++++++++++++++++-- 2 files changed, 35 insertions(+), 5 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/music/MusicConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/music/MusicConfig.java index 1458855db8..8f0825016d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/music/MusicConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/music/MusicConfig.java @@ -28,10 +28,12 @@ import net.runelite.client.config.Config; import net.runelite.client.config.ConfigGroup; import net.runelite.client.config.ConfigItem; -@ConfigGroup("music") +@ConfigGroup(MusicConfig.GROUP) public interface MusicConfig extends Config { + String GROUP = "music"; String GRANULAR_SLIDERS = "granularSliders"; + String MUTE_AMBIENT_SOUNDS = "muteAmbientSounds"; @ConfigItem( keyName = "muteOwnAreaSounds", @@ -77,11 +79,22 @@ public interface MusicConfig extends Config return false; } + @ConfigItem( + keyName = MUTE_AMBIENT_SOUNDS, + name = "Mute ambient sounds", + description = "Mute background noise such as magic trees and furnaces", + position = 4 + ) + default boolean muteAmbientSounds() + { + return false; + } + @ConfigItem( keyName = "mutePrayerSounds", name = "Mute prayer sounds", description = "Mute prayer activation and deactivation sounds", - position = 4 + position = 5 ) default boolean mutePrayerSounds() { @@ -92,7 +105,7 @@ public interface MusicConfig extends Config keyName = GRANULAR_SLIDERS, name = "Granular volume sliders", description = "Make the volume sliders allow better control of volume", - position = 5 + position = 6 ) default boolean granularSliders() { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/music/MusicPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/music/MusicPlugin.java index 0008f463ab..075dd1315c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/music/MusicPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/music/MusicPlugin.java @@ -221,12 +221,21 @@ public class MusicPlugin extends Plugin @Subscribe public void onGameStateChanged(GameStateChanged gameStateChanged) { - if (gameStateChanged.getGameState() == GameState.LOGIN_SCREEN) + GameState gameState = gameStateChanged.getGameState(); + if (gameState == GameState.LOGIN_SCREEN) { // Reset music filter on logout currentMusicFilter = MusicState.ALL; tracks = null; } + else if (gameState == GameState.LOGGED_IN) + { + if (musicConfig.muteAmbientSounds()) + { + client.getAmbientSoundEffects() + .clear(); + } + } } @Subscribe @@ -308,7 +317,7 @@ public class MusicPlugin extends Plugin @Subscribe public void onConfigChanged(ConfigChanged configChanged) { - if ("music".equals(configChanged.getGroup())) + if (configChanged.getGroup().equals(MusicConfig.GROUP)) { clientThread.invoke(() -> { @@ -324,6 +333,14 @@ public class MusicPlugin extends Plugin teardownMusicOptions(); } } + else if (MusicConfig.MUTE_AMBIENT_SOUNDS.equals(configChanged.getKey())) + { + // Reload the scene to reapply ambient sounds + if (client.getGameState() == GameState.LOGGED_IN) + { + client.setGameState(GameState.LOADING); + } + } else { updateMusicOptions(); From b8f0d9b9a624b45e661d30407e2ba1656143927d Mon Sep 17 00:00:00 2001 From: septicsalmon Date: Tue, 2 Nov 2021 22:44:36 +0000 Subject: [PATCH 08/11] item identification: add option for each seed type Also add an option to split pyre logs from regular logs, and fix the section for Sacks Co-authored-by: Adam --- .../ItemIdentification.java | 138 ++++++++++++------ .../ItemIdentificationConfig.java | 99 ++++++++++++- 2 files changed, 188 insertions(+), 49 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemidentification/ItemIdentification.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemidentification/ItemIdentification.java index 934a0d1116..9661c03b61 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemidentification/ItemIdentification.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemidentification/ItemIdentification.java @@ -33,42 +33,84 @@ import net.runelite.api.ItemID; enum ItemIdentification { //Seeds - GUAM_SEED(Type.SEED, "Guam", "G", ItemID.GUAM_SEED), - MARRENTILL_SEED(Type.SEED, "Marren", "M", ItemID.MARRENTILL_SEED), - TARROMIN_SEED(Type.SEED, "Tarro", "TAR", ItemID.TARROMIN_SEED), - HARRALANDER_SEED(Type.SEED, "Harra", "H", ItemID.HARRALANDER_SEED), - RANARR_SEED(Type.SEED, "Ranarr", "R", ItemID.RANARR_SEED), - TOADFLAX_SEED(Type.SEED, "Toad", "TOA", ItemID.TOADFLAX_SEED), - IRIT_SEED(Type.SEED, "Irit", "I", ItemID.IRIT_SEED), - AVANTOE_SEED(Type.SEED, "Avan", "A", ItemID.AVANTOE_SEED), - KWUARM_SEED(Type.SEED, "Kwuarm", "K", ItemID.KWUARM_SEED), - SNAPDRAGON_SEED(Type.SEED, "Snap", "S", ItemID.SNAPDRAGON_SEED), - CADANTINE_SEED(Type.SEED, "Cadan", "C", ItemID.CADANTINE_SEED), - LANTADYME_SEED(Type.SEED, "Lanta", "L", ItemID.LANTADYME_SEED), - DWARF_WEED_SEED(Type.SEED, "Dwarf", "D", ItemID.DWARF_WEED_SEED), - TORSTOL_SEED(Type.SEED, "Torstol", "TOR", ItemID.TORSTOL_SEED), + GUAM_SEED(Type.SEED_HERB, "Guam", "G", ItemID.GUAM_SEED), + MARRENTILL_SEED(Type.SEED_HERB, "Marren", "M", ItemID.MARRENTILL_SEED), + TARROMIN_SEED(Type.SEED_HERB, "Tarro", "TAR", ItemID.TARROMIN_SEED), + HARRALANDER_SEED(Type.SEED_HERB, "Harra", "H", ItemID.HARRALANDER_SEED), + RANARR_SEED(Type.SEED_HERB, "Ranarr", "R", ItemID.RANARR_SEED), + TOADFLAX_SEED(Type.SEED_HERB, "Toad", "TOA", ItemID.TOADFLAX_SEED), + IRIT_SEED(Type.SEED_HERB, "Irit", "I", ItemID.IRIT_SEED), + AVANTOE_SEED(Type.SEED_HERB, "Avan", "A", ItemID.AVANTOE_SEED), + KWUARM_SEED(Type.SEED_HERB, "Kwuarm", "K", ItemID.KWUARM_SEED), + SNAPDRAGON_SEED(Type.SEED_HERB, "Snap", "S", ItemID.SNAPDRAGON_SEED), + CADANTINE_SEED(Type.SEED_HERB, "Cadan", "C", ItemID.CADANTINE_SEED), + LANTADYME_SEED(Type.SEED_HERB, "Lanta", "L", ItemID.LANTADYME_SEED), + DWARF_WEED_SEED(Type.SEED_HERB, "Dwarf", "D", ItemID.DWARF_WEED_SEED), + TORSTOL_SEED(Type.SEED_HERB, "Torstol", "TOR", ItemID.TORSTOL_SEED), - POISON_IVY_SEED(Type.SEED, "Ivy", "I", ItemID.POISON_IVY_SEED), - WHITEBERRY_SEED(Type.SEED, "White", "W", ItemID.WHITEBERRY_SEED), - SEAWEED_SPORE(Type.SEED, "Seaweed", "SW", ItemID.SEAWEED_SPORE), + REDBERRY_SEED(Type.SEED_BERRY, "Redberry", "RED", ItemID.REDBERRY_SEED), + CADAVABERRY_SEED(Type.SEED_BERRY, "Cadava", "CAD", ItemID.CADAVABERRY_SEED), + DWELLBERRY_SEED(Type.SEED_BERRY, "Dwell", "DWEL", ItemID.DWELLBERRY_SEED), + JANGERBERRY_SEED(Type.SEED_BERRY, "Janger", "JANG", ItemID.JANGERBERRY_SEED), + WHITEBERRY_SEED(Type.SEED_BERRY, "White", "WHIT", ItemID.WHITEBERRY_SEED), + POISON_IVY_SEED(Type.SEED_BERRY, "Ivy", "POI", ItemID.POISON_IVY_SEED), - HESPORI_SEED(Type.SEED, "Hespori", "HES", ItemID.HESPORI_SEED), - KRONOS_SEED(Type.SEED, "Kronos", "KRO", ItemID.KRONOS_SEED), - IASOR_SEED(Type.SEED, "Iasor", "IA", ItemID.IASOR_SEED), - ATTAS_SEED(Type.SEED, "Attas", "AT", ItemID.ATTAS_SEED), - CELASTRUS_SEED(Type.SEED, "Celas", "CEL", ItemID.CELASTRUS_SEED), - SPIRIT_SEED(Type.SEED, "Spirit", "SPI", ItemID.SPIRIT_SEED), - CALQUAT_SEED(Type.SEED, "Calquat", "CAL", ItemID.CALQUAT_TREE_SEED), + GRAPE_SEED(Type.SEED_SPECIAL, "Grape", "GRA", ItemID.GRAPE_SEED), + MUSHROOM_SPORE(Type.SEED_SPECIAL, "Mushroom", "MUSH", ItemID.MUSHROOM_SPORE), + BELLADONNA_SEED(Type.SEED_SPECIAL, "Bella", "BELL", ItemID.BELLADONNA_SEED), + SEAWEED_SPORE(Type.SEED_SPECIAL, "Seaweed", "SW", ItemID.SEAWEED_SPORE), + HESPORI_SEED(Type.SEED_SPECIAL, "Hespori", "HES", ItemID.HESPORI_SEED), + KRONOS_SEED(Type.SEED_SPECIAL, "Kronos", "KRO", ItemID.KRONOS_SEED), + IASOR_SEED(Type.SEED_SPECIAL, "Iasor", "IA", ItemID.IASOR_SEED), + ATTAS_SEED(Type.SEED_SPECIAL, "Attas", "AT", ItemID.ATTAS_SEED), + CACTUS_SEED(Type.SEED_SPECIAL, "Cactus", "CAC", ItemID.CACTUS_SEED), + POTATO_CACTUS_SEED(Type.SEED_SPECIAL, "P.Cact", "P.CAC", ItemID.POTATO_CACTUS_SEED), - ACORN(Type.SEED, "Oak", "OAK", ItemID.ACORN), - WILLOW_SEED(Type.SEED, "Willow", "WIL", ItemID.WILLOW_SEED), - MAPLE_SEED(Type.SEED, "Maple", "MAP", ItemID.MAPLE_SEED), - YEW_SEED(Type.SEED, "Yew", "YEW", ItemID.YEW_SEED), - MAGIC_SEED(Type.SEED, "Magic", "MAG", ItemID.MAGIC_SEED), - REDWOOD_SEED(Type.SEED, "Red", "RED", ItemID.REDWOOD_TREE_SEED), - TEAK_SEED(Type.SEED, "Teak", "TEAK", ItemID.TEAK_SEED), - MAHOGANY_SEED(Type.SEED, "Mahog", "MAH", ItemID.MAHOGANY_SEED), - CRYSTAL_ACORN(Type.SEED, "Crystal", "CRY", ItemID.CRYSTAL_ACORN), + ACORN(Type.SEED_TREE, "Oak", "OAK", ItemID.ACORN), + WILLOW_SEED(Type.SEED_TREE, "Willow", "WIL", ItemID.WILLOW_SEED), + MAPLE_SEED(Type.SEED_TREE, "Maple", "MAP", ItemID.MAPLE_SEED), + YEW_SEED(Type.SEED_TREE, "Yew", "YEW", ItemID.YEW_SEED), + MAGIC_SEED(Type.SEED_TREE, "Magic", "MAG", ItemID.MAGIC_SEED), + REDWOOD_SEED(Type.SEED_TREE, "Red", "RED", ItemID.REDWOOD_TREE_SEED), + TEAK_SEED(Type.SEED_TREE, "Teak", "TEAK", ItemID.TEAK_SEED), + MAHOGANY_SEED(Type.SEED_TREE, "Mahog", "MAH", ItemID.MAHOGANY_SEED), + CRYSTAL_ACORN(Type.SEED_TREE, "Crystal", "CRY", ItemID.CRYSTAL_ACORN), + CELASTRUS_SEED(Type.SEED_TREE, "Celas", "CEL", ItemID.CELASTRUS_SEED), + SPIRIT_SEED(Type.SEED_TREE, "Spirit", "SPI", ItemID.SPIRIT_SEED), + CALQUAT_SEED(Type.SEED_TREE, "Calquat", "CAL", ItemID.CALQUAT_TREE_SEED), + + APPLE_TREE_SEED(Type.SEED_FRUIT_TREE, "Apple", "APP", ItemID.APPLE_TREE_SEED), + BANANA_TREE_SEED(Type.SEED_FRUIT_TREE, "Banana", "BAN", ItemID.BANANA_TREE_SEED), + ORANGE_TREE_SEED(Type.SEED_FRUIT_TREE, "Orange", "ORA", ItemID.ORANGE_TREE_SEED), + CURRY_TREE_SEED(Type.SEED_FRUIT_TREE, "Curry", "CUR", ItemID.CURRY_TREE_SEED), + PINEAPPLE_SEED(Type.SEED_FRUIT_TREE, "Pine.A", "PINE", ItemID.PINEAPPLE_SEED), + PAPAYA_TREE_SEED(Type.SEED_FRUIT_TREE, "Papaya", "PAPA", ItemID.PAPAYA_TREE_SEED), + PALM_TREE_SEED(Type.SEED_FRUIT_TREE, "Palm", "PALM", ItemID.PALM_TREE_SEED), + DRAGONFRIUT_TREE_SEED(Type.SEED_FRUIT_TREE, "Dragon", "DRA", ItemID.DRAGONFRUIT_TREE_SEED), + + POTATO_SEED(Type.SEED_ALLOTMENT, "Potato", "POT", ItemID.POTATO_SEED), + ONION_SEED(Type.SEED_ALLOTMENT, "Onion", "ONI", ItemID.ONION_SEED), + CABBAGE_SEED(Type.SEED_ALLOTMENT, "Cabbage", "CAB", ItemID.CABBAGE_SEED), + TOMATO_SEED(Type.SEED_ALLOTMENT, "Tomato", "TOM", ItemID.TOMATO_SEED), + SWEETCORN_SEED(Type.SEED_ALLOTMENT, "S.Corn", "CORN", ItemID.SWEETCORN_SEED), + STRAWBERRY_SEED(Type.SEED_ALLOTMENT, "S.Berry", "STRA", ItemID.STRAWBERRY_SEED), + WATERMELON_SEED(Type.SEED_ALLOTMENT, "Melon", "MEL", ItemID.WATERMELON_SEED), + SNAPE_GRASS_SEED(Type.SEED_ALLOTMENT, "Snape", "SNA", ItemID.SNAPE_GRASS_SEED), + + MARIGOLD_SEED(Type.SEED_FLOWER, "Marigo", "MARI", ItemID.MARIGOLD_SEED), + ROSEMARY_SEED(Type.SEED_FLOWER, "Rosemar", "ROSE", ItemID.ROSEMARY_SEED), + NASTURTIUM_SEED(Type.SEED_FLOWER, "Nastur", "NAS", ItemID.NASTURTIUM_SEED), + WOAD_SEED(Type.SEED_FLOWER, "Woad", "WOAD", ItemID.WOAD_SEED), + LIMPWURT_SEED(Type.SEED_FLOWER, "Limpwurt", "LIMP", ItemID.LIMPWURT_SEED), + WHITE_LILY_SEED(Type.SEED_FLOWER, "Lily", "LILY", ItemID.WHITE_LILY_SEED), + + BARLEY_SEED(Type.HOPS_SEED, "Barley", "BAR", ItemID.BARLEY_SEED), + HAMMERSTONE_SEED(Type.HOPS_SEED, "Hammer", "HAMM", ItemID.HAMMERSTONE_SEED), + ASGARNIAN_SEED(Type.HOPS_SEED, "Asgar", "ASG", ItemID.ASGARNIAN_SEED), + JUTE_SEED(Type.HOPS_SEED, "Jute", "JUTE", ItemID.JUTE_SEED), + YANILLIAN_SEED(Type.HOPS_SEED, "Yani", "YAN", ItemID.YANILLIAN_SEED), + KRANDORIAN_SEED(Type.HOPS_SEED, "Krand", "KRA", ItemID.KRANDORIAN_SEED), + WILDBLOOD_SEED(Type.HOPS_SEED, "Wild.B", "WILD", ItemID.WILDBLOOD_SEED), //Sacks SACK(Type.SACK, "Empty", "EMP", ItemID.EMPTY_SACK), @@ -121,16 +163,16 @@ enum ItemIdentification MAGIC_LOG(Type.LOGS, "Magic", "MAG", ItemID.MAGIC_LOGS), REDWOOD_LOG(Type.LOGS, "Red", "RED", ItemID.REDWOOD_LOGS), - PYRE_LOGS(Type.LOGS, "Pyre", "P", ItemID.PYRE_LOGS), - ARCTIC_PYRE_LOGS(Type.LOGS, "Art P", "AP", ItemID.ARCTIC_PYRE_LOGS), - OAK_PYRE_LOGS(Type.LOGS, "Oak P", "OAKP", ItemID.OAK_PYRE_LOGS), - WILLOW_PYRE_LOGS(Type.LOGS, "Wil P", "WILP", ItemID.WILLOW_PYRE_LOGS), - TEAK_PYRE_LOGS(Type.LOGS, "Teak P", "TEAKP", ItemID.TEAK_PYRE_LOGS), - MAPLE_PYRE_LOGS(Type.LOGS, "Map P", "MAPP", ItemID.MAPLE_PYRE_LOGS), - MAHOGANY_PYRE_LOGS(Type.LOGS, "Mah P", "MAHP", ItemID.MAHOGANY_PYRE_LOGS), - YEW_PYRE_LOGS(Type.LOGS, "Yew P", "YEWP", ItemID.YEW_PYRE_LOGS), - MAGIC_PYRE_LOGS(Type.LOGS, "Mag P", "MAGP", ItemID.MAGIC_PYRE_LOGS), - REDWOOD_PYRE_LOGS(Type.LOGS, "Red P", "REDP", ItemID.REDWOOD_PYRE_LOGS), + PYRE_LOGS(Type.LOGS_PYRE, "Pyre", "P", ItemID.PYRE_LOGS), + ARCTIC_PYRE_LOGS(Type.LOGS_PYRE, "Art P", "AP", ItemID.ARCTIC_PYRE_LOGS), + OAK_PYRE_LOGS(Type.LOGS_PYRE, "Oak P", "OAKP", ItemID.OAK_PYRE_LOGS), + WILLOW_PYRE_LOGS(Type.LOGS_PYRE, "Wil P", "WILP", ItemID.WILLOW_PYRE_LOGS), + TEAK_PYRE_LOGS(Type.LOGS_PYRE, "Teak P", "TEAKP", ItemID.TEAK_PYRE_LOGS), + MAPLE_PYRE_LOGS(Type.LOGS_PYRE, "Map P", "MAPP", ItemID.MAPLE_PYRE_LOGS), + MAHOGANY_PYRE_LOGS(Type.LOGS_PYRE, "Mah P", "MAHP", ItemID.MAHOGANY_PYRE_LOGS), + YEW_PYRE_LOGS(Type.LOGS_PYRE, "Yew P", "YEWP", ItemID.YEW_PYRE_LOGS), + MAGIC_PYRE_LOGS(Type.LOGS_PYRE, "Mag P", "MAGP", ItemID.MAGIC_PYRE_LOGS), + REDWOOD_PYRE_LOGS(Type.LOGS_PYRE, "Red P", "REDP", ItemID.REDWOOD_PYRE_LOGS), //Planks PLANK(Type.PLANK, "Plank", "PLANK", ItemID.PLANK), @@ -424,10 +466,18 @@ enum ItemIdentification @AllArgsConstructor enum Type { - SEED(ItemIdentificationConfig::showSeeds), + SEED_HERB(ItemIdentificationConfig::showHerbSeeds), + SEED_BERRY(ItemIdentificationConfig::showBerrySeeds), + SEED_ALLOTMENT(ItemIdentificationConfig::showAllotmentSeeds), + SEED_SPECIAL(ItemIdentificationConfig::showSpecialSeeds), + SEED_TREE(ItemIdentificationConfig::showTreeSeeds), + SEED_FRUIT_TREE(ItemIdentificationConfig::showFruitTreeSeeds), + SEED_FLOWER(ItemIdentificationConfig::showFlowerSeeds), + HOPS_SEED(ItemIdentificationConfig::showHopsSeeds), SACK(ItemIdentificationConfig::showSacks), HERB(ItemIdentificationConfig::showHerbs), LOGS(ItemIdentificationConfig::showLogs), + LOGS_PYRE(ItemIdentificationConfig::showPyreLogs), PLANK(ItemIdentificationConfig::showPlanks), SAPLING(ItemIdentificationConfig::showSaplings), COMPOST(ItemIdentificationConfig::showComposts), diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemidentification/ItemIdentificationConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemidentification/ItemIdentificationConfig.java index b1eb5135ea..0c2f2e5f02 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemidentification/ItemIdentificationConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemidentification/ItemIdentificationConfig.java @@ -63,20 +63,98 @@ public interface ItemIdentificationConfig extends Config } @ConfigItem( - keyName = "showSeeds", - name = "Seeds", - description = "Show identification on Seeds", + keyName = "showHerbSeeds", + name = "Seeds (Herb)", + description = "Show identification on Herb Seeds", section = identificationSection ) - default boolean showSeeds() + default boolean showHerbSeeds() { return true; } + @ConfigItem( + keyName = "showAllotmentSeeds", + name = "Seeds (Allotment)", + description = "Show identification on Allotment Seeds", + section = identificationSection + ) + default boolean showAllotmentSeeds() + { + return false; + } + + @ConfigItem( + keyName = "showFlowerSeeds", + name = "Seeds (Flower)", + description = "Show identification on Flower Seeds", + section = identificationSection + ) + default boolean showFlowerSeeds() + { + return false; + } + + @ConfigItem( + keyName = "showFruitTreeSeeds", + name = "Seeds (Fruit Tree)", + description = "Show identification on Fruit Tree Seeds", + section = identificationSection + ) + default boolean showFruitTreeSeeds() + { + return false; + } + + @ConfigItem( + keyName = "showTreeSeeds", + name = "Seeds (Tree)", + description = "Show identification on Tree Seeds", + section = identificationSection + ) + default boolean showTreeSeeds() + { + return false; + } + + @ConfigItem( + keyName = "showSpecialSeeds", + name = "Seeds (Special)", + description = "Show identification on Special Seeds", + section = identificationSection + ) + default boolean showSpecialSeeds() + { + return false; + } + + @ConfigItem( + keyName = "showBerrySeeds", + name = "Seeds (Berry)", + description = "Show identification on Berry Seeds", + section = identificationSection + ) + default boolean showBerrySeeds() + { + return false; + } + + @ConfigItem( + keyName = "showHopSeeds", + name = "Seeds (Hops)", + description = "Show identification on Hops Seeds", + section = identificationSection + ) + default boolean showHopsSeeds() + { + return false; + } + @ConfigItem( keyName = "showSacks", name = "Sacks", - description = "Show identification on Sacks" + description = "Show identification on Sacks", + section = identificationSection ) default boolean showSacks() { @@ -105,6 +183,17 @@ public interface ItemIdentificationConfig extends Config return false; } + @ConfigItem( + keyName = "showPyreLogs", + name = "Logs (Pyre)", + description = "Show identification on Pyre Logs", + section = identificationSection + ) + default boolean showPyreLogs() + { + return false; + } + @ConfigItem( keyName = "showPlanks", name = "Planks", From 357daadb8b4d323216f7761b727e8154bb8178d1 Mon Sep 17 00:00:00 2001 From: Runelite auto updater Date: Wed, 3 Nov 2021 11:33:53 +0000 Subject: [PATCH 09/11] Update 201 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index cd9e22a283..513c320dc0 100644 --- a/pom.xml +++ b/pom.xml @@ -45,7 +45,7 @@ true - 200 + 201 From dd09a4cee56cc00589fb4e3df6905543b02c87a1 Mon Sep 17 00:00:00 2001 From: Runelite auto updater Date: Wed, 3 Nov 2021 11:41:57 +0000 Subject: [PATCH 10/11] Release 1.8.1 --- cache-client/pom.xml | 2 +- cache-updater/pom.xml | 2 +- cache/pom.xml | 2 +- http-api/pom.xml | 2 +- http-service/pom.xml | 2 +- pom.xml | 4 ++-- runelite-api/pom.xml | 2 +- runelite-client/pom.xml | 2 +- runelite-jshell/pom.xml | 2 +- runelite-script-assembler-plugin/pom.xml | 2 +- 10 files changed, 11 insertions(+), 11 deletions(-) diff --git a/cache-client/pom.xml b/cache-client/pom.xml index 88549e7c24..43e81cb0b9 100644 --- a/cache-client/pom.xml +++ b/cache-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.8.1-SNAPSHOT + 1.8.1 cache-client diff --git a/cache-updater/pom.xml b/cache-updater/pom.xml index d0caa01207..bd2b7e06be 100644 --- a/cache-updater/pom.xml +++ b/cache-updater/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.8.1-SNAPSHOT + 1.8.1 Cache Updater diff --git a/cache/pom.xml b/cache/pom.xml index 730a240b9e..a22cb9aa4b 100644 --- a/cache/pom.xml +++ b/cache/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.8.1-SNAPSHOT + 1.8.1 cache diff --git a/http-api/pom.xml b/http-api/pom.xml index 062b6e23f2..4e192cfdc1 100644 --- a/http-api/pom.xml +++ b/http-api/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.8.1-SNAPSHOT + 1.8.1 Web API diff --git a/http-service/pom.xml b/http-service/pom.xml index cd43db5456..5e1f0c5573 100644 --- a/http-service/pom.xml +++ b/http-service/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.8.1-SNAPSHOT + 1.8.1 Web Service diff --git a/pom.xml b/pom.xml index 513c320dc0..8a2ccbbf74 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.8.1-SNAPSHOT + 1.8.1 pom RuneLite @@ -61,7 +61,7 @@ https://github.com/runelite/runelite scm:git:git://github.com/runelite/runelite scm:git:git@github.com:runelite/runelite - HEAD + runelite-parent-1.8.1 diff --git a/runelite-api/pom.xml b/runelite-api/pom.xml index 421dbb5e2e..c18789402e 100644 --- a/runelite-api/pom.xml +++ b/runelite-api/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.8.1-SNAPSHOT + 1.8.1 runelite-api diff --git a/runelite-client/pom.xml b/runelite-client/pom.xml index f5613aaad0..e9359b480b 100644 --- a/runelite-client/pom.xml +++ b/runelite-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.8.1-SNAPSHOT + 1.8.1 client diff --git a/runelite-jshell/pom.xml b/runelite-jshell/pom.xml index baa03e8915..34405a217d 100644 --- a/runelite-jshell/pom.xml +++ b/runelite-jshell/pom.xml @@ -30,7 +30,7 @@ net.runelite runelite-parent - 1.8.1-SNAPSHOT + 1.8.1 jshell diff --git a/runelite-script-assembler-plugin/pom.xml b/runelite-script-assembler-plugin/pom.xml index 468cded2da..139fccee15 100644 --- a/runelite-script-assembler-plugin/pom.xml +++ b/runelite-script-assembler-plugin/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.8.1-SNAPSHOT + 1.8.1 script-assembler-plugin From 1456e10e66e904710ce8676dabc8f920965db900 Mon Sep 17 00:00:00 2001 From: Runelite auto updater Date: Wed, 3 Nov 2021 11:42:00 +0000 Subject: [PATCH 11/11] Bump for 1.8.2-SNAPSHOT --- cache-client/pom.xml | 2 +- cache-updater/pom.xml | 2 +- cache/pom.xml | 2 +- http-api/pom.xml | 2 +- http-service/pom.xml | 2 +- pom.xml | 4 ++-- runelite-api/pom.xml | 2 +- runelite-client/pom.xml | 2 +- runelite-jshell/pom.xml | 2 +- runelite-script-assembler-plugin/pom.xml | 2 +- 10 files changed, 11 insertions(+), 11 deletions(-) diff --git a/cache-client/pom.xml b/cache-client/pom.xml index 43e81cb0b9..2cf752a1de 100644 --- a/cache-client/pom.xml +++ b/cache-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.8.1 + 1.8.2-SNAPSHOT cache-client diff --git a/cache-updater/pom.xml b/cache-updater/pom.xml index bd2b7e06be..54b9934bf5 100644 --- a/cache-updater/pom.xml +++ b/cache-updater/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.8.1 + 1.8.2-SNAPSHOT Cache Updater diff --git a/cache/pom.xml b/cache/pom.xml index a22cb9aa4b..fd8ff72f55 100644 --- a/cache/pom.xml +++ b/cache/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.8.1 + 1.8.2-SNAPSHOT cache diff --git a/http-api/pom.xml b/http-api/pom.xml index 4e192cfdc1..11362d2d35 100644 --- a/http-api/pom.xml +++ b/http-api/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.8.1 + 1.8.2-SNAPSHOT Web API diff --git a/http-service/pom.xml b/http-service/pom.xml index 5e1f0c5573..07ed4c1824 100644 --- a/http-service/pom.xml +++ b/http-service/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.8.1 + 1.8.2-SNAPSHOT Web Service diff --git a/pom.xml b/pom.xml index 8a2ccbbf74..1a99d01878 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.8.1 + 1.8.2-SNAPSHOT pom RuneLite @@ -61,7 +61,7 @@ https://github.com/runelite/runelite scm:git:git://github.com/runelite/runelite scm:git:git@github.com:runelite/runelite - runelite-parent-1.8.1 + HEAD diff --git a/runelite-api/pom.xml b/runelite-api/pom.xml index c18789402e..3490a4e50e 100644 --- a/runelite-api/pom.xml +++ b/runelite-api/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.8.1 + 1.8.2-SNAPSHOT runelite-api diff --git a/runelite-client/pom.xml b/runelite-client/pom.xml index e9359b480b..5334d06050 100644 --- a/runelite-client/pom.xml +++ b/runelite-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.8.1 + 1.8.2-SNAPSHOT client diff --git a/runelite-jshell/pom.xml b/runelite-jshell/pom.xml index 34405a217d..ec76978dda 100644 --- a/runelite-jshell/pom.xml +++ b/runelite-jshell/pom.xml @@ -30,7 +30,7 @@ net.runelite runelite-parent - 1.8.1 + 1.8.2-SNAPSHOT jshell diff --git a/runelite-script-assembler-plugin/pom.xml b/runelite-script-assembler-plugin/pom.xml index 139fccee15..f014dd1424 100644 --- a/runelite-script-assembler-plugin/pom.xml +++ b/runelite-script-assembler-plugin/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.8.1 + 1.8.2-SNAPSHOT script-assembler-plugin