├── release ├── objecthider-0.0.4.jar ├── oneclickzmi-0.0.7.jar ├── oneclickzmi-2.1.1.jar ├── oneclickzmi-2.1.3.jar ├── oneclickzmi-2.1.4.jar ├── oneclickzmi-2.1.5.jar ├── oneclickzmi-2.1.6.jar ├── oneclickzmi-2.1.7.jar ├── oneclickzmi-2.2.0.jar ├── oneclickzmi-2.2.1.jar ├── oneclickzmi-2.2.2.jar ├── oneclickzmi-2.2.3.jar ├── oneclickzmi-2.2.4.jar ├── oneclickzmi-2.2.5.jar ├── oneclickzmi-2.2.6.jar ├── tabswitcher-0.0.2.jar ├── coxraidscouter-0.0.7.jar ├── coxraidscouter-2.1.1.jar ├── coxraidscouter-2.1.2.jar ├── coxraidscouter-3.0.0.jar ├── coxraidscouter-3.0.1.jar ├── coxraidscouter-3.0.2.jar ├── coxraidscouter-3.0.3.jar ├── coxraidscouter-3.0.5.jar ├── coxraidscouter-3.0.6.jar ├── oneclickbloods-3.0.0.jar ├── oneclickbloods-3.0.1.jar ├── oneclickchins-1.0.1.jar ├── oneclickcustom-0.1.0.jar ├── oneclickcustom-2.1.1.jar ├── oneclickcustom-2.2.1.jar ├── oneclickcustom-2.2.2.jar ├── oneclickcustom-2.2.3.jar ├── oneclickcustom-2.2.4.jar ├── oneclickcustom-2.2.5.jar ├── oneclickcustom-2.2.6.jar ├── oneclickcustom-2.2.7.jar ├── oneclickcustom-2.2.8.jar ├── oneclickcustom-2.2.9.jar ├── oneclickcustom-2.3.0.jar ├── oneclickcustom-2.3.1.jar ├── oneclickcustom-2.3.2.jar ├── oneclickfurnace-1.0.1.jar ├── oneclickfurnace-1.0.2.jar ├── oneclickfurnace-1.0.3.jar ├── oneclickfurnace-1.0.4.jar ├── oneclickminnows-1.0.1.jar ├── oneclickteaks-0.0.1.jar ├── oneclickteaks-1.0.1.jar ├── oneclickteaks-1.0.2.jar ├── oneclickteaks-1.0.3.jar ├── scheduledlogout-0.0.2.jar ├── scheduledlogout-0.1.0.jar ├── birdhouseinfobox-0.0.2.jar ├── oneclickamethyst-0.0.3.jar ├── oneclickamethyst-2.1.1.jar ├── oneclickamethyst-2.1.2.jar ├── oneclickamethyst-2.1.3.jar ├── oneclickamethyst-2.1.4.jar ├── oneclickamethyst-2.1.5.jar ├── oneclickamethyst-2.1.6.jar ├── oneclickamethyst-2.1.7.jar ├── oneclickamethyst-2.1.8.jar ├── oneclickamethyst-2.1.9.jar ├── oneclickcorpspec-1.0.0.jar ├── oneclickcorpspec-1.0.1.jar ├── oneclicksandstone-0.0.3.jar ├── oneclicksandstone-1.0.4.jar ├── oneclicksandstone-1.0.5.jar ├── oneclicksandstone-1.0.6.jar ├── oneclicksandstone-1.0.7.jar ├── oneclicktelegrab-0.0.2.jar ├── oneclicktelegrab-1.0.3.jar ├── oneclicktelegrab-1.0.5.jar ├── oneclickanglerfish-1.0.0.jar ├── oneclickanglerfish-1.0.1.jar ├── oneclickanglerfish-1.0.2.jar ├── oneclickblastfurnace-2.1.1.jar ├── oneclickblastfurnace-2.1.2.jar ├── oneclickblastfurnace-2.1.3.jar ├── oneclickblastfurnace-2.1.4.jar ├── oneclickblastfurnace-2.1.5.jar ├── oneclickblastfurnace-2.1.6.jar ├── oneclickblastfurnace-2.1.8.jar ├── oneclickblastfurnace-2.1.9.jar ├── oneclickblastfurnace-2.2.0.jar ├── oneclickglassblowing-0.0.2.jar ├── oneclickglassblowing-1.0.3.jar ├── oneclickglassblowing-2.0.0.jar ├── oneclickglassblowing-2.0.1.jar ├── oneclickglassblowing-2.0.2.jar ├── oneclickglassblowing-2.0.3.jar ├── oneclickglassblowing-2.0.4.jar ├── oneclickglassblowing-2.0.5.jar ├── oneclickglassblowing-2.0.6.jar ├── oneclickglassblowing-2.0.7.jar ├── oneclickglassblowing-2.0.8.jar ├── oneclickglassblowing-2.0.9.jar ├── oneclickglassblowing-2.1.0.jar ├── oneclickkarambwans-0.0.2.jar ├── oneclickkarambwans-0.0.3.jar ├── oneclickkarambwans-1.0.0.jar ├── oneclickkarambwans-1.0.2.jar ├── oneclickkarambwans-1.0.3.jar ├── oneclickkarambwans-1.0.5.jar ├── oneclickaerialfishing-0.0.1.jar ├── oneclickaerialfishing-1.0.1.jar ├── oneclickaerialfishing-1.0.2.jar ├── oneclickaerialfishing-1.0.3.jar ├── oneclickmortmyrefungus-1.0.0.jar ├── oneclickmortmyrefungus-1.0.1.jar ├── oneclickmortmyrefungus-1.0.2.jar ├── oneclickmortmyrefungus-1.0.4.jar ├── oneclickmortmyrefungus-1.0.5.jar ├── oneclickmortmyrefungus-1.0.6.jar ├── oneclickmortmyrefungus-1.0.7.jar ├── oneclickmortmyrefungus-1.0.8.jar ├── oneclickbloodsmorytania-1.0.0.jar ├── oneclickbloodsmorytania-1.0.1.jar ├── oneclickbloodsmorytania-1.0.2.jar ├── oneclickbloodsmorytania-1.0.3.jar ├── oneclickbloodsmorytania-1.0.4.jar ├── oneclickbloodsmorytania-1.0.5.jar ├── oneclickbloodsmorytania-1.0.6.jar ├── oneclickbloodsmorytania-1.0.7.jar ├── oneclickbloodsmorytania-1.0.8.jar ├── oneclickbloodsmorytania-1.0.9.jar ├── oneclickbloodsmorytania-1.1.0.jar ├── oneclickbloodsmorytania-1.1.1.jar ├── oneclickbloodsmorytania-1.1.10.jar ├── oneclickbloodsmorytania-1.1.2.jar ├── oneclickbloodsmorytania-1.1.3.jar ├── oneclickbloodsmorytania-1.1.4.jar ├── oneclickbloodsmorytania-1.1.5.jar ├── oneclickbloodsmorytania-1.1.6.jar ├── oneclickbloodsmorytania-1.1.7.jar ├── oneclickbloodsmorytania-1.1.8.jar └── oneclickbloodsmorytania-1.1.9.jar ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── oneclickbloodsmorytania ├── src │ └── main │ │ └── java │ │ └── net │ │ └── runelite │ │ └── client │ │ └── plugins │ │ └── oneclickbloodsmorytania │ │ ├── EssenceType.java │ │ └── OneClickBloodsMorytaniaConfig.java └── oneclickbloodsmorytania.gradle.kts ├── gradle.properties ├── oneclickamethyst ├── src │ └── main │ │ └── java │ │ └── net │ │ └── runelite │ │ └── client │ │ └── plugins │ │ └── oneclickamethyst │ │ ├── Product.java │ │ └── OneClickAmethystConfig.java └── oneclickamethyst.gradle.kts ├── oneclickzmi ├── src │ └── main │ │ └── java │ │ └── net │ │ └── runelite │ │ └── client │ │ └── plugins │ │ └── oneclickzmi │ │ ├── EssenceType.java │ │ └── oneClickZMIConfig.java └── oneclickzmi.gradle.kts ├── oneclickcustom ├── src │ └── main │ │ └── java │ │ └── net │ │ └── runelite │ │ └── client │ │ └── plugins │ │ └── oneclickcustom │ │ ├── oneClickCustomTypes.java │ │ ├── utils │ │ ├── Inventory.java │ │ └── GetObjects.java │ │ └── oneClickCustomConfig.java └── oneclickcustom.gradle.kts ├── API ├── Banking.java ├── Inventory.java └── Teleporting.java ├── .gitignore ├── oneclickteaks ├── src │ └── main │ │ └── java │ │ └── net │ │ └── runelite │ │ └── client │ │ └── plugins │ │ └── oneclickteaks │ │ ├── OneClickTeaksConfig.java │ │ └── OneClickTeaksPlugin.java └── oneclickteaks.gradle.kts ├── oneclickanglerfish ├── src │ └── main │ │ └── java │ │ └── net │ │ └── runelite │ │ └── client │ │ └── plugins │ │ └── oneclickanglerfish │ │ └── OneClickAnglerfishConfig.java └── oneclickanglerfish.gradle.kts ├── oneclickblastfurnace ├── src │ └── main │ │ └── java │ │ └── net │ │ └── runelite │ │ └── client │ │ └── plugins │ │ └── oneclickblastfurnace │ │ ├── OneClickBlastFurnaceConfig.java │ │ └── OneClickBlastFurnaceTypes.java └── oneclickblastfurnace.gradle.kts ├── oneclickchins ├── src │ └── main │ │ └── java │ │ └── net │ │ └── runelite │ │ └── client │ │ └── plugins │ │ └── oneclickchins │ │ ├── oneclickchinsconfig.java │ │ └── BoxTrap.java └── oneclickchins.gradle.kts ├── oneclickfurnace ├── src │ └── main │ │ └── java │ │ └── net │ │ └── runelite │ │ └── client │ │ └── plugins │ │ └── oneclickfurnace │ │ ├── OneClickFurnaceConfig.java │ │ └── CraftingMethods.java └── oneclickfurnace.gradle.kts ├── scheduledlogout ├── src │ └── main │ │ └── java │ │ └── net │ │ └── runelite │ │ └── client │ │ └── plugins │ │ └── scheduledlogout │ │ ├── ScheduledLogoutConfig.java │ │ ├── ScheduledLogoutOverlay.java │ │ └── ScheduledLogoutPlugin.java └── scheduledlogout.gradle.kts ├── oneclicktelegrab ├── src │ └── main │ │ └── java │ │ └── net │ │ └── runelite │ │ └── client │ │ └── plugins │ │ └── oneclicktelegrab │ │ ├── OneClickTelegrabConfig.java │ │ └── OneClickTelegrabPlugin.java └── oneclicktelegrab.gradle.kts ├── birdhouseinfobox ├── src │ └── main │ │ └── java │ │ └── net │ │ └── runelite │ │ └── client │ │ └── plugins │ │ └── birdhouseinfobox │ │ ├── birdhouseinfobox.java │ │ └── birdhouseplugin.java └── birdhouseinfobox.gradle.kts ├── oneclicksandstone ├── src │ └── main │ │ └── java │ │ └── net │ │ └── runelite │ │ └── client │ │ └── plugins │ │ └── oneclicksandstone │ │ ├── OneClickSandstoneConfig.java │ │ └── OneClickSandstonePlugin.java └── oneclicksandstone.gradle.kts ├── oneclickbloods ├── src │ └── main │ │ └── java │ │ └── net │ │ └── runelite │ │ └── client │ │ └── plugins │ │ └── oneclickbloods │ │ └── OneClickBloodsConfig.java └── oneclickbloods.gradle.kts ├── oneclickglassblowing ├── src │ └── main │ │ └── java │ │ └── net │ │ └── runelite │ │ └── client │ │ └── plugins │ │ └── oneclickglassblowing │ │ ├── Types.java │ │ └── OneClickGlassblowingConfig.java └── oneclickglassblowing.gradle.kts ├── oneclickcorpspec ├── src │ └── main │ │ └── java │ │ └── net │ │ └── runelite │ │ └── client │ │ └── plugins │ │ └── oneclickcorpspec │ │ └── OneClickCorpSpecConfig.java └── oneclickcorpspec.gradle.kts ├── oneclickkarambwans ├── src │ └── main │ │ └── java │ │ └── net │ │ └── runelite │ │ └── client │ │ └── plugins │ │ └── oneclickkarambwans │ │ └── oneClickKarambwansConfig.java └── oneclickkarambwans.gradle.kts ├── tabswitcher ├── src │ └── main │ │ └── java │ │ └── net │ │ └── runelite │ │ └── client │ │ └── plugins │ │ └── tabswitcher │ │ ├── TabSwitcherConfig.java │ │ └── TabSwitcherPlugin.java └── tabswitcher.gradle.kts ├── settings.gradle.kts ├── oneclickminnows ├── oneclickminnows.gradle.kts └── src │ └── main │ └── java │ └── net │ └── runelite │ └── client │ └── plugins │ └── oneclickminnows │ └── OneClickMinnowsPlugin.java ├── objecthider ├── objecthider.gradle.kts └── src │ └── main │ └── java │ └── net │ └── runelite │ └── client │ └── plugins │ └── objecthider │ └── ObjectHiderConfig.java ├── coxraidscouter ├── coxraidscouter.gradle.kts └── src │ └── main │ └── java │ └── net │ └── runelite │ └── client │ └── plugins │ └── coxraidscouter │ └── coxraidscouterconfig.java ├── oneclickaerialfishing ├── oneclickaerialfishing.gradle.kts └── src │ └── main │ └── java │ └── net │ └── runelite │ └── client │ └── plugins │ └── oneclickaerialfishing │ └── OneClickAerialFishingPlugin.java ├── oneclickmortmyrefungus └── oneclickmortmyrefungus.gradle.kts ├── gradlew.bat └── gradlew /release/objecthider-0.0.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/objecthider-0.0.4.jar -------------------------------------------------------------------------------- /release/oneclickzmi-0.0.7.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickzmi-0.0.7.jar -------------------------------------------------------------------------------- /release/oneclickzmi-2.1.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickzmi-2.1.1.jar -------------------------------------------------------------------------------- /release/oneclickzmi-2.1.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickzmi-2.1.3.jar -------------------------------------------------------------------------------- /release/oneclickzmi-2.1.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickzmi-2.1.4.jar -------------------------------------------------------------------------------- /release/oneclickzmi-2.1.5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickzmi-2.1.5.jar -------------------------------------------------------------------------------- /release/oneclickzmi-2.1.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickzmi-2.1.6.jar -------------------------------------------------------------------------------- /release/oneclickzmi-2.1.7.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickzmi-2.1.7.jar -------------------------------------------------------------------------------- /release/oneclickzmi-2.2.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickzmi-2.2.0.jar -------------------------------------------------------------------------------- /release/oneclickzmi-2.2.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickzmi-2.2.1.jar -------------------------------------------------------------------------------- /release/oneclickzmi-2.2.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickzmi-2.2.2.jar -------------------------------------------------------------------------------- /release/oneclickzmi-2.2.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickzmi-2.2.3.jar -------------------------------------------------------------------------------- /release/oneclickzmi-2.2.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickzmi-2.2.4.jar -------------------------------------------------------------------------------- /release/oneclickzmi-2.2.5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickzmi-2.2.5.jar -------------------------------------------------------------------------------- /release/oneclickzmi-2.2.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickzmi-2.2.6.jar -------------------------------------------------------------------------------- /release/tabswitcher-0.0.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/tabswitcher-0.0.2.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /release/coxraidscouter-0.0.7.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/coxraidscouter-0.0.7.jar -------------------------------------------------------------------------------- /release/coxraidscouter-2.1.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/coxraidscouter-2.1.1.jar -------------------------------------------------------------------------------- /release/coxraidscouter-2.1.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/coxraidscouter-2.1.2.jar -------------------------------------------------------------------------------- /release/coxraidscouter-3.0.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/coxraidscouter-3.0.0.jar -------------------------------------------------------------------------------- /release/coxraidscouter-3.0.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/coxraidscouter-3.0.1.jar -------------------------------------------------------------------------------- /release/coxraidscouter-3.0.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/coxraidscouter-3.0.2.jar -------------------------------------------------------------------------------- /release/coxraidscouter-3.0.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/coxraidscouter-3.0.3.jar -------------------------------------------------------------------------------- /release/coxraidscouter-3.0.5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/coxraidscouter-3.0.5.jar -------------------------------------------------------------------------------- /release/coxraidscouter-3.0.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/coxraidscouter-3.0.6.jar -------------------------------------------------------------------------------- /release/oneclickbloods-3.0.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickbloods-3.0.0.jar -------------------------------------------------------------------------------- /release/oneclickbloods-3.0.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickbloods-3.0.1.jar -------------------------------------------------------------------------------- /release/oneclickchins-1.0.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickchins-1.0.1.jar -------------------------------------------------------------------------------- /release/oneclickcustom-0.1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickcustom-0.1.0.jar -------------------------------------------------------------------------------- /release/oneclickcustom-2.1.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickcustom-2.1.1.jar -------------------------------------------------------------------------------- /release/oneclickcustom-2.2.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickcustom-2.2.1.jar -------------------------------------------------------------------------------- /release/oneclickcustom-2.2.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickcustom-2.2.2.jar -------------------------------------------------------------------------------- /release/oneclickcustom-2.2.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickcustom-2.2.3.jar -------------------------------------------------------------------------------- /release/oneclickcustom-2.2.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickcustom-2.2.4.jar -------------------------------------------------------------------------------- /release/oneclickcustom-2.2.5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickcustom-2.2.5.jar -------------------------------------------------------------------------------- /release/oneclickcustom-2.2.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickcustom-2.2.6.jar -------------------------------------------------------------------------------- /release/oneclickcustom-2.2.7.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickcustom-2.2.7.jar -------------------------------------------------------------------------------- /release/oneclickcustom-2.2.8.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickcustom-2.2.8.jar -------------------------------------------------------------------------------- /release/oneclickcustom-2.2.9.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickcustom-2.2.9.jar -------------------------------------------------------------------------------- /release/oneclickcustom-2.3.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickcustom-2.3.0.jar -------------------------------------------------------------------------------- /release/oneclickcustom-2.3.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickcustom-2.3.1.jar -------------------------------------------------------------------------------- /release/oneclickcustom-2.3.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickcustom-2.3.2.jar -------------------------------------------------------------------------------- /release/oneclickfurnace-1.0.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickfurnace-1.0.1.jar -------------------------------------------------------------------------------- /release/oneclickfurnace-1.0.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickfurnace-1.0.2.jar -------------------------------------------------------------------------------- /release/oneclickfurnace-1.0.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickfurnace-1.0.3.jar -------------------------------------------------------------------------------- /release/oneclickfurnace-1.0.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickfurnace-1.0.4.jar -------------------------------------------------------------------------------- /release/oneclickminnows-1.0.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickminnows-1.0.1.jar -------------------------------------------------------------------------------- /release/oneclickteaks-0.0.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickteaks-0.0.1.jar -------------------------------------------------------------------------------- /release/oneclickteaks-1.0.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickteaks-1.0.1.jar -------------------------------------------------------------------------------- /release/oneclickteaks-1.0.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickteaks-1.0.2.jar -------------------------------------------------------------------------------- /release/oneclickteaks-1.0.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickteaks-1.0.3.jar -------------------------------------------------------------------------------- /release/scheduledlogout-0.0.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/scheduledlogout-0.0.2.jar -------------------------------------------------------------------------------- /release/scheduledlogout-0.1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/scheduledlogout-0.1.0.jar -------------------------------------------------------------------------------- /release/birdhouseinfobox-0.0.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/birdhouseinfobox-0.0.2.jar -------------------------------------------------------------------------------- /release/oneclickamethyst-0.0.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickamethyst-0.0.3.jar -------------------------------------------------------------------------------- /release/oneclickamethyst-2.1.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickamethyst-2.1.1.jar -------------------------------------------------------------------------------- /release/oneclickamethyst-2.1.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickamethyst-2.1.2.jar -------------------------------------------------------------------------------- /release/oneclickamethyst-2.1.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickamethyst-2.1.3.jar -------------------------------------------------------------------------------- /release/oneclickamethyst-2.1.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickamethyst-2.1.4.jar -------------------------------------------------------------------------------- /release/oneclickamethyst-2.1.5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickamethyst-2.1.5.jar -------------------------------------------------------------------------------- /release/oneclickamethyst-2.1.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickamethyst-2.1.6.jar -------------------------------------------------------------------------------- /release/oneclickamethyst-2.1.7.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickamethyst-2.1.7.jar -------------------------------------------------------------------------------- /release/oneclickamethyst-2.1.8.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickamethyst-2.1.8.jar -------------------------------------------------------------------------------- /release/oneclickamethyst-2.1.9.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickamethyst-2.1.9.jar -------------------------------------------------------------------------------- /release/oneclickcorpspec-1.0.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickcorpspec-1.0.0.jar -------------------------------------------------------------------------------- /release/oneclickcorpspec-1.0.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickcorpspec-1.0.1.jar -------------------------------------------------------------------------------- /release/oneclicksandstone-0.0.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclicksandstone-0.0.3.jar -------------------------------------------------------------------------------- /release/oneclicksandstone-1.0.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclicksandstone-1.0.4.jar -------------------------------------------------------------------------------- /release/oneclicksandstone-1.0.5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclicksandstone-1.0.5.jar -------------------------------------------------------------------------------- /release/oneclicksandstone-1.0.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclicksandstone-1.0.6.jar -------------------------------------------------------------------------------- /release/oneclicksandstone-1.0.7.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclicksandstone-1.0.7.jar -------------------------------------------------------------------------------- /release/oneclicktelegrab-0.0.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclicktelegrab-0.0.2.jar -------------------------------------------------------------------------------- /release/oneclicktelegrab-1.0.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclicktelegrab-1.0.3.jar -------------------------------------------------------------------------------- /release/oneclicktelegrab-1.0.5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclicktelegrab-1.0.5.jar -------------------------------------------------------------------------------- /release/oneclickanglerfish-1.0.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickanglerfish-1.0.0.jar -------------------------------------------------------------------------------- /release/oneclickanglerfish-1.0.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickanglerfish-1.0.1.jar -------------------------------------------------------------------------------- /release/oneclickanglerfish-1.0.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickanglerfish-1.0.2.jar -------------------------------------------------------------------------------- /release/oneclickblastfurnace-2.1.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickblastfurnace-2.1.1.jar -------------------------------------------------------------------------------- /release/oneclickblastfurnace-2.1.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickblastfurnace-2.1.2.jar -------------------------------------------------------------------------------- /release/oneclickblastfurnace-2.1.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickblastfurnace-2.1.3.jar -------------------------------------------------------------------------------- /release/oneclickblastfurnace-2.1.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickblastfurnace-2.1.4.jar -------------------------------------------------------------------------------- /release/oneclickblastfurnace-2.1.5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickblastfurnace-2.1.5.jar -------------------------------------------------------------------------------- /release/oneclickblastfurnace-2.1.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickblastfurnace-2.1.6.jar -------------------------------------------------------------------------------- /release/oneclickblastfurnace-2.1.8.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickblastfurnace-2.1.8.jar -------------------------------------------------------------------------------- /release/oneclickblastfurnace-2.1.9.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickblastfurnace-2.1.9.jar -------------------------------------------------------------------------------- /release/oneclickblastfurnace-2.2.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickblastfurnace-2.2.0.jar -------------------------------------------------------------------------------- /release/oneclickglassblowing-0.0.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickglassblowing-0.0.2.jar -------------------------------------------------------------------------------- /release/oneclickglassblowing-1.0.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickglassblowing-1.0.3.jar -------------------------------------------------------------------------------- /release/oneclickglassblowing-2.0.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickglassblowing-2.0.0.jar -------------------------------------------------------------------------------- /release/oneclickglassblowing-2.0.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickglassblowing-2.0.1.jar -------------------------------------------------------------------------------- /release/oneclickglassblowing-2.0.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickglassblowing-2.0.2.jar -------------------------------------------------------------------------------- /release/oneclickglassblowing-2.0.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickglassblowing-2.0.3.jar -------------------------------------------------------------------------------- /release/oneclickglassblowing-2.0.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickglassblowing-2.0.4.jar -------------------------------------------------------------------------------- /release/oneclickglassblowing-2.0.5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickglassblowing-2.0.5.jar -------------------------------------------------------------------------------- /release/oneclickglassblowing-2.0.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickglassblowing-2.0.6.jar -------------------------------------------------------------------------------- /release/oneclickglassblowing-2.0.7.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickglassblowing-2.0.7.jar -------------------------------------------------------------------------------- /release/oneclickglassblowing-2.0.8.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickglassblowing-2.0.8.jar -------------------------------------------------------------------------------- /release/oneclickglassblowing-2.0.9.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickglassblowing-2.0.9.jar -------------------------------------------------------------------------------- /release/oneclickglassblowing-2.1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickglassblowing-2.1.0.jar -------------------------------------------------------------------------------- /release/oneclickkarambwans-0.0.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickkarambwans-0.0.2.jar -------------------------------------------------------------------------------- /release/oneclickkarambwans-0.0.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickkarambwans-0.0.3.jar -------------------------------------------------------------------------------- /release/oneclickkarambwans-1.0.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickkarambwans-1.0.0.jar -------------------------------------------------------------------------------- /release/oneclickkarambwans-1.0.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickkarambwans-1.0.2.jar -------------------------------------------------------------------------------- /release/oneclickkarambwans-1.0.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickkarambwans-1.0.3.jar -------------------------------------------------------------------------------- /release/oneclickkarambwans-1.0.5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickkarambwans-1.0.5.jar -------------------------------------------------------------------------------- /release/oneclickaerialfishing-0.0.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickaerialfishing-0.0.1.jar -------------------------------------------------------------------------------- /release/oneclickaerialfishing-1.0.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickaerialfishing-1.0.1.jar -------------------------------------------------------------------------------- /release/oneclickaerialfishing-1.0.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickaerialfishing-1.0.2.jar -------------------------------------------------------------------------------- /release/oneclickaerialfishing-1.0.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickaerialfishing-1.0.3.jar -------------------------------------------------------------------------------- /release/oneclickmortmyrefungus-1.0.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickmortmyrefungus-1.0.0.jar -------------------------------------------------------------------------------- /release/oneclickmortmyrefungus-1.0.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickmortmyrefungus-1.0.1.jar -------------------------------------------------------------------------------- /release/oneclickmortmyrefungus-1.0.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickmortmyrefungus-1.0.2.jar -------------------------------------------------------------------------------- /release/oneclickmortmyrefungus-1.0.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickmortmyrefungus-1.0.4.jar -------------------------------------------------------------------------------- /release/oneclickmortmyrefungus-1.0.5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickmortmyrefungus-1.0.5.jar -------------------------------------------------------------------------------- /release/oneclickmortmyrefungus-1.0.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickmortmyrefungus-1.0.6.jar -------------------------------------------------------------------------------- /release/oneclickmortmyrefungus-1.0.7.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickmortmyrefungus-1.0.7.jar -------------------------------------------------------------------------------- /release/oneclickmortmyrefungus-1.0.8.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickmortmyrefungus-1.0.8.jar -------------------------------------------------------------------------------- /release/oneclickbloodsmorytania-1.0.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickbloodsmorytania-1.0.0.jar -------------------------------------------------------------------------------- /release/oneclickbloodsmorytania-1.0.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickbloodsmorytania-1.0.1.jar -------------------------------------------------------------------------------- /release/oneclickbloodsmorytania-1.0.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickbloodsmorytania-1.0.2.jar -------------------------------------------------------------------------------- /release/oneclickbloodsmorytania-1.0.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickbloodsmorytania-1.0.3.jar -------------------------------------------------------------------------------- /release/oneclickbloodsmorytania-1.0.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickbloodsmorytania-1.0.4.jar -------------------------------------------------------------------------------- /release/oneclickbloodsmorytania-1.0.5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickbloodsmorytania-1.0.5.jar -------------------------------------------------------------------------------- /release/oneclickbloodsmorytania-1.0.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickbloodsmorytania-1.0.6.jar -------------------------------------------------------------------------------- /release/oneclickbloodsmorytania-1.0.7.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickbloodsmorytania-1.0.7.jar -------------------------------------------------------------------------------- /release/oneclickbloodsmorytania-1.0.8.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickbloodsmorytania-1.0.8.jar -------------------------------------------------------------------------------- /release/oneclickbloodsmorytania-1.0.9.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickbloodsmorytania-1.0.9.jar -------------------------------------------------------------------------------- /release/oneclickbloodsmorytania-1.1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickbloodsmorytania-1.1.0.jar -------------------------------------------------------------------------------- /release/oneclickbloodsmorytania-1.1.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickbloodsmorytania-1.1.1.jar -------------------------------------------------------------------------------- /release/oneclickbloodsmorytania-1.1.10.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickbloodsmorytania-1.1.10.jar -------------------------------------------------------------------------------- /release/oneclickbloodsmorytania-1.1.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickbloodsmorytania-1.1.2.jar -------------------------------------------------------------------------------- /release/oneclickbloodsmorytania-1.1.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickbloodsmorytania-1.1.3.jar -------------------------------------------------------------------------------- /release/oneclickbloodsmorytania-1.1.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickbloodsmorytania-1.1.4.jar -------------------------------------------------------------------------------- /release/oneclickbloodsmorytania-1.1.5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickbloodsmorytania-1.1.5.jar -------------------------------------------------------------------------------- /release/oneclickbloodsmorytania-1.1.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickbloodsmorytania-1.1.6.jar -------------------------------------------------------------------------------- /release/oneclickbloodsmorytania-1.1.7.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickbloodsmorytania-1.1.7.jar -------------------------------------------------------------------------------- /release/oneclickbloodsmorytania-1.1.8.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickbloodsmorytania-1.1.8.jar -------------------------------------------------------------------------------- /release/oneclickbloodsmorytania-1.1.9.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Magnusrn/Plugins/HEAD/release/oneclickbloodsmorytania-1.1.9.jar -------------------------------------------------------------------------------- /oneclickbloodsmorytania/src/main/java/net/runelite/client/plugins/oneclickbloodsmorytania/EssenceType.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.oneclickbloodsmorytania; 2 | 3 | public enum EssenceType { 4 | PURE_ESSENCE, 5 | DAEYALT_ESSENCE 6 | } 7 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.caching=false 2 | org.gradle.warning.mode=all 3 | org.gradle.parallel=true 4 | org.gradle.console=rich 5 | org.gradle.configureondemand=true 6 | org.gradle.jvmargs=-XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 7 | kapt.incremental.apt=false 8 | -------------------------------------------------------------------------------- /oneclickamethyst/src/main/java/net/runelite/client/plugins/oneclickamethyst/Product.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.oneclickamethyst; 2 | 3 | import lombok.AccessLevel; 4 | import lombok.Getter; 5 | import lombok.RequiredArgsConstructor; 6 | 7 | @Getter(AccessLevel.PUBLIC) 8 | @RequiredArgsConstructor 9 | public enum Product { 10 | BOLTS, 11 | ARROWTIPS, 12 | JAVELIN, 13 | DARTS 14 | } -------------------------------------------------------------------------------- /oneclickzmi/src/main/java/net/runelite/client/plugins/oneclickzmi/EssenceType.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.oneclickzmi; 2 | 3 | public enum EssenceType { 4 | Daeyalt(24704), 5 | Pure_Essence(7936); 6 | 7 | private final int ID; 8 | 9 | EssenceType(int ID) { 10 | this.ID = ID; 11 | } 12 | 13 | public int getID() { 14 | return this.ID; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /oneclickcustom/src/main/java/net/runelite/client/plugins/oneclickcustom/oneClickCustomTypes.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.oneclickcustom; 2 | 3 | public class oneClickCustomTypes { 4 | public enum methods 5 | { 6 | Gather, 7 | Fish, 8 | Attack, 9 | Pickpocket, 10 | Pick_Up, 11 | Use_Item_On_X 12 | } 13 | public enum bankTypes { 14 | NPC, 15 | Booth, 16 | Chest 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /API/Banking.java: -------------------------------------------------------------------------------- 1 | public class Banking { 2 | private int getBankIndex(int ID){ 3 | WidgetItem bankItem = new BankItemQuery() 4 | .idEquals(ID) 5 | .result(client) 6 | .first(); 7 | if (bankItem != null) { 8 | return bankItem.getWidget().getIndex(); 9 | } 10 | return -1; 11 | } 12 | 13 | private boolean bankOpen() { 14 | return client.getItemContainer(InventoryID.BANK) != null; 15 | } 16 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | nbactions.xml 3 | nb-configuration.xml 4 | /nbproject/ 5 | project.properties 6 | *.iml 7 | .idea/ 8 | .project 9 | .settings/ 10 | .classpath 11 | runelite-client/src/main/resources/META-INF/MANIFEST.MF 12 | git 13 | classes/artifacts/client_jar/run.bat 14 | classes/artifacts/client_jar/client.jar 15 | !gradle-wrapper.jar 16 | .live/ 17 | **/build/* 18 | */out/ 19 | .gradle/ 20 | runelite-client/src/main/resources/runelite/* 21 | runelite-client/dependencies.txt 22 | .staging/ 23 | hs_err* 24 | replay_pid* -------------------------------------------------------------------------------- /oneclickteaks/src/main/java/net/runelite/client/plugins/oneclickteaks/OneClickTeaksConfig.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.oneclickteaks; 2 | 3 | import net.runelite.client.config.Config; 4 | import net.runelite.client.config.ConfigGroup; 5 | import net.runelite.client.config.ConfigItem; 6 | 7 | @ConfigGroup("oneclickteaks") 8 | public interface OneClickTeaksConfig extends Config { 9 | @ConfigItem( 10 | position = 0, 11 | keyName = "consumeClicks", 12 | name = "Consume Clicks", 13 | description = "Consumes click if player is not idle" 14 | ) 15 | default boolean consumeClicks() { 16 | return true; 17 | } 18 | } -------------------------------------------------------------------------------- /oneclickanglerfish/src/main/java/net/runelite/client/plugins/oneclickanglerfish/OneClickAnglerfishConfig.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.oneclickanglerfish; 2 | 3 | import net.runelite.client.config.Config; 4 | import net.runelite.client.config.ConfigGroup; 5 | import net.runelite.client.config.ConfigItem; 6 | 7 | @ConfigGroup("oneclickanglerfish") 8 | public interface OneClickAnglerfishConfig extends Config { 9 | @ConfigItem( 10 | position = 1, 11 | keyName = "consumeClicks", 12 | name = "Consume Clicks", 13 | description = "Consume Clicks while moving" 14 | ) 15 | default boolean consumeClicks() { 16 | return true; 17 | } 18 | } -------------------------------------------------------------------------------- /oneclickblastfurnace/src/main/java/net/runelite/client/plugins/oneclickblastfurnace/OneClickBlastFurnaceConfig.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.oneclickblastfurnace; 2 | 3 | import net.runelite.client.config.Config; 4 | import net.runelite.client.config.ConfigGroup; 5 | import net.runelite.client.config.ConfigItem; 6 | 7 | @ConfigGroup("oneclickblastfurnace") 8 | public interface OneClickBlastFurnaceConfig extends Config { 9 | 10 | @ConfigItem( 11 | keyName = "bartype", 12 | name = "Bar Type", 13 | description = "Choose which bar to smelt", 14 | position = 0 15 | ) 16 | default OneClickBlastFurnaceTypes barType() { 17 | return OneClickBlastFurnaceTypes.STEEL; 18 | } 19 | } -------------------------------------------------------------------------------- /oneclickchins/src/main/java/net/runelite/client/plugins/oneclickchins/oneclickchinsconfig.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.oneclickchins; 2 | 3 | import net.runelite.client.config.Config; 4 | import net.runelite.client.config.ConfigGroup; 5 | import net.runelite.client.config.ConfigItem; 6 | 7 | @ConfigGroup("oneclickchins") 8 | public interface oneclickchinsconfig extends Config 9 | { 10 | @ConfigItem( 11 | keyName = "playerspotted", 12 | name = "AFK if player visible", 13 | description = "Consumes all clicks if another player is spotted. Idk if this is even needed. This may cause problems if people are doing agility course. needs to be tested", 14 | position = 0 15 | ) 16 | default boolean playerspotted() 17 | { 18 | return false; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /oneclickfurnace/src/main/java/net/runelite/client/plugins/oneclickfurnace/OneClickFurnaceConfig.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.oneclickfurnace; 2 | 3 | import net.runelite.client.config.Config; 4 | import net.runelite.client.config.ConfigGroup; 5 | import net.runelite.client.config.ConfigItem; 6 | 7 | @ConfigGroup("oneclickfurnace") 8 | public interface OneClickFurnaceConfig extends Config { 9 | 10 | @ConfigItem( 11 | position = 0, 12 | keyName = "method", 13 | name = "Crafting Method", 14 | description = "Choose what you want to craft" 15 | ) 16 | default CraftingMethods method() { 17 | return CraftingMethods.CannonBalls; 18 | } 19 | 20 | @ConfigItem( 21 | position = 1, 22 | keyName = "consumeClicks", 23 | name = "Consume Clicks", 24 | description = "Consume clicks while moving/crafting" 25 | ) 26 | default boolean consumeClicks() { 27 | return true; 28 | } 29 | } -------------------------------------------------------------------------------- /oneclickblastfurnace/src/main/java/net/runelite/client/plugins/oneclickblastfurnace/OneClickBlastFurnaceTypes.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.oneclickblastfurnace; 2 | 3 | import lombok.Getter; 4 | import net.runelite.api.ItemID; 5 | import net.runelite.api.Varbits; 6 | 7 | @Getter 8 | public enum OneClickBlastFurnaceTypes { 9 | IRON(0, ItemID.IRON_ORE,ItemID.IRON_BAR), 10 | STEEL(1,ItemID.IRON_ORE,ItemID.STEEL_BAR), 11 | SILVER(0,ItemID.SILVER_ORE,ItemID.SILVER_BAR), 12 | GOLD(0,ItemID.GOLD_ORE,ItemID.GOLD_BAR), 13 | MITHRIL(2,ItemID.MITHRIL_ORE,ItemID.MITHRIL_BAR), 14 | ADAMANTITE(3,ItemID.ADAMANTITE_ORE,ItemID.ADAMANTITE_BAR), 15 | RUNITE(4,ItemID.RUNITE_ORE,ItemID.RUNITE_BAR); 16 | 17 | 18 | private final int coal; 19 | private final int oreID; 20 | private final int barID; 21 | 22 | 23 | OneClickBlastFurnaceTypes(int coal,int oreID,int barID) { 24 | this.coal = coal; 25 | this.oreID = oreID; 26 | this.barID = barID; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /scheduledlogout/src/main/java/net/runelite/client/plugins/scheduledlogout/ScheduledLogoutConfig.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.scheduledlogout; 2 | 3 | import net.runelite.client.config.Config; 4 | import net.runelite.client.config.ConfigGroup; 5 | import net.runelite.client.config.ConfigItem; 6 | import net.runelite.client.config.Keybind; 7 | 8 | @ConfigGroup("scheduledlogout") 9 | public interface ScheduledLogoutConfig extends Config { 10 | @ConfigItem( 11 | position = 0, 12 | keyName = "minutestologout", 13 | name = "Minutes Until Logout", 14 | description = "Automatically logout after desired minutes" 15 | ) 16 | default int minutesToLogout() 17 | { 18 | return 60; 19 | } 20 | 21 | @ConfigItem( 22 | position = 1, 23 | keyName = "overlay", 24 | name = "Overlay", 25 | description = "" 26 | ) 27 | default boolean overlay() 28 | { 29 | return true; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /oneclicktelegrab/src/main/java/net/runelite/client/plugins/oneclicktelegrab/OneClickTelegrabConfig.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.oneclicktelegrab; 2 | 3 | import net.runelite.client.config.Config; 4 | import net.runelite.client.config.ConfigGroup; 5 | import net.runelite.client.config.ConfigItem; 6 | 7 | @ConfigGroup("oneclicktelegrab") 8 | public interface OneClickTelegrabConfig extends Config { 9 | 10 | @ConfigItem( 11 | position = 0, 12 | keyName = "TrueOneClick", 13 | name = "Click anywhere on screen", 14 | description = "If this is active you can click anywhere to telegrab, else click on the wine" 15 | ) 16 | default boolean TrueOneClick() { 17 | return false; 18 | } 19 | 20 | @ConfigItem( 21 | position = 1, 22 | keyName = "ConsumeClicks", 23 | name = "Consume clicks", 24 | description = "Consume clicks if Wine of zamorak not visible" 25 | ) 26 | default boolean ConsumeClicks() { 27 | return false; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /birdhouseinfobox/src/main/java/net/runelite/client/plugins/birdhouseinfobox/birdhouseinfobox.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.birdhouseinfobox; 2 | 3 | import java.awt.Color; 4 | import java.awt.image.BufferedImage; 5 | 6 | import lombok.Getter; 7 | import net.runelite.client.plugins.cannon.CannonPlugin; 8 | import net.runelite.client.ui.overlay.infobox.InfoBox; 9 | import net.runelite.client.ui.overlay.infobox.InfoBoxPriority; 10 | 11 | @Getter 12 | class birdhouseinfobox extends InfoBox 13 | { 14 | 15 | private final birdhouseplugin plugin; 16 | 17 | birdhouseinfobox(BufferedImage image, birdhouseplugin plugin) 18 | { 19 | super(image, plugin); 20 | this.plugin = plugin; 21 | } 22 | 23 | public String getText() { 24 | return String.valueOf(birdhouseplugin.timeRemaining / 100); 25 | } 26 | 27 | public Color getTextColor() { 28 | return Color.WHITE; 29 | } 30 | 31 | public String getTooltip() { 32 | return "Time remaining: " + birdhouseplugin.timeRemaining / 100 + " minutes."; 33 | } 34 | } -------------------------------------------------------------------------------- /oneclicksandstone/src/main/java/net/runelite/client/plugins/oneclicksandstone/OneClickSandstoneConfig.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.oneclicksandstone; 2 | 3 | import net.runelite.client.config.Config; 4 | import net.runelite.client.config.Config; 5 | import net.runelite.client.config.ConfigGroup; 6 | import net.runelite.client.config.ConfigItem; 7 | 8 | @ConfigGroup("oneclickzmi") 9 | public interface OneClickSandstoneConfig extends Config { 10 | 11 | @ConfigItem( 12 | position = 0, 13 | keyName = "forceMineNorth", 14 | name = "North Rocks Only?", 15 | description = "Will only mine the rocks at the north that people normally mine otherwise will mine the nearest rock at all times." 16 | ) 17 | default boolean forceMineNorth() { 18 | return true; 19 | } 20 | 21 | @ConfigItem( 22 | position = 1, 23 | keyName = "humidify", 24 | name = "Cast Humidify", 25 | description = "Cast Humidify" 26 | ) 27 | default boolean humidify() { 28 | return true; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /scheduledlogout/src/main/java/net/runelite/client/plugins/scheduledlogout/ScheduledLogoutOverlay.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.scheduledlogout; 2 | import com.google.inject.Inject; 3 | import com.google.inject.Singleton; 4 | import net.runelite.client.ui.overlay.OverlayPanel; 5 | import net.runelite.client.ui.overlay.components.TitleComponent; 6 | import java.awt.*; 7 | 8 | @Singleton 9 | public class ScheduledLogoutOverlay extends OverlayPanel { 10 | private final ScheduledLogoutPlugin plugin; 11 | private final ScheduledLogoutConfig config; 12 | 13 | @Inject 14 | private ScheduledLogoutOverlay(final ScheduledLogoutPlugin plugin, final ScheduledLogoutConfig config) { 15 | super(plugin); 16 | this.plugin = plugin; 17 | this.config = config; 18 | } 19 | 20 | @Override 21 | public Dimension render(Graphics2D graphics) { 22 | if (!config.overlay()) 23 | { 24 | return null; 25 | } 26 | panelComponent.setBackgroundColor(Color.black); 27 | panelComponent.getChildren().add(TitleComponent.builder() 28 | .text("LOGGING OUT IN: " + plugin.CountdownTimer) 29 | .build()); 30 | return super.render(graphics); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /oneclickbloods/src/main/java/net/runelite/client/plugins/oneclickbloods/OneClickBloodsConfig.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.oneclickbloods; 2 | 3 | import net.runelite.client.config.Config; 4 | import net.runelite.client.config.ConfigGroup; 5 | import net.runelite.client.config.ConfigItem; 6 | 7 | @ConfigGroup("oneclickbloods") 8 | public interface OneClickBloodsConfig extends Config 9 | { 10 | @ConfigItem( 11 | position = 0, 12 | keyName = "afkchisel", 13 | name = "AFK chisel", 14 | description = "Consumes clicks on chisel animation." 15 | ) 16 | default boolean afkChisel() 17 | { 18 | return false; 19 | } 20 | 21 | @ConfigItem( 22 | position = 1, 23 | keyName = "useSpec", 24 | name = "Use Special Attack", 25 | description = "Uses special attack if its 100% before mining. Useful for things like dragon pickaxe" 26 | ) 27 | default boolean useSpec(){return false;} 28 | 29 | @ConfigItem( 30 | position = 1, 31 | keyName = "debug", 32 | name = "Debug", 33 | description = "Enable this for bug reports if getting stuck. prints on click." 34 | ) 35 | default boolean debug(){return false;} 36 | } -------------------------------------------------------------------------------- /oneclickglassblowing/src/main/java/net/runelite/client/plugins/oneclickglassblowing/Types.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.oneclickglassblowing; 2 | 3 | import lombok.AccessLevel; 4 | import lombok.Getter; 5 | import lombok.RequiredArgsConstructor; 6 | 7 | @Getter(AccessLevel.PUBLIC) 8 | @RequiredArgsConstructor 9 | public class Types { 10 | public enum Banks { 11 | NPC, 12 | BOOTH, 13 | CHEST, 14 | } 15 | 16 | public enum Product { 17 | BEER_GLASS(17694734), 18 | CANDLE_LANTERN(17694735), 19 | OIL_LAMP(17694736), 20 | VIAL(17694737), 21 | FISHBOWL(17694738), 22 | UNPOWERED_ORB(17694739), 23 | LANTERN_LENS(17694740), 24 | LIGHT_ORB(17694741); 25 | 26 | public final int ID; 27 | 28 | Product(int ID) { 29 | this.ID = ID; 30 | } 31 | } 32 | 33 | public enum Mode { 34 | GLASSBLOWING, 35 | SUPERGLASS_MAKE 36 | } 37 | 38 | public enum SuperGlassMakeMethod { 39 | THIRTEEN_THIRTEEN(1), 40 | TWO_TWELVE(2), 41 | THREE_EIGHTEEN(3); 42 | 43 | public final int seaweedCount; 44 | 45 | SuperGlassMakeMethod(int seaweedCount) { 46 | this.seaweedCount = seaweedCount; 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /oneclickcorpspec/src/main/java/net/runelite/client/plugins/oneclickcorpspec/OneClickCorpSpecConfig.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.oneclickcorpspec; 2 | 3 | import net.runelite.client.config.*; 4 | 5 | @ConfigGroup("oneclickcorpspec") 6 | public interface OneClickCorpSpecConfig extends Config { 7 | 8 | @ConfigItem( 9 | position = 0, 10 | keyName = "emergencyTele", 11 | name = "Emergency Tele", 12 | description = "Hitpoints to tele at even while speccing" 13 | ) 14 | @Range(max = 100) 15 | default int emergencyTele(){return 0;} 16 | 17 | @ConfigItem( 18 | position = 1, 19 | keyName = "hammerHits", 20 | name = "DWH", 21 | description = "How many hammers" 22 | ) 23 | default int hammerHits(){return 3;} 24 | 25 | @ConfigItem( 26 | position = 2, 27 | keyName = "arclightHits", 28 | name = "Arclight", 29 | description = "How many arclights" 30 | ) 31 | default int arclightHits(){return 7;} 32 | 33 | @ConfigItem( 34 | position = 3, 35 | keyName = "godswordDamage", 36 | name = "BGS", 37 | description = "How much BGS damage" 38 | ) 39 | default int godswordDamage(){return 400;} 40 | } -------------------------------------------------------------------------------- /oneclickbloodsmorytania/src/main/java/net/runelite/client/plugins/oneclickbloodsmorytania/OneClickBloodsMorytaniaConfig.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.oneclickbloodsmorytania; 2 | 3 | import net.runelite.client.config.Config; 4 | import net.runelite.client.config.ConfigGroup; 5 | import net.runelite.client.config.ConfigItem; 6 | 7 | @ConfigGroup("oneclickbloodsmorytania") 8 | public interface OneClickBloodsMorytaniaConfig extends Config 9 | { 10 | @ConfigItem( 11 | position = 1, 12 | keyName = "runenergy", 13 | name = "Run Energy", 14 | description = "Drink Pool at what Run Energy?" 15 | ) 16 | default int runEnergy() 17 | { 18 | return 50; 19 | } 20 | 21 | @ConfigItem( 22 | position = 2, 23 | keyName = "overrideagility", 24 | name = "Override Agility", 25 | description = "Force use the 93 agility 78 mining shortcut" 26 | ) 27 | default boolean overrideAgility() 28 | { 29 | return false; 30 | } 31 | 32 | @ConfigItem( 33 | position = 3, 34 | keyName = "essenceType", 35 | name = "Essence", 36 | description = "Choose Daeyalt or Pure Essence" 37 | ) 38 | default EssenceType essenceType() { 39 | return EssenceType.PURE_ESSENCE; 40 | } 41 | } -------------------------------------------------------------------------------- /oneclickkarambwans/src/main/java/net/runelite/client/plugins/oneclickkarambwans/oneClickKarambwansConfig.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.oneclickkarambwans; 2 | 3 | import net.runelite.client.config.Config; 4 | import net.runelite.client.config.ConfigGroup; 5 | import net.runelite.client.config.ConfigItem; 6 | 7 | @ConfigGroup("oneclickkarambwans") 8 | public interface oneClickKarambwansConfig extends Config { 9 | 10 | @ConfigItem( 11 | position=1, 12 | keyName = "bankAtSeers", 13 | name = "Use Seers Village bank", 14 | description = "Banks at Seers village instead of Zanaris" 15 | ) 16 | default boolean bankAtSeers() 17 | { 18 | return true; 19 | } 20 | 21 | @ConfigItem( 22 | position=2, 23 | keyName = "pohFairyRing", 24 | name = "Use POH Fairy Ring", 25 | description = "Teles to poh using con cape/max cape/standard spellbook tele" 26 | ) 27 | default boolean pohFairyRing() 28 | { 29 | return true; 30 | } 31 | 32 | @ConfigItem( 33 | position= 3, 34 | keyName = "debug", 35 | name = "Debug", 36 | description = "Posts debug message to chat if having problems" 37 | ) 38 | default boolean debug() 39 | { 40 | return true; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /oneclickamethyst/src/main/java/net/runelite/client/plugins/oneclickamethyst/OneClickAmethystConfig.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.oneclickamethyst; 2 | 3 | import net.runelite.client.config.*; 4 | 5 | @ConfigGroup("oneclickamethyst") 6 | public interface OneClickAmethystConfig extends Config 7 | { 8 | @ConfigItem( 9 | keyName = "Product", 10 | name = "Product", 11 | description = "Mines and chisels Amethyst.", 12 | position = 0 13 | ) 14 | default Product getProduct() 15 | { 16 | return Product.DARTS; 17 | } 18 | 19 | @ConfigItem( 20 | position = 1, 21 | keyName = "useSpec", 22 | name = "Use Special Attack", 23 | description = "Uses special attack if its 100% before mining." 24 | ) 25 | default boolean useSpec(){return false;} 26 | 27 | @ConfigItem( 28 | position = 2, 29 | keyName = "dropGems", 30 | name = "Drop Gems", 31 | description = "Drops gems if enabled " 32 | ) 33 | default boolean dropGems(){return false;} 34 | 35 | @ConfigItem( 36 | position = 3, 37 | keyName = "consumeClicks", 38 | name = "Consume Clicks", 39 | description = "Consumes clicks while moving" 40 | ) 41 | default boolean consumeClicks(){return true;} 42 | } -------------------------------------------------------------------------------- /tabswitcher/src/main/java/net/runelite/client/plugins/tabswitcher/TabSwitcherConfig.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.tabswitcher; 2 | 3 | import net.runelite.client.config.Config; 4 | import net.runelite.client.config.ConfigGroup; 5 | import net.runelite.client.config.ConfigItem; 6 | import net.runelite.client.config.Keybind; 7 | 8 | @ConfigGroup("tabswitcher") 9 | public interface TabSwitcherConfig extends Config { 10 | @ConfigItem( 11 | keyName = "keybind", 12 | name = "Keybind", 13 | description = "Press to cycle between tabs", 14 | position = 0 15 | ) 16 | default Keybind keybind() { 17 | return Keybind.NOT_SET; 18 | } 19 | 20 | @ConfigItem( 21 | keyName = "hardcodedtabs", 22 | name = "Hardcoded Tabs", 23 | description = "Only cycle between inputted tabs", 24 | position = 1 25 | ) 26 | default boolean hardCodeTabs() { 27 | return false; 28 | } 29 | 30 | @ConfigItem( 31 | keyName = "tab1", 32 | name = "Tab1", 33 | description = "First tab to cycle between", 34 | position = 2 35 | ) 36 | default int tab1() { 37 | return 2; 38 | } 39 | 40 | @ConfigItem( 41 | keyName = "tab2", 42 | name = "Tab2", 43 | description = "Second tab to cycle between", 44 | position = 3 45 | ) 46 | default int tab2() { 47 | return 3; 48 | } 49 | 50 | 51 | 52 | } 53 | -------------------------------------------------------------------------------- /oneclickzmi/src/main/java/net/runelite/client/plugins/oneclickzmi/oneClickZMIConfig.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.oneclickzmi; 2 | 3 | import net.runelite.client.config.Config; 4 | import net.runelite.client.config.ConfigGroup; 5 | import net.runelite.client.config.ConfigItem; 6 | 7 | @ConfigGroup("oneclickzmi") 8 | public interface oneClickZMIConfig extends Config{ 9 | 10 | @ConfigItem( 11 | position = 0, 12 | keyName = "foodID", 13 | name = "Food ID", 14 | description = "Input id for your desired food. Default is Karambwan" 15 | ) 16 | default int foodID() 17 | { 18 | return 3144; 19 | } 20 | 21 | @ConfigItem( 22 | position = 1, 23 | keyName = "essenceType", 24 | name = "Essence", 25 | description = "Choose Daeyalt or Pure Essence" 26 | ) 27 | default EssenceType essenceType() { 28 | return EssenceType.Daeyalt; 29 | } 30 | 31 | @ConfigItem( 32 | position = 2, 33 | keyName = "drinkStamina", 34 | name = "Drink Stamina?", 35 | description = "Withdraws and drinks staminas if run energy below 80 or stamina not currently active" 36 | ) 37 | default boolean drinkStamina() { 38 | return true; 39 | } 40 | 41 | @ConfigItem( 42 | position = 3, 43 | keyName = "consumeclicks", 44 | name = "Consume Clicks when running", 45 | description = "Consume Clicks" 46 | ) 47 | default boolean consumeClicks() { 48 | return false; 49 | } 50 | 51 | @ConfigItem( 52 | position = 4, 53 | keyName = "debug", 54 | name = "Debug", 55 | description = "Debug" 56 | ) 57 | default boolean debug() { 58 | return false; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /oneclickchins/src/main/java/net/runelite/client/plugins/oneclickchins/BoxTrap.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.oneclickchins; 2 | 3 | import lombok.Getter; 4 | import lombok.Setter; 5 | import net.runelite.api.GameObject; 6 | import net.runelite.api.TileItem; 7 | import net.runelite.api.coords.WorldPoint; 8 | import net.runelite.api.events.ItemSpawned; 9 | 10 | import java.time.Duration; 11 | import java.time.Instant; 12 | 13 | public class BoxTrap { 14 | @Getter 15 | private final WorldPoint worldLocation; 16 | @Getter 17 | private TileItem tileItem; 18 | @Getter 19 | @Setter 20 | private GameObject gameObject; 21 | @Getter 22 | private Instant placedOn; 23 | @Getter 24 | @Setter 25 | private net.runelite.client.plugins.oneclickchins.BoxTrap.State state; 26 | 27 | BoxTrap(GameObject gameObject) 28 | { 29 | this.state = net.runelite.client.plugins.oneclickchins.BoxTrap.State.OPEN; 30 | this.placedOn = Instant.now(); 31 | this.worldLocation = gameObject.getWorldLocation(); 32 | this.gameObject = gameObject; 33 | } 34 | 35 | BoxTrap(ItemSpawned itemSpawned) 36 | { 37 | this.state = State.ITEM; 38 | this.placedOn = Instant.now(); 39 | this.worldLocation = itemSpawned.getTile().getWorldLocation(); 40 | this.tileItem = itemSpawned.getItem(); 41 | } 42 | 43 | enum State 44 | { 45 | /** 46 | * A laid out trap. 47 | */ 48 | OPEN, 49 | /** 50 | * A trap that is empty. 51 | */ 52 | EMPTY, 53 | /** 54 | * A trap that caught something. 55 | */ 56 | FULL, 57 | 58 | 59 | ITEM 60 | } 61 | 62 | public int getTrapTimeRemaining() 63 | { 64 | Duration duration = Duration.between(placedOn, Instant.now()); 65 | return 60 - duration.toSecondsPart(); 66 | } 67 | 68 | /** 69 | * Resets the time value when the trap was placed. 70 | */ 71 | public void resetTimer() 72 | { 73 | placedOn = Instant.now(); 74 | } 75 | } -------------------------------------------------------------------------------- /oneclickglassblowing/src/main/java/net/runelite/client/plugins/oneclickglassblowing/OneClickGlassblowingConfig.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.oneclickglassblowing; 2 | import net.runelite.client.config.Config; 3 | import net.runelite.client.config.ConfigGroup; 4 | import net.runelite.client.config.ConfigItem; 5 | 6 | @ConfigGroup("oneclickglassblowing") 7 | public interface OneClickGlassblowingConfig extends Config { 8 | 9 | @ConfigItem( 10 | position = 0, 11 | keyName = "mode", 12 | name = "Glass Mode", 13 | description = "Choose" 14 | ) 15 | default Types.Mode mode() { return Types.Mode.GLASSBLOWING; } 16 | 17 | @ConfigItem( 18 | position = 1, 19 | keyName = "glassblowingType", 20 | name = "Item", 21 | description = "Choose item to blow", 22 | hidden = true, 23 | unhide = "mode", 24 | unhideValue = "GLASSBLOWING" 25 | ) 26 | default Types.Product product() { 27 | return Types.Product.LANTERN_LENS; 28 | } 29 | 30 | @ConfigItem( 31 | position = 1, 32 | keyName = "superglassMakeMethod", 33 | name = "Superglass Make Method", 34 | description = "Choose Superglass Make Method", 35 | hidden = true, 36 | unhide = "mode", 37 | unhideValue = "SUPERGLASS_MAKE" 38 | ) 39 | default Types.SuperGlassMakeMethod superglassMakeMethod(){ 40 | return Types.SuperGlassMakeMethod.THREE_EIGHTEEN; 41 | } 42 | 43 | 44 | @ConfigItem( 45 | position = 2, 46 | keyName = "bankType", 47 | name = "Bank Type", 48 | description = "Choose" 49 | ) 50 | default Types.Banks bankType() { return Types.Banks.CHEST; } 51 | 52 | @ConfigItem( 53 | position = 3, 54 | keyName = "bankID", 55 | name = "Bank ID", 56 | description = "Input bank ID, supports chests/NPCs/Booths. Default is Fossil Island north Bank" 57 | ) 58 | default int bankID() 59 | { 60 | return 30796; 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /birdhouseinfobox/src/main/java/net/runelite/client/plugins/birdhouseinfobox/birdhouseplugin.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.birdhouseinfobox; 2 | 3 | import javax.inject.Inject; 4 | import net.runelite.api.Client; 5 | import net.runelite.api.ItemID; 6 | import net.runelite.api.events.AnimationChanged; 7 | import net.runelite.api.events.GameTick; 8 | import net.runelite.client.eventbus.Subscribe; 9 | import net.runelite.client.game.ItemManager; 10 | import net.runelite.client.plugins.Plugin; 11 | import net.runelite.client.plugins.PluginDescriptor; 12 | import net.runelite.client.ui.overlay.infobox.InfoBoxManager; 13 | import org.pf4j.Extension; 14 | import org.slf4j.Logger; 15 | import org.slf4j.LoggerFactory; 16 | 17 | @Extension 18 | @PluginDescriptor( 19 | name = "Birdhouse Infobox", 20 | description = "birdhouse infobox", 21 | tags = {"birdhouse","timer","infobox"} 22 | ) 23 | public class birdhouseplugin extends Plugin { 24 | private static final Logger log = LoggerFactory.getLogger(birdhouseplugin.class); 25 | private birdhouseinfobox BHIB; 26 | public static int timeRemaining = 5200; 27 | @Inject 28 | private Client client; 29 | @Inject 30 | private InfoBoxManager infoBoxManager; 31 | 32 | @Inject 33 | private ItemManager itemManager; 34 | 35 | @Subscribe 36 | public void onAnimationChanged(AnimationChanged event) { 37 | if (client.getLocalPlayer()==null) 38 | { 39 | return; 40 | } 41 | if (this.client.getLocalPlayer().getAnimation() == 7057) { 42 | this.reset(); 43 | } 44 | } 45 | 46 | protected void shutDown() throws Exception { 47 | this.reset(); 48 | } 49 | 50 | @Subscribe 51 | public void onGameTick(GameTick tick) { 52 | if (this.BHIB != null) { 53 | this.infoBoxManager.removeInfoBox(this.BHIB); 54 | this.BHIB = null; 55 | } 56 | 57 | if (timeRemaining > 0) { 58 | --timeRemaining; 59 | } 60 | 61 | BHIB = new birdhouseinfobox(itemManager.getImage(ItemID.BIRD_HOUSE), this); 62 | this.infoBoxManager.addInfoBox(this.BHIB); 63 | } 64 | 65 | private void reset() { 66 | this.infoBoxManager.removeInfoBox(this.BHIB); 67 | this.BHIB = null; 68 | timeRemaining = 5200; 69 | } 70 | } -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019 Owain van Brakel 3 | * All rights reserved. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, this 9 | * list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 14 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 15 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 16 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 17 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 18 | * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 19 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 20 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 21 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 23 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 | */ 25 | 26 | rootProject.name = "Kitsch Plugins" 27 | 28 | include(":birdhouseinfobox") 29 | include(":coxraidscouter") 30 | include(":objecthider") 31 | include(":oneclickamethyst") 32 | include(":oneclickanglerfish") 33 | include(":oneclickblastfurnace") 34 | include(":oneclickbloods") 35 | include(":oneclickbloodsmorytania") 36 | include(":oneclickfurnace") 37 | include(":oneclickchins") 38 | include(":oneclickcorpspec") 39 | include(":oneclickcustom") 40 | include(":oneclickglassblowing") 41 | include(":oneclickkarambwans") 42 | include(":oneclickminnows") 43 | include(":oneclickmortmyrefungus") 44 | include(":oneclicksandstone") 45 | include(":oneclickteaks") 46 | include(":oneclicktelegrab") 47 | include(":oneclickaerialfishing") 48 | include(":oneclickzmi") 49 | include(":scheduledlogout") 50 | include(":tabswitcher") 51 | 52 | for (project in rootProject.children) { 53 | project.apply { 54 | projectDir = file(name) 55 | buildFileName = "$name.gradle.kts" 56 | 57 | require(projectDir.isDirectory) { "Project '${project.path} must have a $projectDir directory" } 58 | require(buildFile.isFile) { "Project '${project.path} must have a $buildFile build script" } 59 | } 60 | } -------------------------------------------------------------------------------- /tabswitcher/tabswitcher.gradle.kts: -------------------------------------------------------------------------------- 1 | import ProjectVersions.openosrsVersion 2 | 3 | /* 4 | * Copyright (c) 2019 Owain van Brakel 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * 1. Redistributions of source code must retain the above copyright notice, this 11 | * list of conditions and the following disclaimer. 12 | * 2. Redistributions in binary form must reproduce the above copyright notice, 13 | * this list of conditions and the following disclaimer in the documentation 14 | * and/or other materials provided with the distribution. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 20 | * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | version = "0.0.2" 29 | 30 | project.extra["PluginName"] = "Tab Switcher" // This is the name that is used in the external plugin manager panel 31 | project.extra["PluginDescription"] = "Flick between tabs on keybind" // This is the description that is used in the external plugin manager panel 32 | 33 | dependencies { 34 | annotationProcessor(Libraries.lombok) 35 | annotationProcessor(Libraries.pf4j) 36 | 37 | compileOnly("com.openosrs:runelite-api:$openosrsVersion+") 38 | compileOnly("com.openosrs:runelite-client:$openosrsVersion+") 39 | 40 | compileOnly(Libraries.guice) 41 | compileOnly(Libraries.javax) 42 | compileOnly(Libraries.lombok) 43 | compileOnly(Libraries.pf4j) 44 | } 45 | 46 | tasks { 47 | jar { 48 | manifest { 49 | attributes(mapOf( 50 | "Plugin-Version" to project.version, 51 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String), 52 | "Plugin-Provider" to project.extra["PluginProvider"], 53 | "Plugin-Description" to project.extra["PluginDescription"], 54 | "Plugin-License" to project.extra["PluginLicense"] 55 | )) 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /oneclickchins/oneclickchins.gradle.kts: -------------------------------------------------------------------------------- 1 | import ProjectVersions.openosrsVersion 2 | 3 | /* 4 | * Copyright (c) 2019 Owain van Brakel 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * 1. Redistributions of source code must retain the above copyright notice, this 11 | * list of conditions and the following disclaimer. 12 | * 2. Redistributions in binary form must reproduce the above copyright notice, 13 | * this list of conditions and the following disclaimer in the documentation 14 | * and/or other materials provided with the distribution. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 20 | * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | version = "1.0.1" 29 | 30 | project.extra["PluginName"] = "One Click Chins" // This is the name that is used in the external plugin manager panel 31 | project.extra["PluginDescription"] = "Resets traps on left click" // This is the description that is used in the external plugin manager panel 32 | 33 | dependencies { 34 | annotationProcessor(Libraries.lombok) 35 | annotationProcessor(Libraries.pf4j) 36 | 37 | compileOnly("com.openosrs:runelite-api:$openosrsVersion+") 38 | compileOnly("com.openosrs:runelite-client:$openosrsVersion+") 39 | 40 | compileOnly(Libraries.guice) 41 | compileOnly(Libraries.javax) 42 | compileOnly(Libraries.lombok) 43 | compileOnly(Libraries.pf4j) 44 | } 45 | 46 | tasks { 47 | jar { 48 | manifest { 49 | attributes(mapOf( 50 | "Plugin-Version" to project.version, 51 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String), 52 | "Plugin-Provider" to project.extra["PluginProvider"], 53 | "Plugin-Description" to project.extra["PluginDescription"], 54 | "Plugin-License" to project.extra["PluginLicense"] 55 | )) 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /oneclickblastfurnace/oneclickblastfurnace.gradle.kts: -------------------------------------------------------------------------------- 1 | import ProjectVersions.openosrsVersion 2 | 3 | /* 4 | * Copyright (c) 2019 Owain van Brakel 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * 1. Redistributions of source code must retain the above copyright notice, this 11 | * list of conditions and the following disclaimer. 12 | * 2. Redistributions in binary form must reproduce the above copyright notice, 13 | * this list of conditions and the following disclaimer in the documentation 14 | * and/or other materials provided with the distribution. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 20 | * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | version = "2.2.0" 29 | 30 | project.extra["PluginName"] = "One Click Blast Furnace" // This is the name that is used in the external plugin manager panel 31 | project.extra["PluginDescription"] = "Provides bars" // This is the description that is used in the external plugin manager panel 32 | 33 | dependencies { 34 | annotationProcessor(Libraries.lombok) 35 | annotationProcessor(Libraries.pf4j) 36 | 37 | compileOnly("com.openosrs:runelite-api:$openosrsVersion+") 38 | compileOnly("com.openosrs:runelite-client:$openosrsVersion+") 39 | 40 | compileOnly(Libraries.guice) 41 | compileOnly(Libraries.javax) 42 | compileOnly(Libraries.lombok) 43 | compileOnly(Libraries.pf4j) 44 | } 45 | 46 | tasks { 47 | jar { 48 | manifest { 49 | attributes(mapOf( 50 | "Plugin-Version" to project.version, 51 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String), 52 | "Plugin-Provider" to project.extra["PluginProvider"], 53 | "Plugin-Description" to project.extra["PluginDescription"], 54 | "Plugin-License" to project.extra["PluginLicense"] 55 | )) 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /oneclickfurnace/oneclickfurnace.gradle.kts: -------------------------------------------------------------------------------- 1 | import ProjectVersions.openosrsVersion 2 | 3 | /* 4 | * Copyright (c) 2019 Owain van Brakel 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * 1. Redistributions of source code must retain the above copyright notice, this 11 | * list of conditions and the following disclaimer. 12 | * 2. Redistributions in binary form must reproduce the above copyright notice, 13 | * this list of conditions and the following disclaimer in the documentation 14 | * and/or other materials provided with the distribution. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 20 | * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | version = "1.0.4" 29 | 30 | project.extra["PluginName"] = "One Click Furnace" // This is the name that is used in the external plugin manager panel 31 | project.extra["PluginDescription"] = "One Click Furnace crafting" // This is the description that is used in the external plugin manager panel 32 | 33 | dependencies { 34 | annotationProcessor(Libraries.lombok) 35 | annotationProcessor(Libraries.pf4j) 36 | 37 | compileOnly("com.openosrs:runelite-api:$openosrsVersion+") 38 | compileOnly("com.openosrs:runelite-client:$openosrsVersion+") 39 | 40 | compileOnly(Libraries.guice) 41 | compileOnly(Libraries.javax) 42 | compileOnly(Libraries.lombok) 43 | compileOnly(Libraries.pf4j) 44 | } 45 | 46 | tasks { 47 | jar { 48 | manifest { 49 | attributes(mapOf( 50 | "Plugin-Version" to project.version, 51 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String), 52 | "Plugin-Provider" to project.extra["PluginProvider"], 53 | "Plugin-Description" to project.extra["PluginDescription"], 54 | "Plugin-License" to project.extra["PluginLicense"] 55 | )) 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /oneclickzmi/oneclickzmi.gradle.kts: -------------------------------------------------------------------------------- 1 | import ProjectVersions.openosrsVersion 2 | 3 | /* 4 | * Copyright (c) 2019 Owain van Brakel 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * 1. Redistributions of source code must retain the above copyright notice, this 11 | * list of conditions and the following disclaimer. 12 | * 2. Redistributions in binary form must reproduce the above copyright notice, 13 | * this list of conditions and the following disclaimer in the documentation 14 | * and/or other materials provided with the distribution. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 20 | * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | version = "2.2.6" 29 | 30 | project.extra["PluginName"] = "One Click ZMI Runecrafting" // This is the name that is used in the external plugin manager panel 31 | project.extra["PluginDescription"] = "One Click ZMI Runecrafting" // This is the description that is used in the external plugin manager panel 32 | 33 | dependencies { 34 | annotationProcessor(Libraries.lombok) 35 | annotationProcessor(Libraries.pf4j) 36 | 37 | compileOnly("com.openosrs:runelite-api:$openosrsVersion+") 38 | compileOnly("com.openosrs:runelite-client:$openosrsVersion+") 39 | 40 | compileOnly(Libraries.guice) 41 | compileOnly(Libraries.javax) 42 | compileOnly(Libraries.lombok) 43 | compileOnly(Libraries.pf4j) 44 | } 45 | 46 | tasks { 47 | jar { 48 | manifest { 49 | attributes(mapOf( 50 | "Plugin-Version" to project.version, 51 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String), 52 | "Plugin-Provider" to project.extra["PluginProvider"], 53 | "Plugin-Description" to project.extra["PluginDescription"], 54 | "Plugin-License" to project.extra["PluginLicense"] 55 | )) 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /oneclickminnows/oneclickminnows.gradle.kts: -------------------------------------------------------------------------------- 1 | import ProjectVersions.openosrsVersion 2 | 3 | /* 4 | * Copyright (c) 2019 Owain van Brakel 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * 1. Redistributions of source code must retain the above copyright notice, this 11 | * list of conditions and the following disclaimer. 12 | * 2. Redistributions in binary form must reproduce the above copyright notice, 13 | * this list of conditions and the following disclaimer in the documentation 14 | * and/or other materials provided with the distribution. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 20 | * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | version = "1.0.1" 29 | 30 | project.extra["PluginName"] = "One Click Minnows" // This is the name that is used in the external plugin manager panel 31 | project.extra["PluginDescription"] = "Simple plugin, catches minnows." // This is the description that is used in the external plugin manager panel 32 | 33 | dependencies { 34 | annotationProcessor(Libraries.lombok) 35 | annotationProcessor(Libraries.pf4j) 36 | 37 | compileOnly("com.openosrs:runelite-api:$openosrsVersion+") 38 | compileOnly("com.openosrs:runelite-client:$openosrsVersion+") 39 | 40 | compileOnly(Libraries.guice) 41 | compileOnly(Libraries.javax) 42 | compileOnly(Libraries.lombok) 43 | compileOnly(Libraries.pf4j) 44 | } 45 | 46 | tasks { 47 | jar { 48 | manifest { 49 | attributes(mapOf( 50 | "Plugin-Version" to project.version, 51 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String), 52 | "Plugin-Provider" to project.extra["PluginProvider"], 53 | "Plugin-Description" to project.extra["PluginDescription"], 54 | "Plugin-License" to project.extra["PluginLicense"] 55 | )) 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /birdhouseinfobox/birdhouseinfobox.gradle.kts: -------------------------------------------------------------------------------- 1 | import ProjectVersions.openosrsVersion 2 | 3 | /* 4 | * Copyright (c) 2019 Owain van Brakel 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * 1. Redistributions of source code must retain the above copyright notice, this 11 | * list of conditions and the following disclaimer. 12 | * 2. Redistributions in binary form must reproduce the above copyright notice, 13 | * this list of conditions and the following disclaimer in the documentation 14 | * and/or other materials provided with the distribution. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 20 | * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | version = "0.0.2" 29 | 30 | project.extra["PluginName"] = "Birdhouse Infobox" // This is the name that is used in the external plugin manager panel 31 | project.extra["PluginDescription"] = "Overlays birdhouse infobox with timer" // This is the description that is used in the external plugin manager panel 32 | 33 | dependencies { 34 | annotationProcessor(Libraries.lombok) 35 | annotationProcessor(Libraries.pf4j) 36 | 37 | compileOnly("com.openosrs:runelite-api:$openosrsVersion+") 38 | compileOnly("com.openosrs:runelite-client:$openosrsVersion+") 39 | 40 | compileOnly(Libraries.guice) 41 | compileOnly(Libraries.javax) 42 | compileOnly(Libraries.lombok) 43 | compileOnly(Libraries.pf4j) 44 | } 45 | 46 | tasks { 47 | jar { 48 | manifest { 49 | attributes(mapOf( 50 | "Plugin-Version" to project.version, 51 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String), 52 | "Plugin-Provider" to project.extra["PluginProvider"], 53 | "Plugin-Description" to project.extra["PluginDescription"], 54 | "Plugin-License" to project.extra["PluginLicense"] 55 | )) 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /oneclickamethyst/oneclickamethyst.gradle.kts: -------------------------------------------------------------------------------- 1 | import ProjectVersions.openosrsVersion 2 | 3 | /* 4 | * Copyright (c) 2019 Owain van Brakel 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * 1. Redistributions of source code must retain the above copyright notice, this 11 | * list of conditions and the following disclaimer. 12 | * 2. Redistributions in binary form must reproduce the above copyright notice, 13 | * this list of conditions and the following disclaimer in the documentation 14 | * and/or other materials provided with the distribution. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 20 | * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | version = "2.1.9" 29 | 30 | project.extra["PluginName"] = "One Click Amethyst" // This is the name that is used in the external plugin manager panel 31 | project.extra["PluginDescription"] = "One Click Amethyst mining and crafting." // This is the description that is used in the external plugin manager panel 32 | 33 | dependencies { 34 | annotationProcessor(Libraries.lombok) 35 | annotationProcessor(Libraries.pf4j) 36 | 37 | compileOnly("com.openosrs:runelite-api:$openosrsVersion+") 38 | compileOnly("com.openosrs:runelite-client:$openosrsVersion+") 39 | 40 | compileOnly(Libraries.guice) 41 | compileOnly(Libraries.javax) 42 | compileOnly(Libraries.lombok) 43 | compileOnly(Libraries.pf4j) 44 | } 45 | 46 | tasks { 47 | jar { 48 | manifest { 49 | attributes(mapOf( 50 | "Plugin-Version" to project.version, 51 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String), 52 | "Plugin-Provider" to project.extra["PluginProvider"], 53 | "Plugin-Description" to project.extra["PluginDescription"], 54 | "Plugin-License" to project.extra["PluginLicense"] 55 | )) 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /oneclicktelegrab/oneclicktelegrab.gradle.kts: -------------------------------------------------------------------------------- 1 | import ProjectVersions.openosrsVersion 2 | 3 | /* 4 | * Copyright (c) 2019 Owain van Brakel 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * 1. Redistributions of source code must retain the above copyright notice, this 11 | * list of conditions and the following disclaimer. 12 | * 2. Redistributions in binary form must reproduce the above copyright notice, 13 | * this list of conditions and the following disclaimer in the documentation 14 | * and/or other materials provided with the distribution. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 20 | * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | version = "1.0.5" 29 | 30 | project.extra["PluginName"] = "One Click Telegrab" // This is the name that is used in the external plugin manager panel 31 | project.extra["PluginDescription"] = "One Click Telegrab for wines of Zamorak" // This is the description that is used in the external plugin manager panel 32 | 33 | dependencies { 34 | annotationProcessor(Libraries.lombok) 35 | annotationProcessor(Libraries.pf4j) 36 | 37 | compileOnly("com.openosrs:runelite-api:$openosrsVersion+") 38 | compileOnly("com.openosrs:runelite-client:$openosrsVersion+") 39 | 40 | compileOnly(Libraries.guice) 41 | compileOnly(Libraries.javax) 42 | compileOnly(Libraries.lombok) 43 | compileOnly(Libraries.pf4j) 44 | } 45 | 46 | tasks { 47 | jar { 48 | manifest { 49 | attributes(mapOf( 50 | "Plugin-Version" to project.version, 51 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String), 52 | "Plugin-Provider" to project.extra["PluginProvider"], 53 | "Plugin-Description" to project.extra["PluginDescription"], 54 | "Plugin-License" to project.extra["PluginLicense"] 55 | )) 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /scheduledlogout/scheduledlogout.gradle.kts: -------------------------------------------------------------------------------- 1 | import ProjectVersions.openosrsVersion 2 | 3 | /* 4 | * Copyright (c) 2019 Owain van Brakel 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * 1. Redistributions of source code must retain the above copyright notice, this 11 | * list of conditions and the following disclaimer. 12 | * 2. Redistributions in binary form must reproduce the above copyright notice, 13 | * this list of conditions and the following disclaimer in the documentation 14 | * and/or other materials provided with the distribution. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 20 | * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | version = "0.1.0" 29 | 30 | project.extra["PluginName"] = "Scheduled Logout" // This is the name that is used in the external plugin manager panel 31 | project.extra["PluginDescription"] = "Automatically logs out after inputted minutes" // This is the description that is used in the external plugin manager panel 32 | 33 | dependencies { 34 | annotationProcessor(Libraries.lombok) 35 | annotationProcessor(Libraries.pf4j) 36 | 37 | compileOnly("com.openosrs:runelite-api:$openosrsVersion+") 38 | compileOnly("com.openosrs:runelite-client:$openosrsVersion+") 39 | 40 | compileOnly(Libraries.guice) 41 | compileOnly(Libraries.javax) 42 | compileOnly(Libraries.lombok) 43 | compileOnly(Libraries.pf4j) 44 | } 45 | 46 | tasks { 47 | jar { 48 | manifest { 49 | attributes(mapOf( 50 | "Plugin-Version" to project.version, 51 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String), 52 | "Plugin-Provider" to project.extra["PluginProvider"], 53 | "Plugin-Description" to project.extra["PluginDescription"], 54 | "Plugin-License" to project.extra["PluginLicense"] 55 | )) 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /objecthider/objecthider.gradle.kts: -------------------------------------------------------------------------------- 1 | import ProjectVersions.openosrsVersion 2 | 3 | /* 4 | * Copyright (c) 2019 Owain van Brakel 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * 1. Redistributions of source code must retain the above copyright notice, this 11 | * list of conditions and the following disclaimer. 12 | * 2. Redistributions in binary form must reproduce the above copyright notice, 13 | * this list of conditions and the following disclaimer in the documentation 14 | * and/or other materials provided with the distribution. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 20 | * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | version = "0.0.4" 29 | 30 | project.extra["PluginName"] = "Object Hider" // This is the name that is used in the external plugin manager panel 31 | project.extra["PluginDescription"] = "Hides game objects by ID with certain presets to increase performance." // This is the description that is used in the external plugin manager panel 32 | 33 | dependencies { 34 | annotationProcessor(Libraries.lombok) 35 | annotationProcessor(Libraries.pf4j) 36 | 37 | compileOnly("com.openosrs:runelite-api:$openosrsVersion+") 38 | compileOnly("com.openosrs:runelite-client:$openosrsVersion+") 39 | 40 | compileOnly(Libraries.guice) 41 | compileOnly(Libraries.javax) 42 | compileOnly(Libraries.lombok) 43 | compileOnly(Libraries.pf4j) 44 | } 45 | 46 | tasks { 47 | jar { 48 | manifest { 49 | attributes(mapOf( 50 | "Plugin-Version" to project.version, 51 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String), 52 | "Plugin-Provider" to project.extra["PluginProvider"], 53 | "Plugin-Description" to project.extra["PluginDescription"], 54 | "Plugin-License" to project.extra["PluginLicense"] 55 | )) 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /oneclickteaks/oneclickteaks.gradle.kts: -------------------------------------------------------------------------------- 1 | import ProjectVersions.openosrsVersion 2 | 3 | /* 4 | * Copyright (c) 2019 Owain van Brakel 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * 1. Redistributions of source code must retain the above copyright notice, this 11 | * list of conditions and the following disclaimer. 12 | * 2. Redistributions in binary form must reproduce the above copyright notice, 13 | * this list of conditions and the following disclaimer in the documentation 14 | * and/or other materials provided with the distribution. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 20 | * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | version = "1.0.3" 29 | 30 | project.extra["PluginName"] = "One Click Teaks/Mahoganys" // This is the name that is used in the external plugin manager panel 31 | project.extra["PluginDescription"] = "Cuts and banks woodcutting patches at Fossil Island" // This is the description that is used in the external plugin manager panel 32 | 33 | dependencies { 34 | annotationProcessor(Libraries.lombok) 35 | annotationProcessor(Libraries.pf4j) 36 | 37 | compileOnly("com.openosrs:runelite-api:$openosrsVersion+") 38 | compileOnly("com.openosrs:runelite-client:$openosrsVersion+") 39 | 40 | compileOnly(Libraries.guice) 41 | compileOnly(Libraries.javax) 42 | compileOnly(Libraries.lombok) 43 | compileOnly(Libraries.pf4j) 44 | } 45 | 46 | tasks { 47 | jar { 48 | manifest { 49 | attributes(mapOf( 50 | "Plugin-Version" to project.version, 51 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String), 52 | "Plugin-Provider" to project.extra["PluginProvider"], 53 | "Plugin-Description" to project.extra["PluginDescription"], 54 | "Plugin-License" to project.extra["PluginLicense"] 55 | )) 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /tabswitcher/src/main/java/net/runelite/client/plugins/tabswitcher/TabSwitcherPlugin.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.tabswitcher; 2 | 3 | import com.google.inject.Inject; 4 | import com.google.inject.Provides; 5 | import net.runelite.api.Client; 6 | import net.runelite.api.VarClientInt; 7 | import net.runelite.api.events.ClientTick; 8 | import net.runelite.client.callback.ClientThread; 9 | import net.runelite.client.config.ConfigManager; 10 | import net.runelite.client.eventbus.Subscribe; 11 | import net.runelite.client.input.KeyManager; 12 | import net.runelite.client.plugins.Plugin; 13 | import net.runelite.client.plugins.PluginDescriptor; 14 | import net.runelite.client.util.HotkeyListener; 15 | import org.pf4j.Extension; 16 | 17 | @Extension 18 | @PluginDescriptor( 19 | name = "Tab Switcher", 20 | description = "Switches to previous tab on keybind", 21 | tags = {"tab", "switch","tabswitcher"}, 22 | enabledByDefault = false 23 | ) 24 | public class TabSwitcherPlugin extends Plugin { 25 | 26 | private static int previousTab; 27 | private static int currentTab; 28 | 29 | @Inject 30 | private Client client; 31 | 32 | @Inject 33 | private ClientThread clientThread; 34 | 35 | @Inject 36 | private TabSwitcherConfig config; 37 | 38 | @Inject 39 | private KeyManager keyManager; 40 | 41 | @Provides 42 | TabSwitcherConfig provideConfig(ConfigManager configManager) { 43 | return (TabSwitcherConfig) configManager.getConfig(TabSwitcherConfig.class); 44 | } 45 | 46 | @Override 47 | protected void startUp() throws Exception 48 | { 49 | keyManager.registerKeyListener(hotkeyListener); 50 | } 51 | 52 | private final HotkeyListener hotkeyListener = new HotkeyListener(() -> config.keybind()) 53 | { 54 | @Override 55 | public void hotkeyPressed() 56 | { 57 | clientThread.invoke(() -> switchTab()); 58 | } 59 | }; 60 | 61 | @Subscribe 62 | public void onClientTick(ClientTick event) 63 | { 64 | if (getCurrentTab()!=currentTab){ 65 | previousTab = currentTab; 66 | currentTab = getCurrentTab(); 67 | } 68 | } 69 | 70 | private int getCurrentTab() { 71 | return client.getVar(VarClientInt.INVENTORY_TAB); 72 | } 73 | 74 | private void switchTab() { 75 | if (config.hardCodeTabs()) 76 | { 77 | if (getCurrentTab()==config.tab1()) 78 | { 79 | client.runScript(915, config.tab2()); 80 | return; 81 | } 82 | client.runScript(915, config.tab1()); 83 | return; 84 | } 85 | 86 | if (previousTab!=-1) 87 | { 88 | client.runScript(915, previousTab); 89 | } 90 | } 91 | } 92 | -------------------------------------------------------------------------------- /oneclickkarambwans/oneclickkarambwans.gradle.kts: -------------------------------------------------------------------------------- 1 | import ProjectVersions.openosrsVersion 2 | 3 | /* 4 | * Copyright (c) 2019 Owain van Brakel 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * 1. Redistributions of source code must retain the above copyright notice, this 11 | * list of conditions and the following disclaimer. 12 | * 2. Redistributions in binary form must reproduce the above copyright notice, 13 | * this list of conditions and the following disclaimer in the documentation 14 | * and/or other materials provided with the distribution. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 20 | * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | version = "1.0.5" 29 | 30 | project.extra["PluginName"] = "One Click Karambwans" // This is the name that is used in the external plugin manager panel 31 | project.extra["PluginDescription"] = "Catches karambwans, banks using fairy rings at zanaris" // This is the description that is used in the external plugin manager panel 32 | 33 | dependencies { 34 | annotationProcessor(Libraries.lombok) 35 | annotationProcessor(Libraries.pf4j) 36 | 37 | compileOnly("com.openosrs:runelite-api:$openosrsVersion+") 38 | compileOnly("com.openosrs:runelite-client:$openosrsVersion+") 39 | 40 | compileOnly(Libraries.guice) 41 | compileOnly(Libraries.javax) 42 | compileOnly(Libraries.lombok) 43 | compileOnly(Libraries.pf4j) 44 | } 45 | 46 | tasks { 47 | jar { 48 | manifest { 49 | attributes(mapOf( 50 | "Plugin-Version" to project.version, 51 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String), 52 | "Plugin-Provider" to project.extra["PluginProvider"], 53 | "Plugin-Description" to project.extra["PluginDescription"], 54 | "Plugin-License" to project.extra["PluginLicense"] 55 | )) 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /oneclickcustom/oneclickcustom.gradle.kts: -------------------------------------------------------------------------------- 1 | import ProjectVersions.openosrsVersion 2 | 3 | /* 4 | * Copyright (c) 2019 Owain van Brakel 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * 1. Redistributions of source code must retain the above copyright notice, this 11 | * list of conditions and the following disclaimer. 12 | * 2. Redistributions in binary form must reproduce the above copyright notice, 13 | * this list of conditions and the following disclaimer in the documentation 14 | * and/or other materials provided with the distribution. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 20 | * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | version = "2.3.2" 29 | 30 | project.extra["PluginName"] = "One Click Custom" // This is the name that is used in the external plugin manager panel 31 | project.extra["PluginDescription"] = "Custom one click by ID for gameObject/NPC/Ground items/Fishing spots" // This is the description that is used in the external plugin manager panel 32 | 33 | dependencies { 34 | annotationProcessor(Libraries.lombok) 35 | annotationProcessor(Libraries.pf4j) 36 | 37 | compileOnly("com.openosrs:runelite-api:$openosrsVersion+") 38 | compileOnly("com.openosrs:runelite-client:$openosrsVersion+") 39 | 40 | compileOnly(Libraries.guice) 41 | compileOnly(Libraries.javax) 42 | compileOnly(Libraries.lombok) 43 | compileOnly(Libraries.pf4j) 44 | } 45 | 46 | tasks { 47 | jar { 48 | manifest { 49 | attributes(mapOf( 50 | "Plugin-Version" to project.version, 51 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String), 52 | "Plugin-Provider" to project.extra["PluginProvider"], 53 | "Plugin-Description" to project.extra["PluginDescription"], 54 | "Plugin-License" to project.extra["PluginLicense"] 55 | )) 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /oneclickglassblowing/oneclickglassblowing.gradle.kts: -------------------------------------------------------------------------------- 1 | import ProjectVersions.openosrsVersion 2 | 3 | /* 4 | * Copyright (c) 2019 Owain van Brakel 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * 1. Redistributions of source code must retain the above copyright notice, this 11 | * list of conditions and the following disclaimer. 12 | * 2. Redistributions in binary form must reproduce the above copyright notice, 13 | * this list of conditions and the following disclaimer in the documentation 14 | * and/or other materials provided with the distribution. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 20 | * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | version = "2.1.0" 29 | 30 | project.extra["PluginName"] = "One Click Glassblowing" // This is the name that is used in the external plugin manager panel 31 | project.extra["PluginDescription"] = "Blows glass items at clan bank or north fossil island" // This is the description that is used in the external plugin manager panel 32 | 33 | dependencies { 34 | annotationProcessor(Libraries.lombok) 35 | annotationProcessor(Libraries.pf4j) 36 | 37 | compileOnly("com.openosrs:runelite-api:$openosrsVersion+") 38 | compileOnly("com.openosrs:runelite-client:$openosrsVersion+") 39 | 40 | compileOnly(Libraries.guice) 41 | compileOnly(Libraries.javax) 42 | compileOnly(Libraries.lombok) 43 | compileOnly(Libraries.pf4j) 44 | } 45 | 46 | tasks { 47 | jar { 48 | manifest { 49 | attributes(mapOf( 50 | "Plugin-Version" to project.version, 51 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String), 52 | "Plugin-Provider" to project.extra["PluginProvider"], 53 | "Plugin-Description" to project.extra["PluginDescription"], 54 | "Plugin-License" to project.extra["PluginLicense"] 55 | )) 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /coxraidscouter/coxraidscouter.gradle.kts: -------------------------------------------------------------------------------- 1 | import ProjectVersions.openosrsVersion 2 | 3 | /* 4 | * Copyright (c) 2019 Owain van Brakel 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * 1. Redistributions of source code must retain the above copyright notice, this 11 | * list of conditions and the following disclaimer. 12 | * 2. Redistributions in binary form must reproduce the above copyright notice, 13 | * this list of conditions and the following disclaimer in the documentation 14 | * and/or other materials provided with the distribution. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 20 | * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | version = "3.0.6" 29 | 30 | project.extra["PluginName"] = "Cox Raid Scouter" // This is the name that is used in the external plugin manager panel 31 | project.extra["PluginDescription"] = "Automatically scouts raids. Supports webhooks and automated leaving/joining." // This is the description that is used in the external plugin manager panel 32 | 33 | dependencies { 34 | annotationProcessor(Libraries.lombok) 35 | annotationProcessor(Libraries.pf4j) 36 | 37 | compileOnly("com.openosrs:runelite-api:$openosrsVersion+") 38 | compileOnly("com.openosrs:runelite-client:$openosrsVersion+") 39 | 40 | compileOnly(Libraries.guice) 41 | compileOnly(Libraries.javax) 42 | compileOnly(Libraries.lombok) 43 | compileOnly(Libraries.pf4j) 44 | } 45 | 46 | tasks { 47 | jar { 48 | manifest { 49 | attributes(mapOf( 50 | "Plugin-Version" to project.version, 51 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String), 52 | "Plugin-Provider" to project.extra["PluginProvider"], 53 | "Plugin-Description" to project.extra["PluginDescription"], 54 | "Plugin-License" to project.extra["PluginLicense"] 55 | )) 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /oneclicksandstone/oneclicksandstone.gradle.kts: -------------------------------------------------------------------------------- 1 | import ProjectVersions.openosrsVersion 2 | 3 | /* 4 | * Copyright (c) 2019 Owain van Brakel 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * 1. Redistributions of source code must retain the above copyright notice, this 11 | * list of conditions and the following disclaimer. 12 | * 2. Redistributions in binary form must reproduce the above copyright notice, 13 | * this list of conditions and the following disclaimer in the documentation 14 | * and/or other materials provided with the distribution. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 20 | * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | version = "1.0.7" 29 | 30 | project.extra["PluginName"] = "One Click Sandstone" // This is the name that is used in the external plugin manager panel 31 | project.extra["PluginDescription"] = "Mines sand and deposits it, casts humidify if pouches are empty." // This is the description that is used in the external plugin manager panel 32 | 33 | dependencies { 34 | annotationProcessor(Libraries.lombok) 35 | annotationProcessor(Libraries.pf4j) 36 | 37 | compileOnly("com.openosrs:runelite-api:$openosrsVersion+") 38 | compileOnly("com.openosrs:runelite-client:$openosrsVersion+") 39 | 40 | compileOnly(Libraries.guice) 41 | compileOnly(Libraries.javax) 42 | compileOnly(Libraries.lombok) 43 | compileOnly(Libraries.pf4j) 44 | } 45 | 46 | tasks { 47 | jar { 48 | manifest { 49 | attributes(mapOf( 50 | "Plugin-Version" to project.version, 51 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String), 52 | "Plugin-Provider" to project.extra["PluginProvider"], 53 | "Plugin-Description" to project.extra["PluginDescription"], 54 | "Plugin-License" to project.extra["PluginLicense"] 55 | )) 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /oneclickaerialfishing/oneclickaerialfishing.gradle.kts: -------------------------------------------------------------------------------- 1 | import ProjectVersions.openosrsVersion 2 | 3 | /* 4 | * Copyright (c) 2019 Owain van Brakel 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * 1. Redistributions of source code must retain the above copyright notice, this 11 | * list of conditions and the following disclaimer. 12 | * 2. Redistributions in binary form must reproduce the above copyright notice, 13 | * this list of conditions and the following disclaimer in the documentation 14 | * and/or other materials provided with the distribution. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 20 | * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | version = "1.0.3" 29 | 30 | project.extra["PluginName"] = "One Click Aerial Fishing" // This is the name that is used in the external plugin manager panel 31 | project.extra["PluginDescription"] = "One click Molch aerial fishing, cuts or drops depending on whether you have a knife." // This is the description that is used in the external plugin manager panel 32 | 33 | dependencies { 34 | annotationProcessor(Libraries.lombok) 35 | annotationProcessor(Libraries.pf4j) 36 | 37 | compileOnly("com.openosrs:runelite-api:$openosrsVersion+") 38 | compileOnly("com.openosrs:runelite-client:$openosrsVersion+") 39 | 40 | compileOnly(Libraries.guice) 41 | compileOnly(Libraries.javax) 42 | compileOnly(Libraries.lombok) 43 | compileOnly(Libraries.pf4j) 44 | } 45 | 46 | tasks { 47 | jar { 48 | manifest { 49 | attributes(mapOf( 50 | "Plugin-Version" to project.version, 51 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String), 52 | "Plugin-Provider" to project.extra["PluginProvider"], 53 | "Plugin-Description" to project.extra["PluginDescription"], 54 | "Plugin-License" to project.extra["PluginLicense"] 55 | )) 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /oneclickcustom/src/main/java/net/runelite/client/plugins/oneclickcustom/utils/Inventory.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.oneclickcustom.utils; 2 | 3 | import net.runelite.api.Client; 4 | import net.runelite.api.widgets.Widget; 5 | import net.runelite.api.widgets.WidgetInfo; 6 | 7 | import javax.inject.Inject; 8 | import java.util.Arrays; 9 | import java.util.List; 10 | 11 | public class Inventory { 12 | 13 | @Inject 14 | private Client client; 15 | 16 | public Widget getItemByInventoryIndex(int index) { 17 | Widget inventoryWidget = client.getWidget(WidgetInfo.INVENTORY); 18 | if (inventoryWidget!=null && !inventoryWidget.isHidden()) 19 | { 20 | return Arrays.stream(inventoryWidget.getDynamicChildren()) 21 | .filter(item -> item.getIndex() == index) 22 | .findAny().orElse(null); 23 | } 24 | return null; 25 | } 26 | 27 | public void setSelectedInventoryItem(Widget item) { 28 | client.setSelectedSpellWidget(WidgetInfo.INVENTORY.getId()); 29 | client.setSelectedSpellChildIndex(item.getIndex()); 30 | client.setSelectedSpellItemId(item.getItemId()); 31 | } 32 | 33 | public int getEmptySlots() { 34 | Widget inventory = client.getWidget(WidgetInfo.INVENTORY.getId()); 35 | Widget bankInventory = client.getWidget(WidgetInfo.BANK_INVENTORY_ITEMS_CONTAINER.getId()); 36 | 37 | if (bankInventory!=null && !bankInventory.isHidden() 38 | && bankInventory.getDynamicChildren()!=null) 39 | { 40 | return getEmptySlots(WidgetInfo.BANK_INVENTORY_ITEMS_CONTAINER); 41 | } 42 | 43 | if (inventory!=null && inventory.getDynamicChildren()!=null) 44 | { 45 | return getEmptySlots(WidgetInfo.INVENTORY); 46 | } 47 | 48 | return -1; 49 | } 50 | 51 | private int getEmptySlots(WidgetInfo widgetInfo) { 52 | client.runScript(6009, 9764864, 28, 1, -1); 53 | List inventoryItems = Arrays.asList(client.getWidget(widgetInfo.getId()).getDynamicChildren()); 54 | return (int) inventoryItems.stream().filter(item -> item.getItemId() == 6512).count(); 55 | } 56 | 57 | public Widget getLastInventoryItem(int id) { 58 | Widget inventoryWidget = client.getWidget(WidgetInfo.INVENTORY); 59 | if (inventoryWidget!=null && !inventoryWidget.isHidden()) 60 | { 61 | return getLastWidgetItem(inventoryWidget,id); 62 | } 63 | return null; 64 | } 65 | 66 | public Widget getLastWidgetItem(Widget widget,int id) { 67 | client.runScript(6009, 9764864, 28, 1, -1); 68 | return Arrays.stream(widget.getDynamicChildren()) 69 | .filter(item -> item.getItemId()==id) 70 | .reduce((first, second) -> second) 71 | .orElse(null); 72 | } 73 | } -------------------------------------------------------------------------------- /oneclickbloods/oneclickbloods.gradle.kts: -------------------------------------------------------------------------------- 1 | import ProjectVersions.openosrsVersion 2 | 3 | /* 4 | * Copyright (c) 2019 Owain van Brakel 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * 1. Redistributions of source code must retain the above copyright notice, this 11 | * list of conditions and the following disclaimer. 12 | * 2. Redistributions in binary form must reproduce the above copyright notice, 13 | * this list of conditions and the following disclaimer in the documentation 14 | * and/or other materials provided with the distribution. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 20 | * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | version = "3.0.1" 29 | 30 | project.extra["PluginName"] = "One Click Bloods" // This is the name that is used in the external plugin manager panel 31 | project.extra["PluginDescription"] = "One click bloods" // This is the description that is used in the external plugin manager panel 32 | 33 | dependencies { 34 | annotationProcessor(Libraries.lombok) 35 | annotationProcessor(Libraries.pf4j) 36 | 37 | compileOnly("com.openosrs:runelite-api:$openosrsVersion+") 38 | compileOnly("com.openosrs:runelite-client:$openosrsVersion+") 39 | compileOnly(group = "com.openosrs.rs", name = "runescape-api", version = ProjectVersions.openosrsVersion) 40 | 41 | compileOnly(Libraries.guice) 42 | compileOnly(Libraries.javax) 43 | compileOnly(Libraries.lombok) 44 | compileOnly(Libraries.pf4j) 45 | } 46 | 47 | tasks { 48 | jar { 49 | manifest { 50 | attributes(mapOf( 51 | "Plugin-Version" to project.version, 52 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String), 53 | "Plugin-Provider" to project.extra["PluginProvider"], 54 | "Plugin-Description" to project.extra["PluginDescription"], 55 | "Plugin-License" to project.extra["PluginLicense"] 56 | )) 57 | } 58 | } 59 | } -------------------------------------------------------------------------------- /oneclickanglerfish/oneclickanglerfish.gradle.kts: -------------------------------------------------------------------------------- 1 | import ProjectVersions.openosrsVersion 2 | 3 | /* 4 | * Copyright (c) 2019 Owain van Brakel 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * 1. Redistributions of source code must retain the above copyright notice, this 11 | * list of conditions and the following disclaimer. 12 | * 2. Redistributions in binary form must reproduce the above copyright notice, 13 | * this list of conditions and the following disclaimer in the documentation 14 | * and/or other materials provided with the distribution. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 20 | * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | version = "1.0.2" 29 | 30 | project.extra["PluginName"] = "One Click Anglerfish" // This is the name that is used in the external plugin manager panel 31 | project.extra["PluginDescription"] = "Catches Anglerfish and banks" // This is the description that is used in the external plugin manager panel 32 | 33 | dependencies { 34 | annotationProcessor(Libraries.lombok) 35 | annotationProcessor(Libraries.pf4j) 36 | 37 | compileOnly("com.openosrs:runelite-api:$openosrsVersion+") 38 | compileOnly("com.openosrs:runelite-client:$openosrsVersion+") 39 | compileOnly(group = "com.openosrs.rs", name = "runescape-api", version = ProjectVersions.openosrsVersion) 40 | 41 | compileOnly(Libraries.guice) 42 | compileOnly(Libraries.javax) 43 | compileOnly(Libraries.lombok) 44 | compileOnly(Libraries.pf4j) 45 | } 46 | 47 | tasks { 48 | jar { 49 | manifest { 50 | attributes(mapOf( 51 | "Plugin-Version" to project.version, 52 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String), 53 | "Plugin-Provider" to project.extra["PluginProvider"], 54 | "Plugin-Description" to project.extra["PluginDescription"], 55 | "Plugin-License" to project.extra["PluginLicense"] 56 | )) 57 | } 58 | } 59 | } -------------------------------------------------------------------------------- /oneclickcorpspec/oneclickcorpspec.gradle.kts: -------------------------------------------------------------------------------- 1 | import ProjectVersions.openosrsVersion 2 | 3 | /* 4 | * Copyright (c) 2019 Owain van Brakel 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * 1. Redistributions of source code must retain the above copyright notice, this 11 | * list of conditions and the following disclaimer. 12 | * 2. Redistributions in binary form must reproduce the above copyright notice, 13 | * this list of conditions and the following disclaimer in the documentation 14 | * and/or other materials provided with the distribution. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 20 | * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | version = "1.0.1" 29 | 30 | project.extra["PluginName"] = "One Click Corp Spec" // This is the name that is used in the external plugin manager panel 31 | project.extra["PluginDescription"] = "Read discord for more information" // This is the description that is used in the external plugin manager panel 32 | 33 | dependencies { 34 | annotationProcessor(Libraries.lombok) 35 | annotationProcessor(Libraries.pf4j) 36 | 37 | compileOnly("com.openosrs:runelite-api:$openosrsVersion+") 38 | compileOnly("com.openosrs:runelite-client:$openosrsVersion+") 39 | compileOnly(group = "com.openosrs.rs", name = "runescape-api", version = ProjectVersions.openosrsVersion) 40 | 41 | compileOnly(Libraries.guice) 42 | compileOnly(Libraries.javax) 43 | compileOnly(Libraries.lombok) 44 | compileOnly(Libraries.pf4j) 45 | } 46 | 47 | tasks { 48 | jar { 49 | manifest { 50 | attributes(mapOf( 51 | "Plugin-Version" to project.version, 52 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String), 53 | "Plugin-Provider" to project.extra["PluginProvider"], 54 | "Plugin-Description" to project.extra["PluginDescription"], 55 | "Plugin-License" to project.extra["PluginLicense"] 56 | )) 57 | } 58 | } 59 | } -------------------------------------------------------------------------------- /oneclickmortmyrefungus/oneclickmortmyrefungus.gradle.kts: -------------------------------------------------------------------------------- 1 | import ProjectVersions.openosrsVersion 2 | 3 | /* 4 | * Copyright (c) 2019 Owain van Brakel 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * 1. Redistributions of source code must retain the above copyright notice, this 11 | * list of conditions and the following disclaimer. 12 | * 2. Redistributions in binary form must reproduce the above copyright notice, 13 | * this list of conditions and the following disclaimer in the documentation 14 | * and/or other materials provided with the distribution. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 20 | * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | version = "1.0.8" 29 | 30 | project.extra["PluginName"] = "One Click Mort Myre Fungus" // This is the name that is used in the external plugin manager panel 31 | project.extra["PluginDescription"] = "For the lazy ironman" // This is the description that is used in the external plugin manager panel 32 | 33 | dependencies { 34 | annotationProcessor(Libraries.lombok) 35 | annotationProcessor(Libraries.pf4j) 36 | 37 | compileOnly("com.openosrs:runelite-api:$openosrsVersion+") 38 | compileOnly("com.openosrs:runelite-client:$openosrsVersion+") 39 | compileOnly(group = "com.openosrs.rs", name = "runescape-api", version = ProjectVersions.openosrsVersion) 40 | 41 | compileOnly(Libraries.guice) 42 | compileOnly(Libraries.javax) 43 | compileOnly(Libraries.lombok) 44 | compileOnly(Libraries.pf4j) 45 | } 46 | 47 | tasks { 48 | jar { 49 | manifest { 50 | attributes(mapOf( 51 | "Plugin-Version" to project.version, 52 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String), 53 | "Plugin-Provider" to project.extra["PluginProvider"], 54 | "Plugin-Description" to project.extra["PluginDescription"], 55 | "Plugin-License" to project.extra["PluginLicense"] 56 | )) 57 | } 58 | } 59 | } -------------------------------------------------------------------------------- /oneclickbloodsmorytania/oneclickbloodsmorytania.gradle.kts: -------------------------------------------------------------------------------- 1 | import ProjectVersions.openosrsVersion 2 | 3 | /* 4 | * Copyright (c) 2019 Owain van Brakel 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * 1. Redistributions of source code must retain the above copyright notice, this 11 | * list of conditions and the following disclaimer. 12 | * 2. Redistributions in binary form must reproduce the above copyright notice, 13 | * this list of conditions and the following disclaimer in the documentation 14 | * and/or other materials provided with the distribution. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 20 | * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | version = "1.1.10" 29 | 30 | project.extra["PluginName"] = "One Click Bloods Morytania" // This is the name that is used in the external plugin manager panel 31 | project.extra["PluginDescription"] = "Active One Click Bloods Runecrafting at the new altar" // This is the description that is used in the external plugin manager panel 32 | 33 | dependencies { 34 | annotationProcessor(Libraries.lombok) 35 | annotationProcessor(Libraries.pf4j) 36 | 37 | compileOnly("com.openosrs:runelite-api:$openosrsVersion+") 38 | compileOnly("com.openosrs:runelite-client:$openosrsVersion+") 39 | compileOnly(group = "com.openosrs.rs", name = "runescape-api", version = ProjectVersions.openosrsVersion) 40 | 41 | compileOnly(Libraries.guice) 42 | compileOnly(Libraries.javax) 43 | compileOnly(Libraries.lombok) 44 | compileOnly(Libraries.pf4j) 45 | } 46 | 47 | tasks { 48 | jar { 49 | manifest { 50 | attributes(mapOf( 51 | "Plugin-Version" to project.version, 52 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String), 53 | "Plugin-Provider" to project.extra["PluginProvider"], 54 | "Plugin-Description" to project.extra["PluginDescription"], 55 | "Plugin-License" to project.extra["PluginLicense"] 56 | )) 57 | } 58 | } 59 | } -------------------------------------------------------------------------------- /oneclickcustom/src/main/java/net/runelite/client/plugins/oneclickcustom/utils/GetObjects.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.oneclickcustom.utils; 2 | 3 | import net.runelite.api.*; 4 | import net.runelite.api.queries.GameObjectQuery; 5 | import net.runelite.api.queries.NPCQuery; 6 | import net.runelite.client.plugins.oneclickcustom.oneClickCustomConfig; 7 | import javax.inject.Inject; 8 | import java.util.ArrayList; 9 | import java.util.Comparator; 10 | import java.util.List; 11 | import java.util.stream.Collectors; 12 | import java.util.stream.Stream; 13 | 14 | public class GetObjects { 15 | 16 | @Inject 17 | private Client client; 18 | 19 | @Inject 20 | private oneClickCustomConfig config; 21 | 22 | public Object getNearestObject(Stream stream) { 23 | return stream.filter(x -> x.getWorldLocation().distanceTo(client.getLocalPlayer().getWorldLocation()) x.getWorldLocation().distanceTo(client.getLocalPlayer().getWorldLocation()))) 25 | .orElse(null); 26 | } 27 | 28 | public GameObject getGameObject(List ids) { 29 | return (GameObject) getNearestObject(new GameObjectQuery() 30 | .idEquals(ids) 31 | .result(client) 32 | .stream()); 33 | } 34 | public GameObject getGameObject(int id) { 35 | return (GameObject) getNearestObject(new GameObjectQuery() 36 | .idEquals(id) 37 | .result(client) 38 | .stream()); 39 | } 40 | 41 | public NPC getNpc(List ids) { 42 | return (NPC) getNearestObject(new NPCQuery() 43 | .idEquals(ids) 44 | .result(client) 45 | .stream()); 46 | } 47 | 48 | public NPC getNpc(int ids) { 49 | return (NPC) getNearestObject(new NPCQuery() 50 | .idEquals(ids) 51 | .result(client) 52 | .stream()); 53 | } 54 | 55 | public NPC getNearestAliveNPC(List ids) { 56 | List npcs = new NPCQuery() 57 | .idEquals(ids) 58 | .result(client) 59 | .stream() 60 | .filter(npc-> npc.getHealthRatio() != 0) 61 | .collect(Collectors.toList()); 62 | return (NPC) getNearestObject(npcs.stream()); 63 | } 64 | 65 | public TileItem getNearestTileItem(List tileItems) { 66 | if (tileItems.size()==0 || tileItems.get(0) == null) return null; 67 | return tileItems.stream() 68 | .filter(tileItem -> tileItem.getTile().getWorldLocation().distanceTo(client.getLocalPlayer().getWorldLocation()) tileItem.getTile().getWorldLocation().distanceTo(client.getLocalPlayer().getWorldLocation()))) 70 | .orElse(null); 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /API/Inventory.java: -------------------------------------------------------------------------------- 1 | public class Inventory { 2 | private int getEmptySlots() { 3 | Widget inventory = client.getWidget(WidgetInfo.INVENTORY.getId()); 4 | Widget bankInventory = client.getWidget(WidgetInfo.BANK_INVENTORY_ITEMS_CONTAINER.getId()); 5 | 6 | if (bankInventory!=null && !bankInventory.isHidden() 7 | && bankInventory.getDynamicChildren()!=null) 8 | { 9 | return getEmptySlots(WidgetInfo.BANK_INVENTORY_ITEMS_CONTAINER); 10 | } 11 | 12 | if (inventory!=null && inventory.getDynamicChildren()!=null) 13 | { 14 | return getEmptySlots(WidgetInfo.INVENTORY); 15 | } 16 | 17 | return -1; 18 | } 19 | 20 | private int getEmptySlots(WidgetInfo widgetInfo) { 21 | client.runScript(6009, 9764864, 28, 1, -1); 22 | List inventoryItems = Arrays.asList(client.getWidget(widgetInfo.getId()).getDynamicChildren()); 23 | return (int) inventoryItems.stream().filter(item -> item.getItemId() == 6512).count(); 24 | } 25 | 26 | private Widget getLastInventoryItem(int id) { 27 | Widget inventoryWidget = client.getWidget(WidgetInfo.INVENTORY); 28 | if (inventoryWidget!=null && !inventoryWidget.isHidden()) 29 | { 30 | return getLastWidgetItem(inventoryWidget,id); 31 | } 32 | return null; 33 | } 34 | 35 | private Widget getLastWidgetItem(Widget widget,int id) { 36 | return Arrays.stream(widget.getDynamicChildren()) 37 | .filter(item -> item.getItemId()==id) 38 | .reduce((first, second) -> second) 39 | .orElse(null); 40 | } 41 | 42 | private Widget getInventoryItem(int id) { 43 | client.runScript(6009, 9764864, 28, 1, -1); //rebuild inventory ty pajeet 44 | Widget inventoryWidget = client.getWidget(WidgetInfo.INVENTORY); 45 | Widget bankInventoryWidget = client.getWidget(WidgetInfo.BANK_INVENTORY_ITEMS_CONTAINER); 46 | if (bankInventoryWidget!=null && !bankInventoryWidget.isHidden()) 47 | { 48 | return getWidgetItem(bankInventoryWidget,id); 49 | } 50 | if (inventoryWidget!=null) //if hidden check exists then you can't access inventory from any tab except inventory 51 | { 52 | return getWidgetItem(inventoryWidget,id); 53 | } 54 | return null; 55 | } 56 | 57 | private Widget getWidgetItem(Widget widget,int id) { 58 | for (Widget item : widget.getDynamicChildren()) 59 | { 60 | if (item.getItemId() == id) 61 | { 62 | return item; 63 | } 64 | } 65 | return null; 66 | } 67 | 68 | private void setSelectedInventoryItem(Widget item) { 69 | client.setSelectedSpellWidget(WidgetInfo.INVENTORY.getId()); 70 | client.setSelectedSpellChildIndex(item.getIndex()); 71 | client.setSelectedSpellItemId(item.getItemId()); //this might be different inside/outside bank? getID works sometimes idfk 72 | } 73 | } -------------------------------------------------------------------------------- /API/Teleporting.java: -------------------------------------------------------------------------------- 1 | public class Teleporting { 2 | private MenuEntry teleToPOHMES() { 3 | Widget tab = getInventoryItem(ItemID.TELEPORT_TO_HOUSE); 4 | Widget conCape = getInventoryItem(ItemID.CONSTRUCT_CAPE); 5 | Widget conCapeT = getInventoryItem(ItemID.CONSTRUCT_CAPET); 6 | 7 | if (conCape!=null) 8 | { 9 | return createMenuEntry(6, MenuAction.CC_OP_LOW_PRIORITY, conCape.getIndex(), WidgetInfo.INVENTORY.getId(), false); 10 | } 11 | if (conCapeT!=null) 12 | { 13 | return createMenuEntry(6, MenuAction.CC_OP_LOW_PRIORITY, conCapeT.getIndex(), WidgetInfo.INVENTORY.getId(), false); 14 | } 15 | if (tab!=null) 16 | { 17 | return createMenuEntry(2, MenuAction.CC_OP, tab.getIndex(), WidgetInfo.INVENTORY.getId(), false); 18 | } 19 | if (client.getItemContainer(InventoryID.EQUIPMENT)!=null) 20 | { 21 | if (client.getItemContainer(InventoryID.EQUIPMENT).contains(ItemID.MAX_CAPE) || client.getItemContainer(InventoryID.EQUIPMENT).contains(ItemID.MAX_CAPE_13342)) 22 | { 23 | return createMenuEntry(5, MenuAction.CC_OP, -1, WidgetInfo.EQUIPMENT_CAPE.getId(), false); 24 | } 25 | if (client.getItemContainer(InventoryID.EQUIPMENT).contains(ItemID.CONSTRUCT_CAPE) || client.getItemContainer(InventoryID.EQUIPMENT).contains(ItemID.CONSTRUCT_CAPET)) 26 | { 27 | return createMenuEntry( 4, MenuAction.CC_OP, -1, WidgetInfo.EQUIPMENT_CAPE.getId(), false); 28 | } 29 | } 30 | return createMenuEntry(1, MenuAction.CC_OP, -1, WidgetInfo.SPELL_TELEPORT_TO_HOUSE.getId(), false); 31 | } 32 | 33 | private MenuEntry teleToBankMES() { 34 | if (client.getItemContainer(InventoryID.EQUIPMENT).contains(ItemID.MAX_CAPE) || client.getItemContainer(InventoryID.EQUIPMENT).contains(ItemID.MAX_CAPE_13342)) 35 | { 36 | return createMenuEntry(4, MenuAction.CC_OP, -1, WidgetInfo.EQUIPMENT_CAPE.getId(), false); 37 | } 38 | if (client.getItemContainer(InventoryID.EQUIPMENT).contains(ItemID.CRAFTING_CAPE) || client.getItemContainer(InventoryID.EQUIPMENT).contains(ItemID.CRAFTING_CAPET)) 39 | { 40 | return createMenuEntry(3, MenuAction.CC_OP, -1, WidgetInfo.EQUIPMENT_CAPE.getId(), false); 41 | } 42 | 43 | Widget craftingCape = getInventoryItem(ItemID.CRAFTING_CAPE); 44 | Widget craftingCapeT = getInventoryItem(ItemID.CRAFTING_CAPET); 45 | if (craftingCape!=null) 46 | { 47 | return createMenuEntry(4, MenuAction.CC_OP, craftingCape.getIndex(), WidgetInfo.INVENTORY.getId(), false); 48 | } 49 | if (craftingCapeT!=null) 50 | { 51 | return createMenuEntry(4, MenuAction.CC_OP, craftingCapeT.getIndex(), WidgetInfo.INVENTORY.getId(), false); 52 | } 53 | if (client.getVarbitValue(4070)==0) //if on standard spellbook 54 | { 55 | return createMenuEntry(2, MenuAction.CC_OP, -1, WidgetInfo.SPELL_CAMELOT_TELEPORT.getId(), false); 56 | } 57 | return createMenuEntry(1, MenuAction.CC_OP, -1, WidgetInfo.SPELL_MOONCLAN_TELEPORT.getId(), false); 58 | } 59 | 60 | 61 | } -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- 1 | @rem 2 | @rem Copyright 2015 the original author or authors. 3 | @rem 4 | @rem Licensed under the Apache License, Version 2.0 (the "License"); 5 | @rem you may not use this file except in compliance with the License. 6 | @rem You may obtain a copy of the License at 7 | @rem 8 | @rem https://www.apache.org/licenses/LICENSE-2.0 9 | @rem 10 | @rem Unless required by applicable law or agreed to in writing, software 11 | @rem distributed under the License is distributed on an "AS IS" BASIS, 12 | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | @rem See the License for the specific language governing permissions and 14 | @rem limitations under the License. 15 | @rem 16 | 17 | @if "%DEBUG%" == "" @echo off 18 | @rem ########################################################################## 19 | @rem 20 | @rem Gradle startup script for Windows 21 | @rem 22 | @rem ########################################################################## 23 | 24 | @rem Set local scope for the variables with windows NT shell 25 | if "%OS%"=="Windows_NT" setlocal 26 | 27 | set DIRNAME=%~dp0 28 | if "%DIRNAME%" == "" set DIRNAME=. 29 | set APP_BASE_NAME=%~n0 30 | set APP_HOME=%DIRNAME% 31 | 32 | @rem Resolve any "." and ".." in APP_HOME to make it shorter. 33 | for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi 34 | 35 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 36 | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" 37 | 38 | @rem Find java.exe 39 | if defined JAVA_HOME goto findJavaFromJavaHome 40 | 41 | set JAVA_EXE=java.exe 42 | %JAVA_EXE% -version >NUL 2>&1 43 | if "%ERRORLEVEL%" == "0" goto init 44 | 45 | echo. 46 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 47 | echo. 48 | echo Please set the JAVA_HOME variable in your environment to match the 49 | echo location of your Java installation. 50 | 51 | goto fail 52 | 53 | :findJavaFromJavaHome 54 | set JAVA_HOME=%JAVA_HOME:"=% 55 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 56 | 57 | if exist "%JAVA_EXE%" goto init 58 | 59 | echo. 60 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 61 | echo. 62 | echo Please set the JAVA_HOME variable in your environment to match the 63 | echo location of your Java installation. 64 | 65 | goto fail 66 | 67 | :init 68 | @rem Get command-line arguments, handling Windows variants 69 | 70 | if not "%OS%" == "Windows_NT" goto win9xME_args 71 | 72 | :win9xME_args 73 | @rem Slurp the command line arguments. 74 | set CMD_LINE_ARGS= 75 | set _SKIP=2 76 | 77 | :win9xME_args_slurp 78 | if "x%~1" == "x" goto execute 79 | 80 | set CMD_LINE_ARGS=%* 81 | 82 | :execute 83 | @rem Setup the command line 84 | 85 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 86 | 87 | @rem Execute Gradle 88 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% 89 | 90 | :end 91 | @rem End local scope for the variables with windows NT shell 92 | if "%ERRORLEVEL%"=="0" goto mainEnd 93 | 94 | :fail 95 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 96 | rem the _cmd.exe /c_ return code! 97 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 98 | exit /b 1 99 | 100 | :mainEnd 101 | if "%OS%"=="Windows_NT" endlocal 102 | 103 | :omega 104 | -------------------------------------------------------------------------------- /objecthider/src/main/java/net/runelite/client/plugins/objecthider/ObjectHiderConfig.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, Tomas Slusny 3 | * All rights reserved. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, this 9 | * list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 14 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 15 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 16 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 17 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 18 | * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 19 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 20 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 21 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 23 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 | */ 25 | package net.runelite.client.plugins.objecthider; 26 | 27 | import net.runelite.client.config.Config; 28 | import net.runelite.client.config.ConfigGroup; 29 | import net.runelite.client.config.ConfigItem; 30 | 31 | @ConfigGroup("objecthider") 32 | public interface ObjectHiderConfig extends Config 33 | { 34 | @ConfigItem( 35 | keyName = "ObjectConfigData", 36 | name = "Object ID's", 37 | description = "List Desired object ID'S to be hidden, separated by a comma. **If you wish to unhide an object you must restart the plugin**", 38 | position = 1 39 | ) 40 | default String objectIdsSet() 41 | { 42 | return ""; 43 | } 44 | 45 | @ConfigItem( 46 | position = 2, 47 | keyName = "FossilIsland", 48 | name = "Fossil Island", 49 | description = "Hides various game objects whilst on Fossil Island" 50 | ) 51 | default boolean FossilIsland() 52 | { 53 | return false; 54 | } 55 | 56 | @ConfigItem( 57 | position = 3, 58 | keyName ="ZeahRunecrafting" , 59 | name = "Zeah Runecrafting", 60 | description = "Hides various game objects whilst Zeah Runecrafting" 61 | ) 62 | default boolean ZeahRunecrafting() 63 | { 64 | return false; 65 | } 66 | 67 | @ConfigItem( 68 | position = 3, 69 | keyName ="AbyssalDemons" , 70 | name = "Abyssal Demons", 71 | description = "Hides the annoying bridge at Abyssal Demons in the Catacombs of Kourend" 72 | ) 73 | default boolean AbyssalDemons() 74 | { 75 | return false; 76 | } 77 | 78 | @ConfigItem( 79 | position = 4, 80 | keyName ="SotetsegWall" , 81 | name = "Sotetseg Wall", 82 | description = "Hides the wall behind Sotetseg" 83 | ) 84 | default boolean SotetsegWall() 85 | { 86 | return false; 87 | } 88 | 89 | } -------------------------------------------------------------------------------- /scheduledlogout/src/main/java/net/runelite/client/plugins/scheduledlogout/ScheduledLogoutPlugin.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.scheduledlogout; 2 | 3 | import com.google.inject.Inject; 4 | import com.google.inject.Provides; 5 | import net.runelite.api.ChatMessageType; 6 | import net.runelite.api.Client; 7 | import net.runelite.api.MenuAction; 8 | import net.runelite.api.events.GameTick; 9 | import net.runelite.api.widgets.WidgetInfo; 10 | import net.runelite.client.callback.ClientThread; 11 | import net.runelite.client.config.ConfigManager; 12 | import net.runelite.client.eventbus.Subscribe; 13 | import net.runelite.client.events.ConfigChanged; 14 | import net.runelite.client.input.KeyManager; 15 | import net.runelite.client.plugins.Plugin; 16 | import net.runelite.client.plugins.PluginDescriptor; 17 | import net.runelite.client.ui.overlay.OverlayManager; 18 | import org.pf4j.Extension; 19 | 20 | @Extension 21 | @PluginDescriptor( 22 | name = "Scheduled Logout", 23 | description = "Automatically logs out after inputted minutes", 24 | tags = {"log", "out","logout","timer","schedule"}, 25 | enabledByDefault = false 26 | ) 27 | public class ScheduledLogoutPlugin extends Plugin { 28 | 29 | int CountdownTimer; 30 | 31 | @Inject 32 | private Client client; 33 | 34 | @Inject 35 | private ClientThread clientThread; 36 | 37 | @Inject 38 | private ScheduledLogoutConfig config; 39 | 40 | @Inject 41 | private KeyManager keyManager; 42 | 43 | @Inject 44 | private ScheduledLogoutOverlay overlay; 45 | 46 | @Inject 47 | private OverlayManager overlayManager; 48 | 49 | 50 | @Provides 51 | ScheduledLogoutConfig provideConfig(ConfigManager configManager) { 52 | return (ScheduledLogoutConfig) configManager.getConfig(ScheduledLogoutConfig.class); 53 | } 54 | 55 | @Override 56 | protected void startUp() throws Exception 57 | { 58 | CountdownTimer = config.minutesToLogout()*100; //convert to ticks 59 | clientThread.invokeLater(() -> {Print("Logging out in " + config.minutesToLogout() + " minutes"); }); 60 | overlayManager.add(overlay); 61 | } 62 | 63 | @Override 64 | protected void shutDown() throws Exception 65 | { 66 | overlayManager.remove(overlay); 67 | } 68 | 69 | @Subscribe 70 | public void onConfigChanged(ConfigChanged event) 71 | { 72 | if (!event.getKey().equals("minutestologout")) 73 | { 74 | return; 75 | } 76 | CountdownTimer = config.minutesToLogout()*100; 77 | clientThread.invokeLater(() -> {Print("Timer Updated - Logging out in " + config.minutesToLogout() + " minutes"); }); 78 | } 79 | 80 | @Subscribe 81 | public void onGameTick(GameTick event) 82 | { 83 | if (CountdownTimer>0) 84 | { 85 | CountdownTimer--; 86 | } 87 | else 88 | { 89 | clientThread.invoke(this::logout); 90 | } 91 | } 92 | 93 | private void logout(){ 94 | if (client.getWidget(69, 23)!=null){ 95 | client.invokeMenuAction("Logout", "", 1, MenuAction.CC_OP.getId(), -1, WidgetInfo.WORLD_SWITCHER_LOGOUT_BUTTON.getId()); 96 | } 97 | else 98 | { 99 | client.invokeMenuAction("Logout", "", 1, MenuAction.CC_OP.getId(), -1, 11927560); 100 | } 101 | } 102 | 103 | private void Print(String string) //used for debugging, puts a message to the in game chat. 104 | { 105 | client.addChatMessage(ChatMessageType.GAMEMESSAGE,"",string,""); 106 | } 107 | } 108 | -------------------------------------------------------------------------------- /oneclickfurnace/src/main/java/net/runelite/client/plugins/oneclickfurnace/CraftingMethods.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.oneclickfurnace; 2 | 3 | import lombok.AccessLevel; 4 | import lombok.Getter; 5 | import lombok.RequiredArgsConstructor; 6 | import net.runelite.api.ItemID; 7 | 8 | @Getter(AccessLevel.PUBLIC) 9 | @RequiredArgsConstructor 10 | public enum CraftingMethods { 11 | CannonBalls(ItemID.STEEL_BAR,ItemID.CANNON_BALL,17694734), 12 | Molten_Glass(ItemID.BUCKET_OF_SAND,ItemID.SODA_ASH,ItemID.MOLTEN_GLASS,17694734), 13 | 14 | //maybe the opcode for this should be a final variable + x in case of any future changes to the opcode. 15 | Gold_Ring(ItemID.GOLD_BAR,ItemID.GOLD_RING,29229064), 16 | Sapphire_Ring(ItemID.GOLD_BAR,ItemID.SAPPHIRE,ItemID.SAPPHIRE_RING,29229065), 17 | Emerald_Ring(ItemID.GOLD_BAR,ItemID.EMERALD,ItemID.EMERALD_RING,29229066), 18 | Ruby_Ring(ItemID.GOLD_BAR,ItemID.RUBY,ItemID.RUBY_RING,29229067), 19 | Diamond_Ring(ItemID.GOLD_BAR,ItemID.DIAMOND,ItemID.DIAMOND_RING,29229068), 20 | Dragonstone_Ring(ItemID.GOLD_BAR,ItemID.DRAGONSTONE,ItemID.DRAGONSTONE_RING,29229069), 21 | 22 | Gold_Necklace(ItemID.GOLD_BAR,ItemID.GOLD_NECKLACE,29229079), 23 | Sapphire_Necklace(ItemID.GOLD_BAR,ItemID.SAPPHIRE,ItemID.SAPPHIRE_NECKLACE,29229080), 24 | Emerald_Necklace(ItemID.GOLD_BAR,ItemID.EMERALD,ItemID.EMERALD_NECKLACE,29229081), 25 | Ruby_Necklace(ItemID.GOLD_BAR,ItemID.RUBY,ItemID.RUBY_NECKLACE,29229082), 26 | Diamond_Necklace(ItemID.GOLD_BAR,ItemID.DIAMOND,ItemID.DIAMOND_NECKLACE,29229083), 27 | Dragonstone_Necklace(ItemID.GOLD_BAR,ItemID.DRAGONSTONE,ItemID.DRAGON_NECKLACE,29229084), 28 | 29 | Gold_Amulet(ItemID.GOLD_BAR,ItemID.GOLD_AMULET_U,29229093), 30 | Sapphire_Amulet(ItemID.GOLD_BAR,ItemID.SAPPHIRE,ItemID.SAPPHIRE_AMULET_U,29229094), 31 | Emerald_Amulet(ItemID.GOLD_BAR,ItemID.EMERALD,ItemID.EMERALD_AMULET_U,29229095), 32 | Ruby_Amulet(ItemID.GOLD_BAR,ItemID.RUBY,ItemID.RUBY_AMULET_U,29229096), 33 | Diamond_Amulet(ItemID.GOLD_BAR,ItemID.DIAMOND,ItemID.DIAMOND_AMULET_U,29229097), 34 | Dragonstone_Amulet(ItemID.GOLD_BAR,ItemID.DRAGONSTONE,ItemID.DRAGONSTONE_AMULET_U,29229098), 35 | 36 | Gold_Bracelet(ItemID.GOLD_BAR,ItemID.GOLD_BRACELET_11069,29229106), 37 | Sapphire_Bracelet(ItemID.GOLD_BAR,ItemID.EMERALD,ItemID.SAPPHIRE_BRACELET,29229108), 38 | Emerald_Bracelet(ItemID.GOLD_BAR,ItemID.EMERALD,ItemID.EMERALD_BRACELET,29229109), 39 | Ruby_Bracelet(ItemID.GOLD_BAR,ItemID.RUBY,ItemID.RUBY_BRACELET,29229110), 40 | Diamond_Bracelet(ItemID.GOLD_BAR,ItemID.DIAMOND,ItemID.DIAMOND_BRACELET,29229111), 41 | Dragonstone_Bracelet(ItemID.GOLD_BAR,ItemID.DRAGONSTONE,ItemID.DRAGONSTONE_BRACELET,29229112), 42 | Opal_Bracelet(ItemID.SILVER_BAR,ItemID.OPAL,ItemID.OPAL_BRACELET,393235), 43 | Topaz_Bracelet(ItemID.SILVER_BAR,ItemID.RED_TOPAZ,ItemID.TOPAZ_BRACELET,393237), 44 | 45 | Bronze_Bar(ItemID.TIN_ORE,ItemID.COPPER_ORE,ItemID.BRONZE_BAR,17694734), 46 | Iron_Bar(ItemID.IRON_ORE,ItemID.IRON_BAR,17694736), 47 | Silver_Bar(ItemID.SILVER_ORE,ItemID.SILVER_BAR,17694737), 48 | Steel_Bar(ItemID.IRON_ORE,ItemID.COAL,ItemID.STEEL_BAR,17694738), 49 | Gold_Bar(ItemID.GOLD_ORE,ItemID.GOLD_BAR,17694739), 50 | Mithril_Bar(ItemID.MITHRIL_ORE,ItemID.COAL,ItemID.MITHRIL_BAR,17694740), 51 | Adamant_Bar(ItemID.ADAMANTITE_ORE,ItemID.COAL,ItemID.ADAMANTITE_BAR,17694741), 52 | Rune_Bar(ItemID.RUNITE_ORE,ItemID.COAL,ItemID.RUNITE_BAR,17694742); 53 | 54 | public int material; 55 | public int material2 = -1; //always set this as the X quantity as material will just withdraw all. 56 | public int product; 57 | public int opcode; 58 | 59 | 60 | CraftingMethods(int material, int product, int opcode) { 61 | this.material = material; 62 | this.product = product; 63 | this.opcode = opcode; 64 | } 65 | CraftingMethods(int material, int material2, int product, int opcode) { 66 | this.material = material; 67 | this.material2 = material2; 68 | this.product = product; 69 | this.opcode = opcode; 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /coxraidscouter/src/main/java/net/runelite/client/plugins/coxraidscouter/coxraidscouterconfig.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.coxraidscouter; 2 | 3 | import net.runelite.client.config.Config; 4 | import net.runelite.client.config.ConfigGroup; 5 | import net.runelite.client.config.ConfigItem; 6 | 7 | @ConfigGroup("coxraidscouter") 8 | public interface coxraidscouterconfig extends Config { 9 | @ConfigItem( 10 | position = 0, 11 | keyName = "requireRope", 12 | name = "Require rope", 13 | description = "RequireRope" 14 | ) 15 | default boolean requireRope() { 16 | return true; 17 | } 18 | 19 | @ConfigItem( 20 | position = 1, 21 | keyName = "requireoverload", 22 | name = "Require Overload", 23 | description = "Disable if you want a raid without overloads" 24 | ) 25 | default boolean requireOverload() { 26 | return true; 27 | } 28 | 29 | @ConfigItem( 30 | position = 2, 31 | keyName = "requireGoodCrabs", 32 | name = "Good Crabs", 33 | description = "Scouts for good crabs only(If crabs in raid)" 34 | ) 35 | default boolean requireGoodCrabs() { 36 | return true; 37 | } 38 | 39 | @ConfigItem( 40 | position = 3, 41 | keyName = "autoLeaveCC", 42 | name = "Auto Leave/Rejoin CC", 43 | description = "Automatically Leaves and rejoins cc if someone enters raid(Make sure to not start raid until bot has rejoined)" 44 | ) 45 | default boolean autoLeaveCC() { 46 | return true; 47 | } 48 | 49 | @ConfigItem( 50 | position = 4, 51 | keyName = "desiredRotationsToggle", 52 | name = "Enable Desired Rotations", 53 | description = "Enable Desired Rotations" 54 | ) 55 | default boolean desiredRotationsToggle() { 56 | return false; 57 | } 58 | 59 | @ConfigItem( 60 | position = 5, 61 | keyName = "desiredRotations", 62 | name = "Desired Rotations", 63 | description = "Input Desired rotations, formatted e.g [Tekton,Vasa,Guardians],[Vasa,Tekton,Vespula]" 64 | ) 65 | default String desiredRotations() { 66 | return ""; 67 | } 68 | 69 | @ConfigItem( 70 | position = 6, 71 | keyName = "blacklistedRooms", 72 | name = "Blacklisted Rooms", 73 | description = "Blacklisted rooms, separate with comma" 74 | ) 75 | default String blacklistedRooms() { 76 | return "Unknown (puzzle),Unknown (combat),Ice Demon,Vanguards"; 77 | } 78 | 79 | @ConfigItem( 80 | position = 7, 81 | keyName = "webhook", 82 | name = "Webhook", 83 | description = "Add Webhook URL" 84 | ) 85 | default String webhook() { 86 | return ""; 87 | } 88 | 89 | @ConfigItem( 90 | position = 8, 91 | keyName = "Notify", 92 | name = "Notify on raid found", 93 | description = "Sends system notification when a raid is found if enabled." 94 | ) 95 | default boolean Notify() { 96 | return true; 97 | } 98 | 99 | @ConfigItem( 100 | position = 8, 101 | keyName = "SendLayoutToCC", 102 | name = "Send layout to cc", 103 | description = "Sends the layout to cc when a raid is found." 104 | ) 105 | default boolean SendLayoutToCC() 106 | { 107 | return false; 108 | } 109 | 110 | @ConfigItem( 111 | position = 8, 112 | keyName = "RespondToLayoutRequest", 113 | name = "Respond to layout request", 114 | description = "Sends the layout to cc when someone types ?l in cc." 115 | ) 116 | default boolean RespondToLayoutRequest() 117 | { 118 | return true; 119 | } 120 | 121 | @ConfigItem( 122 | position = 9, 123 | keyName = "debugScouting", 124 | name = "Debug Scouting", 125 | description = "Displays reason for leaving raid in chat if unnacceptable" 126 | ) 127 | default boolean debugScouting() { 128 | return true; 129 | } 130 | 131 | @ConfigItem( 132 | position = 10, 133 | keyName = "5hHandler", 134 | name = "5h Handler", 135 | description = "Clicks through the 5h runescape login timer warning" 136 | ) 137 | default boolean fivehHandler() { 138 | return true; 139 | } 140 | 141 | @ConfigItem( 142 | position = 11, 143 | keyName = "timeout", 144 | name = "Start raid/Read board Timeout", 145 | description = "Increase this if the timeout is causing problems. Works fine for me on 2t but in case of lag I left the option in. Defaults to 3t" 146 | ) 147 | default int timeout() { 148 | return 3; 149 | } 150 | 151 | @ConfigItem( 152 | position = 12, 153 | keyName = "leavecctimeout", 154 | name = "Leave CC Timeout", 155 | description = "Timeout after leaving/rejoining CC on successful raid found. I Think this prevents a rare bug when you rejoin cc with 'raid started' message not showing while joining cc" 156 | ) 157 | default int leaveCCTimeout() { 158 | return 10; 159 | } 160 | } -------------------------------------------------------------------------------- /oneclickminnows/src/main/java/net/runelite/client/plugins/oneclickminnows/OneClickMinnowsPlugin.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.oneclickminnows; 2 | 3 | import com.google.inject.Inject; 4 | import lombok.extern.slf4j.Slf4j; 5 | import net.runelite.api.*; 6 | import net.runelite.api.events.ClientTick; 7 | import net.runelite.api.events.GameTick; 8 | import net.runelite.api.events.InteractingChanged; 9 | import net.runelite.api.events.MenuOptionClicked; 10 | import net.runelite.api.queries.NPCQuery; 11 | import net.runelite.client.eventbus.Subscribe; 12 | import net.runelite.client.plugins.Plugin; 13 | import net.runelite.client.plugins.PluginDescriptor; 14 | import org.pf4j.Extension; 15 | 16 | import java.util.Objects; 17 | 18 | @Extension 19 | @PluginDescriptor( 20 | name = "One Click Minnows", 21 | description = "...", 22 | tags = {"one", "click", "oneclick", "minnows"}, 23 | enabledByDefault = false 24 | ) 25 | @Slf4j 26 | public class OneClickMinnowsPlugin extends Plugin { 27 | private int FLYING_FISH_GRAPHIC_ID = 1387; 28 | private int FISHING_SPOT_1_ID = 7732; 29 | private int FISHING_SPOT_2_ID = 7733; 30 | private int TARGET_SPOT_ID = FISHING_SPOT_1_ID; 31 | private int timeout; 32 | NPC InteractingFishingSpot; 33 | 34 | @Inject 35 | private Client client; 36 | 37 | @Subscribe 38 | public void onGameTick(GameTick event) 39 | { 40 | if (timeout>0) 41 | { 42 | timeout--; 43 | } 44 | if (client.getLocalPlayer().getInteracting()!=null) 45 | { 46 | timeout=3; 47 | } 48 | } 49 | 50 | @Subscribe 51 | public void onMenuOptionClicked(MenuOptionClicked event) { 52 | if (event.getMenuOption().equals("One Click Minnows")) 53 | handleClick(event); 54 | } 55 | 56 | @Subscribe 57 | private void onClientTick(ClientTick event) { 58 | if (this.client.getLocalPlayer() == null || this.client.getGameState() != GameState.LOGGED_IN) 59 | { 60 | return; 61 | } 62 | String text= "One Click Minnows"; 63 | this.client.insertMenuItem(text, "", MenuAction.UNKNOWN 64 | .getId(), 0, 0, 0, true); 65 | } 66 | 67 | private void handleClick(MenuOptionClicked event) { 68 | if(((client.getLocalPlayer()).isMoving() 69 | ||client.getLocalPlayer().getPoseAnimation() 70 | !=client.getLocalPlayer().getIdlePoseAnimation())) 71 | { 72 | System.out.println("Consume event because not idle?"); 73 | event.consume(); 74 | return; 75 | } 76 | 77 | if (client.getLocalPlayer().getInteracting()!=null) 78 | { 79 | System.out.println("PLAYER IS INTERACTING WITH SOMETHING"); 80 | if ((client.getLocalPlayer()).getInteracting().getGraphic() == FLYING_FISH_GRAPHIC_ID && InteractingFishingSpot.getId() == TARGET_SPOT_ID) 81 | { 82 | if (TARGET_SPOT_ID == FISHING_SPOT_1_ID) 83 | { 84 | TARGET_SPOT_ID = FISHING_SPOT_2_ID; 85 | } 86 | else if (TARGET_SPOT_ID == FISHING_SPOT_2_ID) 87 | { 88 | TARGET_SPOT_ID = FISHING_SPOT_1_ID; 89 | } 90 | setMenuEntry(event,fishingSpotMES(TARGET_SPOT_ID)); 91 | return; 92 | } 93 | } 94 | if (timeout!=0) 95 | { 96 | event.consume(); 97 | return; 98 | } 99 | setMenuEntry(event,fishingSpotMES(TARGET_SPOT_ID)); 100 | } 101 | 102 | @Subscribe 103 | public void onInteractingChanged(InteractingChanged event) { 104 | if (event.getSource()!=client.getLocalPlayer()) { return; } 105 | if(!(event.getTarget() instanceof NPC)) { return; } 106 | 107 | InteractingFishingSpot = (NPC) event.getTarget(); 108 | } 109 | 110 | private MenuEntry fishingSpotMES(int id) { 111 | return createMenuEntry( 112 | getFishingSpot(id).getIndex(), 113 | MenuAction.NPC_FIRST_OPTION, 114 | getFishingSpotLocation(getFishingSpot(id)).getX(), 115 | getFishingSpotLocation(getFishingSpot(id)).getY(), 116 | false); 117 | } 118 | 119 | private Point getFishingSpotLocation(NPC npc) { 120 | return new Point(npc.getLocalLocation().getSceneX(),npc.getLocalLocation().getSceneY()); 121 | } 122 | 123 | private NPC getFishingSpot(int id) { 124 | return new NPCQuery() 125 | .idEquals(id) 126 | .result(client) 127 | .nearestTo(client.getLocalPlayer()); 128 | } 129 | 130 | public MenuEntry createMenuEntry(int identifier, MenuAction type, int param0, int param1, boolean forceLeftClick) { 131 | return client.createMenuEntry(0).setOption("").setTarget("").setIdentifier(identifier).setType(type) 132 | .setParam0(param0).setParam1(param1).setForceLeftClick(forceLeftClick); 133 | } 134 | 135 | private void setMenuEntry(MenuOptionClicked event, MenuEntry menuEntry){ 136 | event.setId(menuEntry.getIdentifier()); 137 | event.setMenuAction(menuEntry.getType()); 138 | event.setParam0(menuEntry.getParam0()); 139 | event.setParam1(menuEntry.getParam1()); 140 | } 141 | } 142 | -------------------------------------------------------------------------------- /oneclickcustom/src/main/java/net/runelite/client/plugins/oneclickcustom/oneClickCustomConfig.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.oneclickcustom; 2 | 3 | import net.runelite.client.config.*; 4 | 5 | @ConfigGroup("oneclickcustom") 6 | public interface oneClickCustomConfig extends Config { 7 | @ConfigSection( 8 | name = "Full Inventory", 9 | description = "Options for when inventory is full", 10 | position = 7, 11 | closedByDefault = true 12 | ) 13 | String inventoryFullSection = "Full Inventory"; 14 | 15 | @ConfigItem( 16 | position = 0, 17 | keyName = "oneClickType", 18 | name = "One Click Type", 19 | description = "Gather is for woodcutting mining etc." 20 | ) 21 | default oneClickCustomTypes.methods oneClickType() 22 | { 23 | return oneClickCustomTypes.methods.Gather; 24 | } 25 | 26 | @ConfigItem( 27 | position = 1, 28 | keyName = "IDs", 29 | name = "IDs", 30 | description = "Input game object or NPC(inc fishign) IDs. Separate with commas", 31 | hidden = true, 32 | unhide = "oneClickType", 33 | unhideValue = "Gather||Fish||Attack||Pickpocket||Pick_Up" 34 | ) 35 | default String IDs() 36 | { 37 | return ""; 38 | } 39 | @Range( 40 | min = 1, 41 | max = 5 42 | ) 43 | @ConfigItem( 44 | position = 100, 45 | keyName = "opcode", 46 | name = "Custom Opcode", 47 | description = "Useful in some cases where the first action isn't the one that you want", 48 | hidden = true, 49 | unhide = "oneClickType", 50 | unhideValue = "Gather||Fish" 51 | ) 52 | default int opcode() { 53 | return 1; 54 | } 55 | @ConfigItem( 56 | name = "Item on GameObject", 57 | keyName = "itemongameobjectstring", 58 | description = "Input item you wish to use on a gameobject(if multiple, will return then nearest from the list). First ID should be the item you wish to click in your inventory. Comma separate each value and separate each inventory ID item with a newline. See github.com/magnusrn/plugins readme for examples ", 59 | position = 2, 60 | hidden = true, 61 | unhide = "oneClickType", 62 | unhideValue = "Use_Item_On_X" 63 | ) 64 | default String itemOnGameObjectString() 65 | { 66 | return ""; 67 | } 68 | 69 | @ConfigItem( 70 | name = "Item on NPC", 71 | keyName = "itemonnpcstring", 72 | description = "Input item you wish to use on an NPC(if multiple, will return then nearest from the list). First ID should be the item you wish to click in your inventory. Comma separate each value and separate each inventory ID item with a newline. See github.com/magnusrn/plugins readme for examples ", 73 | position = 3, 74 | hidden = true, 75 | unhide = "oneClickType", 76 | unhideValue = "Use_Item_On_X" 77 | ) 78 | default String itemOnNpcString() 79 | { 80 | return ""; 81 | } 82 | 83 | @ConfigItem( 84 | position = 4, 85 | keyName = "consumeClick", 86 | name = "Consume Click", 87 | description = "Consumes click if player is not idle", 88 | hidden = true, 89 | unhide = "oneClickType", 90 | unhideValue = "Gather||Fish||Attack||Pick_Up" 91 | ) 92 | default boolean consumeClick() { 93 | return true; 94 | } 95 | 96 | @ConfigItem( 97 | position = 5, 98 | keyName = "InventoryFull", 99 | name = "Disable", 100 | description = "Disable on full invent", 101 | section = inventoryFullSection, 102 | hidden = true, 103 | unhide = "oneClickType", 104 | unhideValue = "Gather||Fish||Pickpocket||Pick_Up" 105 | ) 106 | default boolean InventoryFull() { 107 | return true; 108 | } 109 | 110 | @ConfigItem( 111 | position = 6, 112 | keyName = "Bank", 113 | name = "Bank", 114 | description = "Bank if full inventory and deposit all", 115 | section = inventoryFullSection, 116 | hidden = true, 117 | unhide = "oneClickType", 118 | unhideValue = "Gather||Fish||PickPocket||Pick_Up" 119 | ) 120 | default boolean Bank() { 121 | return false; 122 | } 123 | 124 | @ConfigItem( 125 | position = 7, 126 | keyName = "bankType", 127 | name = "Bank Type", 128 | description = "Choose", 129 | section = inventoryFullSection, 130 | hidden = true, 131 | unhide = "oneClickType", 132 | unhideValue = "Gather||Fish||PickPocket||Pick_Up" 133 | ) 134 | default oneClickCustomTypes.bankTypes bankType() { return oneClickCustomTypes.bankTypes.NPC; } 135 | 136 | @ConfigItem( 137 | position = 8, 138 | keyName = "bankID", 139 | name = "Bank ID", 140 | description = "Input bank ID, supports chests or NPCs", 141 | section = inventoryFullSection, 142 | hidden = true, 143 | unhide = "oneClickType", 144 | unhideValue = "Gather||Fish||PickPocket||Pick_Up" 145 | ) 146 | default int bankID() 147 | { 148 | return 0; 149 | } 150 | 151 | @ConfigItem( 152 | position = 9, 153 | keyName = "withinTiles", 154 | name = "Distance Radius", 155 | description = "Search for objects within how many tiles" 156 | ) 157 | default int withinTiles() 158 | { 159 | return 100; 160 | } 161 | } -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | # 4 | # Copyright 2015 the original author or authors. 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); 7 | # you may not use this file except in compliance with the License. 8 | # You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | ############################################################################## 20 | ## 21 | ## Gradle start up script for UN*X 22 | ## 23 | ############################################################################## 24 | 25 | # Attempt to set APP_HOME 26 | # Resolve links: $0 may be a link 27 | PRG="$0" 28 | # Need this for relative symlinks. 29 | while [ -h "$PRG" ] ; do 30 | ls=`ls -ld "$PRG"` 31 | link=`expr "$ls" : '.*-> \(.*\)$'` 32 | if expr "$link" : '/.*' > /dev/null; then 33 | PRG="$link" 34 | else 35 | PRG=`dirname "$PRG"`"/$link" 36 | fi 37 | done 38 | SAVED="`pwd`" 39 | cd "`dirname \"$PRG\"`/" >/dev/null 40 | APP_HOME="`pwd -P`" 41 | cd "$SAVED" >/dev/null 42 | 43 | APP_NAME="Gradle" 44 | APP_BASE_NAME=`basename "$0"` 45 | 46 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 47 | DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' 48 | 49 | # Use the maximum available, or set MAX_FD != -1 to use that value. 50 | MAX_FD="maximum" 51 | 52 | warn () { 53 | echo "$*" 54 | } 55 | 56 | die () { 57 | echo 58 | echo "$*" 59 | echo 60 | exit 1 61 | } 62 | 63 | # OS specific support (must be 'true' or 'false'). 64 | cygwin=false 65 | msys=false 66 | darwin=false 67 | nonstop=false 68 | case "`uname`" in 69 | CYGWIN* ) 70 | cygwin=true 71 | ;; 72 | Darwin* ) 73 | darwin=true 74 | ;; 75 | MINGW* ) 76 | msys=true 77 | ;; 78 | NONSTOP* ) 79 | nonstop=true 80 | ;; 81 | esac 82 | 83 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar 84 | 85 | # Determine the Java command to use to start the JVM. 86 | if [ -n "$JAVA_HOME" ] ; then 87 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 88 | # IBM's JDK on AIX uses strange locations for the executables 89 | JAVACMD="$JAVA_HOME/jre/sh/java" 90 | else 91 | JAVACMD="$JAVA_HOME/bin/java" 92 | fi 93 | if [ ! -x "$JAVACMD" ] ; then 94 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME 95 | 96 | Please set the JAVA_HOME variable in your environment to match the 97 | location of your Java installation." 98 | fi 99 | else 100 | JAVACMD="java" 101 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 102 | 103 | Please set the JAVA_HOME variable in your environment to match the 104 | location of your Java installation." 105 | fi 106 | 107 | # Increase the maximum file descriptors if we can. 108 | if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then 109 | MAX_FD_LIMIT=`ulimit -H -n` 110 | if [ $? -eq 0 ] ; then 111 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then 112 | MAX_FD="$MAX_FD_LIMIT" 113 | fi 114 | ulimit -n $MAX_FD 115 | if [ $? -ne 0 ] ; then 116 | warn "Could not set maximum file descriptor limit: $MAX_FD" 117 | fi 118 | else 119 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" 120 | fi 121 | fi 122 | 123 | # For Darwin, add options to specify how the application appears in the dock 124 | if $darwin; then 125 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" 126 | fi 127 | 128 | # For Cygwin or MSYS, switch paths to Windows format before running java 129 | if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then 130 | APP_HOME=`cygpath --path --mixed "$APP_HOME"` 131 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` 132 | JAVACMD=`cygpath --unix "$JAVACMD"` 133 | 134 | # We build the pattern for arguments to be converted via cygpath 135 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` 136 | SEP="" 137 | for dir in $ROOTDIRSRAW ; do 138 | ROOTDIRS="$ROOTDIRS$SEP$dir" 139 | SEP="|" 140 | done 141 | OURCYGPATTERN="(^($ROOTDIRS))" 142 | # Add a user-defined pattern to the cygpath arguments 143 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then 144 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" 145 | fi 146 | # Now convert the arguments - kludge to limit ourselves to /bin/sh 147 | i=0 148 | for arg in "$@" ; do 149 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` 150 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option 151 | 152 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition 153 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` 154 | else 155 | eval `echo args$i`="\"$arg\"" 156 | fi 157 | i=`expr $i + 1` 158 | done 159 | case $i in 160 | 0) set -- ;; 161 | 1) set -- "$args0" ;; 162 | 2) set -- "$args0" "$args1" ;; 163 | 3) set -- "$args0" "$args1" "$args2" ;; 164 | 4) set -- "$args0" "$args1" "$args2" "$args3" ;; 165 | 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; 166 | 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; 167 | 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; 168 | 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; 169 | 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; 170 | esac 171 | fi 172 | 173 | # Escape application args 174 | save () { 175 | for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done 176 | echo " " 177 | } 178 | APP_ARGS=`save "$@"` 179 | 180 | # Collect all arguments for the java command, following the shell quoting and substitution rules 181 | eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" 182 | 183 | exec "$JAVACMD" "$@" 184 | -------------------------------------------------------------------------------- /oneclicktelegrab/src/main/java/net/runelite/client/plugins/oneclicktelegrab/OneClickTelegrabPlugin.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.oneclicktelegrab; 2 | 3 | import com.google.inject.Inject; 4 | import com.google.inject.Provides; 5 | import net.runelite.api.*; 6 | import net.runelite.api.events.*; 7 | import net.runelite.api.queries.GameObjectQuery; 8 | import net.runelite.api.queries.GroundObjectQuery; 9 | import net.runelite.api.widgets.Widget; 10 | import net.runelite.api.widgets.WidgetInfo; 11 | import net.runelite.client.config.ConfigManager; 12 | import net.runelite.client.eventbus.Subscribe; 13 | import net.runelite.client.plugins.Plugin; 14 | import net.runelite.client.plugins.PluginDescriptor; 15 | import org.pf4j.Extension; 16 | import java.util.ArrayList; 17 | import java.util.List; 18 | 19 | @Extension 20 | @PluginDescriptor( 21 | name = "One Click Telegrab(Wines)", 22 | description = "Left click Telekinetic Grab for Wines of Zamorak in the wilderness", 23 | tags = {"one", "click", "oneclick", "telegrab", "wine"} 24 | ) 25 | public class OneClickTelegrabPlugin extends Plugin { 26 | 27 | @Inject 28 | private Client client; 29 | 30 | @Inject 31 | private OneClickTelegrabConfig config; 32 | 33 | @Provides 34 | OneClickTelegrabConfig getConfig(ConfigManager configManager) 35 | { 36 | return configManager.getConfig(OneClickTelegrabConfig.class); 37 | } 38 | 39 | private final int WINE_OF_ZAMORAK_WILDERNESS_ID = 23489; 40 | private final int WINE_OF_ZAMORAK_FALADOR_ID = 245; 41 | private final int MYSTERIOUS_POOL_ID = 30395; 42 | List GroundItems = new ArrayList<>(); 43 | 44 | 45 | @Subscribe 46 | private void onClientTick(ClientTick event) { 47 | if (this.client.getLocalPlayer() == null || this.client.getGameState() != GameState.LOGGED_IN) 48 | return; 49 | if (!config.TrueOneClick()) 50 | { 51 | return; 52 | } 53 | String text = "One Click Telegrab"; 54 | this.client.insertMenuItem(text, "", MenuAction.UNKNOWN 55 | .getId(), 0, 0, 0, true); 56 | } 57 | 58 | @Subscribe 59 | public void onMenuEntryAdded(MenuEntryAdded event) 60 | { 61 | if (event.getTarget().contains("Wine of zamorak") && 62 | event.getOption().contains("Take")) 63 | { 64 | event.setOption("Telegrab"); 65 | event.setModified(); 66 | } 67 | } 68 | 69 | @Subscribe 70 | public void onMenuOptionClicked(MenuOptionClicked event) throws InterruptedException { 71 | if (config.ConsumeClicks() && getNearestTileItem(GroundItems)==null) 72 | { 73 | event.consume(); 74 | } 75 | if (event.getMenuOption().contains("Telegrab") && event.getMenuTarget().contains("Wine of zamorak")) 76 | { 77 | handleClick(event); 78 | } 79 | else if (config.TrueOneClick()) 80 | { 81 | handleClick(event); 82 | } 83 | } 84 | 85 | private void handleClick(MenuOptionClicked event) { 86 | final Widget widget = client.getWidget(WidgetInfo.SPELL_TELEKINETIC_GRAB); 87 | client.setSelectedSpellName("" + "Telekinetic Grab" + ""); 88 | client.setSelectedSpellWidget(widget.getId()); 89 | client.setSelectedSpellChildIndex(-1); 90 | if (telegrabMES()!=null) 91 | { 92 | event.setMenuEntry(telegrabMES()); 93 | } 94 | } 95 | 96 | private MenuEntry telegrabMES() { 97 | if (!GroundItems.isEmpty()) { 98 | TileItem tileItem = getNearestTileItem(GroundItems); 99 | return createMenuEntry( 100 | getWineID(), 101 | MenuAction.WIDGET_TARGET_ON_GROUND_ITEM, 102 | tileItem.getTile().getSceneLocation().getX(), 103 | tileItem.getTile().getSceneLocation().getY(), 104 | false); 105 | } 106 | return null; 107 | } 108 | 109 | @Subscribe 110 | private void onItemSpawned(ItemSpawned event) 111 | { 112 | for (TileItem item : GroundItems) 113 | { 114 | if (item.getTile() == event.getTile()) //Don't add if tile already exists, prevents doubling when crossing loading lines 115 | { 116 | return; 117 | } 118 | } 119 | if (event.getItem().getId()==getWineID()) 120 | { 121 | GroundItems.add(event.getItem()); 122 | } 123 | } 124 | 125 | @Subscribe 126 | public void onGameStateChanged(GameStateChanged event) 127 | { 128 | GroundItems.clear(); 129 | } 130 | 131 | @Override 132 | protected void startUp() throws Exception 133 | { 134 | GroundItems.clear(); 135 | } 136 | 137 | @Subscribe 138 | private void onItemDespawned(ItemDespawned event) 139 | { 140 | if (event.getItem().getId()==getWineID()) 141 | { 142 | GroundItems.remove(event.getItem()); 143 | } 144 | } 145 | 146 | private TileItem getNearestTileItem(List tileItems) 147 | { 148 | int currentDistance; 149 | if (tileItems.size()==0 || tileItems.get(0) == null) 150 | { 151 | return null; 152 | } 153 | TileItem closestTileItem = tileItems.get(0); 154 | int closestDistance = closestTileItem.getTile().getWorldLocation().distanceTo(client.getLocalPlayer().getWorldLocation()); 155 | for (TileItem tileItem : tileItems) 156 | { 157 | currentDistance = tileItem.getTile().getWorldLocation().distanceTo(client.getLocalPlayer().getWorldLocation()); 158 | if (currentDistance < closestDistance) 159 | { 160 | closestTileItem = tileItem; 161 | closestDistance = currentDistance; 162 | } 163 | } 164 | return closestTileItem; 165 | } 166 | 167 | private int getWineID() { //returns true if the mysterious pool(well) beside the wilderness wine spot is visible 168 | GameObject MYSTERIOUS_POOL = new GameObjectQuery() 169 | .idEquals(MYSTERIOUS_POOL_ID) 170 | .result(client) 171 | .nearestTo(client.getLocalPlayer()); 172 | if (MYSTERIOUS_POOL!=null) 173 | { 174 | return WINE_OF_ZAMORAK_WILDERNESS_ID; 175 | } 176 | return WINE_OF_ZAMORAK_FALADOR_ID; 177 | } 178 | 179 | public MenuEntry createMenuEntry(int identifier, MenuAction type, int param0, int param1, boolean forceLeftClick) { 180 | return client.createMenuEntry(0).setOption("").setTarget("").setIdentifier(identifier).setType(type) 181 | .setParam0(param0).setParam1(param1).setForceLeftClick(forceLeftClick); 182 | } 183 | } -------------------------------------------------------------------------------- /oneclickaerialfishing/src/main/java/net/runelite/client/plugins/oneclickaerialfishing/OneClickAerialFishingPlugin.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.oneclickaerialfishing; 2 | 3 | import com.google.inject.Inject; 4 | import net.runelite.api.*; 5 | import net.runelite.api.events.ClientTick; 6 | import net.runelite.api.events.MenuOptionClicked; 7 | import net.runelite.api.queries.NPCQuery; 8 | import net.runelite.api.widgets.Widget; 9 | import net.runelite.api.widgets.WidgetInfo; 10 | import net.runelite.api.widgets.WidgetItem; 11 | import net.runelite.client.eventbus.Subscribe; 12 | import net.runelite.client.plugins.Plugin; 13 | import net.runelite.client.plugins.PluginDescriptor; 14 | import org.pf4j.Extension; 15 | 16 | import java.util.ArrayList; 17 | import java.util.Arrays; 18 | import java.util.Collection; 19 | import java.util.List; 20 | 21 | @Extension 22 | @PluginDescriptor( 23 | name = "One Click Aerial Fishing", 24 | description = "Ensure some form of bait is in invent, either worms or fish chunks and a knife. If there's no knife it will just drop the fish.", 25 | tags = {"one", "click", "tench", "fishing","aerial","arial"}, 26 | enabledByDefault = false 27 | ) 28 | public class OneClickAerialFishingPlugin extends Plugin { 29 | 30 | private static final int TENCH_FISHING_SPOT_NPC_ID = 8523; 31 | private static final List LIST_OF_FISH_IDS= Arrays.asList(22826, 22829, 22832,22835); 32 | private static boolean shouldCut = false; 33 | 34 | @Inject 35 | private Client client; 36 | 37 | @Subscribe 38 | public void onMenuOptionClicked(MenuOptionClicked event) 39 | { 40 | if(event.getMenuOption().equals("One Click Aerial Fishing")) 41 | { 42 | handleClick(event); 43 | } 44 | } 45 | 46 | @Subscribe 47 | private void onClientTick(ClientTick event) { 48 | if (this.client.getLocalPlayer() == null || this.client.getGameState() != GameState.LOGGED_IN) 49 | { 50 | return; 51 | } 52 | String text = "One Click Aerial Fishing"; 53 | this.client.insertMenuItem(text, "", MenuAction.UNKNOWN 54 | .getId(), 0, 0, 0, true); 55 | } 56 | 57 | private void handleClick(MenuOptionClicked event) 58 | { 59 | if (getEmptySlots()>0 60 | && ((getLastInventoryItem(ItemID.KING_WORM)!=null)||(getLastInventoryItem(ItemID.FISH_CHUNKS)!=null)) //if bait exists 61 | && !shouldCut) 62 | { 63 | event.setMenuEntry(catchFishMenuEntry()); 64 | return; 65 | } 66 | else 67 | { 68 | shouldCut = true; 69 | } 70 | //if space in inventory then fish, else cut // add check for bait! 71 | 72 | for (int fish:LIST_OF_FISH_IDS) 73 | { 74 | if (getLastInventoryItem(fish)!=null) 75 | { 76 | if (getLastInventoryItem(ItemID.KNIFE)==null) 77 | { 78 | event.setMenuEntry(dropFishMenuEntry(getLastInventoryItem(fish))); 79 | return; 80 | } 81 | client.setSelectedSpellWidget(WidgetInfo.INVENTORY.getId()); //idk why the naming but this works :s 82 | client.setSelectedSpellChildIndex(getLastInventoryItem(ItemID.KNIFE).getIndex()); 83 | client.setSelectedSpellItemId(ItemID.KNIFE); 84 | event.setMenuEntry(useKnifeOnFishMenuEntry(getLastInventoryItem(fish))); 85 | return; 86 | } 87 | } 88 | shouldCut=false; 89 | } 90 | 91 | private Widget getLastInventoryItem(int id) { 92 | Widget inventoryWidget = client.getWidget(WidgetInfo.INVENTORY); 93 | if (inventoryWidget!=null && !inventoryWidget.isHidden()) 94 | { 95 | return getLastWidgetItem(inventoryWidget,id); 96 | } 97 | return null; 98 | } 99 | 100 | private Widget getLastWidgetItem(Widget widget,int id) { 101 | return Arrays.stream(widget.getDynamicChildren()) 102 | .filter(item -> item.getItemId()==id) 103 | .reduce((first, second) -> second) 104 | .orElse(null); 105 | } 106 | 107 | private int getEmptySlots() { 108 | Widget inventory = client.getWidget(WidgetInfo.INVENTORY.getId()); 109 | Widget bankInventory = client.getWidget(WidgetInfo.BANK_INVENTORY_ITEMS_CONTAINER.getId()); 110 | 111 | if (inventory!=null && !inventory.isHidden() 112 | && inventory.getDynamicChildren()!=null) 113 | { 114 | List inventoryItems = Arrays.asList(client.getWidget(WidgetInfo.INVENTORY.getId()).getDynamicChildren()); 115 | return (int) inventoryItems.stream().filter(item -> item.getItemId() == 6512).count(); 116 | } 117 | 118 | if (bankInventory!=null && !bankInventory.isHidden() 119 | && bankInventory.getDynamicChildren()!=null) 120 | { 121 | List inventoryItems = Arrays.asList(client.getWidget(WidgetInfo.BANK_INVENTORY_ITEMS_CONTAINER.getId()).getDynamicChildren()); 122 | return (int) inventoryItems.stream().filter(item -> item.getItemId() == 6512).count(); 123 | } 124 | return -1; 125 | } 126 | 127 | private MenuEntry useKnifeOnFishMenuEntry(Widget Fish){ 128 | return createMenuEntry( 129 | 0, 130 | MenuAction.WIDGET_TARGET_ON_WIDGET, 131 | Fish.getIndex(), 132 | 9764864, 133 | false); 134 | } 135 | 136 | private MenuEntry dropFishMenuEntry(Widget Fish){ 137 | return createMenuEntry( 138 | 7, 139 | MenuAction.CC_OP_LOW_PRIORITY, 140 | Fish.getIndex(), 141 | 9764864, 142 | false); 143 | } 144 | 145 | private MenuEntry catchFishMenuEntry(){ 146 | NPC FishingSpot = getFishingSpot(); 147 | return createMenuEntry( 148 | FishingSpot.getIndex(), 149 | MenuAction.NPC_FIRST_OPTION, 150 | getNPCLocation(FishingSpot).getX(), 151 | getNPCLocation(FishingSpot).getY(), 152 | true); 153 | } 154 | 155 | private NPC getFishingSpot() 156 | { 157 | return new NPCQuery() 158 | .idEquals(TENCH_FISHING_SPOT_NPC_ID) 159 | .result(client) 160 | .nearestTo(client.getLocalPlayer()); 161 | } 162 | 163 | private Point getNPCLocation(NPC npc) 164 | { 165 | return new Point(npc.getLocalLocation().getSceneX(),npc.getLocalLocation().getSceneY()); 166 | } 167 | 168 | public MenuEntry createMenuEntry(int identifier, MenuAction type, int param0, int param1, boolean forceLeftClick) { 169 | return client.createMenuEntry(0).setOption("").setTarget("").setIdentifier(identifier).setType(type) 170 | .setParam0(param0).setParam1(param1).setForceLeftClick(forceLeftClick); 171 | } 172 | 173 | private void printLineNumber() { 174 | System.out.println("LINE - " + Thread.currentThread().getStackTrace()[2].getLineNumber()); 175 | } 176 | } -------------------------------------------------------------------------------- /oneclickteaks/src/main/java/net/runelite/client/plugins/oneclickteaks/OneClickTeaksPlugin.java: -------------------------------------------------------------------------------- 1 | package net.runelite.client.plugins.oneclickteaks; 2 | 3 | import com.google.inject.Inject; 4 | import com.google.inject.Provides; 5 | import net.runelite.api.*; 6 | import net.runelite.api.coords.WorldArea; 7 | import net.runelite.api.coords.WorldPoint; 8 | import net.runelite.api.events.ClientTick; 9 | import net.runelite.api.events.MenuOptionClicked; 10 | import net.runelite.api.queries.GameObjectQuery; 11 | import net.runelite.api.widgets.Widget; 12 | import net.runelite.api.widgets.WidgetInfo; 13 | import net.runelite.client.config.ConfigManager; 14 | import net.runelite.client.eventbus.Subscribe; 15 | import net.runelite.client.plugins.Plugin; 16 | import net.runelite.client.plugins.PluginDescriptor; 17 | import org.pf4j.Extension; 18 | 19 | import java.util.ArrayList; 20 | import java.util.Arrays; 21 | import java.util.HashMap; 22 | import java.util.List; 23 | 24 | @Extension 25 | @PluginDescriptor( 26 | name = "One Click Teaks/Mahoganys", 27 | description = "Cuts and banks teaks/mahoganys at Fossil Island.", 28 | tags = {"one", "click", "oneclick", "teaks", "fossil", "island","mahogany"} 29 | ) 30 | public class OneClickTeaksPlugin extends Plugin { 31 | 32 | private final int BIRD_NEST_WITH_SEEDS = 22798; 33 | 34 | @Inject 35 | private Client client; 36 | 37 | @Inject 38 | private OneClickTeaksConfig config; 39 | 40 | 41 | @Provides 42 | OneClickTeaksConfig provideConfig(ConfigManager configManager) 43 | { 44 | return configManager.getConfig(OneClickTeaksConfig.class); 45 | } 46 | 47 | @Subscribe 48 | private void onClientTick(ClientTick event) { 49 | 50 | if (this.client.getLocalPlayer() == null || this.client.getGameState() != GameState.LOGGED_IN) 51 | { 52 | return; 53 | } 54 | 55 | String text = "One Click Teaks/Mahoganys"; 56 | this.client.insertMenuItem(text, "", MenuAction.UNKNOWN 57 | .getId(), 0, 0, 0, true); 58 | //Ethan Vann the goat. Allows for left clicking anywhere when bank open instead of withdraw/deposit taking priority 59 | this.client.setTempMenuEntry(Arrays.stream(client.getMenuEntries()).filter(x->x.getOption().equals(text)).findFirst().orElse(null)); 60 | } 61 | 62 | 63 | @Subscribe 64 | public void onMenuOptionClicked(MenuOptionClicked event) throws InterruptedException { 65 | 66 | if((client.getLocalPlayer().getAnimation()!=-1|| client.getLocalPlayer().isMoving()) && config.consumeClicks()) 67 | { 68 | event.consume(); 69 | } 70 | if (event.getMenuOption().equals("One Click Teaks/Mahoganys")) 71 | { 72 | handleClick(event); 73 | } 74 | } 75 | 76 | private void handleClick(MenuOptionClicked event) { 77 | System.out.println(getEmptySlots()); 78 | if (isSouthOfShortcut()) 79 | { 80 | if (getEmptySlots()==0) 81 | { 82 | if (bankOpen()) 83 | { 84 | event.setMenuEntry(depositAllMenuEntry()); 85 | return; 86 | } 87 | event.setMenuEntry(getBankMenuEntry()); 88 | return; 89 | } 90 | event.setMenuEntry(southToNorthShortcutMenuEntry()); 91 | } 92 | 93 | else if (isNorthOfShortcut()) 94 | { 95 | if (getEmptySlots()==0) 96 | { 97 | event.setMenuEntry(northToSouthShortcutMenuEntry()); 98 | return; 99 | } 100 | event.setMenuEntry(cutTreeMenuEntry()); 101 | } 102 | } 103 | 104 | private MenuEntry depositAllMenuEntry(){ 105 | return createMenuEntry(1, MenuAction.CC_OP, -1, WidgetInfo.BANK_DEPOSIT_INVENTORY.getId(),true); 106 | } 107 | 108 | private MenuEntry southToNorthShortcutMenuEntry(){ 109 | return createMenuEntry(31481, MenuAction.GAME_OBJECT_FIRST_OPTION, getLocation(getGameObject(31481)).getX(), getLocation(getGameObject(31481)).getY(), false); 110 | } 111 | 112 | private MenuEntry northToSouthShortcutMenuEntry(){ 113 | return createMenuEntry(31482, MenuAction.GAME_OBJECT_FIRST_OPTION, getLocation(getGameObject(31482)).getX(), getLocation(getGameObject(31482)).getY(), false); 114 | } 115 | 116 | private MenuEntry cutTreeMenuEntry(){ 117 | GameObject tree = getTree(); 118 | return createMenuEntry(tree.getId(), MenuAction.GAME_OBJECT_FIRST_OPTION, getLocation(tree).getX(), getLocation(tree).getY(), false); 119 | } 120 | 121 | private MenuEntry getBankMenuEntry(){ 122 | return createMenuEntry(31427, MenuAction.GAME_OBJECT_FIRST_OPTION, getLocation(getGameObject(31427)).getX(), getLocation(getGameObject(31427)).getY(), false); 123 | } 124 | 125 | public int getEmptySlots() { 126 | Widget inventory = client.getWidget(WidgetInfo.INVENTORY.getId()); 127 | Widget bankInventory = client.getWidget(WidgetInfo.BANK_INVENTORY_ITEMS_CONTAINER.getId()); 128 | 129 | if (inventory!=null && !inventory.isHidden() 130 | && inventory.getDynamicChildren()!=null) 131 | { 132 | List inventoryItems = Arrays.asList(client.getWidget(WidgetInfo.INVENTORY.getId()).getDynamicChildren()); 133 | return (int) inventoryItems.stream().filter(item -> item.getItemId() == 6512).count(); 134 | } 135 | 136 | if (bankInventory!=null && !bankInventory.isHidden() 137 | && bankInventory.getDynamicChildren()!=null) 138 | { 139 | List inventoryItems = Arrays.asList(client.getWidget(WidgetInfo.BANK_INVENTORY_ITEMS_CONTAINER.getId()).getDynamicChildren()); 140 | return (int) inventoryItems.stream().filter(item -> item.getItemId() == 6512).count(); 141 | } 142 | return -1; 143 | } 144 | 145 | private GameObject getGameObject(int ID) { 146 | return new GameObjectQuery() 147 | .idEquals(ID) 148 | .result(client) 149 | .nearestTo(client.getLocalPlayer()); 150 | } 151 | 152 | private GameObject getTree() 153 | { 154 | HashMap Trees = new HashMap(); //game object ID as key, tree felled varbit as value. value of 0 is choppable. 155 | Trees.put(30481,4957); // 156 | Trees.put(30480,4955); 157 | Trees.put(30482,4953); 158 | 159 | List ChoppableTrees = new ArrayList<>(); 160 | 161 | for (Integer gameObjectID : Trees.keySet()) { 162 | if (client.getVarbitValue(Trees.get(gameObjectID))==0 || client.getVarbitValue(Trees.get(gameObjectID))==7) //7 is if mahogany is planted 163 | { 164 | ChoppableTrees.add(gameObjectID); 165 | } 166 | } 167 | 168 | return new GameObjectQuery() 169 | .idEquals(ChoppableTrees) 170 | .result(client) 171 | .nearestTo(client.getLocalPlayer()); 172 | } 173 | 174 | private Point getLocation(TileObject tileObject) { 175 | if (tileObject == null) { 176 | return new Point(0, 0); 177 | } 178 | if (tileObject instanceof GameObject) { 179 | return ((GameObject) tileObject).getSceneMinLocation(); 180 | } 181 | return new Point(tileObject.getLocalLocation().getSceneX(), tileObject.getLocalLocation().getSceneY()); 182 | } 183 | 184 | private boolean isNorthOfShortcut(){ 185 | WorldPoint DARK_ALTAR_SW_POINT = new WorldPoint(3692,3823,0); 186 | WorldPoint DARK_ALTAR_NE_POINT = new WorldPoint(3726,3845,0); 187 | WorldArea DARK_ALTAR_AREA = new WorldArea(DARK_ALTAR_SW_POINT,DARK_ALTAR_NE_POINT); 188 | 189 | return (client.getLocalPlayer().getWorldLocation().isInArea(DARK_ALTAR_AREA)); 190 | } 191 | 192 | private boolean isSouthOfShortcut(){ 193 | WorldPoint SW_POINT = new WorldPoint(3699,3795,0); 194 | WorldPoint NE_POINT = new WorldPoint(3747,3821,0); 195 | WorldArea SOUTH_AREA = new WorldArea(SW_POINT,NE_POINT); 196 | 197 | return (client.getLocalPlayer().getWorldLocation().isInArea(SOUTH_AREA)); 198 | } 199 | 200 | private boolean bankOpen() { 201 | return client.getItemContainer(InventoryID.BANK) != null; 202 | } 203 | 204 | public MenuEntry createMenuEntry(int identifier, MenuAction type, int param0, int param1, boolean forceLeftClick) { 205 | return client.createMenuEntry(0).setOption("").setTarget("").setIdentifier(identifier).setType(type) 206 | .setParam0(param0).setParam1(param1).setForceLeftClick(forceLeftClick); 207 | } 208 | } 209 | -------------------------------------------------------------------------------- /oneclicksandstone/src/main/java/net/runelite/client/plugins/oneclicksandstone/OneClickSandstonePlugin.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, jkybtw 3 | * Copyright (c) 2019, openosrs 4 | * Copyright (c) 2019, kyle 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * 1. Redistributions of source code must retain the above copyright notice, this 11 | * list of conditions and the following disclaimer. 12 | * 2. Redistributions in binary form must reproduce the above copyright notice, 13 | * this list of conditions and the following disclaimer in the documentation 14 | * and/or other materials provided with the distribution. 15 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 16 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 19 | * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 21 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 22 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 24 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 | */ 26 | package net.runelite.client.plugins.oneclicksandstone; 27 | 28 | import java.util.*; 29 | import javax.annotation.Nullable; 30 | import javax.inject.Inject; 31 | 32 | import com.google.inject.Provides; 33 | import lombok.extern.slf4j.Slf4j; 34 | import net.runelite.api.*; 35 | import net.runelite.api.coords.WorldArea; 36 | import net.runelite.api.coords.WorldPoint; 37 | import net.runelite.api.events.ClientTick; 38 | import net.runelite.api.events.MenuOptionClicked; 39 | import net.runelite.api.queries.GameObjectQuery; 40 | import net.runelite.api.widgets.Widget; 41 | import net.runelite.api.widgets.WidgetInfo; 42 | import net.runelite.api.widgets.WidgetItem; 43 | import net.runelite.client.config.ConfigManager; 44 | import net.runelite.client.eventbus.Subscribe; 45 | import net.runelite.client.events.ConfigChanged; 46 | import net.runelite.client.plugins.Plugin; 47 | import net.runelite.client.plugins.PluginDescriptor; 48 | import net.runelite.client.util.GameEventManager; 49 | import org.pf4j.Extension; 50 | 51 | @Extension 52 | @PluginDescriptor( 53 | name = "One Click Sandstone", 54 | enabledByDefault = false, 55 | description = "Mines Sand, deposits into grinder and casts humidify if needed. Hardcoded to consume clicks with rune pickaxe or dragon pickaxe. credit TP") 56 | @Slf4j 57 | public class OneClickSandstonePlugin extends Plugin { 58 | 59 | @Inject 60 | private Client client; 61 | 62 | @Inject 63 | private OneClickSandstoneConfig config; 64 | 65 | @Provides 66 | OneClickSandstoneConfig getConfig(ConfigManager configManager) 67 | { 68 | return configManager.getConfig(OneClickSandstoneConfig.class); 69 | } 70 | 71 | @Subscribe 72 | public void onMenuOptionClicked(MenuOptionClicked event) { 73 | if (event.getMenuOption().equals("One Click Sandstone")) 74 | handleClick(event); 75 | } 76 | 77 | @Subscribe 78 | private void onClientTick(ClientTick event) { 79 | if (this.client.getLocalPlayer() == null || this.client.getGameState() != GameState.LOGGED_IN) 80 | return; 81 | 82 | String text = "One Click Sandstone"; 83 | this.client.insertMenuItem(text, "", MenuAction.UNKNOWN 84 | .getId(), 0, 0, 0, true); 85 | } 86 | 87 | private void handleClick(MenuOptionClicked event) { 88 | if(client.getLocalPlayer().isMoving() 89 | ||client.getLocalPlayer().getPoseAnimation() 90 | != client.getLocalPlayer().getIdlePoseAnimation() 91 | || client.getLocalPlayer().getAnimation() == AnimationID.MINING_RUNE_PICKAXE 92 | || client.getLocalPlayer().getAnimation() == AnimationID.MINING_DRAGON_PICKAXE) 93 | { 94 | event.consume(); 95 | } 96 | if (getEmptySlots() == 0) 97 | { 98 | event.setMenuEntry(depositGrinderMenuEntry()); 99 | return; 100 | } 101 | 102 | if (shouldCastHumidify()) 103 | { 104 | event.setMenuEntry(createHumidifyMenuEntry()); 105 | return; 106 | } 107 | event.setMenuEntry(mineSandStone()); 108 | 109 | } 110 | 111 | private Point getLocation(TileObject tileObject) { 112 | if (tileObject instanceof GameObject) 113 | return ((GameObject)tileObject).getSceneMinLocation(); 114 | return new Point(tileObject.getLocalLocation().getSceneX(), tileObject.getLocalLocation().getSceneY()); 115 | } 116 | 117 | private GameObject checkforGameObject() { 118 | WorldPoint SW = new WorldPoint(3164,2913,0); 119 | WorldPoint NE = new WorldPoint(3168,2916,0); 120 | WorldArea AREA = new WorldArea(SW,NE); 121 | if (config.forceMineNorth()) 122 | { 123 | ArrayList list = new GameObjectQuery() 124 | .idEquals(11386) 125 | .result(client) 126 | .list; 127 | for (GameObject item:list) 128 | { 129 | if (item.getWorldLocation().isInArea(AREA)) 130 | { 131 | return (item); 132 | } 133 | } 134 | } 135 | return new GameObjectQuery() 136 | .idEquals(11386) 137 | .result(client) 138 | .nearestTo(client.getLocalPlayer()); 139 | } 140 | 141 | 142 | private GameObject checkForDepositGrinder() { 143 | return new GameObjectQuery() 144 | .idEquals(26199) 145 | .result(client) 146 | .nearestTo(client.getLocalPlayer()); 147 | } 148 | 149 | private int getEmptySlots() { 150 | Widget inventory = client.getWidget(WidgetInfo.INVENTORY.getId()); 151 | Widget bankInventory = client.getWidget(WidgetInfo.BANK_INVENTORY_ITEMS_CONTAINER.getId()); 152 | 153 | if (inventory!=null && !inventory.isHidden() 154 | && inventory.getDynamicChildren()!=null) 155 | { 156 | List inventoryItems = Arrays.asList(client.getWidget(WidgetInfo.INVENTORY.getId()).getDynamicChildren()); 157 | return (int) inventoryItems.stream().filter(item -> item.getItemId() == 6512).count(); 158 | } 159 | 160 | if (bankInventory!=null && !bankInventory.isHidden() 161 | && bankInventory.getDynamicChildren()!=null) 162 | { 163 | List inventoryItems = Arrays.asList(client.getWidget(WidgetInfo.BANK_INVENTORY_ITEMS_CONTAINER.getId()).getDynamicChildren()); 164 | return (int) inventoryItems.stream().filter(item -> item.getItemId() == 6512).count(); 165 | } 166 | return -1; 167 | } 168 | 169 | private MenuEntry mineSandStone() { 170 | GameObject customGameObject = checkforGameObject(); 171 | return createMenuEntry( 172 | 11386, 173 | MenuAction.GAME_OBJECT_FIRST_OPTION, 174 | getLocation(customGameObject).getX(), 175 | getLocation(customGameObject).getY(), 176 | true); 177 | } 178 | 179 | private MenuEntry createHumidifyMenuEntry() { 180 | return createMenuEntry( 181 | 1, 182 | MenuAction.CC_OP, 183 | -1, 184 | WidgetInfo.SPELL_HUMIDIFY.getId(), 185 | true); 186 | } 187 | 188 | private MenuEntry depositGrinderMenuEntry() { 189 | return createMenuEntry( 190 | 26199, 191 | MenuAction.GAME_OBJECT_FIRST_OPTION, 192 | getLocation(checkForDepositGrinder()).getX(), 193 | getLocation(checkForDepositGrinder()).getY(),true); 194 | } 195 | 196 | private boolean shouldCastHumidify() { 197 | if (!config.humidify()) return false; 198 | Set waterskins = Set.of(ItemID.WATERSKIN4,ItemID.WATERSKIN3,ItemID.WATERSKIN2,ItemID.WATERSKIN1); 199 | for (Integer waterskin : waterskins) 200 | { 201 | if (getInventoryItem(waterskin)!=null) 202 | { 203 | return false; 204 | } 205 | } 206 | return true; 207 | } 208 | 209 | private Widget getInventoryItem(int id) { 210 | Widget inventoryWidget = client.getWidget(WidgetInfo.INVENTORY); 211 | Widget bankInventoryWidget = client.getWidget(WidgetInfo.BANK_INVENTORY_ITEMS_CONTAINER); 212 | if (inventoryWidget!=null && !inventoryWidget.isHidden()) 213 | { 214 | return getWidgetItem(inventoryWidget,id); 215 | } 216 | if (bankInventoryWidget!=null && !bankInventoryWidget.isHidden()) 217 | { 218 | return getWidgetItem(bankInventoryWidget,id); 219 | } 220 | return null; 221 | } 222 | 223 | private Widget getWidgetItem(Widget widget,int id) { 224 | for (Widget item : widget.getDynamicChildren()) 225 | { 226 | if (item.getItemId() == id) 227 | { 228 | return item; 229 | } 230 | } 231 | return null; 232 | } 233 | 234 | public MenuEntry createMenuEntry(int identifier, MenuAction type, int param0, int param1, boolean forceLeftClick) { 235 | return client.createMenuEntry(0).setOption("").setTarget("").setIdentifier(identifier).setType(type) 236 | .setParam0(param0).setParam1(param1).setForceLeftClick(forceLeftClick); 237 | } 238 | } --------------------------------------------------------------------------------