diff --git a/botutils/botutils.gradle.kts b/botutils/botutils.gradle.kts index 6c66eeac..2d416715 100644 --- a/botutils/botutils.gradle.kts +++ b/botutils/botutils.gradle.kts @@ -23,7 +23,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -version = "4.9.3" +version = "5.1.0" project.extra["PluginName"] = "BotUtils" project.extra["PluginDescription"] = "Illumine - Utils required for plugins to function with added automation" diff --git a/botutils/src/main/java/net/runelite/client/plugins/botutils/BotUtils.java b/botutils/src/main/java/net/runelite/client/plugins/botutils/BotUtils.java index cb564dc7..b2005545 100644 --- a/botutils/src/main/java/net/runelite/client/plugins/botutils/BotUtils.java +++ b/botutils/src/main/java/net/runelite/client/plugins/botutils/BotUtils.java @@ -38,8 +38,8 @@ import net.runelite.api.InventoryID; import net.runelite.api.Item; import net.runelite.api.ItemContainer; import net.runelite.api.ItemID; +import net.runelite.api.MenuAction; import net.runelite.api.MenuEntry; -import net.runelite.api.MenuOpcode; import net.runelite.api.NPC; import net.runelite.api.Player; import net.runelite.api.Point; @@ -75,7 +75,6 @@ import net.runelite.client.eventbus.Subscribe; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; -import net.runelite.client.plugins.PluginType; import static net.runelite.client.plugins.botutils.Banks.ALL_BANKS; import net.runelite.http.api.ge.GrandExchangeClient; import net.runelite.http.api.osbuddy.OSBGrandExchangeClient; @@ -95,7 +94,6 @@ import org.pf4j.Extension; @Extension @PluginDescriptor( name = "BotUtils", - type = PluginType.UTILITY, description = "Illumine bot utilities", hidden = false ) @@ -1061,7 +1059,7 @@ public class BotUtils extends Plugin coordX = localPoint.getSceneX() + getRandomIntBetweenRange(-Math.abs(rand), Math.abs(rand)); coordY = localPoint.getSceneY() + getRandomIntBetweenRange(-Math.abs(rand), Math.abs(rand)); walkAction = true; - targetMenu = new MenuEntry("Walk here", "", 0, MenuOpcode.WALK.getId(), + targetMenu = new MenuEntry("Walk here", "", 0, MenuAction.WALK.getId(), 0, 0, false); delayMouseClick(new Point(0, 0), delay); } @@ -1074,7 +1072,7 @@ public class BotUtils extends Plugin coordX = localPoint.getSceneX() + getRandomIntBetweenRange(-Math.abs(rand), Math.abs(rand)); coordY = localPoint.getSceneY() + getRandomIntBetweenRange(-Math.abs(rand), Math.abs(rand)); walkAction = true; - targetMenu = new MenuEntry("Walk here", "", 0, MenuOpcode.WALK.getId(), + targetMenu = new MenuEntry("Walk here", "", 0, MenuAction.WALK.getId(), 0, 0, false); delayMouseClick(new Point(0, 0), delay); } @@ -1310,7 +1308,7 @@ public class BotUtils extends Plugin if (staminaPotion != null) { log.info("using stamina potion"); - targetMenu = new MenuEntry("", "", staminaPotion.getId(), MenuOpcode.ITEM_FIRST_OPTION.getId(), staminaPotion.getIndex(), 9764864, false); + targetMenu = new MenuEntry("", "", staminaPotion.getId(), MenuAction.ITEM_FIRST_OPTION.getId(), staminaPotion.getIndex(), 9764864, false); delayMouseClick(staminaPotion.getCanvasBounds(), getRandomIntBetweenRange(5, 200)); return true; } @@ -1320,7 +1318,7 @@ public class BotUtils extends Plugin public void logout() { int param1 = (client.getWidget(WidgetInfo.LOGOUT_BUTTON) != null) ? 11927560 : 4522007; - targetMenu = new MenuEntry("", "", 1, MenuOpcode.CC_OP.getId(), -1, param1, false); + targetMenu = new MenuEntry("", "", 1, MenuAction.CC_OP.getId(), -1, param1, false); Widget logoutWidget = client.getWidget(WidgetInfo.LOGOUT_BUTTON); if (logoutWidget != null) { @@ -1494,7 +1492,7 @@ public class BotUtils extends Plugin { continue; } - String[] menuActions = itemManager.getItemDefinition(item.getId()).getInventoryActions(); + String[] menuActions = itemManager.getItemComposition(item.getId()).getInventoryActions(); for (String action : menuActions) { if (action != null && action.equals(menuOption)) @@ -1515,7 +1513,7 @@ public class BotUtils extends Plugin Collection items = inventoryWidget.getWidgetItems(); for (WidgetItem item : items) { - String[] menuActions = itemManager.getItemDefinition(item.getId()).getInventoryActions(); + String[] menuActions = itemManager.getItemComposition(item.getId()).getInventoryActions(); for (String action : menuActions) { if (action != null && menuOptions.contains(action)) @@ -1536,7 +1534,7 @@ public class BotUtils extends Plugin Collection items = inventoryWidget.getWidgetItems(); for (WidgetItem item : items) { - String[] menuActions = itemManager.getItemDefinition(item.getId()).getInventoryActions(); + String[] menuActions = itemManager.getItemComposition(item.getId()).getInventoryActions(); for (String action : menuActions) { if (action != null && action.equals(menuOption)) @@ -1736,7 +1734,7 @@ public class BotUtils extends Plugin { assert !client.isClientThread(); - targetMenu = new MenuEntry("", "", item.getId(), MenuOpcode.ITEM_DROP.getId(), item.getIndex(), 9764864, false); + targetMenu = new MenuEntry("", "", item.getId(), MenuAction.ITEM_FIFTH_OPTION.getId(), item.getIndex(), 9764864, false); click(item.getCanvasBounds()); } @@ -1878,7 +1876,7 @@ public class BotUtils extends Plugin log.info("interacting inventory item: {}", item.getId()); sleep(minDelayBetween, maxDelayBetween); setModifiedMenuEntry(new MenuEntry("", "", item1.getId(), opcode, item1.getIndex(), WidgetInfo.INVENTORY.getId(), - false), item.getId(), item.getIndex(), MenuOpcode.ITEM_USE_ON_WIDGET_ITEM.getId()); + false), item.getId(), item.getIndex(), MenuAction.ITEM_USE_ON_WIDGET_ITEM.getId()); click(item1.getCanvasBounds()); if (!interactAll) { @@ -1975,7 +1973,7 @@ public class BotUtils extends Plugin { return; } - targetMenu = new MenuEntry("", "", 1, MenuOpcode.CC_OP.getId(), 11, 786434, false); //close bank + targetMenu = new MenuEntry("", "", 1, MenuAction.CC_OP.getId(), 11, 786434, false); //close bank Widget bankCloseWidget = client.getWidget(WidgetInfo.BANK_PIN_EXIT_BUTTON); if (bankCloseWidget != null) { @@ -1987,8 +1985,8 @@ public class BotUtils extends Plugin public int getBankMenuOpcode(int bankID) { - return Banks.BANK_CHECK_BOX.contains(bankID) ? MenuOpcode.GAME_OBJECT_FIRST_OPTION.getId() : - MenuOpcode.GAME_OBJECT_SECOND_OPTION.getId(); + return Banks.BANK_CHECK_BOX.contains(bankID) ? MenuAction.GAME_OBJECT_FIRST_OPTION.getId() : + MenuAction.GAME_OBJECT_SECOND_OPTION.getId(); } //doesn't NPE @@ -2000,7 +1998,7 @@ public class BotUtils extends Plugin for (Item item : bankItemContainer.getItems()) { - if (itemManager.getItemDefinition(item.getId()).getName().equalsIgnoreCase(itemName)) + if (itemManager.getItemComposition(item.getId()).getName().equalsIgnoreCase(itemName)) { return true; } @@ -2047,7 +2045,7 @@ public class BotUtils extends Plugin for (Item item : bankItemContainer.getItems()) { - if (itemManager.getItemDefinition(item.getId()).getName().equalsIgnoreCase(itemName) && item.getQuantity() >= minStackAmount) + if (itemManager.getItemComposition(item.getId()).getName().equalsIgnoreCase(itemName) && item.getQuantity() >= minStackAmount) { return true; } @@ -2165,11 +2163,11 @@ public class BotUtils extends Plugin Widget depositInventoryWidget = client.getWidget(WidgetInfo.BANK_DEPOSIT_INVENTORY); if (isDepositBoxOpen()) { - targetMenu = new MenuEntry("", "", 1, MenuOpcode.CC_OP.getId(), -1, 12582916, false); //deposit all in bank interface + targetMenu = new MenuEntry("", "", 1, MenuAction.CC_OP.getId(), -1, 12582916, false); //deposit all in bank interface } else { - targetMenu = new MenuEntry("", "", 1, MenuOpcode.CC_OP.getId(), -1, 786473, false); //deposit all in bank interface + targetMenu = new MenuEntry("", "", 1, MenuAction.CC_OP.getId(), -1, 786473, false); //deposit all in bank interface } if ((depositInventoryWidget != null)) { @@ -2225,7 +2223,7 @@ public class BotUtils extends Plugin return; } boolean depositBox = isDepositBoxOpen(); - targetMenu = new MenuEntry("", "", (depositBox) ? 1 : 8, MenuOpcode.CC_OP.getId(), item.getIndex(), + targetMenu = new MenuEntry("", "", (depositBox) ? 1 : 8, MenuAction.CC_OP.getId(), item.getIndex(), (depositBox) ? 12582914 : 983043, false); click(item.getCanvasBounds()); } @@ -2281,7 +2279,7 @@ public class BotUtils extends Plugin } boolean depositBox = isDepositBoxOpen(); - targetMenu = new MenuEntry("", "", (client.getVarbitValue(6590) == 0) ? 2 : 3, MenuOpcode.CC_OP.getId(), item.getIndex(), + targetMenu = new MenuEntry("", "", (client.getVarbitValue(6590) == 0) ? 2 : 3, MenuAction.CC_OP.getId(), item.getIndex(), (depositBox) ? 12582914 : 983043, false); delayMouseClick(item.getCanvasBounds(), getRandomIntBetweenRange(0, 50)); } @@ -2299,7 +2297,7 @@ public class BotUtils extends Plugin { executorService.submit(() -> { - targetMenu = new MenuEntry("Withdraw-All", "", 7, MenuOpcode.CC_OP.getId(), bankItemWidget.getIndex(), 786444, false); + targetMenu = new MenuEntry("Withdraw-All", "", 7, MenuAction.CC_OP.getId(), bankItemWidget.getIndex(), 786444, false); clickRandomPointCenter(-200, 200); }); } @@ -2321,7 +2319,7 @@ public class BotUtils extends Plugin { executorService.submit(() -> { - targetMenu = new MenuEntry("", "", (client.getVarbitValue(6590) == 0) ? 1 : 2, MenuOpcode.CC_OP.getId(), bankItemWidget.getIndex(), 786444, false); + targetMenu = new MenuEntry("", "", (client.getVarbitValue(6590) == 0) ? 1 : 2, MenuAction.CC_OP.getId(), bankItemWidget.getIndex(), 786444, false); setMenuEntry(targetMenu); clickRandomPointCenter(-200, 200); }); @@ -2358,7 +2356,7 @@ public class BotUtils extends Plugin identifier = 6; break; } - targetMenu = new MenuEntry("", "", identifier, MenuOpcode.CC_OP.getId(), item.getIndex(), 786444, false); + targetMenu = new MenuEntry("", "", identifier, MenuAction.CC_OP.getId(), item.getIndex(), 786444, false); setMenuEntry(targetMenu); delayClickRandomPointCenter(-200, 200, 50); if (identifier == 6) @@ -2381,25 +2379,20 @@ public class BotUtils extends Plugin public OSBGrandExchangeResult getOSBItem(int itemId) { log.debug("Looking up OSB item price {}", itemId); - osbGrandExchangeClient.lookupItem(itemId) - .subscribe( - (osbresult) -> - { - if (osbresult != null && osbresult.getOverall_average() > 0) - { - osbGrandExchangeResult = osbresult; - } - }, - (e) -> log.debug("Error getting price of item {}", itemId, e) - ); - if (osbGrandExchangeResult != null) + try { - return osbGrandExchangeResult; + final OSBGrandExchangeResult result = osbGrandExchangeClient.lookupItem(itemId); + if (result != null && result.getOverall_average() > 0) + { + return result; + } } - else + catch (IOException e) { - return null; + log.debug("Error getting price of item {}", itemId, e); } + + return null; } /** @@ -2596,7 +2589,7 @@ public class BotUtils extends Plugin @Subscribe private void onMenuEntryAdded(MenuEntryAdded event) { - if (event.getOpcode() == MenuOpcode.CC_OP.getId() && (event.getParam1() == WidgetInfo.WORLD_SWITCHER_LIST.getId() || + if (event.getOpcode() == MenuAction.CC_OP.getId() && (event.getParam1() == WidgetInfo.WORLD_SWITCHER_LIST.getId() || event.getParam1() == 11927560 || event.getParam1() == 4522007 || event.getParam1() == 24772686)) { return; @@ -2614,8 +2607,8 @@ public class BotUtils extends Plugin @Subscribe private void onMenuOptionClicked(MenuOptionClicked event) { - if (event.getOpcode() == MenuOpcode.CC_OP.getId() && (event.getParam1() == WidgetInfo.WORLD_SWITCHER_LIST.getId() || - event.getParam1() == 11927560 || event.getParam1() == 4522007 || event.getParam1() == 24772686)) + if (event.getMenuAction() == MenuAction.CC_OP && (event.getWidgetId() == WidgetInfo.WORLD_SWITCHER_LIST.getId() || + event.getWidgetId() == 11927560 || event.getWidgetId() == 4522007 || event.getWidgetId() == 24772686)) { //Either logging out or world-hopping which is handled by 3rd party plugins so let them have priority log.info("Received world-hop/login related click. Giving them priority"); @@ -2624,15 +2617,17 @@ public class BotUtils extends Plugin } if (targetMenu != null) { - event.consume(); + if (consumeClick) { + event.consume(); log.info("Consuming a click and not sending anything else"); consumeClick = false; return; } - if (event.getOption().equals("Walk here") && walkAction) + if (event.getMenuOption().equals("Walk here") && walkAction) { + event.consume(); log.debug("Walk action"); walkTile(coordX, coordY); walkAction = false; @@ -2644,16 +2639,26 @@ public class BotUtils extends Plugin client.setSelectedItemSlot(modifiedItemIndex); client.setSelectedItemID(modifiedItemID); log.info("doing a Modified MOC, mod ID: {}, mod index: {}, param1: {}", modifiedItemID, modifiedItemIndex, targetMenu.getParam1()); - client.invokeMenuAction(targetMenu.getOption(), targetMenu.getTarget(), targetMenu.getIdentifier(), modifiedOpCode, + menuAction(event,targetMenu.getOption(), targetMenu.getTarget(), targetMenu.getIdentifier(), MenuAction.of(modifiedOpCode), targetMenu.getParam0(), targetMenu.getParam1()); modifiedMenu = false; } else { - client.invokeMenuAction(targetMenu.getOption(), targetMenu.getTarget(), targetMenu.getIdentifier(), targetMenu.getOpcode(), + menuAction(event,targetMenu.getOption(), targetMenu.getTarget(), targetMenu.getIdentifier(), targetMenu.getMenuAction(), targetMenu.getParam0(), targetMenu.getParam1()); } targetMenu = null; } } + + public void menuAction(MenuOptionClicked menuOptionClicked, String option, String target, int identifier, MenuAction menuAction, int param0, int param1) + { + menuOptionClicked.setMenuOption(option); + menuOptionClicked.setMenuTarget(target); + menuOptionClicked.setId(identifier); + menuOptionClicked.setMenuAction(menuAction); + menuOptionClicked.setActionParam(param0); + menuOptionClicked.setWidgetId(param1); + } } diff --git a/build.gradle.kts b/build.gradle.kts index 745e7e39..f7737f81 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -67,7 +67,6 @@ subprojects { implementation(group = "com.google.guava", name = "guava", version = "29.0-jre") implementation(group = "com.google.inject", name = "guice", version = "4.2.3", classifier = "no_aop") implementation(group = "com.squareup.okhttp3", name = "okhttp", version = "4.9.0") - implementation(group = "io.reactivex.rxjava3", name = "rxjava", version = "3.0.6") implementation(group = "net.sf.jopt-simple", name = "jopt-simple", version = "5.0.4") implementation(group = "org.apache.commons", name = "commons-text", version = "1.9") implementation(group = "org.pf4j", name = "pf4j", version = "3.4.1") diff --git a/buildSrc/src/main/kotlin/Dependencies.kt b/buildSrc/src/main/kotlin/Dependencies.kt index ac48d5d2..fb4273fb 100644 --- a/buildSrc/src/main/kotlin/Dependencies.kt +++ b/buildSrc/src/main/kotlin/Dependencies.kt @@ -25,8 +25,8 @@ */ object ProjectVersions { - const val openosrsVersion = "3.5.4" - const val apiVersion = "0.0.1" + const val openosrsVersion = "4.0.0" + const val apiVersion = "^1.0.0" } object Libraries { @@ -38,7 +38,6 @@ object Libraries { const val okhttp3 = "4.2.2" const val pf4j = "3.2.0" const val slf4j = "1.7.30" - const val rxjava = "2.2.14" } const val apacheCommonsText = "org.apache.commons:commons-text:${Versions.apacheCommonsText}" @@ -48,6 +47,5 @@ object Libraries { const val okhttp3 = "com.squareup.okhttp3:okhttp:${Versions.okhttp3}" const val pf4j = "org.pf4j:pf4j:${Versions.pf4j}" const val slf4j = "org.slf4j:slf4j-api:${Versions.slf4j}" - const val rxjava = "io.reactivex.rxjava2:rxjava:${Versions.rxjava}" } \ No newline at end of file diff --git a/iblackjack/iblackjack.gradle.kts b/iblackjack/iblackjack.gradle.kts index 2a445c43..89f7b9b5 100644 --- a/iblackjack/iblackjack.gradle.kts +++ b/iblackjack/iblackjack.gradle.kts @@ -23,7 +23,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -version = "1.3.3" +version = "2.1.0" project.extra["PluginName"] = "iBlackjack" project.extra["PluginDescription"] = "Illumine - Blackjack plugin" diff --git a/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/iBlackjackConfig.java b/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/iBlackjackConfig.java index 9d73ac4c..8127d8a7 100644 --- a/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/iBlackjackConfig.java +++ b/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/iBlackjackConfig.java @@ -29,25 +29,20 @@ import net.runelite.client.config.Button; import net.runelite.client.config.Config; import net.runelite.client.config.ConfigGroup; import net.runelite.client.config.ConfigItem; -import net.runelite.client.config.ConfigSection; -import net.runelite.client.config.ConfigTitleSection; +import net.runelite.client.config.ConfigTitle; import net.runelite.client.config.Range; -import net.runelite.client.config.Title; @ConfigGroup("iBlackjack") public interface iBlackjackConfig extends Config { - @ConfigSection( + @ConfigTitle( keyName = "delayConfig", name = "Sleep Delay Configuration", description = "Configure how the bot handles sleep delays", position = 0 ) - default boolean delayConfig() - { - return false; - } + String delayConfig = "delayConfig"; @Range( min = 0, @@ -125,16 +120,13 @@ public interface iBlackjackConfig extends Config return false; } - @ConfigSection( + @ConfigTitle( keyName = "delayTickConfig", name = "Game Tick Configuration", description = "Configure how the bot handles game tick delays, 1 game tick equates to roughly 600ms", position = 10 ) - default boolean delayTickConfig() - { - return false; - } + String delayTickConfig = "delayTickConfig"; @Range( min = 0, @@ -212,23 +204,20 @@ public interface iBlackjackConfig extends Config return false; } - @ConfigTitleSection( + @ConfigTitle( keyName = "instructionsTitle", name = "Instructions", description = "", position = 16 ) - default Title instructionsTitle() - { - return new Title(); - } + String instructionsTitle = "instructionsTitle"; @ConfigItem( keyName = "instructions", name = "", description = "Instructions. Don't enter anything into this field", position = 17, - titleSection = "instructionsTitle" + title = "instructionsTitle" ) default String instructions() { diff --git a/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/iBlackjackOverlay.java b/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/iBlackjackOverlay.java index 7996324d..3cb06fcb 100644 --- a/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/iBlackjackOverlay.java +++ b/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/iBlackjackOverlay.java @@ -9,14 +9,14 @@ import javax.inject.Inject; import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; -import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE; import net.runelite.client.ui.overlay.OverlayMenuEntry; import net.runelite.client.ui.overlay.OverlayPanel; import net.runelite.client.ui.overlay.OverlayPosition; import net.runelite.client.ui.overlay.components.TitleComponent; -import net.runelite.client.ui.overlay.components.table.TableAlignment; -import net.runelite.client.ui.overlay.components.table.TableComponent; +import com.openosrs.client.ui.overlay.components.table.TableAlignment; +import com.openosrs.client.ui.overlay.components.table.TableComponent; import net.runelite.client.util.ColorUtil; import static org.apache.commons.lang3.time.DurationFormatUtils.formatDuration; diff --git a/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/iBlackjackPlugin.java b/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/iBlackjackPlugin.java index bfc29375..eb47f3d2 100644 --- a/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/iBlackjackPlugin.java +++ b/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/iBlackjackPlugin.java @@ -49,7 +49,6 @@ import net.runelite.client.eventbus.Subscribe; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDependency; import net.runelite.client.plugins.PluginDescriptor; -import net.runelite.client.plugins.PluginType; import net.runelite.client.plugins.iblackjack.tasks.BreakTask; import net.runelite.client.plugins.iblackjack.tasks.DropTask; import net.runelite.client.plugins.iblackjack.tasks.EatTask; @@ -77,8 +76,7 @@ import org.pf4j.Extension; name = "iBlackjack Helper", enabledByDefault = false, description = "Illumine - Blackjack helper plugin. Handles knocking out and pickpocketing bandits", - tags = {"illumine", "thieving", "blackjack", "helper", "bot"}, - type = PluginType.MISCELLANEOUS + tags = {"illumine", "thieving", "blackjack", "helper", "bot"} ) @Slf4j public class iBlackjackPlugin extends Plugin @@ -337,11 +335,11 @@ public class iBlackjackPlugin extends Plugin { return; } - if (event.getOption().equals("Knock-Out") && selectedNPCIndex == 0) + if (event.getMenuOption().equals("Knock-Out") && selectedNPCIndex == 0) { final int ticks = (config.random()) ? RandomUtils.nextInt(3, 4) : 4; nextKnockoutTick = client.getTickCount() + ticks; - selectedNPCIndex = event.getIdentifier(); + selectedNPCIndex = event.getId(); } } } \ No newline at end of file diff --git a/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/DropTask.java b/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/DropTask.java index 9a9cf287..54a8568d 100644 --- a/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/DropTask.java +++ b/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/DropTask.java @@ -4,8 +4,9 @@ import java.util.List; import javax.inject.Inject; import lombok.extern.slf4j.Slf4j; import net.runelite.api.ItemID; +import net.runelite.api.MenuAction; import net.runelite.api.MenuEntry; -import net.runelite.api.MenuOpcode; +import net.runelite.api.MenuAction; import net.runelite.api.events.GameTick; import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetItem; @@ -45,7 +46,7 @@ public class DropTask extends Task long sleep = 0; for (WidgetItem jug : jugs) { - entry = new MenuEntry("", "", jug.getId(), MenuOpcode.ITEM_DROP.getId(), jug.getIndex(), + entry = new MenuEntry("", "", jug.getId(), MenuAction.ITEM_FIFTH_OPTION.getId(), jug.getIndex(), WidgetInfo.INVENTORY.getId(), false); sleep += sleepDelay(); log.info("Adding jug: {}, delay time: {}", jug.getIndex(), sleep); diff --git a/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/EatTask.java b/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/EatTask.java index 4e03e815..0400903e 100644 --- a/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/EatTask.java +++ b/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/EatTask.java @@ -3,7 +3,7 @@ package net.runelite.client.plugins.iblackjack.tasks; import java.util.Set; import lombok.extern.slf4j.Slf4j; import net.runelite.api.MenuEntry; -import net.runelite.api.MenuOpcode; +import net.runelite.api.MenuAction; import net.runelite.api.Skill; import net.runelite.api.events.GameTick; import net.runelite.api.widgets.WidgetInfo; @@ -37,7 +37,7 @@ public class EatTask extends Task WidgetItem food = inventory.getItemMenu(foodMenu); if (food != null) { - entry = new MenuEntry("", "", food.getId(), MenuOpcode.ITEM_FIRST_OPTION.getId(), + entry = new MenuEntry("", "", food.getId(), MenuAction.ITEM_FIRST_OPTION.getId(), food.getIndex(), WidgetInfo.INVENTORY.getId(), false); utils.doActionMsTime(entry, food.getCanvasBounds(), sleepDelay()); eatHP = calc.getRandomIntBetweenRange(config.minEatHP(), config.maxEatHP()); diff --git a/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/HopTask.java b/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/HopTask.java index d8c27f45..29b0546b 100644 --- a/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/HopTask.java +++ b/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/HopTask.java @@ -7,7 +7,7 @@ import javax.inject.Inject; import lombok.extern.slf4j.Slf4j; import net.runelite.api.GameState; import net.runelite.api.MenuEntry; -import net.runelite.api.MenuOpcode; +import net.runelite.api.MenuAction; import net.runelite.api.Point; import net.runelite.api.coords.WorldArea; import net.runelite.api.coords.WorldPoint; @@ -167,7 +167,7 @@ public class HopTask extends Task if (isShopOpen()) { status = "Close shop and hop"; - entry = new MenuEntry("", "", 1, MenuOpcode.CC_OP.getId(), 11, 19660801, false); + entry = new MenuEntry("", "", 1, MenuAction.CC_OP.getId(), 11, 19660801, false); utils.doActionMsTime(entry, new Point(0, 0), sleepDelay()); shouldHop = true; } diff --git a/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/KnockoutTask.java b/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/KnockoutTask.java index 3f0d7699..01fd31ed 100644 --- a/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/KnockoutTask.java +++ b/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/KnockoutTask.java @@ -2,7 +2,7 @@ package net.runelite.client.plugins.iblackjack.tasks; import java.util.Set; import net.runelite.api.MenuEntry; -import net.runelite.api.MenuOpcode; +import net.runelite.api.MenuAction; import net.runelite.api.NPC; import net.runelite.api.events.GameTick; import net.runelite.client.plugins.iblackjack.Task; @@ -36,7 +36,7 @@ public class KnockoutTask extends Task @Override public void onGameTick(GameTick event) { - entry = new MenuEntry("", "", selectedNPCIndex, MenuOpcode.NPC_FIFTH_OPTION.getId(), 0, 0, false); + entry = new MenuEntry("", "", selectedNPCIndex, MenuAction.NPC_FIFTH_OPTION.getId(), 0, 0, false); utils.doActionMsTime(entry, bandit.getConvexHull().getBounds(), sleepDelay()); } } \ No newline at end of file diff --git a/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/LeaveRoomTask.java b/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/LeaveRoomTask.java index a6aa4530..67b09616 100644 --- a/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/LeaveRoomTask.java +++ b/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/LeaveRoomTask.java @@ -5,7 +5,7 @@ import lombok.extern.slf4j.Slf4j; import net.runelite.api.GameObject; import net.runelite.api.ItemID; import net.runelite.api.MenuEntry; -import net.runelite.api.MenuOpcode; +import net.runelite.api.MenuAction; import net.runelite.api.ObjectID; import net.runelite.api.WallObject; import net.runelite.api.events.GameTick; @@ -51,7 +51,7 @@ public class LeaveRoomTask extends Task GameObject ladder = object.findNearestGameObjectWithin(currentRoom.escapeLocation, 1, config.npcType().escapeObjID); if (ladder != null) { - entry = new MenuEntry("", "", ladder.getId(), MenuOpcode.GAME_OBJECT_FIRST_OPTION.getId(), + entry = new MenuEntry("", "", ladder.getId(), MenuAction.GAME_OBJECT_FIRST_OPTION.getId(), ladder.getSceneMinLocation().getX(), ladder.getSceneMinLocation().getY(), false); utils.doActionMsTime(entry, ladder.getConvexHull().getBounds(), sleepDelay()); timeout = tickDelay(); @@ -63,7 +63,7 @@ public class LeaveRoomTask extends Task if (closedCurtain != null) { status = "Opening curtain"; - entry = new MenuEntry("", "", closedCurtain.getId(), MenuOpcode.GAME_OBJECT_FIRST_OPTION.getId(), + entry = new MenuEntry("", "", closedCurtain.getId(), MenuAction.GAME_OBJECT_FIRST_OPTION.getId(), closedCurtain.getLocalLocation().getSceneX(), closedCurtain.getLocalLocation().getSceneY(), false); utils.doActionMsTime(entry, closedCurtain.getConvexHull().getBounds(), sleepDelay()); log.debug(status); diff --git a/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/PickpocketTask.java b/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/PickpocketTask.java index da31c1fd..ed709407 100644 --- a/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/PickpocketTask.java +++ b/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/PickpocketTask.java @@ -1,7 +1,7 @@ package net.runelite.client.plugins.iblackjack.tasks; import net.runelite.api.MenuEntry; -import net.runelite.api.MenuOpcode; +import net.runelite.api.MenuAction; import net.runelite.api.NPC; import net.runelite.api.events.GameTick; import net.runelite.client.plugins.iblackjack.Task; @@ -34,7 +34,7 @@ public class PickpocketTask extends Task @Override public void onGameTick(GameTick event) { - entry = new MenuEntry("", "", selectedNPCIndex, MenuOpcode.NPC_THIRD_OPTION.getId(), 0, 0, false); + entry = new MenuEntry("", "", selectedNPCIndex, MenuAction.NPC_THIRD_OPTION.getId(), 0, 0, false); utils.doActionMsTime(entry, bandit.getConvexHull().getBounds(), sleepDelay()); if (config.random() && calc.getRandomIntBetweenRange(0, 10) == 0) { diff --git a/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/ResetCombatTask.java b/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/ResetCombatTask.java index 7a0a9f27..5b9c17c8 100644 --- a/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/ResetCombatTask.java +++ b/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/ResetCombatTask.java @@ -5,7 +5,7 @@ import lombok.extern.slf4j.Slf4j; import net.runelite.api.GameObject; import net.runelite.api.ItemID; import net.runelite.api.MenuEntry; -import net.runelite.api.MenuOpcode; +import net.runelite.api.MenuAction; import net.runelite.api.NPC; import net.runelite.api.NpcID; import net.runelite.api.ObjectID; @@ -60,7 +60,7 @@ public class ResetCombatTask extends Task if (openCurtain != null) { status = "Closing curtain"; - entry = new MenuEntry("", "", openCurtain.getId(), MenuOpcode.GAME_OBJECT_FIRST_OPTION.getId(), + entry = new MenuEntry("", "", openCurtain.getId(), MenuAction.GAME_OBJECT_FIRST_OPTION.getId(), openCurtain.getLocalLocation().getSceneX(), openCurtain.getLocalLocation().getSceneY(), false); utils.doActionMsTime(entry, openCurtain.getConvexHull().getBounds(), sleepDelay()); log.debug(status); @@ -77,7 +77,7 @@ public class ResetCombatTask extends Task GameObject staircase = object.findNearestGameObjectWithin(config.npcType().escapeLocation, 2, config.npcType().escapeObjID); if (staircase != null) { - entry = new MenuEntry("", "", staircase.getId(), MenuOpcode.GAME_OBJECT_FIRST_OPTION.getId(), + entry = new MenuEntry("", "", staircase.getId(), MenuAction.GAME_OBJECT_FIRST_OPTION.getId(), staircase.getSceneMinLocation().getX(), staircase.getSceneMinLocation().getY(), false); utils.doActionMsTime(entry, staircase.getConvexHull().getBounds(), sleepDelay()); status = "Climbing staircase"; @@ -94,7 +94,7 @@ public class ResetCombatTask extends Task if (barman != null) { status = "Opening shop"; - entry = new MenuEntry("", "", barman.getIndex(), MenuOpcode.NPC_THIRD_OPTION.getId(), 0, 0, false); + entry = new MenuEntry("", "", barman.getIndex(), MenuAction.NPC_THIRD_OPTION.getId(), 0, 0, false); utils.doActionMsTime(entry, new Point(0, 0), sleepDelay()); } else diff --git a/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/ShopTask.java b/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/ShopTask.java index 4cc79069..69c7422e 100644 --- a/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/ShopTask.java +++ b/iblackjack/src/main/java/net/runelite/client/plugins/iblackjack/tasks/ShopTask.java @@ -3,7 +3,7 @@ package net.runelite.client.plugins.iblackjack.tasks; import lombok.extern.slf4j.Slf4j; import net.runelite.api.ItemID; import net.runelite.api.MenuEntry; -import net.runelite.api.MenuOpcode; +import net.runelite.api.MenuAction; import net.runelite.api.NPC; import net.runelite.api.NpcID; import net.runelite.api.Point; @@ -35,7 +35,7 @@ public class ShopTask extends Task if (jugWidget != null && jugWidget.getChild(3).getItemQuantity() > 0) { status = "Buying Jug of Wine"; - entry = new MenuEntry("", "", 5, MenuOpcode.CC_OP.getId(), 3, 19660816, false); + entry = new MenuEntry("", "", 5, MenuAction.CC_OP.getId(), 3, 19660816, false); utils.doActionMsTime(entry, jugWidget.getBounds(), sleepDelay()); } } @@ -45,7 +45,7 @@ public class ShopTask extends Task if (barman != null) { status = "Opening shop"; - entry = new MenuEntry("", "", barman.getIndex(), MenuOpcode.NPC_THIRD_OPTION.getId(), 0, 0, false); + entry = new MenuEntry("", "", barman.getIndex(), MenuAction.NPC_THIRD_OPTION.getId(), 0, 0, false); utils.doActionMsTime(entry, new Point(0, 0), sleepDelay()); } } diff --git a/icombinationrunecrafter/icombinationrunecrafter.gradle.kts b/icombinationrunecrafter/icombinationrunecrafter.gradle.kts index 1b68fe79..a94620af 100644 --- a/icombinationrunecrafter/icombinationrunecrafter.gradle.kts +++ b/icombinationrunecrafter/icombinationrunecrafter.gradle.kts @@ -23,7 +23,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -version = "2.0.5" +version = "3.1.0" project.extra["PluginName"] = "iCombination Runecrafter Plugin" project.extra["PluginDescription"] = "Illumine - Combination Runecrafting plugin" diff --git a/icombinationrunecrafter/src/main/java/net/runelite/client/plugins/icombinationrunecrafter/iCombinationRunecrafterConfig.java b/icombinationrunecrafter/src/main/java/net/runelite/client/plugins/icombinationrunecrafter/iCombinationRunecrafterConfig.java index 406552a1..c976cce9 100644 --- a/icombinationrunecrafter/src/main/java/net/runelite/client/plugins/icombinationrunecrafter/iCombinationRunecrafterConfig.java +++ b/icombinationrunecrafter/src/main/java/net/runelite/client/plugins/icombinationrunecrafter/iCombinationRunecrafterConfig.java @@ -29,25 +29,20 @@ import net.runelite.client.config.Button; import net.runelite.client.config.Config; import net.runelite.client.config.ConfigGroup; import net.runelite.client.config.ConfigItem; -import net.runelite.client.config.ConfigSection; -import net.runelite.client.config.ConfigTitleSection; +import net.runelite.client.config.ConfigTitle; import net.runelite.client.config.Range; -import net.runelite.client.config.Title; @ConfigGroup("iCombinationRunecrafter") public interface iCombinationRunecrafterConfig extends Config { - @ConfigSection( + @ConfigTitle( keyName = "delayConfig", name = "Sleep Delay Configuration", description = "Configure how the bot handles sleep delays", position = 0 ) - default boolean delayConfig() - { - return false; - } + String delayConfig = "delayConfig"; @Range( min = 0, @@ -125,16 +120,13 @@ public interface iCombinationRunecrafterConfig extends Config return false; } - @ConfigSection( + @ConfigTitle( keyName = "delayTickConfig", name = "Game Tick Configuration", description = "Configure how the bot handles game tick delays, 1 game tick equates to roughly 600ms", position = 10 ) - default boolean delayTickConfig() - { - return false; - } + String delayTickConfig = "delayTickConfig"; @Range( min = 0, @@ -212,23 +204,20 @@ public interface iCombinationRunecrafterConfig extends Config return false; } - @ConfigTitleSection( + @ConfigTitle( keyName = "instructionsTitle", name = "Instructions", description = "", position = 16 ) - default Title instructionsTitle() - { - return new Title(); - } + String instructionsTitle = "instructionsTitle"; @ConfigItem( keyName = "instruction", name = "", description = "Instructions. Don't enter anything into this field", position = 20, - titleSection = "instructionsTitle" + title = "instructionsTitle" ) default String instruction() { diff --git a/icombinationrunecrafter/src/main/java/net/runelite/client/plugins/icombinationrunecrafter/iCombinationRunecrafterOverlay.java b/icombinationrunecrafter/src/main/java/net/runelite/client/plugins/icombinationrunecrafter/iCombinationRunecrafterOverlay.java index 28f29521..bae15f9e 100644 --- a/icombinationrunecrafter/src/main/java/net/runelite/client/plugins/icombinationrunecrafter/iCombinationRunecrafterOverlay.java +++ b/icombinationrunecrafter/src/main/java/net/runelite/client/plugins/icombinationrunecrafter/iCombinationRunecrafterOverlay.java @@ -11,14 +11,14 @@ import javax.inject.Inject; import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; -import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE; import net.runelite.client.ui.overlay.OverlayMenuEntry; import net.runelite.client.ui.overlay.OverlayPanel; import net.runelite.client.ui.overlay.OverlayPosition; import net.runelite.client.ui.overlay.components.TitleComponent; -import net.runelite.client.ui.overlay.components.table.TableAlignment; -import net.runelite.client.ui.overlay.components.table.TableComponent; +import com.openosrs.client.ui.overlay.components.table.TableAlignment; +import com.openosrs.client.ui.overlay.components.table.TableComponent; import net.runelite.client.util.ColorUtil; import static org.apache.commons.lang3.time.DurationFormatUtils.formatDuration; diff --git a/icombinationrunecrafter/src/main/java/net/runelite/client/plugins/icombinationrunecrafter/iCombinationRunecrafterPlugin.java b/icombinationrunecrafter/src/main/java/net/runelite/client/plugins/icombinationrunecrafter/iCombinationRunecrafterPlugin.java index 69132bbf..bec8936c 100644 --- a/icombinationrunecrafter/src/main/java/net/runelite/client/plugins/icombinationrunecrafter/iCombinationRunecrafterPlugin.java +++ b/icombinationrunecrafter/src/main/java/net/runelite/client/plugins/icombinationrunecrafter/iCombinationRunecrafterPlugin.java @@ -39,8 +39,8 @@ import net.runelite.api.GameObject; import net.runelite.api.GameState; import net.runelite.api.ItemID; import net.runelite.api.MenuEntry; -import net.runelite.api.MenuOpcode; -import static net.runelite.api.MenuOpcode.ITEM_USE_ON_GAME_OBJECT; +import net.runelite.api.MenuAction; +import static net.runelite.api.MenuAction.ITEM_USE_ON_GAME_OBJECT; import net.runelite.api.ObjectID; import net.runelite.api.Player; import net.runelite.api.Point; @@ -58,7 +58,6 @@ import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDependency; import net.runelite.client.plugins.PluginDescriptor; -import net.runelite.client.plugins.PluginType; import static net.runelite.client.plugins.icombinationrunecrafter.iCombinationRunecrafterState.*; import net.runelite.client.plugins.iutils.BankUtils; import net.runelite.client.plugins.iutils.CalculationUtils; @@ -80,8 +79,7 @@ import org.pf4j.Extension; name = "iCombination Runecrafter Plugin", enabledByDefault = false, description = "Illumine - Combination Runecrafting plugin", - tags = {"illumine", "runecrafting", "bot", "smoke", "steam", "lava", "combination"}, - type = PluginType.SKILLING + tags = {"illumine", "runecrafting", "bot", "smoke", "steam", "lava", "combination"} ) @Slf4j public class iCombinationRunecrafterPlugin extends Plugin @@ -381,7 +379,7 @@ public class iCombinationRunecrafterPlugin extends Plugin private void teleportRingOfDueling(int menuIdentifier) { - targetMenu = new MenuEntry("", "", menuIdentifier, MenuOpcode.CC_OP.getId(), -1, + targetMenu = new MenuEntry("", "", menuIdentifier, MenuAction.CC_OP.getId(), -1, 25362455, false); Widget ringWidget = client.getWidget(WidgetInfo.EQUIPMENT_RING); if (ringWidget != null) @@ -577,7 +575,7 @@ public class iCombinationRunecrafterPlugin extends Plugin timeout = tickDelay(); break; case ENTER_MYSTERIOUS_RUINS: - utils.doGameObjectActionMsTime(mysteriousRuins, MenuOpcode.GAME_OBJECT_FIRST_OPTION.getId(), sleepDelay()); + utils.doGameObjectActionMsTime(mysteriousRuins, MenuAction.GAME_OBJECT_FIRST_OPTION.getId(), sleepDelay()); timeout = tickDelay(); break; case TELEPORT_CASTLE_WARS: @@ -595,7 +593,7 @@ public class iCombinationRunecrafterPlugin extends Plugin } break; case OPEN_BANK: - utils.doGameObjectActionMsTime(bankChest, MenuOpcode.GAME_OBJECT_FIRST_OPTION.getId(), sleepDelay()); + utils.doGameObjectActionMsTime(bankChest, MenuAction.GAME_OBJECT_FIRST_OPTION.getId(), sleepDelay()); timeout = tickDelay(); break; case TELEPORT_DUEL_ARENA: @@ -615,7 +613,7 @@ public class iCombinationRunecrafterPlugin extends Plugin { totalStaminaPots++; } - MenuEntry targetMenu = new MenuEntry("", "", 9, MenuOpcode.CC_OP_LOW_PRIORITY.getId(), + MenuEntry targetMenu = new MenuEntry("", "", 9, MenuAction.CC_OP_LOW_PRIORITY.getId(), useableItem.getIndex(), 983043, true); utils.doActionMsTime(targetMenu, new Point(0, 0), sleepDelay()); } diff --git a/iherbcleaner/iherbcleaner.gradle.kts b/iherbcleaner/iherbcleaner.gradle.kts index cfe9504e..0527e121 100644 --- a/iherbcleaner/iherbcleaner.gradle.kts +++ b/iherbcleaner/iherbcleaner.gradle.kts @@ -23,7 +23,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -version = "1.0.2" +version = "2.1.0" project.extra["PluginName"] = "iHerbCleaner" project.extra["PluginDescription"] = "Illumine - Herb Cleaner" diff --git a/iherbcleaner/src/main/java/net/runelite/client/plugins/iherbcleaner/iHerbCleanerConfig.java b/iherbcleaner/src/main/java/net/runelite/client/plugins/iherbcleaner/iHerbCleanerConfig.java index c869812c..55b55e4a 100644 --- a/iherbcleaner/src/main/java/net/runelite/client/plugins/iherbcleaner/iHerbCleanerConfig.java +++ b/iherbcleaner/src/main/java/net/runelite/client/plugins/iherbcleaner/iHerbCleanerConfig.java @@ -29,25 +29,20 @@ import net.runelite.client.config.Button; import net.runelite.client.config.Config; import net.runelite.client.config.ConfigGroup; import net.runelite.client.config.ConfigItem; -import net.runelite.client.config.ConfigSection; -import net.runelite.client.config.ConfigTitleSection; +import net.runelite.client.config.ConfigTitle; import net.runelite.client.config.Range; -import net.runelite.client.config.Title; @ConfigGroup("iHerbCleaner") public interface iHerbCleanerConfig extends Config { - @ConfigSection( + @ConfigTitle( keyName = "delayConfig", name = "Sleep Delay Configuration", description = "Configure how the bot handles sleep delays", position = 0 ) - default boolean delayConfig() - { - return false; - } + String delayConfig = "delayConfig"; @Range( min = 0, @@ -125,16 +120,13 @@ public interface iHerbCleanerConfig extends Config return false; } - @ConfigSection( + @ConfigTitle( keyName = "delayTickConfig", name = "Game Tick Configuration", description = "Configure how the bot handles game tick delays, 1 game tick equates to roughly 600ms", position = 10 ) - default boolean delayTickConfig() - { - return false; - } + String delayTickConfig = "delayTickConfig"; @Range( min = 0, @@ -212,23 +204,20 @@ public interface iHerbCleanerConfig extends Config return false; } - @ConfigTitleSection( + @ConfigTitle( keyName = "instructionsTitle", name = "Instructions", description = "", position = 16 ) - default Title instructionsTitle() - { - return new Title(); - } + String instructionsTitle = "instructionsTitle"; @ConfigItem( keyName = "instructions", name = "", description = "Instructions. Don't enter anything into this field", position = 17, - titleSection = "instructionsTitle" + title = "instructionsTitle" ) default String instructions() { diff --git a/iherbcleaner/src/main/java/net/runelite/client/plugins/iherbcleaner/iHerbCleanerOverlay.java b/iherbcleaner/src/main/java/net/runelite/client/plugins/iherbcleaner/iHerbCleanerOverlay.java index bdbbaec8..c93d8b6e 100644 --- a/iherbcleaner/src/main/java/net/runelite/client/plugins/iherbcleaner/iHerbCleanerOverlay.java +++ b/iherbcleaner/src/main/java/net/runelite/client/plugins/iherbcleaner/iHerbCleanerOverlay.java @@ -9,14 +9,14 @@ import javax.inject.Inject; import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; -import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE; import net.runelite.client.ui.overlay.OverlayMenuEntry; import net.runelite.client.ui.overlay.OverlayPanel; import net.runelite.client.ui.overlay.OverlayPosition; import net.runelite.client.ui.overlay.components.TitleComponent; -import net.runelite.client.ui.overlay.components.table.TableAlignment; -import net.runelite.client.ui.overlay.components.table.TableComponent; +import com.openosrs.client.ui.overlay.components.table.TableAlignment; +import com.openosrs.client.ui.overlay.components.table.TableComponent; import net.runelite.client.util.ColorUtil; import static org.apache.commons.lang3.time.DurationFormatUtils.formatDuration; diff --git a/iherbcleaner/src/main/java/net/runelite/client/plugins/iherbcleaner/iHerbCleanerPlugin.java b/iherbcleaner/src/main/java/net/runelite/client/plugins/iherbcleaner/iHerbCleanerPlugin.java index 087e1585..fc5730fe 100644 --- a/iherbcleaner/src/main/java/net/runelite/client/plugins/iherbcleaner/iHerbCleanerPlugin.java +++ b/iherbcleaner/src/main/java/net/runelite/client/plugins/iherbcleaner/iHerbCleanerPlugin.java @@ -44,7 +44,6 @@ import net.runelite.client.eventbus.Subscribe; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDependency; import net.runelite.client.plugins.PluginDescriptor; -import net.runelite.client.plugins.PluginType; import net.runelite.client.plugins.iherbcleaner.tasks.BankItemsTask; import net.runelite.client.plugins.iherbcleaner.tasks.CleanHerbTask; import net.runelite.client.plugins.iherbcleaner.tasks.MovingTask; @@ -61,8 +60,7 @@ import org.pf4j.Extension; name = "iHerbCleaner", enabledByDefault = false, description = "Illumine - Herb Cleaner plugin", - tags = {"illumine", "task", "herblore", "clean", "bot"}, - type = PluginType.MISCELLANEOUS + tags = {"illumine", "task", "herblore", "clean", "bot"} ) @Slf4j public class iHerbCleanerPlugin extends Plugin diff --git a/iherbcleaner/src/main/java/net/runelite/client/plugins/iherbcleaner/tasks/CleanHerbTask.java b/iherbcleaner/src/main/java/net/runelite/client/plugins/iherbcleaner/tasks/CleanHerbTask.java index b9b95869..3bf3939a 100644 --- a/iherbcleaner/src/main/java/net/runelite/client/plugins/iherbcleaner/tasks/CleanHerbTask.java +++ b/iherbcleaner/src/main/java/net/runelite/client/plugins/iherbcleaner/tasks/CleanHerbTask.java @@ -5,7 +5,7 @@ import java.util.List; import javax.inject.Inject; import lombok.extern.slf4j.Slf4j; import net.runelite.api.MenuEntry; -import net.runelite.api.MenuOpcode; +import net.runelite.api.MenuAction; import net.runelite.api.events.GameTick; import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetItem; @@ -46,7 +46,7 @@ public class CleanHerbTask extends Task for (WidgetItem herb : herbs) { log.info("Adding herb: {}, delay time: {}", herb.getIndex(), sleep); - entry = new MenuEntry("", "", herb.getId(), MenuOpcode.ITEM_FIRST_OPTION.getId(), + entry = new MenuEntry("", "", herb.getId(), MenuAction.ITEM_FIRST_OPTION.getId(), herb.getIndex(), WidgetInfo.INVENTORY.getId(), true); sleep += sleepDelay(); herb.getCanvasBounds().getBounds(); diff --git a/iherbcleaner/src/main/java/net/runelite/client/plugins/iherbcleaner/tasks/OpenBankTask.java b/iherbcleaner/src/main/java/net/runelite/client/plugins/iherbcleaner/tasks/OpenBankTask.java index a064b5df..05b461e1 100644 --- a/iherbcleaner/src/main/java/net/runelite/client/plugins/iherbcleaner/tasks/OpenBankTask.java +++ b/iherbcleaner/src/main/java/net/runelite/client/plugins/iherbcleaner/tasks/OpenBankTask.java @@ -5,7 +5,7 @@ import javax.inject.Inject; import lombok.extern.slf4j.Slf4j; import net.runelite.api.GameObject; import net.runelite.api.MenuEntry; -import net.runelite.api.MenuOpcode; +import net.runelite.api.MenuAction; import net.runelite.api.events.GameTick; import net.runelite.client.plugins.iherbcleaner.Task; import net.runelite.client.plugins.iherbcleaner.iHerbCleanerPlugin; @@ -47,7 +47,7 @@ public class OpenBankTask extends Task if (bank != null) { status = "Opening bank"; - entry = new MenuEntry("", "", bank.getId(), MenuOpcode.GAME_OBJECT_SECOND_OPTION.getId(), + entry = new MenuEntry("", "", bank.getId(), MenuAction.GAME_OBJECT_SECOND_OPTION.getId(), bank.getSceneMinLocation().getX(), bank.getSceneMinLocation().getY(), false); Rectangle rectangle = (bank.getConvexHull() != null) ? bank.getConvexHull().getBounds() : new Rectangle(client.getCenterX() - 50, client.getCenterY() - 50, 100, 100); diff --git a/imagiccaster/imagiccaster.gradle.kts b/imagiccaster/imagiccaster.gradle.kts index e1a7fce0..b5ec40b7 100644 --- a/imagiccaster/imagiccaster.gradle.kts +++ b/imagiccaster/imagiccaster.gradle.kts @@ -23,7 +23,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -version = "3.2.1" +version = "4.1.0" project.extra["PluginName"] = "iMagic Caster" project.extra["PluginDescription"] = "Illumine automated magic caster" diff --git a/imagiccaster/src/main/java/net/runelite/client/plugins/imagiccaster/iMagicCasterConfig.java b/imagiccaster/src/main/java/net/runelite/client/plugins/imagiccaster/iMagicCasterConfig.java index b731457d..da2e3670 100644 --- a/imagiccaster/src/main/java/net/runelite/client/plugins/imagiccaster/iMagicCasterConfig.java +++ b/imagiccaster/src/main/java/net/runelite/client/plugins/imagiccaster/iMagicCasterConfig.java @@ -29,7 +29,7 @@ import net.runelite.client.config.Button; import net.runelite.client.config.Config; import net.runelite.client.config.ConfigGroup; import net.runelite.client.config.ConfigItem; -import net.runelite.client.config.ConfigSection; +import net.runelite.client.config.ConfigTitle; import net.runelite.client.config.Range; @@ -124,16 +124,13 @@ public interface iMagicCasterConfig extends Config return true; } - @ConfigSection( + @ConfigTitle( keyName = "delayConfig", name = "Sleep Delay Configuration", description = "Configure how the bot handles sleep delays", position = 5 ) - default boolean delayConfig() - { - return false; - } + String delayConfig = "delayConfig"; @Range( min = 0, @@ -211,16 +208,13 @@ public interface iMagicCasterConfig extends Config return false; } - @ConfigSection( + @ConfigTitle( keyName = "delayTickConfig", name = "Game Tick Configuration", description = "Configure how the bot handles game tick delays, 1 game tick equates to roughly 600ms", position = 11 ) - default boolean delayTickConfig() - { - return false; - } + String delayTickConfig = "delayTickConfig"; @Range( min = 0, @@ -298,6 +292,17 @@ public interface iMagicCasterConfig extends Config return false; } + @ConfigItem( + keyName = "enableRun", + name = "Automatically enable run (energy)", + description = "If enabled, this will toggle your run on when you're above 40%", + position = 17 + ) + default boolean enableRun() + { + return true; + } + @ConfigItem( keyName = "enableUI", name = "Enable UI", diff --git a/imagiccaster/src/main/java/net/runelite/client/plugins/imagiccaster/iMagicCasterOverlay.java b/imagiccaster/src/main/java/net/runelite/client/plugins/imagiccaster/iMagicCasterOverlay.java index a30fef10..a34b110f 100644 --- a/imagiccaster/src/main/java/net/runelite/client/plugins/imagiccaster/iMagicCasterOverlay.java +++ b/imagiccaster/src/main/java/net/runelite/client/plugins/imagiccaster/iMagicCasterOverlay.java @@ -9,14 +9,14 @@ import javax.inject.Inject; import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; -import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE; import net.runelite.client.ui.overlay.OverlayMenuEntry; import net.runelite.client.ui.overlay.OverlayPanel; import net.runelite.client.ui.overlay.OverlayPosition; import net.runelite.client.ui.overlay.components.TitleComponent; -import net.runelite.client.ui.overlay.components.table.TableAlignment; -import net.runelite.client.ui.overlay.components.table.TableComponent; +import com.openosrs.client.ui.overlay.components.table.TableAlignment; +import com.openosrs.client.ui.overlay.components.table.TableComponent; import net.runelite.client.util.ColorUtil; import static org.apache.commons.lang3.time.DurationFormatUtils.formatDuration; diff --git a/imagiccaster/src/main/java/net/runelite/client/plugins/imagiccaster/iMagicCasterPlugin.java b/imagiccaster/src/main/java/net/runelite/client/plugins/imagiccaster/iMagicCasterPlugin.java index 6a69f3b7..6856319d 100644 --- a/imagiccaster/src/main/java/net/runelite/client/plugins/imagiccaster/iMagicCasterPlugin.java +++ b/imagiccaster/src/main/java/net/runelite/client/plugins/imagiccaster/iMagicCasterPlugin.java @@ -36,7 +36,7 @@ import net.runelite.api.ChatMessageType; import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.MenuEntry; -import net.runelite.api.MenuOpcode; +import net.runelite.api.MenuAction; import net.runelite.api.NPC; import net.runelite.api.Player; import net.runelite.api.TileItem; @@ -56,7 +56,6 @@ import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDependency; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginManager; -import net.runelite.client.plugins.PluginType; import static net.runelite.client.plugins.imagiccaster.iMagicCasterState.FIND_ITEM; import static net.runelite.client.plugins.imagiccaster.iMagicCasterState.FIND_NPC; import static net.runelite.client.plugins.imagiccaster.iMagicCasterState.HANDLE_BREAK; @@ -82,8 +81,7 @@ import org.pf4j.Extension; name = "iMagic Caster", enabledByDefault = false, description = "Illumine automated magic caster", - tags = {"Magic", "Splashing", "Profit", "Casting"}, - type = PluginType.SKILLING + tags = {"Magic", "Splashing", "Profit", "Casting"} ) @Slf4j public class iMagicCasterPlugin extends Plugin @@ -286,24 +284,24 @@ public class iMagicCasterPlugin extends Plugin switch (castType.getName()) { case "Single cast": - targetMenu = new MenuEntry("Cast", "", targetNPC.getIndex(), MenuOpcode.SPELL_CAST_ON_NPC.getId(), + targetMenu = new MenuEntry("Cast", "", targetNPC.getIndex(), MenuAction.SPELL_CAST_ON_NPC.getId(), 0, 0, false); utils.oneClickCastSpell(selectedSpell.getSpell(), targetMenu, targetNPC.getConvexHull().getBounds(), sleepDelay()); timeout = 4 + tickDelay(); return; case "Auto-cast": - targetMenu = new MenuEntry("", "", targetNPC.getIndex(), MenuOpcode.NPC_SECOND_OPTION.getId(), 0, 0, false); + targetMenu = new MenuEntry("", "", targetNPC.getIndex(), MenuAction.NPC_SECOND_OPTION.getId(), 0, 0, false); menu.setEntry(targetMenu); mouse.delayMouseClick(targetNPC.getConvexHull().getBounds(), sleepDelay()); timeout = 10 + tickDelay(); return; case "High Alchemy": - targetMenu = new MenuEntry("Cast", "", targetItem.getId(), MenuOpcode.ITEM_USE_ON_WIDGET.getId(), targetItem.getIndex(), 9764864, true); + targetMenu = new MenuEntry("Cast", "", targetItem.getId(), MenuAction.ITEM_USE_ON_WIDGET.getId(), targetItem.getIndex(), 9764864, true); timeout = 5 + tickDelay(); utils.oneClickCastSpell(WidgetInfo.SPELL_HIGH_LEVEL_ALCHEMY, targetMenu, targetItem.getCanvasBounds().getBounds(), sleepDelay()); return; case "Tele Grab": - targetMenu = new MenuEntry("Cast", "", groundItem.getId(), MenuOpcode.SPELL_CAST_ON_GROUND_ITEM.getId(), groundItem.getTile().getSceneLocation().getX(), groundItem.getTile().getSceneLocation().getY(), true); + targetMenu = new MenuEntry("Cast", "", groundItem.getId(), MenuAction.SPELL_CAST_ON_GROUND_ITEM.getId(), groundItem.getTile().getSceneLocation().getX(), groundItem.getTile().getSceneLocation().getY(), true); timeout = 5 + tickDelay(); utils.oneClickCastSpell(WidgetInfo.SPELL_TELEKINETIC_GRAB, targetMenu, new Rectangle(0, 0, 0, 0), sleepDelay()); return; @@ -354,7 +352,9 @@ public class iMagicCasterPlugin extends Plugin startBot = false; return; } - playerUtils.handleRun(40, 20); + if (config.enableRun()) { + playerUtils.handleRun(40, 20); + } state = getState(); beforeLoc = player.getLocalLocation(); switch (state) @@ -406,7 +406,8 @@ public class iMagicCasterPlugin extends Plugin return; } log.debug("Animation ID changed to {}, resetting timeout", event.getActor().getAnimation()); - if (event.getActor().getAnimation() == AnimationID.LOW_LEVEL_MAGIC_ATTACK) + //if (event.getActor().getAnimation() == AnimationID.LOW_LEVEL_MAGIC_ATTACK) + if (event.getActor().getAnimation() == 1162) { timeout = 10 + tickDelay(); failureCount = 0; diff --git a/imenudebugger/imenudebugger.gradle.kts b/imenudebugger/imenudebugger.gradle.kts index 484709d0..be2f85b1 100644 --- a/imenudebugger/imenudebugger.gradle.kts +++ b/imenudebugger/imenudebugger.gradle.kts @@ -23,7 +23,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -version = "1.0.1" +version = "2.1.0" project.extra["PluginName"] = "iMenu Debugger Plugin" project.extra["PluginDescription"] = "Illumine - Menu Debugger plugin" diff --git a/imenudebugger/src/main/java/net/runelite/client/plugins/imenudebugger/iMenuDebuggerConfig.java b/imenudebugger/src/main/java/net/runelite/client/plugins/imenudebugger/iMenuDebuggerConfig.java index 3a4f890a..68be2c87 100644 --- a/imenudebugger/src/main/java/net/runelite/client/plugins/imenudebugger/iMenuDebuggerConfig.java +++ b/imenudebugger/src/main/java/net/runelite/client/plugins/imenudebugger/iMenuDebuggerConfig.java @@ -29,23 +29,20 @@ import net.runelite.client.config.Button; import net.runelite.client.config.Config; import net.runelite.client.config.ConfigGroup; import net.runelite.client.config.ConfigItem; -import net.runelite.client.config.ConfigSection; +import net.runelite.client.config.ConfigTitle; import net.runelite.client.config.Range; @ConfigGroup("iMenuDebugger") public interface iMenuDebuggerConfig extends Config { - @ConfigSection( + @ConfigTitle( keyName = "delayConfig", name = "Sleep Delay Configuration", description = "Configure how the bot handles sleep delays", position = 0 ) - default boolean delayConfig() - { - return false; - } + String delayConfig = "delayConfig"; @Range( min = 0, @@ -123,16 +120,13 @@ public interface iMenuDebuggerConfig extends Config return false; } - @ConfigSection( + @ConfigTitle( keyName = "delayTickConfig", name = "Game Tick Configuration", description = "Configure how the bot handles game tick delays, 1 game tick equates to roughly 600ms", position = 10 ) - default boolean delayTickConfig() - { - return false; - } + String delayTickConfig = "delayTickConfig"; @Range( min = 0, diff --git a/imenudebugger/src/main/java/net/runelite/client/plugins/imenudebugger/iMenuDebuggerPlugin.java b/imenudebugger/src/main/java/net/runelite/client/plugins/imenudebugger/iMenuDebuggerPlugin.java index 93049797..2d189109 100644 --- a/imenudebugger/src/main/java/net/runelite/client/plugins/imenudebugger/iMenuDebuggerPlugin.java +++ b/imenudebugger/src/main/java/net/runelite/client/plugins/imenudebugger/iMenuDebuggerPlugin.java @@ -48,7 +48,6 @@ import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDependency; import net.runelite.client.plugins.PluginDescriptor; -import net.runelite.client.plugins.PluginType; import net.runelite.client.plugins.iutils.PlayerUtils; import net.runelite.client.plugins.iutils.iUtils; import static net.runelite.client.plugins.iutils.iUtils.iterating; @@ -61,8 +60,7 @@ import org.pf4j.Extension; name = "iMenu Debugger Plugin", enabledByDefault = false, description = "Illumine - Menu Debugger plugin. Has no function other than debugging", - tags = {"illumine", "menu", "debug", "bot"}, - type = PluginType.UTILITY + tags = {"illumine", "menu", "debug", "bot"} ) @Slf4j public class iMenuDebuggerPlugin extends Plugin @@ -159,13 +157,13 @@ public class iMenuDebuggerPlugin extends Plugin log.info("Menu Entry before override: {}", event.toString()); if (config.printChat()) { - utils.sendGameMessage("Option value: " + event.getOption()); - utils.sendGameMessage("Target value: " + event.getTarget()); - utils.sendGameMessage("Identifier value: " + event.getIdentifier()); - utils.sendGameMessage("Opcode value: " + event.getOpcode()); - utils.sendGameMessage("Param0 value: " + event.getParam0()); - utils.sendGameMessage("Param1 value: " + event.getParam1()); - utils.sendGameMessage("mouseButton value: " + event.getMouseButton()); + utils.sendGameMessage("MenuOption value: " + event.getMenuOption()); + utils.sendGameMessage("MenuTarget value: " + event.getMenuTarget()); + utils.sendGameMessage("Id value: " + event.getId()); + utils.sendGameMessage("MenuAction value: " + event.getMenuAction()); + utils.sendGameMessage("ActionParam value: " + event.getActionParam()); + utils.sendGameMessage("WidgetId value: " + event.getWidgetId()); + utils.sendGameMessage("selectedItemIndex value: " + event.getSelectedItemIndex()); } if (testMenu == null) { diff --git a/ipowerfighter/ipowerfighter.gradle.kts b/ipowerfighter/ipowerfighter.gradle.kts index f76e1c6c..ec8da060 100644 --- a/ipowerfighter/ipowerfighter.gradle.kts +++ b/ipowerfighter/ipowerfighter.gradle.kts @@ -23,7 +23,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -version = "3.4.4" +version = "4.1.0" project.extra["PluginName"] = "iPowerfighter Plugin" project.extra["PluginDescription"] = "Illumine - Powerfighter plugin" diff --git a/ipowerfighter/src/main/java/net/runelite/client/plugins/ipowerfighter/iPowerFighterConfig.java b/ipowerfighter/src/main/java/net/runelite/client/plugins/ipowerfighter/iPowerFighterConfig.java index c66d67d8..9570043e 100644 --- a/ipowerfighter/src/main/java/net/runelite/client/plugins/ipowerfighter/iPowerFighterConfig.java +++ b/ipowerfighter/src/main/java/net/runelite/client/plugins/ipowerfighter/iPowerFighterConfig.java @@ -29,25 +29,20 @@ import net.runelite.client.config.Button; import net.runelite.client.config.Config; import net.runelite.client.config.ConfigGroup; import net.runelite.client.config.ConfigItem; -import net.runelite.client.config.ConfigSection; -import net.runelite.client.config.ConfigTitleSection; +import net.runelite.client.config.ConfigTitle; import net.runelite.client.config.Range; -import net.runelite.client.config.Title; @ConfigGroup("iPowerFighter") public interface iPowerFighterConfig extends Config { - @ConfigSection( + @ConfigTitle( keyName = "delayConfig", name = "Sleep Delay Configuration", description = "Configure how the bot handles sleep delays", position = 0 ) - default boolean delayConfig() - { - return false; - } + String delayConfig = "delayConfig"; @Range( min = 0, @@ -125,16 +120,13 @@ public interface iPowerFighterConfig extends Config return false; } - @ConfigSection( + @ConfigTitle( keyName = "delayTickConfig", name = "Game Tick Configuration", description = "Configure how the bot handles game tick delays, 1 game tick equates to roughly 600ms", position = 10 ) - default boolean delayTickConfig() - { - return false; - } + String delayTickConfig = "delayTickConfig"; @Range( min = 0, @@ -212,46 +204,40 @@ public interface iPowerFighterConfig extends Config return false; } - @ConfigTitleSection( + @ConfigTitle( keyName = "instructionsTitle", name = "Instructions", description = "", position = 16 ) - default Title instructionsTitle() - { - return new Title(); - } + String instructionsTitle = "instructionsTitle"; @ConfigItem( keyName = "instruction", name = "", description = "Instructions. Don't enter anything into this field", position = 17, - titleSection = "instructionsTitle" + title = "instructionsTitle" ) default String instruction() { return "Auto fights NPC's with the provided name. Enable Quick Eater Plugin for eating."; } - @ConfigTitleSection( + @ConfigTitle( keyName = "generalTitle", name = "General Config", description = "", position = 28 ) - default Title generalTitle() - { - return new Title(); - } + String generalTitle = "generalTitle"; @ConfigItem( keyName = "lootOnly", name = "Loot only mode", description = "Loot only mode, will loot items and not fight NPCs", position = 29, - titleSection = "generalTitle" + title = "generalTitle" ) default boolean lootOnly() { @@ -263,7 +249,7 @@ public interface iPowerFighterConfig extends Config name = "Exact NPC only mode", description = "Exact NPC only mode, will fight exact NPC names only", position = 29, - titleSection = "generalTitle" + title = "generalTitle" ) default boolean exactNpcOnly() { @@ -276,7 +262,7 @@ public interface iPowerFighterConfig extends Config description = "Name of NPC. Will attack any NPC containing given name.", position = 30, hide = "dropInventory", - titleSection = "generalTitle" + title = "generalTitle" ) default String npcName() { @@ -293,7 +279,7 @@ public interface iPowerFighterConfig extends Config description = "The distance (in tiles) to search for target NPC. Center search point is set when you click start.", position = 31, hide = "dropInventory", - titleSection = "generalTitle" + title = "generalTitle" ) default int searchRadius() { @@ -306,7 +292,7 @@ public interface iPowerFighterConfig extends Config description = "Safe spot will force your character to always return to the tile you started the plugin on", position = 32, hide = "dropInventory", - titleSection = "generalTitle" + title = "generalTitle" ) default boolean safeSpot() { @@ -320,30 +306,27 @@ public interface iPowerFighterConfig extends Config position = 33, hidden = true, unhide = "safeSpot", - titleSection = "generalTitle" + title = "generalTitle" ) default int safeSpotRadius() { return 1; } - @ConfigTitleSection( + @ConfigTitle( keyName = "ammoTitle", name = "Ammo Settings", description = "", position = 32 ) - default Title ammoTitle() - { - return new Title(); - } + String ammoTitle = "ammoTitle"; @ConfigItem( keyName = "lootAmmo", name = "Loot Ammo", description = "Enable to loot ammo", position = 34, - titleSection = "ammoTitle" + title = "ammoTitle" ) default boolean lootAmmo() { @@ -357,7 +340,7 @@ public interface iPowerFighterConfig extends Config position = 35, hidden = true, unhide = "lootAmmo", - titleSection = "ammoTitle" + title = "ammoTitle" ) default int ammoID() { @@ -371,7 +354,7 @@ public interface iPowerFighterConfig extends Config position = 36, hidden = true, unhide = "lootAmmo", - titleSection = "ammoTitle" + title = "ammoTitle" ) default int minAmmoLootTime() { @@ -385,30 +368,27 @@ public interface iPowerFighterConfig extends Config position = 37, hidden = true, unhide = "lootAmmo", - titleSection = "ammoTitle" + title = "ammoTitle" ) default int randAmmoLootTime() { return 30; } - @ConfigTitleSection( + @ConfigTitle( keyName = "lootTitle", name = "Loot Settings", description = "", position = 38 ) - default Title lootTile() - { - return new Title(); - } + String lootTitle = "lootTitle"; @ConfigItem( keyName = "lootItems", name = "Loot Items", description = "Enable to loot items", position = 39, - titleSection = "lootTitle" + title = "lootTitle" ) default boolean lootItems() { @@ -426,7 +406,7 @@ public interface iPowerFighterConfig extends Config position = 40, hidden = true, unhide = "lootItems", - titleSection = "lootItems" + title = "lootItems" ) default int lootRadius() { @@ -440,7 +420,7 @@ public interface iPowerFighterConfig extends Config position = 41, hidden = true, unhide = "lootItems", - titleSection = "lootTitle" + title = "lootTitle" ) default boolean lootGEValue() { @@ -454,7 +434,7 @@ public interface iPowerFighterConfig extends Config position = 42, hidden = true, unhide = "lootGEValue", - titleSection = "lootTitle" + title = "lootTitle" ) default int minGEValue() { @@ -468,7 +448,7 @@ public interface iPowerFighterConfig extends Config position = 43, hidden = true, unhide = "lootItems", - titleSection = "lootTitle" + title = "lootTitle" ) default String lootItemNames() { @@ -482,7 +462,7 @@ public interface iPowerFighterConfig extends Config position = 44, hidden = true, unhide = "lootItems", - titleSection = "lootTitle" + title = "lootTitle" ) default boolean lootClueScrolls() { @@ -496,7 +476,7 @@ public interface iPowerFighterConfig extends Config position = 46, hidden = true, unhide = "lootItems", - titleSection = "lootTitle" + title = "lootTitle" ) default boolean buryBones() { @@ -510,7 +490,7 @@ public interface iPowerFighterConfig extends Config position = 48, hidden = true, unhide = "buryBones", - titleSection = "lootTitle" + title = "lootTitle" ) default boolean buryOne() { @@ -524,7 +504,7 @@ public interface iPowerFighterConfig extends Config position = 50, hidden = true, unhide = "lootItems", - titleSection = "lootTitle" + title = "lootTitle" ) default boolean lootNPCOnly() { @@ -538,30 +518,27 @@ public interface iPowerFighterConfig extends Config position = 51, hidden = true, unhide = "lootItems", - titleSection = "lootTitle" + title = "lootTitle" ) default boolean forceLoot() { return true; } - @ConfigTitleSection( + @ConfigTitle( keyName = "alchTitle", name = "Alch Settings", description = "", position = 90 ) - default Title alchTitle() - { - return new Title(); - } + String alchTitle = "alchTitle"; @ConfigItem( keyName = "alchItems", name = "Alch Items", description = "Enable to alch looted items. Requires fire and nature runes in inventory", position = 95, - titleSection = "alchTitle" + title = "alchTitle" ) default boolean alchItems() { @@ -575,7 +552,7 @@ public interface iPowerFighterConfig extends Config position = 100, hidden = true, unhide = "alchItems", - titleSection = "alchTitle" + title = "alchTitle" ) default boolean alchByValue() { @@ -589,7 +566,7 @@ public interface iPowerFighterConfig extends Config position = 105, hidden = true, unhide = "alchByValue", - titleSection = "alchTitle" + title = "alchTitle" ) default int maxAlchValue() { @@ -603,7 +580,7 @@ public interface iPowerFighterConfig extends Config position = 110, hidden = true, unhide = "alchItems", - titleSection = "alchTitle" + title = "alchTitle" ) default boolean alchByName() { @@ -617,30 +594,27 @@ public interface iPowerFighterConfig extends Config position = 115, hidden = true, unhide = "alchByName", - titleSection = "alchTitle" + title = "alchTitle" ) default String alchNames() { return "Steel platebody,Rune scimitar"; } - @ConfigTitleSection( + @ConfigTitle( keyName = "combatTitle", name = "Combat Settings", description = "", position = 90 ) - default Title combatTitle() - { - return new Title(); - } + String combatTitle = "combatTitle"; @ConfigItem( keyName = "combatLevels", name = "Combat Levels", description = "Enable to set levels for the bot to reach and change between", position = 120, - titleSection = "combatTitle" + title = "combatTitle" ) default boolean combatLevels() { @@ -654,7 +628,7 @@ public interface iPowerFighterConfig extends Config position = 125, hidden = true, unhide = "combatLevels", - titleSection = "combatTitle" + title = "combatTitle" ) default int attackLvl() { @@ -668,7 +642,7 @@ public interface iPowerFighterConfig extends Config position = 130, hidden = true, unhide = "combatLevels", - titleSection = "combatTitle" + title = "combatTitle" ) default int strengthLvl() { @@ -682,7 +656,7 @@ public interface iPowerFighterConfig extends Config position = 135, hidden = true, unhide = "combatLevels", - titleSection = "combatTitle" + title = "combatTitle" ) default int defenceLvl() { @@ -696,7 +670,7 @@ public interface iPowerFighterConfig extends Config position = 140, hidden = true, unhide = "combatLevels", - titleSection = "combatTitle" + title = "combatTitle" ) default combatType continueType() { @@ -708,7 +682,7 @@ public interface iPowerFighterConfig extends Config name = "Stop on Slayer task completion", description = "Enable to stop when Slayer task completes", position = 52, - titleSection = "generalTitle" + title = "generalTitle" ) default boolean stopSlayer() { @@ -720,7 +694,7 @@ public interface iPowerFighterConfig extends Config name = "Equip Bracelets of Slaughter/Expeditious", description = "Enable to equip Bracelets of Slaughter/Expeditious Bracelet if in inventory", position = 52, - titleSection = "generalTitle" + title = "generalTitle" ) default boolean equipBracelet() { @@ -732,7 +706,7 @@ public interface iPowerFighterConfig extends Config name = "Stop when out of ammo", description = "Enable to stop when out of ammo", position = 58, - titleSection = "generalTitle" + title = "generalTitle" ) default boolean stopAmmo() { @@ -744,7 +718,7 @@ public interface iPowerFighterConfig extends Config name = "Stop if out of food", description = "Enable to stop when out of food", position = 59, - titleSection = "generalTitle" + title = "generalTitle" ) default boolean stopFood() { @@ -756,7 +730,7 @@ public interface iPowerFighterConfig extends Config name = "Food ID", description = "Enter the ID of your food so bot knows when to stop", position = 60, - titleSection = "generalTitle", + title = "generalTitle", hidden = true, unhide = "stopFood" ) @@ -770,7 +744,7 @@ public interface iPowerFighterConfig extends Config name = "Logout on stop", description = "Enable to logout when out of food or ammo", position = 65, - titleSection = "generalTitle" + title = "generalTitle" ) default boolean logout() { @@ -782,7 +756,7 @@ public interface iPowerFighterConfig extends Config name = "Enable UI", description = "Enable to turn on in game UI", position = 70, - titleSection = "generalTitle" + title = "generalTitle" ) default boolean enableUI() { diff --git a/ipowerfighter/src/main/java/net/runelite/client/plugins/ipowerfighter/iPowerFighterOverlay.java b/ipowerfighter/src/main/java/net/runelite/client/plugins/ipowerfighter/iPowerFighterOverlay.java index dc05e132..cb26a1d8 100644 --- a/ipowerfighter/src/main/java/net/runelite/client/plugins/ipowerfighter/iPowerFighterOverlay.java +++ b/ipowerfighter/src/main/java/net/runelite/client/plugins/ipowerfighter/iPowerFighterOverlay.java @@ -9,14 +9,14 @@ import javax.inject.Inject; import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; -import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE; import net.runelite.client.ui.overlay.OverlayMenuEntry; import net.runelite.client.ui.overlay.OverlayPanel; import net.runelite.client.ui.overlay.OverlayPosition; import net.runelite.client.ui.overlay.components.TitleComponent; -import net.runelite.client.ui.overlay.components.table.TableAlignment; -import net.runelite.client.ui.overlay.components.table.TableComponent; +import com.openosrs.client.ui.overlay.components.table.TableAlignment; +import com.openosrs.client.ui.overlay.components.table.TableComponent; import net.runelite.client.util.ColorUtil; import static org.apache.commons.lang3.time.DurationFormatUtils.formatDuration; diff --git a/ipowerfighter/src/main/java/net/runelite/client/plugins/ipowerfighter/iPowerFighterPlugin.java b/ipowerfighter/src/main/java/net/runelite/client/plugins/ipowerfighter/iPowerFighterPlugin.java index 7a858173..7c30d31a 100644 --- a/ipowerfighter/src/main/java/net/runelite/client/plugins/ipowerfighter/iPowerFighterPlugin.java +++ b/ipowerfighter/src/main/java/net/runelite/client/plugins/ipowerfighter/iPowerFighterPlugin.java @@ -45,10 +45,10 @@ import net.runelite.api.GameState; import net.runelite.api.InventoryID; import net.runelite.api.Item; import net.runelite.api.ItemContainer; -import net.runelite.api.ItemDefinition; +import net.runelite.api.ItemComposition; import net.runelite.api.ItemID; import net.runelite.api.MenuEntry; -import net.runelite.api.MenuOpcode; +import net.runelite.api.MenuAction; import net.runelite.api.NPC; import net.runelite.api.Player; import net.runelite.api.Skill; @@ -71,7 +71,6 @@ import net.runelite.client.eventbus.Subscribe; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDependency; import net.runelite.client.plugins.PluginDescriptor; -import net.runelite.client.plugins.PluginType; import net.runelite.client.plugins.iutils.CalculationUtils; import net.runelite.client.plugins.iutils.InterfaceUtils; import net.runelite.client.plugins.iutils.InventoryUtils; @@ -94,8 +93,7 @@ import org.pf4j.Extension; name = "iPower Fighter", enabledByDefault = false, description = "Illumine - Power Fighter plugin", - tags = {"illumine", "combat", "ranged", "magic", "bot"}, - type = PluginType.PVM + tags = {"illumine", "combat", "ranged", "magic", "bot"} ) @Slf4j public class iPowerFighterPlugin extends Plugin @@ -319,7 +317,7 @@ public class iPowerFighterPlugin extends Plugin TileItem lootItem = getNearestTileItem(itemList); if (lootItem != null) { - targetMenu = new MenuEntry("", "", lootItem.getId(), MenuOpcode.GROUND_ITEM_THIRD_OPTION.getId(), + targetMenu = new MenuEntry("", "", lootItem.getId(), MenuAction.GROUND_ITEM_THIRD_OPTION.getId(), lootItem.getTile().getSceneLocation().getX(), lootItem.getTile().getSceneLocation().getY(), false); menu.setEntry(targetMenu); mouse.delayMouseClick(lootItem.getTile().getItemLayer().getCanvasTilePoly().getBounds(), sleepDelay()); @@ -356,7 +354,7 @@ public class iPowerFighterPlugin extends Plugin { itemGeValue = utils.getOSBItem(itemID); } - ItemDefinition itemDef = client.getItemDefinition(itemID); + ItemComposition itemDef = client.getItemDefinition(itemID); /* if (itemDef != null) { //Currently bugged (https://discord.com/channels/734831848173338684/744402742839345182/788226017978220544) if (!itemDef.isTradeable()) { log.debug("Tried to alch untradeable item {}, adding to blacklist", itemDef.getName()); @@ -380,7 +378,7 @@ public class iPowerFighterPlugin extends Plugin log.debug("Alching item: {}", alchItem.getId()); targetMenu = new MenuEntry("", "", alchItem.getId(), - MenuOpcode.ITEM_USE_ON_WIDGET.getId(), + MenuAction.ITEM_USE_ON_WIDGET.getId(), alchItem.getIndex(), WidgetInfo.INVENTORY.getId(), false); utils.oneClickCastSpell(WidgetInfo.SPELL_HIGH_LEVEL_ALCHEMY, targetMenu, alchItem.getCanvasBounds().getBounds(), sleepDelay()); @@ -403,7 +401,7 @@ public class iPowerFighterPlugin extends Plugin { continue; } - targetMenu = new MenuEntry("", "", bone.getId(), MenuOpcode.ITEM_FIRST_OPTION.getId(), + targetMenu = new MenuEntry("", "", bone.getId(), MenuAction.ITEM_FIRST_OPTION.getId(), bone.getIndex(), WidgetInfo.INVENTORY.getId(), false); menu.setEntry(targetMenu); mouse.handleMouseClick(bone.getCanvasBounds()); @@ -415,7 +413,7 @@ public class iPowerFighterPlugin extends Plugin private void attackNPC(NPC npc) { - targetMenu = new MenuEntry("", "", npc.getIndex(), MenuOpcode.NPC_SECOND_OPTION.getId(), + targetMenu = new MenuEntry("", "", npc.getIndex(), MenuAction.NPC_SECOND_OPTION.getId(), 0, 0, false); menu.setEntry(targetMenu); mouse.delayMouseClick(currentNPC.getConvexHull().getBounds(), sleepDelay()); @@ -684,7 +682,7 @@ public class iPowerFighterPlugin extends Plugin WidgetItem ammoItem = inventory.getWidgetItem(config.ammoID()); if (ammoItem != null) { - targetMenu = new MenuEntry("", "", ammoItem.getId(), MenuOpcode.ITEM_SECOND_OPTION.getId(), ammoItem.getIndex(), + targetMenu = new MenuEntry("", "", ammoItem.getId(), MenuAction.ITEM_SECOND_OPTION.getId(), ammoItem.getIndex(), WidgetInfo.INVENTORY.getId(), false); menu.setEntry(targetMenu); mouse.delayMouseClick(ammoItem.getCanvasBounds(), sleepDelay()); @@ -695,7 +693,7 @@ public class iPowerFighterPlugin extends Plugin if (bracelet != null) { log.debug("Equipping bracelet"); - targetMenu = new MenuEntry("", "", bracelet.getId(), MenuOpcode.ITEM_SECOND_OPTION.getId(), bracelet.getIndex(), + targetMenu = new MenuEntry("", "", bracelet.getId(), MenuAction.ITEM_SECOND_OPTION.getId(), bracelet.getIndex(), WidgetInfo.INVENTORY.getId(), false); menu.setEntry(targetMenu); mouse.delayMouseClick(bracelet.getCanvasBounds(), sleepDelay()); diff --git a/ipowerskiller/ipowerskiller.gradle.kts b/ipowerskiller/ipowerskiller.gradle.kts index 1ac54968..830cb2f1 100644 --- a/ipowerskiller/ipowerskiller.gradle.kts +++ b/ipowerskiller/ipowerskiller.gradle.kts @@ -23,7 +23,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -version = "5.0.2" +version = "6.1.0" project.extra["PluginName"] = "iPower Skiller" project.extra["PluginDescription"] = "Illumine auto power skiller plugin" diff --git a/ipowerskiller/src/main/java/net/runelite/client/plugins/ipowerskiller/iPowerSkillerConfiguration.java b/ipowerskiller/src/main/java/net/runelite/client/plugins/ipowerskiller/iPowerSkillerConfiguration.java index e37de745..f817cede 100644 --- a/ipowerskiller/src/main/java/net/runelite/client/plugins/ipowerskiller/iPowerSkillerConfiguration.java +++ b/ipowerskiller/src/main/java/net/runelite/client/plugins/ipowerskiller/iPowerSkillerConfiguration.java @@ -29,25 +29,20 @@ import net.runelite.client.config.Button; import net.runelite.client.config.Config; import net.runelite.client.config.ConfigGroup; import net.runelite.client.config.ConfigItem; -import net.runelite.client.config.ConfigSection; -import net.runelite.client.config.ConfigTitleSection; +import net.runelite.client.config.ConfigTitle; import net.runelite.client.config.Range; -import net.runelite.client.config.Title; @ConfigGroup("iPowerSkiller") public interface iPowerSkillerConfiguration extends Config { - @ConfigSection( + @ConfigTitle( keyName = "delayConfig", name = "Sleep Delay Configuration", description = "Configure how the bot handles sleep delays", position = 2 ) - default boolean delayConfig() - { - return false; - } + String delayConfig = "delayConfig"; @Range( min = 0, @@ -125,16 +120,13 @@ public interface iPowerSkillerConfiguration extends Config return false; } - @ConfigSection( + @ConfigTitle( keyName = "delayTickConfig", name = "Game Tick Configuration", description = "Configure how the bot handles game tick delays, 1 game tick equates to roughly 600ms", position = 8 ) - default boolean delayTickConfig() - { - return false; - } + String delayTickConfig = "delayTickConfig"; @Range( min = 0, @@ -212,23 +204,20 @@ public interface iPowerSkillerConfiguration extends Config return false; } - @ConfigTitleSection( + @ConfigTitle( keyName = "instructionsTitle", name = "Instructions", description = "", position = 16 ) - default Title instructionsTitle() - { - return new Title(); - } + String instructionsTitle = "instructionsTitle"; @ConfigItem( keyName = "instructions", name = "", description = "Instructions. Don't enter anything into this field", position = 20, - titleSection = "instructionsTitle" + title = "instructionsTitle" ) default String instructions() { @@ -236,16 +225,13 @@ public interface iPowerSkillerConfiguration extends Config "Typically in-game objects that have blue hover text are Game Objects (trees, rocks etc.) and objects that have yellow text are NPCs (fishing spots etc.)"; } - @ConfigTitleSection( + @ConfigTitle( keyName = "skillerTitle", name = "Power Skiller Configuration", description = "", position = 60 ) - default Title skillerTitle() - { - return new Title(); - } + String skillerTitle = "delayConfig"; @ConfigItem( keyName = "type", @@ -253,7 +239,7 @@ public interface iPowerSkillerConfiguration extends Config description = "Type of Object. Typically in-game objects that have blue hover text are Game Objects (trees, rocks etc.) " + "and objects that have yellow text are NPCs (e.g. fishing spots). Use Developer Tools to determine Object Type and ID.", position = 70, - titleSection = "skillerTitle" + title = "skillerTitle" ) default iPowerSkillerType type() { @@ -265,23 +251,20 @@ public interface iPowerSkillerConfiguration extends Config name = "IDs to power-skill", description = "Separate with comma", position = 80, - titleSection = "skillerTitle" + title = "skillerTitle" ) default String objectIds() { return ""; } - @ConfigTitleSection( + @ConfigTitle( keyName = "opcodeTitle", name = "Menu Opcodes", description = "", position = 85 ) - default Title opcodeTitle() - { - return new Title(); - } + String opcodeTitle = "opcodeTitle"; @ConfigItem( keyName = "customOpcode", @@ -289,7 +272,7 @@ public interface iPowerSkillerConfiguration extends Config description = "Enable to use a custom Menu Opcode. Use this in scenarios where the default Menu Opcode isn't working." + "Example default NPC Opcode works for fishing with lobster pots but not harpooning. To harpoon set an opcode of 10.", position = 86, - titleSection = "opcodeTitle" + title = "opcodeTitle" ) default boolean customOpcode() { @@ -304,7 +287,7 @@ public interface iPowerSkillerConfiguration extends Config position = 87, hidden = true, unhide = "customOpcode", - titleSection = "opcodeTitle" + title = "opcodeTitle" ) default boolean printOpcode() { @@ -317,7 +300,7 @@ public interface iPowerSkillerConfiguration extends Config description = "Enable to use a custom Menu Opcode for interacting with an object." + "Example default NPC Opcode works for fishing with lobster pots but not harpooning. To harpoon set an opcode of 10. Use for pickpocketing etc.", position = 88, - titleSection = "opcodeTitle", + title = "opcodeTitle", hidden = true, unhide = "customOpcode" @@ -335,7 +318,7 @@ public interface iPowerSkillerConfiguration extends Config position = 89, hidden = true, unhide = "objectOpcode", - titleSection = "opcodeTitle" + title = "opcodeTitle" ) default int objectOpcodeValue() { @@ -348,7 +331,7 @@ public interface iPowerSkillerConfiguration extends Config description = "Enable to use a custom Menu for interacting with an inventory item." + "Example emptying jars, combining items etc.", position = 90, - titleSection = "opcodeTitle", + title = "opcodeTitle", hidden = true, unhide = "customOpcode" @@ -364,7 +347,7 @@ public interface iPowerSkillerConfiguration extends Config description = "Enable to combine 2 items in inventory together" + "Example cutting fish", position = 91, - titleSection = "opcodeTitle", + title = "opcodeTitle", hidden = true, unhide = "inventoryMenu" @@ -381,7 +364,7 @@ public interface iPowerSkillerConfiguration extends Config position = 92, hidden = true, unhide = "combineItems", - titleSection = "opcodeTitle" + title = "opcodeTitle" ) default int toolId() { @@ -395,30 +378,27 @@ public interface iPowerSkillerConfiguration extends Config position = 93, hidden = true, unhide = "inventoryMenu", - titleSection = "opcodeTitle" + title = "opcodeTitle" ) default int inventoryOpcodeValue() { return 0; } - @ConfigTitleSection( + @ConfigTitle( keyName = "dropTitle", name = "Dropping & Banking", description = "", position = 89 ) - default Title dropTitle() - { - return new Title(); - } + String dropTitle = "dropTitle"; @ConfigItem( keyName = "bankItems", name = "Bank gathered items (Beta)", description = "Enable to bank your items instead of drop", position = 90, - titleSection = "dropTitle" + title = "dropTitle" ) default boolean bankItems() { @@ -430,7 +410,7 @@ public interface iPowerSkillerConfiguration extends Config name = "Drop/Bank entire inventory", description = "Enable to drop your entire inventory", position = 91, - titleSection = "dropTitle" + title = "dropTitle" ) default boolean dropInventory() { @@ -443,7 +423,7 @@ public interface iPowerSkillerConfiguration extends Config description = "Separate with comma. Bot will stop if required items are not in inventory, e.g. fishing bait. Leave at 0 if there are none.", position = 100, hide = "dropInventory", - titleSection = "dropTitle" + title = "dropTitle" ) default String requiredItems() { @@ -456,7 +436,7 @@ public interface iPowerSkillerConfiguration extends Config description = "Bot will logout if required items are not in inventory, e.g. fishing bait.", position = 101, hide = "dropInventory", - titleSection = "dropTitle" + title = "dropTitle" ) default boolean logout() { @@ -469,7 +449,7 @@ public interface iPowerSkillerConfiguration extends Config description = "Separate with comma, enable below option to not drop/bank these IDs.", position = 110, hide = "dropInventory", - titleSection = "dropTitle" + title = "dropTitle" ) default String items() { @@ -482,7 +462,7 @@ public interface iPowerSkillerConfiguration extends Config description = "Enable to drop/Bank all items except the given IDs", position = 120, hide = "dropInventory", - titleSection = "dropTitle" + title = "dropTitle" ) default boolean dropExcept() { @@ -494,7 +474,7 @@ public interface iPowerSkillerConfiguration extends Config name = "Get 1 Drop 1", description = "Tick manipulation", position = 121, - titleSection = "dropTitle" + title = "dropTitle" ) default boolean dropOne() { @@ -510,7 +490,7 @@ public interface iPowerSkillerConfiguration extends Config name = "Location Radius", description = "Radius to search for GameObjects.", position = 130, - titleSection = "skillerTitle" + title = "skillerTitle" ) default int locationRadius() { @@ -522,7 +502,7 @@ public interface iPowerSkillerConfiguration extends Config name = "Draw Location Radius", description = "Draw location Radius on screen.", position = 131, - titleSection = "skillerTitle" + title = "skillerTitle" ) default boolean drawlocationRadius() { @@ -534,7 +514,7 @@ public interface iPowerSkillerConfiguration extends Config name = "Safe spot", description = "Safe spot will force your character to always return to the tile you started the plugin on", position = 135, - titleSection = "skillerTitle" + title = "skillerTitle" ) default boolean safeSpot() { @@ -548,7 +528,7 @@ public interface iPowerSkillerConfiguration extends Config position = 136, hidden = true, unhide = "safeSpot", - titleSection = "skillerTitle" + title = "skillerTitle" ) default int safeSpotRadius() { @@ -560,7 +540,7 @@ public interface iPowerSkillerConfiguration extends Config name = "Enable UI", description = "Enable to turn on in game UI", position = 140, - titleSection = "skillerTitle" + title = "skillerTitle" ) default boolean enableUI() { diff --git a/ipowerskiller/src/main/java/net/runelite/client/plugins/ipowerskiller/iPowerSkillerOverlay.java b/ipowerskiller/src/main/java/net/runelite/client/plugins/ipowerskiller/iPowerSkillerOverlay.java index 3215e30f..5cbe8979 100644 --- a/ipowerskiller/src/main/java/net/runelite/client/plugins/ipowerskiller/iPowerSkillerOverlay.java +++ b/ipowerskiller/src/main/java/net/runelite/client/plugins/ipowerskiller/iPowerSkillerOverlay.java @@ -9,7 +9,7 @@ import javax.inject.Inject; import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; -import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; import net.runelite.api.Perspective; import net.runelite.api.coords.LocalPoint; import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE; @@ -18,8 +18,8 @@ import net.runelite.client.ui.overlay.OverlayPanel; import net.runelite.client.ui.overlay.OverlayPosition; import net.runelite.client.ui.overlay.OverlayUtil; import net.runelite.client.ui.overlay.components.TitleComponent; -import net.runelite.client.ui.overlay.components.table.TableAlignment; -import net.runelite.client.ui.overlay.components.table.TableComponent; +import com.openosrs.client.ui.overlay.components.table.TableAlignment; +import com.openosrs.client.ui.overlay.components.table.TableComponent; import net.runelite.client.util.ColorUtil; import static org.apache.commons.lang3.time.DurationFormatUtils.formatDuration; diff --git a/ipowerskiller/src/main/java/net/runelite/client/plugins/ipowerskiller/iPowerSkillerPlugin.java b/ipowerskiller/src/main/java/net/runelite/client/plugins/ipowerskiller/iPowerSkillerPlugin.java index 8e1c55cf..a988b3fb 100644 --- a/ipowerskiller/src/main/java/net/runelite/client/plugins/ipowerskiller/iPowerSkillerPlugin.java +++ b/ipowerskiller/src/main/java/net/runelite/client/plugins/ipowerskiller/iPowerSkillerPlugin.java @@ -38,7 +38,7 @@ import net.runelite.api.Client; import net.runelite.api.GameObject; import net.runelite.api.GameState; import net.runelite.api.MenuEntry; -import net.runelite.api.MenuOpcode; +import net.runelite.api.MenuAction; import net.runelite.api.NPC; import net.runelite.api.NullObjectID; import net.runelite.api.ObjectID; @@ -53,7 +53,7 @@ import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.ItemContainerChanged; import net.runelite.api.events.MenuOptionClicked; -import net.runelite.api.events.NpcDefinitionChanged; +import net.runelite.api.events.NpcChanged; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; @@ -63,7 +63,6 @@ import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDependency; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginManager; -import net.runelite.client.plugins.PluginType; import static net.runelite.client.plugins.ipowerskiller.iPowerSkillerState.*; import net.runelite.client.plugins.iutils.BankUtils; import net.runelite.client.plugins.iutils.CalculationUtils; @@ -87,8 +86,7 @@ import org.pf4j.Extension; name = "iPower Skiller", enabledByDefault = false, description = "Illumine auto power-skill plugin", - tags = {"fishing, mining, wood-cutting, illumine, bot, power, skill"}, - type = PluginType.SKILLING + tags = {"fishing, mining, wood-cutting, illumine, bot, power, skill"} ) @Slf4j public class iPowerSkillerPlugin extends Plugin @@ -327,7 +325,7 @@ public class iPowerSkillerPlugin extends Plugin private void interactNPC() { targetNPC = npc.findNearestNpcWithin(skillLocation, config.locationRadius(), objectIds); - opcode = (config.customOpcode() && config.objectOpcode() ? config.objectOpcodeValue() : MenuOpcode.NPC_FIRST_OPTION.getId()); + opcode = (config.customOpcode() && config.objectOpcode() ? config.objectOpcodeValue() : MenuAction.NPC_FIRST_OPTION.getId()); if (targetNPC != null) { targetMenu = new MenuEntry("", "", targetNPC.getIndex(), opcode, 0, 0, false); @@ -344,7 +342,7 @@ public class iPowerSkillerPlugin extends Plugin { targetObject = (config.type() == iPowerSkillerType.DENSE_ESSENCE) ? getDenseEssence() : object.findNearestGameObjectWithin(skillLocation, config.locationRadius(), objectIds); - opcode = (config.customOpcode() && config.objectOpcode() ? config.objectOpcodeValue() : MenuOpcode.GAME_OBJECT_FIRST_OPTION.getId()); + opcode = (config.customOpcode() && config.objectOpcode() ? config.objectOpcodeValue() : MenuAction.GAME_OBJECT_FIRST_OPTION.getId()); if (targetObject != null) { targetMenu = new MenuEntry("", "", targetObject.getId(), opcode, @@ -361,7 +359,7 @@ public class iPowerSkillerPlugin extends Plugin private void interactWall() { targetWall = object.findWallObjectWithin(skillLocation, config.locationRadius(), objectIds); - opcode = (config.customOpcode() && config.objectOpcode() ? config.objectOpcodeValue() : MenuOpcode.GAME_OBJECT_FIRST_OPTION.getId()); + opcode = (config.customOpcode() && config.objectOpcode() ? config.objectOpcodeValue() : MenuAction.GAME_OBJECT_FIRST_OPTION.getId()); if (targetWall != null) { targetMenu = new MenuEntry("", "", targetWall.getId(), opcode, @@ -677,8 +675,8 @@ public class iPowerSkillerPlugin extends Plugin { if (config.customOpcode() && config.printOpcode()) { - utils.sendGameMessage("Identifier value: " + event.getIdentifier()); - utils.sendGameMessage("Opcode value: " + event.getOpcode()); + utils.sendGameMessage("Identifier value: " + event.getId()); + utils.sendGameMessage("Opcode value: " + event.getMenuAction()); } } @@ -699,7 +697,7 @@ public class iPowerSkillerPlugin extends Plugin } @Subscribe - public void onNPCDefinitionChanged(NpcDefinitionChanged event) + public void onNPCDefinitionChanged(NpcChanged event) { if (targetNPC == null || event.getNpc() != targetNPC || !startPowerSkiller) { @@ -784,7 +782,7 @@ public class iPowerSkillerPlugin extends Plugin //extend search outside the players set radius targetObject = object.getGameObjects(ObjectID.GRINDER).get(0); } - opcode = (config.customOpcode() && config.objectOpcode() ? config.objectOpcodeValue() : MenuOpcode.GAME_OBJECT_FIRST_OPTION.getId()); + opcode = (config.customOpcode() && config.objectOpcode() ? config.objectOpcodeValue() : MenuAction.GAME_OBJECT_FIRST_OPTION.getId()); if (targetObject != null) { targetMenu = new MenuEntry("", "", targetObject.getId(), opcode, diff --git a/iquickeater/iquickeater.gradle.kts b/iquickeater/iquickeater.gradle.kts index 5e7a61a7..d3feeee5 100644 --- a/iquickeater/iquickeater.gradle.kts +++ b/iquickeater/iquickeater.gradle.kts @@ -23,7 +23,8 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -version = "4.3.4" + +version = "5.1.0" project.extra["PluginName"] = "iQuick Eater" project.extra["PluginDescription"] = "Illumine - auto eat food, consume potions and equip items" diff --git a/iquickeater/src/main/java/net/runelite/client/plugins/iquickeater/iQuickEaterPlugin.java b/iquickeater/src/main/java/net/runelite/client/plugins/iquickeater/iQuickEaterPlugin.java index c676b5b8..19839bcc 100644 --- a/iquickeater/src/main/java/net/runelite/client/plugins/iquickeater/iQuickEaterPlugin.java +++ b/iquickeater/src/main/java/net/runelite/client/plugins/iquickeater/iQuickEaterPlugin.java @@ -34,7 +34,7 @@ import net.runelite.api.GameState; import net.runelite.api.InventoryID; import net.runelite.api.ItemID; import net.runelite.api.MenuEntry; -import net.runelite.api.MenuOpcode; +import net.runelite.api.MenuAction; import net.runelite.api.Player; import net.runelite.api.Skill; import net.runelite.api.VarPlayer; @@ -51,7 +51,6 @@ import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDependency; import net.runelite.client.plugins.PluginDescriptor; -import net.runelite.client.plugins.PluginType; import net.runelite.client.plugins.iutils.CalculationUtils; import net.runelite.client.plugins.iutils.InventoryUtils; import net.runelite.client.plugins.iutils.MenuUtils; @@ -67,8 +66,7 @@ import org.pf4j.Extension; name = "iQuick Eater", enabledByDefault = false, description = "Illumine - auto eat food and drink some potions below configured values", - tags = {"illumine", "auto", "bot", "eat", "food", "potions", "stamina", "prayer"}, - type = PluginType.UTILITY + tags = {"illumine", "auto", "bot", "eat", "food", "potions", "stamina", "prayer"} ) @Slf4j public class iQuickEaterPlugin extends Plugin @@ -174,7 +172,7 @@ public class iQuickEaterPlugin extends Plugin { if (item != null) { - targetMenu = new MenuEntry("", "", item.getId(), MenuOpcode.ITEM_FIRST_OPTION.getId(), item.getIndex(), + targetMenu = new MenuEntry("", "", item.getId(), MenuAction.ITEM_FIRST_OPTION.getId(), item.getIndex(), WidgetInfo.INVENTORY.getId(), false); menu.setEntry(targetMenu); mouse.delayMouseClick(item.getCanvasBounds(), calc.getRandomIntBetweenRange(25, 200)); @@ -261,7 +259,7 @@ public class iQuickEaterPlugin extends Plugin { if (playerUtils.getEquippedItems() != null && playerUtils.getEquippedItems().get(2).getId() != 11090) { - targetMenu = new MenuEntry("Wear", "Wear", 11090, MenuOpcode.ITEM_SECOND_OPTION.getId(), inventory.getWidgetItem(11090).getIndex(), + targetMenu = new MenuEntry("Wear", "Wear", 11090, MenuAction.ITEM_SECOND_OPTION.getId(), inventory.getWidgetItem(11090).getIndex(), WidgetInfo.INVENTORY.getId(), false); menu.setEntry(targetMenu); mouse.delayMouseClick(inventory.getWidgetItem(11090).getCanvasBounds(), calc.getRandomIntBetweenRange(25, 200)); diff --git a/irandomhandler/irandomhandler.gradle.kts b/irandomhandler/irandomhandler.gradle.kts index 55f84281..8ac243b0 100644 --- a/irandomhandler/irandomhandler.gradle.kts +++ b/irandomhandler/irandomhandler.gradle.kts @@ -23,7 +23,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -version = "2.0.2" +version = "3.1.0" project.extra["PluginName"] = "iRandom Handler" project.extra["PluginDescription"] = "illumine - Dismiss random events and handle genie" diff --git a/irandomhandler/src/main/java/net/runelite/client/plugins/irandomhandler/iRandomHandlerConfig.java b/irandomhandler/src/main/java/net/runelite/client/plugins/irandomhandler/iRandomHandlerConfig.java index 9b0406a2..5610e68e 100644 --- a/irandomhandler/src/main/java/net/runelite/client/plugins/irandomhandler/iRandomHandlerConfig.java +++ b/irandomhandler/src/main/java/net/runelite/client/plugins/irandomhandler/iRandomHandlerConfig.java @@ -28,22 +28,19 @@ package net.runelite.client.plugins.irandomhandler; import net.runelite.client.config.Config; import net.runelite.client.config.ConfigGroup; import net.runelite.client.config.ConfigItem; -import net.runelite.client.config.ConfigSection; +import net.runelite.client.config.ConfigTitle; import net.runelite.client.config.Range; @ConfigGroup("irandomhandler") public interface iRandomHandlerConfig extends Config { - @ConfigSection( + @ConfigTitle( keyName = "delayConfig", name = "Sleep Delay Configuration", description = "Configure how the bot handles sleep delays", position = 0 ) - default boolean delayConfig() - { - return false; - } + String delayConfig = "delayConfig"; @Range( min = 0, @@ -121,16 +118,13 @@ public interface iRandomHandlerConfig extends Config return false; } - @ConfigSection( + @ConfigTitle( keyName = "delayTickConfig", name = "Game Tick Configuration", description = "Configure how the bot handles game tick delays, 1 game tick equates to roughly 600ms", position = 10 ) - default boolean delayTickConfig() - { - return false; - } + String delayTickConfig = "delayTickConfig"; @Range( min = 0, diff --git a/irandomhandler/src/main/java/net/runelite/client/plugins/irandomhandler/iRandomHandlerPlugin.java b/irandomhandler/src/main/java/net/runelite/client/plugins/irandomhandler/iRandomHandlerPlugin.java index b144c6f4..498424df 100644 --- a/irandomhandler/src/main/java/net/runelite/client/plugins/irandomhandler/iRandomHandlerPlugin.java +++ b/irandomhandler/src/main/java/net/runelite/client/plugins/irandomhandler/iRandomHandlerPlugin.java @@ -32,7 +32,7 @@ import lombok.extern.slf4j.Slf4j; import net.runelite.api.Actor; import net.runelite.api.Client; import net.runelite.api.MenuEntry; -import net.runelite.api.MenuOpcode; +import net.runelite.api.MenuAction; import net.runelite.api.NPC; import net.runelite.api.NpcID; import net.runelite.api.Player; @@ -46,7 +46,6 @@ import net.runelite.client.eventbus.Subscribe; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDependency; import net.runelite.client.plugins.PluginDescriptor; -import net.runelite.client.plugins.PluginType; import net.runelite.client.plugins.iutils.CalculationUtils; import net.runelite.client.plugins.iutils.MenuUtils; import net.runelite.client.plugins.iutils.MouseUtils; @@ -59,8 +58,7 @@ import org.pf4j.Extension; name = "iRandom Handler", enabledByDefault = false, description = "illumine - Dismiss random events and handle genie", - tags = {"illumine", "random", "event", "genie", "bot"}, - type = PluginType.UTILITY + tags = {"illumine", "random", "event", "genie", "bot"} ) @Slf4j public class iRandomHandlerPlugin extends Plugin @@ -208,7 +206,7 @@ public class iRandomHandlerPlugin extends Plugin if (client.getWidget(WidgetInfo.DIALOG_NPC_CONTINUE) != null) { log.debug("Genie click here to continue found, progressing..."); - targetMenu = new MenuEntry("Continue", "", 0, MenuOpcode.WIDGET_TYPE_6.getId(), + targetMenu = new MenuEntry("Continue", "", 0, MenuAction.WIDGET_TYPE_6.getId(), -1, 15138819, false); menu.setEntry(targetMenu); mouse.delayMouseClick(randomToDismiss.getConvexHull().getBounds(), sleepDelay()); @@ -218,7 +216,7 @@ public class iRandomHandlerPlugin extends Plugin } log.debug("Dismissing random event"); targetMenu = new MenuEntry("", "", randomToDismiss.getIndex(), - (genie) ? MenuOpcode.NPC_FIRST_OPTION.getId() : MenuOpcode.NPC_FIFTH_OPTION.getId(), + (genie) ? MenuAction.NPC_FIRST_OPTION.getId() : MenuAction.NPC_FIFTH_OPTION.getId(), 0, 0, false); menu.setEntry(targetMenu); mouse.delayMouseClick(randomToDismiss.getConvexHull().getBounds(), sleepDelay()); diff --git a/irooftopagility/irooftopagility.gradle.kts b/irooftopagility/irooftopagility.gradle.kts index 529130e6..a4151cb0 100644 --- a/irooftopagility/irooftopagility.gradle.kts +++ b/irooftopagility/irooftopagility.gradle.kts @@ -23,7 +23,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -version = "5.0.5" +version = "6.1.0" project.extra["PluginName"] = "iRooftop Agility" project.extra["PluginDescription"] = "Illumine automated rooftop agility plugin" diff --git a/irooftopagility/src/main/java/net/runelite/client/plugins/irooftopagility/iRooftopAgilityConfig.java b/irooftopagility/src/main/java/net/runelite/client/plugins/irooftopagility/iRooftopAgilityConfig.java index d27dc38d..87778ee9 100644 --- a/irooftopagility/src/main/java/net/runelite/client/plugins/irooftopagility/iRooftopAgilityConfig.java +++ b/irooftopagility/src/main/java/net/runelite/client/plugins/irooftopagility/iRooftopAgilityConfig.java @@ -29,24 +29,19 @@ import net.runelite.client.config.Button; import net.runelite.client.config.Config; import net.runelite.client.config.ConfigGroup; import net.runelite.client.config.ConfigItem; -import net.runelite.client.config.ConfigSection; -import net.runelite.client.config.ConfigTitleSection; +import net.runelite.client.config.ConfigTitle; import net.runelite.client.config.Range; -import net.runelite.client.config.Title; @ConfigGroup("iRooftopAgility") public interface iRooftopAgilityConfig extends Config { - @ConfigSection( + @ConfigTitle( keyName = "delayConfig", name = "Sleep Delay(ms) Configuration", description = "Configure how the bot handles sleep delays in milliseconds", position = 1 ) - default boolean delayConfig() - { - return false; - } + String delayConfig = "delayConfig"; @Range( min = 0, @@ -124,16 +119,13 @@ public interface iRooftopAgilityConfig extends Config return false; } - @ConfigSection( + @ConfigTitle( keyName = "delayTickConfig", name = "Game Tick Configuration", description = "Configure how the bot handles game tick delays, 1 game tick equates to roughly 600ms", position = 7 ) - default boolean delayTickConfig() - { - return false; - } + String delayTickConfig = "delayTickConfig"; @Range( min = 0, @@ -211,23 +203,20 @@ public interface iRooftopAgilityConfig extends Config return false; } - @ConfigTitleSection( + @ConfigTitle( keyName = "agilityTitle", name = "Agility Configuration", description = "", position = 13 ) - default Title agilityTitle() - { - return new Title(); - } + String agilityTitle = "agilityTitle"; @ConfigItem( keyName = "highAlch", name = "High Alch", description = "Enable to High Alch while running", position = 14, - titleSection = "agilityTitle" + title = "agilityTitle" ) default boolean highAlch() { @@ -239,7 +228,7 @@ public interface iRooftopAgilityConfig extends Config name = "Course", description = "Supported agility courses", position = 15, - titleSection = "agilityTitle", + title = "agilityTitle", hidden = false, hide = "highAlch", hideValue = "true" @@ -255,7 +244,7 @@ public interface iRooftopAgilityConfig extends Config name = "Banking Courses", description = "Agility courses that support bank restocking", position = 16, - titleSection = "agilityTitle", + title = "agilityTitle", hidden = true, unhide = "highAlch", unhideValue = "true" @@ -270,7 +259,7 @@ public interface iRooftopAgilityConfig extends Config name = "Alch Item ID (un-noted)", description = "Item ID (un-noted) of item you wish to high alch.", position = 17, - titleSection = "agilityTitle", + title = "agilityTitle", hidden = true, unhide = "highAlch" ) @@ -284,7 +273,7 @@ public interface iRooftopAgilityConfig extends Config name = "Bank to restock items", description = "Go to bank to restock items for high alch. Auto-disables at unsupported locations or bank doesn't contain item.", position = 18, - titleSection = "agilityTitle", + title = "agilityTitle", hidden = true, unhide = "highAlch" ) @@ -298,7 +287,7 @@ public interface iRooftopAgilityConfig extends Config name = "Pick up Mark of Grace", description = "Enable to pick up Marks of Grace", position = 19, - titleSection = "agilityTitle" + title = "agilityTitle" ) default boolean mogPickup() { @@ -310,7 +299,7 @@ public interface iRooftopAgilityConfig extends Config name = "Stop at HP", description = "Stop if HP goes below given threshold", position = 20, - titleSection = "agilityTitle" + title = "agilityTitle" ) default int lowHP() { @@ -322,7 +311,7 @@ public interface iRooftopAgilityConfig extends Config name = "Enable UI", description = "Enable to turn on in game UI", position = 21, - titleSection = "agilityTitle" + title = "agilityTitle" ) default boolean enableUI() { @@ -334,7 +323,7 @@ public interface iRooftopAgilityConfig extends Config name = "Use Camelot Teleport", description = "Use Camelot Teleport if you have hard diaries completed. Requires Air Runes or (Air Staff equipped) and Law Runes in inventory", position = 22, - titleSection = "agilityTitle" + title = "agilityTitle" ) default boolean camelotTeleport() { @@ -346,7 +335,7 @@ public interface iRooftopAgilityConfig extends Config name = "Start/Stop", description = "Test button that changes variable value", position = 33, - titleSection = "agilityTitle" + title = "agilityTitle" ) default Button startButton() { diff --git a/irooftopagility/src/main/java/net/runelite/client/plugins/irooftopagility/iRooftopAgilityOverlay.java b/irooftopagility/src/main/java/net/runelite/client/plugins/irooftopagility/iRooftopAgilityOverlay.java index 54a8fd12..7e7fc275 100644 --- a/irooftopagility/src/main/java/net/runelite/client/plugins/irooftopagility/iRooftopAgilityOverlay.java +++ b/irooftopagility/src/main/java/net/runelite/client/plugins/irooftopagility/iRooftopAgilityOverlay.java @@ -9,14 +9,14 @@ import javax.inject.Inject; import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; -import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE; import net.runelite.client.ui.overlay.OverlayMenuEntry; import net.runelite.client.ui.overlay.OverlayPanel; import net.runelite.client.ui.overlay.OverlayPosition; import net.runelite.client.ui.overlay.components.TitleComponent; -import net.runelite.client.ui.overlay.components.table.TableAlignment; -import net.runelite.client.ui.overlay.components.table.TableComponent; +import com.openosrs.client.ui.overlay.components.table.TableAlignment; +import com.openosrs.client.ui.overlay.components.table.TableComponent; import net.runelite.client.util.ColorUtil; import static org.apache.commons.lang3.time.DurationFormatUtils.formatDuration; diff --git a/irooftopagility/src/main/java/net/runelite/client/plugins/irooftopagility/iRooftopAgilityPlugin.java b/irooftopagility/src/main/java/net/runelite/client/plugins/irooftopagility/iRooftopAgilityPlugin.java index c502943a..eaec43af 100644 --- a/irooftopagility/src/main/java/net/runelite/client/plugins/irooftopagility/iRooftopAgilityPlugin.java +++ b/irooftopagility/src/main/java/net/runelite/client/plugins/irooftopagility/iRooftopAgilityPlugin.java @@ -42,7 +42,7 @@ import net.runelite.api.GameState; import net.runelite.api.GroundObject; import net.runelite.api.ItemID; import net.runelite.api.MenuEntry; -import net.runelite.api.MenuOpcode; +import net.runelite.api.MenuAction; import net.runelite.api.Player; import net.runelite.api.Skill; import net.runelite.api.Tile; @@ -68,7 +68,6 @@ import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDependency; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginManager; -import net.runelite.client.plugins.PluginType; import static net.runelite.client.plugins.irooftopagility.iRooftopAgilityState.*; import net.runelite.client.plugins.iutils.BankUtils; import net.runelite.client.plugins.iutils.CalculationUtils; @@ -88,8 +87,7 @@ import org.pf4j.Extension; name = "iRooftop Agility", enabledByDefault = false, description = "Illumine auto rooftop agility plugin", - tags = {"agility"}, - type = PluginType.SKILLING + tags = {"agility"} ) @Slf4j public class iRooftopAgilityPlugin extends Plugin @@ -298,7 +296,7 @@ public class iRooftopAgilityPlugin extends Plugin if (!setHighAlch) { targetMenu = new MenuEntry("Cast", "High Level Alchemy", 0, - MenuOpcode.WIDGET_TYPE_2.getId(), -1, 14286887, false); + MenuAction.WIDGET_TYPE_2.getId(), -1, 14286887, false); Widget spellWidget = client.getWidget(WidgetInfo.SPELL_HIGH_LEVEL_ALCHEMY); if (spellWidget != null) { @@ -317,7 +315,7 @@ public class iRooftopAgilityPlugin extends Plugin alchItem = inventory.getWidgetItem(List.of(config.alchItemID(), (config.alchItemID() + 1))); targetMenu = new MenuEntry("Cast", "High Level Alchemy ->", alchItem.getId(), - MenuOpcode.ITEM_USE_ON_WIDGET.getId(), + MenuAction.ITEM_USE_ON_WIDGET.getId(), alchItem.getIndex(), 9764864, false); menu.setEntry(targetMenu); @@ -342,9 +340,10 @@ public class iRooftopAgilityPlugin extends Plugin { if (bank.isOpen()) { - if (client.getVarbitValue(Varbits.BANK_NOTE_FLAG.getId()) != 1) + //if (client.getVarbitValue(Varbits.BANK_NOTE_FLAG.getId()) != 1) + if (client.getVarbitValue(3958) != 1) { - targetMenu = new MenuEntry("Note", "", 1, MenuOpcode.CC_OP.getId(), -1, 786455, false); + targetMenu = new MenuEntry("Note", "", 1, MenuAction.CC_OP.getId(), -1, 786455, false); menu.setEntry(targetMenu); mouse.delayClickRandomPointCenter(-200, 200, sleepDelay()); return; @@ -397,7 +396,7 @@ public class iRooftopAgilityPlugin extends Plugin if (bankBooth != null) { targetMenu = new MenuEntry("", "", bankBooth.getId(), - MenuOpcode.GAME_OBJECT_SECOND_OPTION.getId(), bankBooth.getSceneMinLocation().getX(), + MenuAction.GAME_OBJECT_SECOND_OPTION.getId(), bankBooth.getSceneMinLocation().getX(), bankBooth.getSceneMinLocation().getY(), false); menu.setEntry(targetMenu); mouse.delayMouseClick(bankBooth.getConvexHull().getBounds(), sleepDelay()); @@ -422,7 +421,7 @@ public class iRooftopAgilityPlugin extends Plugin DecorativeObject decObstacle = object.findNearestDecorObject(obstacle.getObstacleId()); if (decObstacle != null) { - targetMenu = new MenuEntry("", "", decObstacle.getId(), MenuOpcode.GAME_OBJECT_FIRST_OPTION.getId(), decObstacle.getLocalLocation().getSceneX(), decObstacle.getLocalLocation().getSceneY(), false); + targetMenu = new MenuEntry("", "", decObstacle.getId(), MenuAction.GAME_OBJECT_FIRST_OPTION.getId(), decObstacle.getLocalLocation().getSceneX(), decObstacle.getLocalLocation().getSceneY(), false); menu.setEntry(targetMenu); Rectangle clickPoint = (decObstacle.getConvexHull() != null) ? decObstacle.getConvexHull().getBounds() : new Rectangle(client.getCenterX() - 50, client.getCenterY() - 50, 100, 100); @@ -435,7 +434,7 @@ public class iRooftopAgilityPlugin extends Plugin GroundObject groundObstacle = object.findNearestGroundObject(obstacle.getObstacleId()); if (groundObstacle != null) { - targetMenu = new MenuEntry("", "", groundObstacle.getId(), MenuOpcode.GAME_OBJECT_FIRST_OPTION.getId(), groundObstacle.getLocalLocation().getSceneX(), groundObstacle.getLocalLocation().getSceneY(), false); + targetMenu = new MenuEntry("", "", groundObstacle.getId(), MenuAction.GAME_OBJECT_FIRST_OPTION.getId(), groundObstacle.getLocalLocation().getSceneX(), groundObstacle.getLocalLocation().getSceneY(), false); menu.setEntry(targetMenu); Rectangle clickPoint = (groundObstacle.getConvexHull() != null) ? groundObstacle.getConvexHull().getBounds() : new Rectangle(client.getCenterX() - 50, client.getCenterY() - 50, 100, 100); @@ -446,7 +445,7 @@ public class iRooftopAgilityPlugin extends Plugin GameObject objObstacle = object.findNearestGameObject(obstacle.getObstacleId()); if (objObstacle != null) { - targetMenu = new MenuEntry("", "", objObstacle.getId(), MenuOpcode.GAME_OBJECT_FIRST_OPTION.getId(), objObstacle.getSceneMinLocation().getX(), objObstacle.getSceneMinLocation().getY(), false); + targetMenu = new MenuEntry("", "", objObstacle.getId(), MenuAction.GAME_OBJECT_FIRST_OPTION.getId(), objObstacle.getSceneMinLocation().getX(), objObstacle.getSceneMinLocation().getY(), false); menu.setEntry(targetMenu); Rectangle clickPoint = (objObstacle.getConvexHull() != null) ? objObstacle.getConvexHull().getBounds() : new Rectangle(client.getCenterX() - 50, client.getCenterY() - 50, 100, 100); @@ -628,7 +627,7 @@ public class iRooftopAgilityPlugin extends Plugin case MOVING: break; case CAST_CAMELOT_TELEPORT: - targetMenu = new MenuEntry("", "", 2, MenuOpcode.CC_OP.getId(), -1, + targetMenu = new MenuEntry("", "", 2, MenuAction.CC_OP.getId(), -1, 14286879, false); Widget spellWidget = client.getWidget(WidgetInfo.SPELL_CAMELOT_TELEPORT); if (spellWidget != null) @@ -645,7 +644,7 @@ public class iRooftopAgilityPlugin extends Plugin break; case PRIFF_PORTAL: log.info("Using Priff portal"); - targetMenu = new MenuEntry("", "", spawnedPortal.getId(), MenuOpcode.GAME_OBJECT_FIRST_OPTION.getId(), + targetMenu = new MenuEntry("", "", spawnedPortal.getId(), MenuAction.GAME_OBJECT_FIRST_OPTION.getId(), spawnedPortal.getSceneMinLocation().getX(), spawnedPortal.getSceneMinLocation().getY(), false); menu.setEntry(targetMenu); mouse.delayMouseClick(spawnedPortal.getConvexHull().getBounds(), sleepDelay()); diff --git a/itasktemplate/itasktemplate.gradle.kts b/itasktemplate/itasktemplate.gradle.kts index 59aa74c2..253e54c7 100644 --- a/itasktemplate/itasktemplate.gradle.kts +++ b/itasktemplate/itasktemplate.gradle.kts @@ -23,7 +23,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -version = "1.0.2" +version = "2.1.0" project.extra["PluginName"] = "iTaskTemplate" project.extra["PluginDescription"] = "Illumine - Task Template plugin" diff --git a/itasktemplate/src/main/java/net/runelite/client/plugins/itasktemplate/iTaskTemplateConfig.java b/itasktemplate/src/main/java/net/runelite/client/plugins/itasktemplate/iTaskTemplateConfig.java index 33f56c3e..e9eb1eb4 100644 --- a/itasktemplate/src/main/java/net/runelite/client/plugins/itasktemplate/iTaskTemplateConfig.java +++ b/itasktemplate/src/main/java/net/runelite/client/plugins/itasktemplate/iTaskTemplateConfig.java @@ -29,25 +29,20 @@ import net.runelite.client.config.Button; import net.runelite.client.config.Config; import net.runelite.client.config.ConfigGroup; import net.runelite.client.config.ConfigItem; -import net.runelite.client.config.ConfigSection; -import net.runelite.client.config.ConfigTitleSection; +import net.runelite.client.config.ConfigTitle; import net.runelite.client.config.Range; -import net.runelite.client.config.Title; @ConfigGroup("iTaskTemplate") public interface iTaskTemplateConfig extends Config { - @ConfigSection( + @ConfigTitle( keyName = "delayConfig", name = "Sleep Delay Configuration", description = "Configure how the bot handles sleep delays", position = 0 ) - default boolean delayConfig() - { - return false; - } + String delayConfig = "delayConfig"; @Range( min = 0, @@ -125,16 +120,13 @@ public interface iTaskTemplateConfig extends Config return false; } - @ConfigSection( + @ConfigTitle( keyName = "delayTickConfig", name = "Game Tick Configuration", description = "Configure how the bot handles game tick delays, 1 game tick equates to roughly 600ms", position = 10 ) - default boolean delayTickConfig() - { - return false; - } + String delayTickConfig = "delayTickConfig"; @Range( min = 0, @@ -212,23 +204,20 @@ public interface iTaskTemplateConfig extends Config return false; } - @ConfigTitleSection( + @ConfigTitle( keyName = "instructionsTitle", name = "Instructions", description = "", position = 16 ) - default Title instructionsTitle() - { - return new Title(); - } + String instructionsTitle = "instructionsTitle"; @ConfigItem( keyName = "instructions", name = "", description = "Instructions. Don't enter anything into this field", position = 17, - titleSection = "instructionsTitle" + title = "instructionsTitle" ) default String instructions() { diff --git a/itasktemplate/src/main/java/net/runelite/client/plugins/itasktemplate/iTaskTemplateOverlay.java b/itasktemplate/src/main/java/net/runelite/client/plugins/itasktemplate/iTaskTemplateOverlay.java index d0907b1a..9a588803 100644 --- a/itasktemplate/src/main/java/net/runelite/client/plugins/itasktemplate/iTaskTemplateOverlay.java +++ b/itasktemplate/src/main/java/net/runelite/client/plugins/itasktemplate/iTaskTemplateOverlay.java @@ -9,14 +9,14 @@ import javax.inject.Inject; import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; -import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE; import net.runelite.client.ui.overlay.OverlayMenuEntry; import net.runelite.client.ui.overlay.OverlayPanel; import net.runelite.client.ui.overlay.OverlayPosition; import net.runelite.client.ui.overlay.components.TitleComponent; -import net.runelite.client.ui.overlay.components.table.TableAlignment; -import net.runelite.client.ui.overlay.components.table.TableComponent; +import com.openosrs.client.ui.overlay.components.table.TableAlignment; +import com.openosrs.client.ui.overlay.components.table.TableComponent; import net.runelite.client.util.ColorUtil; import static org.apache.commons.lang3.time.DurationFormatUtils.formatDuration; diff --git a/itasktemplate/src/main/java/net/runelite/client/plugins/itasktemplate/iTaskTemplatePlugin.java b/itasktemplate/src/main/java/net/runelite/client/plugins/itasktemplate/iTaskTemplatePlugin.java index 97e6e81d..777f81ad 100644 --- a/itasktemplate/src/main/java/net/runelite/client/plugins/itasktemplate/iTaskTemplatePlugin.java +++ b/itasktemplate/src/main/java/net/runelite/client/plugins/itasktemplate/iTaskTemplatePlugin.java @@ -44,7 +44,6 @@ import net.runelite.client.eventbus.Subscribe; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDependency; import net.runelite.client.plugins.PluginDescriptor; -import net.runelite.client.plugins.PluginType; import net.runelite.client.plugins.itasktemplate.tasks.MovingTask; import net.runelite.client.plugins.itasktemplate.tasks.TimeoutTask; import net.runelite.client.plugins.iutils.iUtils; @@ -58,8 +57,7 @@ import org.pf4j.Extension; name = "iTaskTemplate", enabledByDefault = false, description = "Illumine - Task Template plugin", - tags = {"illumine", "task", "template", "bot"}, - type = PluginType.MISCELLANEOUS + tags = {"illumine", "task", "template", "bot"} ) @Slf4j public class iTaskTemplatePlugin extends Plugin diff --git a/iutils/iutils.gradle.kts b/iutils/iutils.gradle.kts index 46270960..75fc8bf0 100644 --- a/iutils/iutils.gradle.kts +++ b/iutils/iutils.gradle.kts @@ -23,7 +23,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -version = "2.3.6" +version = "3.1.0" project.extra["PluginName"] = "iUtils" project.extra["PluginDescription"] = "Illumine - Utils required for plugins to function with added automation" diff --git a/iutils/src/main/java/net/runelite/client/plugins/iutils/BankUtils.java b/iutils/src/main/java/net/runelite/client/plugins/iutils/BankUtils.java index 6c744199..d058aa38 100644 --- a/iutils/src/main/java/net/runelite/client/plugins/iutils/BankUtils.java +++ b/iutils/src/main/java/net/runelite/client/plugins/iutils/BankUtils.java @@ -12,8 +12,8 @@ import net.runelite.api.Client; import net.runelite.api.InventoryID; import net.runelite.api.Item; import net.runelite.api.ItemContainer; +import net.runelite.api.MenuAction; import net.runelite.api.MenuEntry; -import net.runelite.api.MenuOpcode; import net.runelite.api.Point; import net.runelite.api.queries.BankItemQuery; import net.runelite.api.widgets.Widget; @@ -74,7 +74,7 @@ public class BankUtils { return; } - menu.setEntry(new MenuEntry("", "", 1, MenuOpcode.CC_OP.getId(), 11, 786434, false)); //close bank + menu.setEntry(new MenuEntry("", "", 1, MenuAction.CC_OP.getId(), 11, 786434, false)); //close bank Widget bankCloseWidget = client.getWidget(WidgetInfo.BANK_PIN_EXIT_BUTTON); if (bankCloseWidget != null) { @@ -86,8 +86,8 @@ public class BankUtils public int getBankMenuOpcode(int bankID) { - return Banks.BANK_CHECK_BOX.contains(bankID) ? MenuOpcode.GAME_OBJECT_FIRST_OPTION.getId() : - MenuOpcode.GAME_OBJECT_SECOND_OPTION.getId(); + return Banks.BANK_CHECK_BOX.contains(bankID) ? MenuAction.GAME_OBJECT_FIRST_OPTION.getId() : + MenuAction.GAME_OBJECT_SECOND_OPTION.getId(); } //doesn't NPE @@ -99,7 +99,7 @@ public class BankUtils for (Item item : bankItemContainer.getItems()) { - if (itemManager.getItemDefinition(item.getId()).getName().equalsIgnoreCase(itemName)) + if (itemManager.getItemComposition(item.getId()).getName().equalsIgnoreCase(itemName)) { return true; } @@ -146,7 +146,7 @@ public class BankUtils for (Item item : bankItemContainer.getItems()) { - if (itemManager.getItemDefinition(item.getId()).getName().equalsIgnoreCase(itemName) && item.getQuantity() >= minStackAmount) + if (itemManager.getItemComposition(item.getId()).getName().equalsIgnoreCase(itemName) && item.getQuantity() >= minStackAmount) { return true; } @@ -241,11 +241,11 @@ public class BankUtils Widget depositInventoryWidget = client.getWidget(WidgetInfo.BANK_DEPOSIT_INVENTORY); if (isDepositBoxOpen()) { - menu.setEntry(new MenuEntry("", "", 1, MenuOpcode.CC_OP.getId(), -1, 12582916, false)); //deposit all in bank interface + menu.setEntry(new MenuEntry("", "", 1, MenuAction.CC_OP.getId(), -1, 12582916, false)); //deposit all in bank interface } else { - menu.setEntry(new MenuEntry("", "", 1, MenuOpcode.CC_OP.getId(), -1, 786473, false)); //deposit all in bank interface + menu.setEntry(new MenuEntry("", "", 1, MenuAction.CC_OP.getId(), -1, 786473, false)); //deposit all in bank interface } if ((depositInventoryWidget != null)) { @@ -299,7 +299,7 @@ public class BankUtils return; } boolean depositBox = isDepositBoxOpen(); - menu.setEntry(new MenuEntry("", "", (depositBox) ? 1 : 8, MenuOpcode.CC_OP.getId(), item.getIndex(), + menu.setEntry(new MenuEntry("", "", (depositBox) ? 1 : 8, MenuAction.CC_OP.getId(), item.getIndex(), (depositBox) ? 12582914 : 983043, false)); mouse.handleMouseClick(item.getCanvasBounds()); } @@ -355,7 +355,7 @@ public class BankUtils } boolean depositBox = isDepositBoxOpen(); - menu.setEntry(new MenuEntry("", "", (client.getVarbitValue(6590) == 0) ? 2 : 3, MenuOpcode.CC_OP.getId(), item.getIndex(), + menu.setEntry(new MenuEntry("", "", (client.getVarbitValue(6590) == 0) ? 2 : 3, MenuAction.CC_OP.getId(), item.getIndex(), (depositBox) ? 12582914 : 983043, false)); mouse.delayMouseClick(item.getCanvasBounds(), calc.getRandomIntBetweenRange(0, 50)); } @@ -373,7 +373,7 @@ public class BankUtils { executorService.submit(() -> { - menu.setEntry(new MenuEntry("Withdraw-All", "", 7, MenuOpcode.CC_OP.getId(), bankItemWidget.getIndex(), 786444, false)); + menu.setEntry(new MenuEntry("Withdraw-All", "", 7, MenuAction.CC_OP.getId(), bankItemWidget.getIndex(), 786444, false)); mouse.clickRandomPointCenter(-200, 200); }); } @@ -393,7 +393,7 @@ public class BankUtils public void withdrawItem(Widget bankItemWidget) { - MenuEntry entry = new MenuEntry("", "", (client.getVarbitValue(6590) == 0) ? 1 : 2, MenuOpcode.CC_OP.getId(), + MenuEntry entry = new MenuEntry("", "", (client.getVarbitValue(6590) == 0) ? 1 : 2, MenuAction.CC_OP.getId(), bankItemWidget.getIndex(), 786444, false); utils.doActionClientTick(entry, bankItemWidget.getBounds(), 0); } @@ -429,7 +429,7 @@ public class BankUtils identifier = 6; break; } - menu.setEntry(new MenuEntry("", "", identifier, MenuOpcode.CC_OP.getId(), item.getIndex(), 786444, false)); + menu.setEntry(new MenuEntry("", "", identifier, MenuAction.CC_OP.getId(), item.getIndex(), 786444, false)); mouse.delayClickRandomPointCenter(-200, 200, 50); if (identifier == 6) { diff --git a/iutils/src/main/java/net/runelite/client/plugins/iutils/InterfaceUtils.java b/iutils/src/main/java/net/runelite/client/plugins/iutils/InterfaceUtils.java index 71600680..97ea8a30 100644 --- a/iutils/src/main/java/net/runelite/client/plugins/iutils/InterfaceUtils.java +++ b/iutils/src/main/java/net/runelite/client/plugins/iutils/InterfaceUtils.java @@ -6,8 +6,8 @@ import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; import net.runelite.api.GameState; +import net.runelite.api.MenuAction; import net.runelite.api.MenuEntry; -import net.runelite.api.MenuOpcode; import net.runelite.api.Point; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; @@ -57,13 +57,13 @@ public class InterfaceUtils final int INCREMENT = 4; int styleParam = BASE_PARAM + (index * INCREMENT); - return new MenuEntry("", "", 1, MenuOpcode.CC_OP.getId(), -1, styleParam, false); + return new MenuEntry("", "", 1, MenuAction.CC_OP.getId(), -1, styleParam, false); } public void logout() { int param1 = (client.getWidget(WidgetInfo.LOGOUT_BUTTON) != null) ? 11927560 : 4522007; - menu.setEntry(new MenuEntry("", "", 1, MenuOpcode.CC_OP.getId(), -1, param1, false)); + menu.setEntry(new MenuEntry("", "", 1, MenuAction.CC_OP.getId(), -1, param1, false)); Widget logoutWidget = client.getWidget(WidgetInfo.LOGOUT_BUTTON); if (logoutWidget != null) { diff --git a/iutils/src/main/java/net/runelite/client/plugins/iutils/InventoryUtils.java b/iutils/src/main/java/net/runelite/client/plugins/iutils/InventoryUtils.java index 3eaae6c2..c2c9cca5 100644 --- a/iutils/src/main/java/net/runelite/client/plugins/iutils/InventoryUtils.java +++ b/iutils/src/main/java/net/runelite/client/plugins/iutils/InventoryUtils.java @@ -17,8 +17,8 @@ import net.runelite.api.GameState; import net.runelite.api.InventoryID; import net.runelite.api.Item; import net.runelite.api.ItemContainer; +import net.runelite.api.MenuAction; import net.runelite.api.MenuEntry; -import net.runelite.api.MenuOpcode; import net.runelite.api.Varbits; import net.runelite.api.queries.InventoryItemQuery; import net.runelite.api.queries.InventoryWidgetItemQuery; @@ -227,7 +227,7 @@ public class InventoryUtils { continue; } - String[] menuActions = itemManager.getItemDefinition(item.getId()).getInventoryActions(); + String[] menuActions = itemManager.getItemComposition(item.getId()).getInventoryActions(); for (String action : menuActions) { if (action != null && action.equals(menuOption)) @@ -248,7 +248,7 @@ public class InventoryUtils Collection items = inventoryWidget.getWidgetItems(); for (WidgetItem item : items) { - String[] menuActions = itemManager.getItemDefinition(item.getId()).getInventoryActions(); + String[] menuActions = itemManager.getItemComposition(item.getId()).getInventoryActions(); for (String action : menuActions) { if (action != null && menuOptions.contains(action)) @@ -269,7 +269,7 @@ public class InventoryUtils Collection items = inventoryWidget.getWidgetItems(); for (WidgetItem item : items) { - String[] menuActions = itemManager.getItemDefinition(item.getId()).getInventoryActions(); + String[] menuActions = itemManager.getItemComposition(item.getId()).getInventoryActions(); for (String action : menuActions) { if (action != null && action.equals(menuOption)) @@ -443,7 +443,7 @@ public class InventoryUtils { assert !client.isClientThread(); - menu.setEntry(new MenuEntry("", "", item.getId(), MenuOpcode.ITEM_DROP.getId(), item.getIndex(), 9764864, false)); + menu.setEntry(new MenuEntry("", "", item.getId(), MenuAction.ITEM_FIFTH_OPTION.getId(), item.getIndex(), 9764864, false)); mouse.click(item.getCanvasBounds()); } @@ -585,7 +585,7 @@ public class InventoryUtils log.info("interacting inventory item: {}", item.getId()); sleep(minDelayBetween, maxDelayBetween); menu.setModifiedEntry(new MenuEntry("", "", item1.getId(), opcode, item1.getIndex(), WidgetInfo.INVENTORY.getId(), - false), item.getId(), item.getIndex(), MenuOpcode.ITEM_USE_ON_WIDGET_ITEM.getId()); + false), item.getId(), item.getIndex(), MenuAction.ITEM_USE_ON_WIDGET_ITEM.getId()); mouse.click(item1.getCanvasBounds()); if (!interactAll) { diff --git a/iutils/src/main/java/net/runelite/client/plugins/iutils/ObjectUtils.java b/iutils/src/main/java/net/runelite/client/plugins/iutils/ObjectUtils.java index 6d004cc1..08017733 100644 --- a/iutils/src/main/java/net/runelite/client/plugins/iutils/ObjectUtils.java +++ b/iutils/src/main/java/net/runelite/client/plugins/iutils/ObjectUtils.java @@ -12,11 +12,11 @@ import net.runelite.api.Constants; import net.runelite.api.DecorativeObject; import net.runelite.api.GameObject; import net.runelite.api.GroundObject; +import net.runelite.api.ItemLayer; import net.runelite.api.Player; import net.runelite.api.Scene; import net.runelite.api.Tile; import net.runelite.api.TileItem; -import net.runelite.api.TileItemPile; import net.runelite.api.TileObject; import net.runelite.api.WallObject; import net.runelite.api.coords.LocalPoint; @@ -224,7 +224,7 @@ public class ObjectUtils private TileItem findItemAtTile(Tile tile, int id) { - TileItemPile tileItemPile = tile.getItemLayer(); + ItemLayer tileItemPile = tile.getItemLayer(); if (tileItemPile != null) { TileItem tileItem = (TileItem) tileItemPile.getBottom(); diff --git a/iutils/src/main/java/net/runelite/client/plugins/iutils/PlayerUtils.java b/iutils/src/main/java/net/runelite/client/plugins/iutils/PlayerUtils.java index c58e7356..4a6c298f 100644 --- a/iutils/src/main/java/net/runelite/client/plugins/iutils/PlayerUtils.java +++ b/iutils/src/main/java/net/runelite/client/plugins/iutils/PlayerUtils.java @@ -13,8 +13,8 @@ import net.runelite.api.InventoryID; import net.runelite.api.Item; import net.runelite.api.ItemContainer; import net.runelite.api.ItemID; +import net.runelite.api.MenuAction; import net.runelite.api.MenuEntry; -import net.runelite.api.MenuOpcode; import net.runelite.api.Player; import net.runelite.api.Varbits; import net.runelite.api.coords.LocalPoint; @@ -169,7 +169,7 @@ public class PlayerUtils if (staminaPotion != null) { log.info("using stamina potion"); - menu.setEntry(new MenuEntry("", "", staminaPotion.getId(), MenuOpcode.ITEM_FIRST_OPTION.getId(), + menu.setEntry(new MenuEntry("", "", staminaPotion.getId(), MenuAction.ITEM_FIRST_OPTION.getId(), staminaPotion.getIndex(), 9764864, false)); mouse.delayMouseClick(staminaPotion.getCanvasBounds(), calc.getRandomIntBetweenRange(5, 200)); return true; diff --git a/iutils/src/main/java/net/runelite/client/plugins/iutils/WalkUtils.java b/iutils/src/main/java/net/runelite/client/plugins/iutils/WalkUtils.java index 4af705ea..5cad558a 100644 --- a/iutils/src/main/java/net/runelite/client/plugins/iutils/WalkUtils.java +++ b/iutils/src/main/java/net/runelite/client/plugins/iutils/WalkUtils.java @@ -9,8 +9,8 @@ import javax.inject.Inject; import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; +import net.runelite.api.MenuAction; import net.runelite.api.MenuEntry; -import net.runelite.api.MenuOpcode; import net.runelite.api.Player; import net.runelite.api.Point; import net.runelite.api.coords.LocalPoint; @@ -72,7 +72,7 @@ public class WalkUtils coordY = localPoint.getSceneY() + calc.getRandomIntBetweenRange(-Math.abs(rand), Math.abs(rand)); log.info("Coord values: {}, {}", coordX, coordY); walkAction = true; - menu.setEntry(new MenuEntry("Walk here", "", 0, MenuOpcode.WALK.getId(), + menu.setEntry(new MenuEntry("Walk here", "", 0, MenuAction.WALK.getId(), 0, 0, false)); mouse.delayMouseClick(new Point(0, 0), delay); } @@ -96,7 +96,7 @@ public class WalkUtils public static String post(String url, String json) throws IOException { OkHttpClient okHttpClient = new OkHttpClient(); - RequestBody body = RequestBody.create(json, JSON); // new + RequestBody body = RequestBody.create(JSON, json); // new log.info("Sending POST request: {}", body); Request request = new Request.Builder() .url(url) diff --git a/iutils/src/main/java/net/runelite/client/plugins/iutils/iUtils.java b/iutils/src/main/java/net/runelite/client/plugins/iutils/iUtils.java index 4f430f54..8de9c4a3 100644 --- a/iutils/src/main/java/net/runelite/client/plugins/iutils/iUtils.java +++ b/iutils/src/main/java/net/runelite/client/plugins/iutils/iUtils.java @@ -7,6 +7,7 @@ package net.runelite.client.plugins.iutils; import com.google.inject.Provides; import java.awt.Rectangle; +import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -18,8 +19,8 @@ import lombok.extern.slf4j.Slf4j; import net.runelite.api.ChatMessageType; import net.runelite.api.Client; import net.runelite.api.GameObject; +import net.runelite.api.MenuAction; import net.runelite.api.MenuEntry; -import net.runelite.api.MenuOpcode; import net.runelite.api.NPC; import net.runelite.api.Point; import net.runelite.api.TileObject; @@ -38,7 +39,6 @@ import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.Subscribe; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; -import net.runelite.client.plugins.PluginType; import net.runelite.http.api.ge.GrandExchangeClient; import net.runelite.http.api.osbuddy.OSBGrandExchangeClient; import net.runelite.http.api.osbuddy.OSBGrandExchangeResult; @@ -51,7 +51,6 @@ import org.pf4j.Extension; @Extension @PluginDescriptor( name = "iUtils", - type = PluginType.UTILITY, description = "Illumine plugin utilities", hidden = false ) @@ -453,25 +452,21 @@ public class iUtils extends Plugin public OSBGrandExchangeResult getOSBItem(int itemId) { log.debug("Looking up OSB item price {}", itemId); - osbGrandExchangeClient.lookupItem(itemId) - .subscribe( - (osbresult) -> - { - if (osbresult != null && osbresult.getOverall_average() > 0) - { - osbGrandExchangeResult = osbresult; - } - }, - (e) -> log.debug("Error getting price of item {}", itemId, e) - ); - if (osbGrandExchangeResult != null) + + try { - return osbGrandExchangeResult; + final OSBGrandExchangeResult result = osbGrandExchangeClient.lookupItem(itemId); + if (result != null && result.getOverall_average() > 0) + { + return result; + } } - else + catch (IOException e) { - return null; + log.debug("Error getting price of item {}", itemId, e); } + + return null; } //Ganom's @@ -581,7 +576,7 @@ public class iUtils extends Plugin @Subscribe private void onMenuEntryAdded(MenuEntryAdded event) { - if (event.getOpcode() == MenuOpcode.CC_OP.getId() && (event.getParam1() == WidgetInfo.WORLD_SWITCHER_LIST.getId() || + if (event.getOpcode() == MenuAction.CC_OP.getId() && (event.getParam1() == WidgetInfo.WORLD_SWITCHER_LIST.getId() || event.getParam1() == 11927560 || event.getParam1() == 4522007 || event.getParam1() == 24772686)) { return; @@ -599,8 +594,8 @@ public class iUtils extends Plugin @Subscribe private void onMenuOptionClicked(MenuOptionClicked event) { - if (event.getOpcode() == MenuOpcode.CC_OP.getId() && (event.getParam1() == WidgetInfo.WORLD_SWITCHER_LIST.getId() || - event.getParam1() == 11927560 || event.getParam1() == 4522007 || event.getParam1() == 24772686)) + if (event.getMenuAction() == MenuAction.CC_OP && (event.getWidgetId() == WidgetInfo.WORLD_SWITCHER_LIST.getId() || + event.getWidgetId() == 11927560 || event.getWidgetId() == 4522007 || event.getWidgetId() == 24772686)) { //Either logging out or world-hopping which is handled by 3rd party plugins so let them have priority log.info("Received world-hop/login related click. Giving them priority"); @@ -610,16 +605,17 @@ public class iUtils extends Plugin if (menu.entry != null) { tickActions++; - event.consume(); log.debug("Actions this game tick: {}", tickActions); if (menu.consumeClick) { + event.consume(); log.info("Consuming a click and not sending anything else"); menu.consumeClick = false; return; } if (menu.entry.getOption().equals("Walk here")) { + event.consume(); log.info("Walk action: {} {}", walk.coordX, walk.coordY); walk.walkTile(walk.coordX, walk.coordY); walk.walkAction = false; @@ -632,25 +628,36 @@ public class iUtils extends Plugin client.setSelectedItemSlot(menu.modifiedItemIndex); client.setSelectedItemID(menu.modifiedItemID); log.debug("doing a Modified MOC, mod ID: {}, mod index: {}, param1: {}", menu.modifiedItemID, - menu.modifiedItemIndex, menu.entry.getParam1()); - client.invokeMenuAction(menu.entry.getOption(), menu.entry.getTarget(), menu.entry.getIdentifier(), - menu.modifiedOpCode, menu.entry.getParam0(), menu.entry.getParam1()); + menu.modifiedItemIndex, menu.entry.getParam1()); + menuAction(event,menu.entry.getOption(), menu.entry.getTarget(), menu.entry.getIdentifier(), + MenuAction.of(menu.modifiedOpCode), menu.entry.getParam0(), menu.entry.getParam1()); menu.modifiedMenu = false; } else { - client.invokeMenuAction(menu.entry.getOption(), menu.entry.getTarget(), menu.entry.getIdentifier(), - menu.entry.getOpcode(), menu.entry.getParam0(), menu.entry.getParam1()); + System.out.println(String.format("%s, %s, %s, %s, %s, %s", menu.entry.getOption(), menu.entry.getTarget(), menu.entry.getIdentifier(), menu.entry.getOpcode(), menu.entry.getParam0(), menu.entry.getParam1())); + menuAction(event,menu.entry.getOption(), menu.entry.getTarget(), menu.entry.getIdentifier(), + MenuAction.of(menu.entry.getOpcode()), menu.entry.getParam0(), menu.entry.getParam1()); } menu.entry = null; } else { - if (!event.isConsumed() && !action.delayedActions.isEmpty() && event.getOption().equals("Walk here")) + if (!event.isConsumed() && !action.delayedActions.isEmpty() && event.getMenuOption().equals("Walk here")) { log.info("Consuming a NULL MOC event"); event.consume(); } } } + + public void menuAction(MenuOptionClicked menuOptionClicked, String option, String target, int identifier, MenuAction menuAction, int param0, int param1) + { + menuOptionClicked.setMenuOption(option); + menuOptionClicked.setMenuTarget(target); + menuOptionClicked.setId(identifier); + menuOptionClicked.setMenuAction(menuAction); + menuOptionClicked.setActionParam(param0); + menuOptionClicked.setWidgetId(param1); + } } diff --git a/iworldwalker/iworldwalker.gradle.kts b/iworldwalker/iworldwalker.gradle.kts index c60b8547..5f2d0ef6 100644 --- a/iworldwalker/iworldwalker.gradle.kts +++ b/iworldwalker/iworldwalker.gradle.kts @@ -23,7 +23,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -version = "2.5.1" +version = "3.1.0" project.extra["PluginName"] = "iWorld Walker Plugin" project.extra["PluginDescription"] = "Illumine - World Walker plugin" diff --git a/iworldwalker/src/main/java/net/runelite/client/plugins/iworldwalker/iWorldWalkerConfig.java b/iworldwalker/src/main/java/net/runelite/client/plugins/iworldwalker/iWorldWalkerConfig.java index c1a91780..532f6166 100644 --- a/iworldwalker/src/main/java/net/runelite/client/plugins/iworldwalker/iWorldWalkerConfig.java +++ b/iworldwalker/src/main/java/net/runelite/client/plugins/iworldwalker/iWorldWalkerConfig.java @@ -29,7 +29,7 @@ import net.runelite.client.config.Button; import net.runelite.client.config.Config; import net.runelite.client.config.ConfigGroup; import net.runelite.client.config.ConfigItem; -import net.runelite.client.config.ConfigSection; +import net.runelite.client.config.ConfigTitle; import net.runelite.client.config.Range; import net.runelite.client.plugins.iworldwalker.farming.Allotments; import net.runelite.client.plugins.iworldwalker.farming.Bushes; @@ -42,16 +42,13 @@ import net.runelite.client.plugins.iworldwalker.farming.Trees; public interface iWorldWalkerConfig extends Config { - @ConfigSection( + @ConfigTitle( keyName = "delayConfig", name = "Sleep Delay Configuration", description = "Configure how the bot handles sleep delays", position = 1 ) - default boolean delayConfig() - { - return false; - } + String delayConfig = "delayConfig"; @Range( min = 0, @@ -129,16 +126,13 @@ public interface iWorldWalkerConfig extends Config return false; } - @ConfigSection( + @ConfigTitle( keyName = "delayTickConfig", name = "Game Tick Configuration", description = "Configure how the bot handles game tick delays, 1 game tick equates to roughly 600ms", position = 7 ) - default boolean delayTickConfig() - { - return false; - } + String delayTickConfig = "delayTickConfig"; @Range( min = 0, @@ -216,16 +210,13 @@ public interface iWorldWalkerConfig extends Config return false; } - @ConfigSection( + @ConfigTitle( keyName = "instructionsTitle", name = "Instructions", description = "Instructions Title", position = 15 ) - default boolean instructionsTitle() - { - return false; - } + String instructionsTitle = "instructionsTitle"; @ConfigItem( keyName = "instructions", @@ -239,16 +230,13 @@ public interface iWorldWalkerConfig extends Config return "Select your location from the drop-down or enter a custom location using x,y,z format. Use Location/Tile Location in Developer Tools to obtain a custom coordinate."; } - @ConfigSection( + @ConfigTitle( keyName = "notesTitle", name = "Custom Notes", description = "Notes Title", position = 29 ) - default boolean notesTitle() - { - return false; - } + String notesTitle = "notesTitle"; @ConfigItem( keyName = "notepad", @@ -262,16 +250,13 @@ public interface iWorldWalkerConfig extends Config return "Paste custom co-ords that you want to save for frequent use"; } - @ConfigSection( + @ConfigTitle( keyName = "showQuestNotes", name = "Show Quest Notes", description = "Unhide the quest notes section, containing notes on supported quests", position = 31 ) - default boolean showQuestNotes() - { - return false; - } + String showQuestNotes = "showQuestNotes"; @ConfigItem( keyName = "supportedQuests", diff --git a/iworldwalker/src/main/java/net/runelite/client/plugins/iworldwalker/iWorldWalkerOverlay.java b/iworldwalker/src/main/java/net/runelite/client/plugins/iworldwalker/iWorldWalkerOverlay.java index c9534710..3d2e1066 100644 --- a/iworldwalker/src/main/java/net/runelite/client/plugins/iworldwalker/iWorldWalkerOverlay.java +++ b/iworldwalker/src/main/java/net/runelite/client/plugins/iworldwalker/iWorldWalkerOverlay.java @@ -9,14 +9,14 @@ import javax.inject.Inject; import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; -import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE; import net.runelite.client.ui.overlay.OverlayMenuEntry; import net.runelite.client.ui.overlay.OverlayPanel; import net.runelite.client.ui.overlay.OverlayPosition; import net.runelite.client.ui.overlay.components.TitleComponent; -import net.runelite.client.ui.overlay.components.table.TableAlignment; -import net.runelite.client.ui.overlay.components.table.TableComponent; +import com.openosrs.client.ui.overlay.components.table.TableAlignment; +import com.openosrs.client.ui.overlay.components.table.TableComponent; import net.runelite.client.util.ColorUtil; import static org.apache.commons.lang3.time.DurationFormatUtils.formatDuration; diff --git a/iworldwalker/src/main/java/net/runelite/client/plugins/iworldwalker/iWorldWalkerPlugin.java b/iworldwalker/src/main/java/net/runelite/client/plugins/iworldwalker/iWorldWalkerPlugin.java index 85a138fc..36f1ff76 100644 --- a/iworldwalker/src/main/java/net/runelite/client/plugins/iworldwalker/iWorldWalkerPlugin.java +++ b/iworldwalker/src/main/java/net/runelite/client/plugins/iworldwalker/iWorldWalkerPlugin.java @@ -35,7 +35,7 @@ import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.MenuEntry; -import net.runelite.api.MenuOpcode; +import net.runelite.api.MenuAction; import net.runelite.api.Player; import net.runelite.api.Point; import net.runelite.api.RenderOverview; @@ -54,7 +54,6 @@ import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDependency; import net.runelite.client.plugins.PluginDescriptor; -import net.runelite.client.plugins.PluginType; import net.runelite.client.plugins.iutils.CalculationUtils; import net.runelite.client.plugins.iutils.PlayerUtils; import net.runelite.client.plugins.iutils.WalkUtils; @@ -71,8 +70,7 @@ import org.pf4j.Extension; name = "iWorld Walker Plugin", enabledByDefault = false, description = "Illumine - World Walker plugin", - tags = {"illumine", "walk", "web", "travel", "bot"}, - type = PluginType.UTILITY + tags = {"illumine", "walk", "web", "travel", "bot"} ) @Slf4j public class iWorldWalkerPlugin extends Plugin @@ -452,12 +450,12 @@ public class iWorldWalkerPlugin extends Plugin @Subscribe public void onMenuOptionClicked(MenuOptionClicked event) { - if (event.getOption().equals("illu-Walk here")) + if (event.getMenuOption().equals("illu-Walk here")) { mapPoint = calculateMapPoint(client.isMenuOpen() ? lastMenuOpenedPoint : client.getMouseCanvasPosition()); startVals(); } - if (event.getOption().equals("illu-Clear Destination")) + if (event.getMenuOption().equals("illu-Clear Destination")) { mapPoint = null; resetVals(); @@ -484,7 +482,7 @@ public class iWorldWalkerPlugin extends Plugin MenuEntry entry = new MenuEntry(); entry.setOption(option); entry.setTarget(event.getTarget()); - entry.setOpcode(MenuOpcode.RUNELITE.getId()); + entry.setOpcode(MenuAction.RUNELITE.getId()); entries.add(0, entry); client.setMenuEntries(entries.toArray(new MenuEntry[0])); diff --git a/plugins.json b/plugins.json index 0449af84..9499c358 100644 --- a/plugins.json +++ b/plugins.json @@ -1 +1 @@ -[{"projectUrl":"https://discord.gg/9fGzEDR","provider":"illumine","name":"BotUtils","description":"Illumine - Utils required for plugins to function with added automation","id":"botutils-plugin","releases":[{"date":"2020-12-22","sha512sum":"50F844EA3DCF78769D942DF4E28F264F97801D192A4161C9DA4D4B72FA0A93E077AA31F14E4EF942527725668E25AE0C7803E3658F8A3A8A4524B8DC562E93B7","version":"4.9.3","url":"https://github.com/illumineawake/illu-plugins/blob/master/release/botutils-4.9.3.jar?raw=true","requires":"0.0.1"}]}, {"projectUrl":"https://discord.gg/9fGzEDR","provider":"illumine","name":"iBlackjack","description":"Illumine - Blackjack plugin","id":"iblackjack-plugin","releases":[{"date":"2020-12-22","sha512sum":"B7B4EF99304A0D321EB691B7B45AF1DC5D9F45AFD075B0E08E5CDABE19DBD25BB531B56E2047DC622A4B1E0F4A4AC01165813DCB6475436617C1919BE1647F67","version":"1.3.3","url":"https://github.com/illumineawake/illu-plugins/blob/master/release/iblackjack-1.3.3.jar?raw=true","requires":"0.0.1"}]}, {"projectUrl":"https://discord.gg/9fGzEDR","provider":"illumine","name":"iCombination Runecrafter Plugin","description":"Illumine - Combination Runecrafting plugin","id":"icombinationrunecrafterplugin-plugin","releases":[{"date":"2020-12-22","sha512sum":"D93C3F884364F1575B6FD9761A8ACFB11AE5D7494504DBC4063D20D177B80F8C999141C5ACF8EEDD0370EAC479E0645993FB142AEAEC07FAF6D1FB0F7A62D6C5","version":"2.0.5","url":"https://github.com/illumineawake/illu-plugins/blob/master/release/icombinationrunecrafter-2.0.5.jar?raw=true","requires":"0.0.1"}]}, {"projectUrl":"https://discord.gg/9fGzEDR","provider":"illumine","name":"iHerbCleaner","description":"Illumine - Herb Cleaner","id":"iherbcleaner-plugin","releases":[{"date":"2020-12-22","sha512sum":"2F85B77DEFC3B9303FE63AFFB85EC196978A899C4E453CE9D463B3F794F28AF2D33D1CD3CB7D5C5A89414290291F814FB5E540CADAB48B38E94A2A7A3CD475E1","version":"1.0.2","url":"https://github.com/illumineawake/illu-plugins/blob/master/release/iherbcleaner-1.0.2.jar?raw=true","requires":"0.0.1"}]}, {"projectUrl":"https://discord.gg/9fGzEDR","provider":"illumine","name":"iMagic Caster","description":"Illumine automated magic caster","id":"imagiccaster-plugin","releases":[{"date":"2020-12-22","sha512sum":"5506607ED525A31A897E7A023703FDE2D360B1E7C25C9EE6A0FBDEE57BFDB515B53CDEC4A580D6F2F0CCAF75449DF23812024480456BBB6D230467328A95080C","version":"3.2.1","url":"https://github.com/illumineawake/illu-plugins/blob/master/release/imagiccaster-3.2.1.jar?raw=true","requires":"0.0.1"}]}, {"projectUrl":"https://discord.gg/9fGzEDR","provider":"illumine","name":"iMenu Debugger Plugin","description":"Illumine - Menu Debugger plugin","id":"imenudebuggerplugin-plugin","releases":[{"date":"2020-12-22","sha512sum":"9FB5BAD3D5DCE19624031A3E88A6F53BA8CFA47F4CA9EB3162F70426F2FE94279E4331198FDD62D85FD2EF7B525FADBBA1DBE6C4EC3A92668EC23D1832BC81D3","version":"1.0.1","url":"https://github.com/illumineawake/illu-plugins/blob/master/release/imenudebugger-1.0.1.jar?raw=true","requires":"0.0.1"}]}, {"projectUrl":"https://discord.gg/9fGzEDR","provider":"illumine","name":"iPowerfighter Plugin","description":"Illumine - Powerfighter plugin","id":"ipowerfighterplugin-plugin","releases":[{"date":"2020-12-22","sha512sum":"933C2039EDCE9E6C5D6B48BE1789C9B6E62F9A5F1C3CA19DB71AA9D5A9B20CDA01E66E1B3B6BC5A53195AF349C20384E5CF212102F09F4454FCF63787F723036","version":"3.4.4","url":"https://github.com/illumineawake/illu-plugins/blob/master/release/ipowerfighter-3.4.4.jar?raw=true","requires":"0.0.1"}]}, {"projectUrl":"https://discord.gg/9fGzEDR","provider":"illumine","name":"iPower Skiller","description":"Illumine auto power skiller plugin","id":"ipowerskiller-plugin","releases":[{"date":"2020-12-22","sha512sum":"571249A7C925736169F3C4F103EBFF1107F1DA0019A929DE5745400AB94EA1C03481432194A03484AD58F3843A43503D2EAE4B612898ADCA9547958EEF30DBBD","version":"5.0.2","url":"https://github.com/illumineawake/illu-plugins/blob/master/release/ipowerskiller-5.0.2.jar?raw=true","requires":"0.0.1"}]}, {"projectUrl":"https://discord.gg/9fGzEDR","provider":"illumine","name":"iQuick Eater","description":"Illumine - auto eat food, consume potions and equip items","id":"iquickeater-plugin","releases":[{"date":"2020-12-22","sha512sum":"7318B0B355065F1E0B6AA6A4AD10231D3768DBDD814C86D60208567058B670211496EEA05B84FB40702F5972ED066EE23C7B3AEC034E6E321E5295B8E6381889","version":"4.3.3","url":"https://github.com/illumineawake/illu-plugins/blob/master/release/iquickeater-4.3.3.jar?raw=true","requires":"0.0.1"}]}, {"projectUrl":"https://discord.gg/9fGzEDR","provider":"illumine","name":"iRandom Handler","description":"illumine - Dismiss random events and handle genie","id":"irandomhandler-plugin","releases":[{"date":"2020-12-22","sha512sum":"01D23538ADDB3963D91A2B7769D311F910C6856E60EA68F9F32D1C7DB6C0C184115DF84797B22D06E578F217C63A55AA7C009622263775D087F13F34A4D6294F","version":"2.0.2","url":"https://github.com/illumineawake/illu-plugins/blob/master/release/irandomhandler-2.0.2.jar?raw=true","requires":"0.0.1"}]}, {"projectUrl":"https://discord.gg/9fGzEDR","provider":"illumine","name":"iRooftop Agility","description":"Illumine automated rooftop agility plugin","id":"irooftopagility-plugin","releases":[{"date":"2020-12-22","sha512sum":"9B38182671BA057CB8C4F65F3E8683B634EC95B18F6E2B0D5DB004C4B127D7B8486203084436DC955BAC3C513A7E59F5D90E903D876B7AAB59E7BF5AF83DE1D6","version":"5.0.5","url":"https://github.com/illumineawake/illu-plugins/blob/master/release/irooftopagility-5.0.5.jar?raw=true","requires":"0.0.1"}]}, {"projectUrl":"https://discord.gg/9fGzEDR","provider":"illumine","name":"iTaskTemplate","description":"Illumine - Task Template plugin","id":"itasktemplate-plugin","releases":[{"date":"2020-12-22","sha512sum":"9ED2B854D3CC59D253F59B776C9567AEB7CB66FA4A0BBB1547F94606EF8D09A1CDC70D7B6DF8C8EF55C0B3C8947AB04851DBCBAB7FE4D345EECBA08CACE9F63B","version":"1.0.2","url":"https://github.com/illumineawake/illu-plugins/blob/master/release/itasktemplate-1.0.2.jar?raw=true","requires":"0.0.1"}]}, {"projectUrl":"https://discord.gg/9fGzEDR","provider":"illumine","name":"iUtils","description":"Illumine - Utils required for plugins to function with added automation","id":"iutils-plugin","releases":[{"date":"2020-12-22","sha512sum":"7A1D92E2A79B6B82414E91F389797D01C12F2C951F64294A6DA2B2B20B45FCDE4BBCD169AE06CCA77C2CA7F0F3C7F4E5AA785EDDA85C203694D5B1F7DE554F6C","version":"2.3.6","url":"https://github.com/illumineawake/illu-plugins/blob/master/release/iutils-2.3.6.jar?raw=true","requires":"0.0.1"}]}, {"projectUrl":"https://discord.gg/9fGzEDR","provider":"illumine","name":"iWorld Walker Plugin","description":"Illumine - World Walker plugin","id":"iworldwalkerplugin-plugin","releases":[{"date":"2020-12-22","sha512sum":"8B93CB952652F8B296C715F370D0F5D26938E470C502373B7829AA171BEAB97D30803DD09E869BE50AB09BB1BDB40BFD838565BA07C55F5BDF39449945F9CE92","version":"2.5.1","url":"https://github.com/illumineawake/illu-plugins/blob/master/release/iworldwalker-2.5.1.jar?raw=true","requires":"0.0.1"}]}] +[{"projectUrl":"https://discord.gg/9fGzEDR","provider":"illumine","name":"BotUtils","description":"Illumine - Utils required for plugins to function with added automation","id":"botutils-plugin","releases":[{"date":"2021-03-02","sha512sum":"05FA48217C5CB19CD5C4D0DCA7A915EE88C78AC19419F5ED37B51832B5629DB1B82C46197836919F7E8F7B48F0D09AD7459194078575FDED85E098E9A7FDD398","version":"5.1.0","url":"https://github.com/illumineawake/illu-plugins/blob/master/release/botutils-5.1.0.jar?raw=true","requires":"^1.0.0"}]}, {"projectUrl":"https://discord.gg/9fGzEDR","provider":"illumine","name":"iBlackjack","description":"Illumine - Blackjack plugin","id":"iblackjack-plugin","releases":[{"date":"2021-03-02","sha512sum":"A17B366E286A045FF61032006ABC7F2444436E26CB80ADA076B464E0F61A861BD1EBECA1A7B62309C7E2AA34AA2366D72852FF64D2ADB3C5EC7D6AE394E65B07","version":"2.1.0","url":"https://github.com/illumineawake/illu-plugins/blob/master/release/iblackjack-2.1.0.jar?raw=true","requires":"^1.0.0"}]}, {"projectUrl":"https://discord.gg/9fGzEDR","provider":"illumine","name":"iCombination Runecrafter Plugin","description":"Illumine - Combination Runecrafting plugin","id":"icombinationrunecrafterplugin-plugin","releases":[{"date":"2021-03-02","sha512sum":"0A47363166C6AB4307F9085BAFC858039D2DD86E8B45C8A34154D172F9A122ABDAC9D83118A420AA78064745447F5F8D8175BAB612B1E356DDF600873EA442F2","version":"3.1.0","url":"https://github.com/illumineawake/illu-plugins/blob/master/release/icombinationrunecrafter-3.1.0.jar?raw=true","requires":"^1.0.0"}]}, {"projectUrl":"https://discord.gg/9fGzEDR","provider":"illumine","name":"iHerbCleaner","description":"Illumine - Herb Cleaner","id":"iherbcleaner-plugin","releases":[{"date":"2021-03-02","sha512sum":"72E542F2A2874DC4767B19450BA23BBFFC89003012F1CCB4C494082F9DFB4135B04B0AC0BF31BEA6329A7F01143A06A2DBFA9DEDD213DDAA3CF0C2EFCA94C026","version":"2.1.0","url":"https://github.com/illumineawake/illu-plugins/blob/master/release/iherbcleaner-2.1.0.jar?raw=true","requires":"^1.0.0"}]}, {"projectUrl":"https://discord.gg/9fGzEDR","provider":"illumine","name":"iMagic Caster","description":"Illumine automated magic caster","id":"imagiccaster-plugin","releases":[{"date":"2021-03-02","sha512sum":"88B2658A0E32788158A200FAEC1C7F76753640F7682D392CF0BCAC4A3C8C92118C310BFE3333FFFAE6B6399488F2B9022D2074D2E605D5282E880E1DB6F337D9","version":"4.1.0","url":"https://github.com/illumineawake/illu-plugins/blob/master/release/imagiccaster-4.1.0.jar?raw=true","requires":"^1.0.0"}]}, {"projectUrl":"https://discord.gg/9fGzEDR","provider":"illumine","name":"iMenu Debugger Plugin","description":"Illumine - Menu Debugger plugin","id":"imenudebuggerplugin-plugin","releases":[{"date":"2021-03-02","sha512sum":"20CAB365DB9776305655EC4226F397C50BB4C88FA857DCFB2E2468A6DE6DA3F0695259A532D58032B102BA198142FE13F216726D129FBFCF4080FCD2427A66C6","version":"2.1.0","url":"https://github.com/illumineawake/illu-plugins/blob/master/release/imenudebugger-2.1.0.jar?raw=true","requires":"^1.0.0"}]}, {"projectUrl":"https://discord.gg/9fGzEDR","provider":"illumine","name":"iPowerfighter Plugin","description":"Illumine - Powerfighter plugin","id":"ipowerfighterplugin-plugin","releases":[{"date":"2021-03-02","sha512sum":"F0F7BAC57E40A1746416FF78147CACC3D93120A3141CE1F7158C7E139DFDA0C8FC21E7922A8B996A33D9A0F5C67014EB0802B2CA7274882AC7216F79DAE38B7B","version":"4.1.0","url":"https://github.com/illumineawake/illu-plugins/blob/master/release/ipowerfighter-4.1.0.jar?raw=true","requires":"^1.0.0"}]}, {"projectUrl":"https://discord.gg/9fGzEDR","provider":"illumine","name":"iPower Skiller","description":"Illumine auto power skiller plugin","id":"ipowerskiller-plugin","releases":[{"date":"2021-03-02","sha512sum":"9FCAE0FB51B20F3A5C8B778C9FD5DCC530856B9651F9079794B1220840AC054BAA744CC488CE3ED8E79E07024343EA6E5C2D4A5EABADF1F32391C6E183860374","version":"6.1.0","url":"https://github.com/illumineawake/illu-plugins/blob/master/release/ipowerskiller-6.1.0.jar?raw=true","requires":"^1.0.0"}]}, {"projectUrl":"https://discord.gg/9fGzEDR","provider":"illumine","name":"iQuick Eater","description":"Illumine - auto eat food, consume potions and equip items","id":"iquickeater-plugin","releases":[{"date":"2021-03-02","sha512sum":"1446A75C34D7AC649E0D4C7FE37498B68615872411D3BD01B051F0E25AA999F96815B8D704E5899890ECADDDBFC5145C1FE351099F73CAF5B05F312F6F36BFFB","version":"5.1.0","url":"https://github.com/illumineawake/illu-plugins/blob/master/release/iquickeater-5.1.0.jar?raw=true","requires":"^1.0.0"}]}, {"projectUrl":"https://discord.gg/9fGzEDR","provider":"illumine","name":"iRandom Handler","description":"illumine - Dismiss random events and handle genie","id":"irandomhandler-plugin","releases":[{"date":"2021-03-02","sha512sum":"620F07BD484A09772A0FB3E74F8A8088430940B40B7C5E2517C136E47758648C1E8D553FD67DAC13FD5AD7D54E356A902CC35E2A94FA2BD7346E9181A9CA1AB8","version":"3.1.0","url":"https://github.com/illumineawake/illu-plugins/blob/master/release/irandomhandler-3.1.0.jar?raw=true","requires":"^1.0.0"}]}, {"projectUrl":"https://discord.gg/9fGzEDR","provider":"illumine","name":"iRooftop Agility","description":"Illumine automated rooftop agility plugin","id":"irooftopagility-plugin","releases":[{"date":"2021-03-02","sha512sum":"D35239423CB364FDA79AF639E6DF1C208448819BE7DA708A9BDCD6E6731874EC6E8D0C6402B8FC8680F2D313B508FAA813756C35CFB4CFFC5232B8905F2578F7","version":"6.1.0","url":"https://github.com/illumineawake/illu-plugins/blob/master/release/irooftopagility-6.1.0.jar?raw=true","requires":"^1.0.0"}]}, {"projectUrl":"https://discord.gg/9fGzEDR","provider":"illumine","name":"iTaskTemplate","description":"Illumine - Task Template plugin","id":"itasktemplate-plugin","releases":[{"date":"2021-03-02","sha512sum":"1C915FF1C242D228CD1878FF7E2B6568C4776618C41C70353999B0BC0B509A1F4A97639569DFE8B5D59D3FB18BA9762CFA464A731ED4890DCA0F1CBF1CDB5338","version":"2.1.0","url":"https://github.com/illumineawake/illu-plugins/blob/master/release/itasktemplate-2.1.0.jar?raw=true","requires":"^1.0.0"}]}, {"projectUrl":"https://discord.gg/9fGzEDR","provider":"illumine","name":"iUtils","description":"Illumine - Utils required for plugins to function with added automation","id":"iutils-plugin","releases":[{"date":"2021-03-02","sha512sum":"716BC2EDF5460DD2736FAA34020E770B3570657E276225CAB6F345006509D35CAAB94B15FB1B8BB43DD5FD953876D6709D468295548BB793E4FEF692DE698343","version":"3.1.0","url":"https://github.com/illumineawake/illu-plugins/blob/master/release/iutils-3.1.0.jar?raw=true","requires":"^1.0.0"}]}, {"projectUrl":"https://discord.gg/9fGzEDR","provider":"illumine","name":"iWorld Walker Plugin","description":"Illumine - World Walker plugin","id":"iworldwalkerplugin-plugin","releases":[{"date":"2021-03-02","sha512sum":"E8201F5CCB12606231D0A784D2D32E5DA76B1AEA1AE98A566CF8859B75286420E7B5CA372EAE4DC57BA85AACE941C1228E9E973E143A0466F245E218CE3F9D89","version":"3.1.0","url":"https://github.com/illumineawake/illu-plugins/blob/master/release/iworldwalker-3.1.0.jar?raw=true","requires":"^1.0.0"}]}] diff --git a/release/botutils-4.9.3.jar b/release/botutils-4.9.3.jar deleted file mode 100644 index 335e4084..00000000 Binary files a/release/botutils-4.9.3.jar and /dev/null differ diff --git a/release/botutils-5.1.0.jar b/release/botutils-5.1.0.jar new file mode 100644 index 00000000..e5b22af2 Binary files /dev/null and b/release/botutils-5.1.0.jar differ diff --git a/release/iblackjack-1.3.3.jar b/release/iblackjack-1.3.3.jar deleted file mode 100644 index 1b8f37a5..00000000 Binary files a/release/iblackjack-1.3.3.jar and /dev/null differ diff --git a/release/iblackjack-2.1.0.jar b/release/iblackjack-2.1.0.jar new file mode 100644 index 00000000..e8e1afb1 Binary files /dev/null and b/release/iblackjack-2.1.0.jar differ diff --git a/release/icombinationrunecrafter-2.0.5.jar b/release/icombinationrunecrafter-2.0.5.jar deleted file mode 100644 index b67a7052..00000000 Binary files a/release/icombinationrunecrafter-2.0.5.jar and /dev/null differ diff --git a/release/icombinationrunecrafter-3.1.0.jar b/release/icombinationrunecrafter-3.1.0.jar new file mode 100644 index 00000000..2c122412 Binary files /dev/null and b/release/icombinationrunecrafter-3.1.0.jar differ diff --git a/release/iherbcleaner-1.0.2.jar b/release/iherbcleaner-1.0.2.jar deleted file mode 100644 index a5f463c2..00000000 Binary files a/release/iherbcleaner-1.0.2.jar and /dev/null differ diff --git a/release/iherbcleaner-2.1.0.jar b/release/iherbcleaner-2.1.0.jar new file mode 100644 index 00000000..d495fcad Binary files /dev/null and b/release/iherbcleaner-2.1.0.jar differ diff --git a/release/imagiccaster-3.2.1.jar b/release/imagiccaster-3.2.1.jar deleted file mode 100644 index a0b5def0..00000000 Binary files a/release/imagiccaster-3.2.1.jar and /dev/null differ diff --git a/release/imagiccaster-4.1.0.jar b/release/imagiccaster-4.1.0.jar new file mode 100644 index 00000000..62fc6581 Binary files /dev/null and b/release/imagiccaster-4.1.0.jar differ diff --git a/release/imenudebugger-1.0.1.jar b/release/imenudebugger-1.0.1.jar deleted file mode 100644 index 29ebd723..00000000 Binary files a/release/imenudebugger-1.0.1.jar and /dev/null differ diff --git a/release/imenudebugger-2.1.0.jar b/release/imenudebugger-2.1.0.jar new file mode 100644 index 00000000..36c054cd Binary files /dev/null and b/release/imenudebugger-2.1.0.jar differ diff --git a/release/ipowerfighter-3.4.4.jar b/release/ipowerfighter-3.4.4.jar deleted file mode 100644 index ba27cb46..00000000 Binary files a/release/ipowerfighter-3.4.4.jar and /dev/null differ diff --git a/release/ipowerfighter-4.1.0.jar b/release/ipowerfighter-4.1.0.jar new file mode 100644 index 00000000..a5c5fc3c Binary files /dev/null and b/release/ipowerfighter-4.1.0.jar differ diff --git a/release/ipowerskiller-5.0.2.jar b/release/ipowerskiller-5.0.2.jar deleted file mode 100644 index df4a80a2..00000000 Binary files a/release/ipowerskiller-5.0.2.jar and /dev/null differ diff --git a/release/ipowerskiller-6.1.0.jar b/release/ipowerskiller-6.1.0.jar new file mode 100644 index 00000000..c1169611 Binary files /dev/null and b/release/ipowerskiller-6.1.0.jar differ diff --git a/release/iquickeater-4.3.3.jar b/release/iquickeater-4.3.3.jar deleted file mode 100644 index 03595be6..00000000 Binary files a/release/iquickeater-4.3.3.jar and /dev/null differ diff --git a/release/iquickeater-5.1.0.jar b/release/iquickeater-5.1.0.jar new file mode 100644 index 00000000..8600e006 Binary files /dev/null and b/release/iquickeater-5.1.0.jar differ diff --git a/release/irandomhandler-2.0.2.jar b/release/irandomhandler-2.0.2.jar deleted file mode 100644 index 3f5c6403..00000000 Binary files a/release/irandomhandler-2.0.2.jar and /dev/null differ diff --git a/release/irandomhandler-3.1.0.jar b/release/irandomhandler-3.1.0.jar new file mode 100644 index 00000000..a4194943 Binary files /dev/null and b/release/irandomhandler-3.1.0.jar differ diff --git a/release/irooftopagility-5.0.5.jar b/release/irooftopagility-5.0.5.jar deleted file mode 100644 index 98c5606b..00000000 Binary files a/release/irooftopagility-5.0.5.jar and /dev/null differ diff --git a/release/irooftopagility-6.1.0.jar b/release/irooftopagility-6.1.0.jar new file mode 100644 index 00000000..0daddbed Binary files /dev/null and b/release/irooftopagility-6.1.0.jar differ diff --git a/release/itasktemplate-1.0.2.jar b/release/itasktemplate-1.0.2.jar deleted file mode 100644 index f296dd4d..00000000 Binary files a/release/itasktemplate-1.0.2.jar and /dev/null differ diff --git a/release/itasktemplate-2.1.0.jar b/release/itasktemplate-2.1.0.jar new file mode 100644 index 00000000..64d1ec42 Binary files /dev/null and b/release/itasktemplate-2.1.0.jar differ diff --git a/release/iutils-2.3.6.jar b/release/iutils-3.1.0.jar similarity index 51% rename from release/iutils-2.3.6.jar rename to release/iutils-3.1.0.jar index c1f7b9d6..ed1147d2 100644 Binary files a/release/iutils-2.3.6.jar and b/release/iutils-3.1.0.jar differ diff --git a/release/iworldwalker-2.5.1.jar b/release/iworldwalker-3.1.0.jar similarity index 56% rename from release/iworldwalker-2.5.1.jar rename to release/iworldwalker-3.1.0.jar index 7db3726e..b96de1e9 100644 Binary files a/release/iworldwalker-2.5.1.jar and b/release/iworldwalker-3.1.0.jar differ