├── .gitignore
├── .idea
├── .gitignore
├── LEECH.iml
├── compiler.xml
├── gradle.xml
├── jarRepositories.xml
├── kotlinc.xml
├── misc.xml
├── modules.xml
├── modules
│ ├── AoeWarn
│ │ └── Piggy-Converted.AoeWarn.main.iml
│ ├── AutoJugHumidifier
│ │ └── Piggy-Converted.AutoJugHumidifier.main.iml
│ ├── AutoRifts
│ │ └── Piggy-Converted.AutoRifts.main.iml
│ ├── AutoTele
│ │ └── EV-Converted.AutoTele.main.iml
│ ├── CalvarionHelper
│ │ └── EV-Converted.CalvarionHelper.main.iml
│ ├── CannonReloader
│ │ └── Piggy-Converted.CannonReloader.main.iml
│ ├── DeveloperTools
│ │ └── EV-Converted.DeveloperTools.main.iml
│ ├── E3t4g
│ │ └── EV-Converted.E3t4g.main.iml
│ ├── EthanApi
│ │ ├── EV-Converted.EthanApi.main.iml
│ │ └── Piggy-Converted.EthanApi.main.iml
│ ├── Example
│ │ └── EV-Converted.Example.main.iml
│ ├── GauntletFlicker
│ │ └── EV-Converted.GauntletFlicker.main.iml
│ ├── Harpoon2Ticker
│ │ └── EV-Converted.Harpoon2Ticker.main.iml
│ ├── HerbCleaner
│ │ └── Piggy-Converted.HerbCleaner.main.iml
│ ├── ItemCombiner
│ │ └── Piggy-Converted.ItemCombiner.main.iml
│ ├── JadAutoPrayers
│ │ └── Piggy-Converted.JadAutoPrayers.main.iml
│ ├── LavaRunecrafter
│ │ └── EV-Converted.LavaRunecrafter.main.iml
│ ├── NightmareHelper
│ │ └── EV-Converted.NightmareHelper.main.iml
│ ├── OneTickSwitcher
│ │ └── Piggy-Converted.OneTickSwitcher.main.iml
│ ├── PathingTesting
│ │ └── EV-Converted.PathingTesting.main.iml
│ ├── PiggyUtils
│ │ └── Piggy-Converted.PiggyUtils.main.iml
│ ├── PowerSkiller
│ │ └── Piggy-Converted.PowerSkiller.main.iml
│ ├── PrayAgainstPlayer
│ │ └── Piggy-Converted.PrayAgainstPlayer.main.iml
│ ├── PrayerFlicker
│ │ └── EV-Converted.PrayerFlicker.main.iml
│ ├── RooftopAgility
│ │ └── Piggy-Converted.RooftopAgility.main.iml
│ ├── RunEnabler
│ │ └── EV-Converted.RunEnabler.main.iml
│ ├── SixHourLog
│ │ └── Piggy-Converted.SixHourLog.main.iml
│ ├── SpeedDartMaker
│ │ └── Piggy-Converted.SpeedDartMaker.main.iml
│ ├── Superglass
│ │ └── EV-Converted.Superglass.main.iml
│ └── Upkeep
│ │ └── EV-Converted.Upkeep.main.iml
└── vcs.xml
├── Conversions
├── EV-Converted
│ ├── .gitignore
│ ├── .idea
│ │ ├── .gitignore
│ │ ├── .name
│ │ ├── gradle.xml
│ │ ├── kotlinc.xml
│ │ ├── misc.xml
│ │ ├── uiDesigner.xml
│ │ └── vcs.xml
│ ├── AutoTele
│ │ ├── autotele.gradle.kts
│ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ └── com
│ │ │ └── plugins
│ │ │ ├── AutoTeleConfig.java
│ │ │ └── AutoTelePlugin.java
│ ├── CalvarionHelper
│ │ ├── calvarionhelper.gradle.kts
│ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ └── com
│ │ │ └── plugins
│ │ │ ├── CalvarionHelperConfig.java
│ │ │ ├── CalvarionHelperOverlay.java
│ │ │ └── CalvarionHelperPlugin.java
│ ├── DeveloperTools
│ │ ├── developertools.gradle.kts
│ │ └── src
│ │ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── plugins
│ │ │ │ │ ├── DevToolsConfig.java
│ │ │ │ │ ├── DevToolsPlugin.java
│ │ │ │ │ ├── children
│ │ │ │ │ ├── DevToolsButton.java
│ │ │ │ │ ├── DevToolsFrame.java
│ │ │ │ │ ├── DevToolsPanel.java
│ │ │ │ │ ├── InventoryDeltaPanel.java
│ │ │ │ │ └── ShellFrame.java
│ │ │ │ │ ├── overlays
│ │ │ │ │ ├── CameraOverlay.java
│ │ │ │ │ ├── DevToolsOverlay.java
│ │ │ │ │ ├── LocationOverlay.java
│ │ │ │ │ ├── SceneOverlay.java
│ │ │ │ │ ├── SoundEffectOverlay.java
│ │ │ │ │ ├── WidgetInfoTableModel.java
│ │ │ │ │ ├── WidgetInspectorOverlay.java
│ │ │ │ │ ├── WorldMapLocationOverlay.java
│ │ │ │ │ └── WorldMapRegionOverlay.java
│ │ │ │ │ ├── utils
│ │ │ │ │ ├── InventoryInspector.java
│ │ │ │ │ ├── InventoryItem.java
│ │ │ │ │ ├── InventoryLog.java
│ │ │ │ │ ├── InventoryLogNode.java
│ │ │ │ │ ├── InventoryTreeNode.java
│ │ │ │ │ ├── MovementFlag.java
│ │ │ │ │ ├── ScriptInspector.java
│ │ │ │ │ └── VarInspector.java
│ │ │ │ │ └── widgets
│ │ │ │ │ ├── WidgetField.java
│ │ │ │ │ ├── WidgetInspector.java
│ │ │ │ │ └── WidgetTreeNode.java
│ │ │ └── resources
│ │ │ │ └── devtools_icon.png
│ │ │ └── test
│ │ │ └── java
│ │ │ └── DeveloperToolsTest.java
│ ├── E3t4g
│ │ ├── e3t4g.gradle.kts
│ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ └── com
│ │ │ └── plugins
│ │ │ └── e3t4gPlugin.java
│ ├── EthanApi
│ │ ├── ethanapi.gradle.kts
│ │ └── src
│ │ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── plugins
│ │ │ │ │ ├── Collections
│ │ │ │ │ ├── Bank.java
│ │ │ │ │ ├── BankInventory.java
│ │ │ │ │ ├── BankItemWidget.java
│ │ │ │ │ ├── DepositBox.java
│ │ │ │ │ ├── ETileItem.java
│ │ │ │ │ ├── Equipment.java
│ │ │ │ │ ├── EquipmentItemWidget.java
│ │ │ │ │ ├── Inventory.java
│ │ │ │ │ ├── NPCs.java
│ │ │ │ │ ├── Players.java
│ │ │ │ │ ├── ShopInventory.java
│ │ │ │ │ ├── TileItems.java
│ │ │ │ │ ├── TileObjects.java
│ │ │ │ │ ├── Widgets.java
│ │ │ │ │ └── query
│ │ │ │ │ │ ├── EquipmentItemQuery.java
│ │ │ │ │ │ ├── ItemQuery.java
│ │ │ │ │ │ ├── NPCQuery.java
│ │ │ │ │ │ ├── PlayerQuery.java
│ │ │ │ │ │ ├── QuickPrayer.java
│ │ │ │ │ │ ├── TileItemQuery.java
│ │ │ │ │ │ ├── TileObjectQuery.java
│ │ │ │ │ │ └── WidgetQuery.java
│ │ │ │ │ ├── EthanApiPlugin.java
│ │ │ │ │ ├── InteractionApi
│ │ │ │ │ ├── BankInteraction.java
│ │ │ │ │ ├── BankInventoryInteraction.java
│ │ │ │ │ ├── InteractionHelper.java
│ │ │ │ │ ├── InventoryInteraction.java
│ │ │ │ │ ├── NPCInteraction.java
│ │ │ │ │ ├── PlayerInteractionHelper.java
│ │ │ │ │ ├── PrayerInteraction.java
│ │ │ │ │ └── TileObjectInteraction.java
│ │ │ │ │ ├── PacketUtilsPlugin.java
│ │ │ │ │ ├── Packets
│ │ │ │ │ ├── BufferMethods.java
│ │ │ │ │ ├── MousePackets.java
│ │ │ │ │ ├── MovementPackets.java
│ │ │ │ │ ├── NPCPackets.java
│ │ │ │ │ ├── ObjectPackets.java
│ │ │ │ │ ├── PacketUtils
│ │ │ │ │ │ ├── ObfuscatedNames.java
│ │ │ │ │ │ ├── ObjectAndType.java
│ │ │ │ │ │ ├── PacketDef.java
│ │ │ │ │ │ ├── PacketReflection.java
│ │ │ │ │ │ ├── PacketType.java
│ │ │ │ │ │ ├── PacketUtilsConfig.java
│ │ │ │ │ │ ├── WidgetID.java
│ │ │ │ │ │ └── WidgetInfoExtended.java
│ │ │ │ │ ├── PlayerPackets.java
│ │ │ │ │ ├── TileItemPackets.java
│ │ │ │ │ └── WidgetPackets.java
│ │ │ │ │ ├── PathFinding
│ │ │ │ │ ├── GlobalCollisionMap.java
│ │ │ │ │ └── Node.java
│ │ │ │ │ └── Utility
│ │ │ │ │ └── WorldAreaUtility.java
│ │ │ └── resources
│ │ │ │ └── ethan.png
│ │ │ └── test
│ │ │ └── java
│ │ │ └── EthanApiTest.java
│ ├── Example
│ │ ├── example.gradle.kts
│ │ └── src
│ │ │ ├── main
│ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── plugins
│ │ │ │ ├── ExampleConfig.java
│ │ │ │ ├── ExamplePlugin.java
│ │ │ │ └── enums
│ │ │ │ └── ExampleEnum.java
│ │ │ └── test
│ │ │ └── java
│ │ │ └── plugins
│ │ │ └── ExamplePluginTest.java
│ ├── LavaRunecrafter
│ │ ├── lavarunecrafter.gradle.kts
│ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ └── com
│ │ │ └── plugins
│ │ │ ├── LavaRunecrafterPlugin.java
│ │ │ ├── LavaRunecrafterPluginConfig.java
│ │ │ └── TeleportMethods.java
│ ├── NightmareHelper
│ │ ├── nightmarehelper.gradle.kts
│ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ └── com
│ │ │ └── plugins
│ │ │ ├── NightmareHelperPlugin.java
│ │ │ ├── WeaponMap.java
│ │ │ └── WeaponStyle.java
│ ├── PathingTesting
│ │ ├── pathingtesting.gradle.kts
│ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ └── com
│ │ │ └── plugins
│ │ │ ├── PathingTestingConfig.java
│ │ │ ├── PathingTestingOverlay.java
│ │ │ └── PathingTestingPlugin.java
│ ├── PrayerFlicker
│ │ ├── prayerflicker.gradle.kts
│ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ └── com
│ │ │ └── plugins
│ │ │ ├── EthanPrayerFlickerPlugin.java
│ │ │ └── PrayerFlickerConfig.java
│ ├── README.md
│ ├── RunEnabler
│ │ ├── runenabler.gradle.kts
│ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ └── com
│ │ │ └── plugins
│ │ │ └── RunEnablerPlugin.java
│ ├── Superglass
│ │ ├── src
│ │ │ └── main
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── plugins
│ │ │ │ ├── Secondary.java
│ │ │ │ ├── SuperGlassMakerPlugin.java
│ │ │ │ └── SuperGlassMakerPluginConfig.java
│ │ └── superglass.gradle.kts
│ ├── Upkeep
│ │ ├── src
│ │ │ └── main
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── plugins
│ │ │ │ ├── UpkeepPlugin.java
│ │ │ │ └── UpkeepPluginConfig.java
│ │ └── upkeep.gradle.kts
│ ├── build.gradle.kts
│ ├── buildSrc
│ │ ├── build.gradle.kts
│ │ └── src
│ │ │ └── main
│ │ │ └── kotlin
│ │ │ ├── BootstrapPlugin.kt
│ │ │ ├── BootstrapTask.kt
│ │ │ ├── Dependencies.kt
│ │ │ ├── JsonBuilder.kt
│ │ │ ├── Project.kt
│ │ │ ├── SemVer.kt
│ │ │ ├── VersionPlugin.kt
│ │ │ ├── VersionTask.kt
│ │ │ └── VersionsTask.kt
│ ├── gauntletFlicker
│ │ ├── gauntletflicker.gradle.kts
│ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ └── com
│ │ │ └── plugins
│ │ │ └── GauntletFlickerPlugin.java
│ ├── gradle.properties
│ ├── gradle
│ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ ├── gradlew
│ ├── gradlew.bat
│ ├── harpoon2ticker
│ │ ├── harpoon2ticker.gradle.kts
│ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ └── com
│ │ │ └── plugins
│ │ │ └── SwordFish2Tick.java
│ └── settings.gradle.kts
└── Piggy-Converted
│ ├── .gitignore
│ ├── .idea
│ ├── .gitignore
│ ├── .name
│ ├── gradle.xml
│ ├── kotlinc.xml
│ ├── misc.xml
│ ├── uiDesigner.xml
│ └── vcs.xml
│ ├── AoeWarn
│ ├── aoewarn.gradle.kts
│ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── plugins
│ │ ├── AoeProjectileInfo.java
│ │ ├── AoeWarningConfig.java
│ │ ├── AoeWarningOverlay.java
│ │ ├── AoeWarningPlugin.java
│ │ ├── BombOverlay.java
│ │ ├── ColorUtil.java
│ │ ├── CrystalBomb.java
│ │ ├── OverlayUtil.java
│ │ └── ProjectileContainer.java
│ ├── AutoJugHumidifier
│ ├── autojughumidifier.gradle.kts
│ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── plugins
│ │ ├── AutoJugHumidifierConfig.java
│ │ └── AutoJugHumidifierPlugin.java
│ ├── AutoRifts
│ ├── autorifts.gradle.kts
│ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── plugins
│ │ ├── AutoRiftsConfig.java
│ │ ├── AutoRiftsOverlay.java
│ │ ├── AutoRiftsPlugin.java
│ │ └── data
│ │ ├── Altar.java
│ │ ├── Constants.java
│ │ ├── State.java
│ │ └── Utility.java
│ ├── CannonReloader
│ ├── cannonreloader.gradle.kts
│ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── plugins
│ │ ├── CannonReloaderConfig.java
│ │ └── CannonReloaderPlugin.java
│ ├── EthanApi
│ ├── ethanapi.gradle.kts
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── plugins
│ │ │ │ ├── Collections
│ │ │ │ ├── Bank.java
│ │ │ │ ├── BankInventory.java
│ │ │ │ ├── BankItemWidget.java
│ │ │ │ ├── DepositBox.java
│ │ │ │ ├── ETileItem.java
│ │ │ │ ├── Equipment.java
│ │ │ │ ├── EquipmentItemWidget.java
│ │ │ │ ├── Inventory.java
│ │ │ │ ├── NPCs.java
│ │ │ │ ├── Players.java
│ │ │ │ ├── ShopInventory.java
│ │ │ │ ├── TileItems.java
│ │ │ │ ├── TileObjects.java
│ │ │ │ ├── Widgets.java
│ │ │ │ └── query
│ │ │ │ │ ├── EquipmentItemQuery.java
│ │ │ │ │ ├── ItemQuery.java
│ │ │ │ │ ├── NPCQuery.java
│ │ │ │ │ ├── PlayerQuery.java
│ │ │ │ │ ├── QuickPrayer.java
│ │ │ │ │ ├── TileItemQuery.java
│ │ │ │ │ ├── TileObjectQuery.java
│ │ │ │ │ └── WidgetQuery.java
│ │ │ │ ├── EthanApiPlugin.java
│ │ │ │ ├── InteractionApi
│ │ │ │ ├── BankInteraction.java
│ │ │ │ ├── BankInventoryInteraction.java
│ │ │ │ ├── InteractionHelper.java
│ │ │ │ ├── InventoryInteraction.java
│ │ │ │ ├── NPCInteraction.java
│ │ │ │ ├── PlayerInteractionHelper.java
│ │ │ │ ├── PrayerInteraction.java
│ │ │ │ └── TileObjectInteraction.java
│ │ │ │ ├── PacketUtilsPlugin.java
│ │ │ │ ├── Packets
│ │ │ │ ├── BufferMethods.java
│ │ │ │ ├── MousePackets.java
│ │ │ │ ├── MovementPackets.java
│ │ │ │ ├── NPCPackets.java
│ │ │ │ ├── ObjectPackets.java
│ │ │ │ ├── PacketUtils
│ │ │ │ │ ├── ObfuscatedNames.java
│ │ │ │ │ ├── ObjectAndType.java
│ │ │ │ │ ├── PacketDef.java
│ │ │ │ │ ├── PacketReflection.java
│ │ │ │ │ ├── PacketType.java
│ │ │ │ │ ├── PacketUtilsConfig.java
│ │ │ │ │ ├── WidgetID.java
│ │ │ │ │ └── WidgetInfoExtended.java
│ │ │ │ ├── PlayerPackets.java
│ │ │ │ ├── TileItemPackets.java
│ │ │ │ └── WidgetPackets.java
│ │ │ │ ├── PathFinding
│ │ │ │ ├── GlobalCollisionMap.java
│ │ │ │ └── Node.java
│ │ │ │ └── Utility
│ │ │ │ └── WorldAreaUtility.java
│ │ └── resources
│ │ │ └── ethan.png
│ │ └── test
│ │ └── java
│ │ └── EthanApiTest.java
│ ├── HerbCleaner
│ ├── herbcleaner.gradle.kts
│ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── plugins
│ │ ├── HerbCleanerConfig.java
│ │ ├── HerbCleanerPlugin.java
│ │ └── HerbType.java
│ ├── ItemCombiner
│ ├── itemcombiner.gradle.kts
│ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── plugins
│ │ ├── ItemCombinerConfig.java
│ │ └── ItemCombinerPlugin.java
│ ├── JadAutoPrayers
│ ├── jadautoprayers.gradle.kts
│ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── plugins
│ │ ├── JadAutoPrayersConfig.java
│ │ └── JadAutoPrayersPlugin.java
│ ├── OneTickSwitcher
│ ├── onetickswitcher.gradle.kts
│ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── plugins
│ │ ├── OneTickSwitcherConfig.java
│ │ └── OneTickSwitcherPlugin.java
│ ├── PiggyUtils
│ ├── piggyutils.gradle.kts
│ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── plugins
│ │ ├── API
│ │ ├── BankUtil.java
│ │ ├── EquipmentUtil.java
│ │ ├── InventoryUtil.java
│ │ ├── NpcUtil.java
│ │ ├── ObjectUtil.java
│ │ ├── PrayerUtil.java
│ │ ├── SpellUtil.java
│ │ └── TileItemUtil.java
│ │ ├── BreakHandler
│ │ └── ReflectBreakHandler.java
│ │ ├── PiggyUtilsPlugin.java
│ │ └── RLApi
│ │ └── GraphicIDExtended.java
│ ├── PowerSkiller
│ ├── powerskiller.gradle.kts
│ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── plugins
│ │ ├── PowerSkillerConfig.java
│ │ ├── PowerSkillerPlugin.java
│ │ └── State.java
│ ├── PrayAgainstPlayer
│ ├── prayagainstplayer.gradle.kts
│ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── plugins
│ │ ├── PlayerContainer.java
│ │ ├── PrayAgainstPlayerConfig.java
│ │ ├── PrayAgainstPlayerOverlay.java
│ │ ├── PrayAgainstPlayerOverlayPrayerTab.java
│ │ ├── PrayAgainstPlayerPlugin.java
│ │ └── WeaponType.java
│ ├── README.md
│ ├── RooftopAgility
│ ├── rooftopagility.gradle.kts
│ └── src
│ │ └── main
│ │ ├── Piggy-Converted
│ │ ├── .gitignore
│ │ └── build.gradle.kts
│ │ └── java
│ │ └── com
│ │ └── plugins
│ │ ├── Course.java
│ │ ├── Obstacles.java
│ │ ├── Portals.java
│ │ ├── RooftopAgilityConfig.java
│ │ ├── RooftopAgilityOverlay.java
│ │ ├── RooftopAgilityPlugin.java
│ │ └── State.java
│ ├── SixHourLog
│ ├── sixhourlog.gradle.kts
│ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── plugins
│ │ └── SixHourLogPlugin.java
│ ├── SpeedDartMaker
│ ├── speeddartmaker.gradle.kts
│ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── plugins
│ │ ├── SpeedDartMakerConfig.java
│ │ └── SpeedDartMakerPlugin.java
│ ├── build.gradle.kts
│ ├── buildSrc
│ ├── build.gradle.kts
│ └── src
│ │ └── main
│ │ └── kotlin
│ │ ├── BootstrapPlugin.kt
│ │ ├── BootstrapTask.kt
│ │ ├── Dependencies.kt
│ │ ├── JsonBuilder.kt
│ │ ├── Project.kt
│ │ ├── SemVer.kt
│ │ ├── VersionPlugin.kt
│ │ ├── VersionTask.kt
│ │ └── VersionsTask.kt
│ ├── gradle.properties
│ ├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
│ ├── gradlew
│ ├── gradlew.bat
│ └── settings.gradle.kts
├── LICENSE
└── README.md
/.gitignore:
--------------------------------------------------------------------------------
1 | # Compiled class file
2 | *.class
3 |
4 | # Log file
5 | *.log
6 |
7 | # BlueJ files
8 | *.ctxt
9 |
10 | # Mobile Tools for Java (J2ME)
11 | .mtj.tmp/
12 |
13 | # Package Files #
14 | *.jar
15 | *.war
16 | *.nar
17 | *.ear
18 | *.zip
19 | *.tar.gz
20 | *.rar
21 |
22 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
23 | hs_err_pid*
24 | replay_pid*
25 |
--------------------------------------------------------------------------------
/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /shelf/
3 | /workspace.xml
4 |
--------------------------------------------------------------------------------
/.idea/LEECH.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/.idea/jarRepositories.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/.idea/kotlinc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/.idea/modules/AoeWarn/Piggy-Converted.AoeWarn.main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/modules/AutoJugHumidifier/Piggy-Converted.AutoJugHumidifier.main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/modules/AutoRifts/Piggy-Converted.AutoRifts.main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/modules/AutoTele/EV-Converted.AutoTele.main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/modules/CalvarionHelper/EV-Converted.CalvarionHelper.main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/modules/CannonReloader/Piggy-Converted.CannonReloader.main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/modules/DeveloperTools/EV-Converted.DeveloperTools.main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/modules/E3t4g/EV-Converted.E3t4g.main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/modules/EthanApi/EV-Converted.EthanApi.main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/modules/EthanApi/Piggy-Converted.EthanApi.main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/modules/Example/EV-Converted.Example.main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/modules/GauntletFlicker/EV-Converted.GauntletFlicker.main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/modules/Harpoon2Ticker/EV-Converted.Harpoon2Ticker.main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/modules/HerbCleaner/Piggy-Converted.HerbCleaner.main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/modules/ItemCombiner/Piggy-Converted.ItemCombiner.main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/modules/JadAutoPrayers/Piggy-Converted.JadAutoPrayers.main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/modules/LavaRunecrafter/EV-Converted.LavaRunecrafter.main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/modules/NightmareHelper/EV-Converted.NightmareHelper.main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/modules/OneTickSwitcher/Piggy-Converted.OneTickSwitcher.main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/modules/PathingTesting/EV-Converted.PathingTesting.main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/modules/PiggyUtils/Piggy-Converted.PiggyUtils.main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/modules/PowerSkiller/Piggy-Converted.PowerSkiller.main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/modules/PrayAgainstPlayer/Piggy-Converted.PrayAgainstPlayer.main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/modules/PrayerFlicker/EV-Converted.PrayerFlicker.main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/modules/RooftopAgility/Piggy-Converted.RooftopAgility.main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/modules/RunEnabler/EV-Converted.RunEnabler.main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/modules/SixHourLog/Piggy-Converted.SixHourLog.main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/modules/SpeedDartMaker/Piggy-Converted.SpeedDartMaker.main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/modules/Superglass/EV-Converted.Superglass.main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/modules/Upkeep/EV-Converted.Upkeep.main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/.gitignore:
--------------------------------------------------------------------------------
1 | .gradle
2 | build/
3 | !gradle/wrapper/gradle-wrapper.jar
4 | !**/src/main/**/build/
5 | !**/src/test/**/build/
6 |
7 | ### IntelliJ IDEA ###
8 | .idea/modules.xml
9 | .idea/jarRepositories.xml
10 | .idea/compiler.xml
11 | .idea/libraries/
12 | *.iws
13 | *.iml
14 | *.ipr
15 | out/
16 | !**/src/main/**/out/
17 | !**/src/test/**/out/
18 |
19 | ### Eclipse ###
20 | .apt_generated
21 | .classpath
22 | .factorypath
23 | .project
24 | .settings
25 | .springBeans
26 | .sts4-cache
27 | bin/
28 | !**/src/main/**/bin/
29 | !**/src/test/**/bin/
30 |
31 | ### NetBeans ###
32 | /nbproject/private/
33 | /nbbuild/
34 | /dist/
35 | /nbdist/
36 | /.nb-gradle/
37 |
38 | ### VS Code ###
39 | .vscode/
40 |
41 | ### Mac OS ###
42 | .DS_Store
--------------------------------------------------------------------------------
/Conversions/EV-Converted/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /shelf/
3 | /workspace.xml
4 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/.idea/.name:
--------------------------------------------------------------------------------
1 | EthanVann-Plugins
--------------------------------------------------------------------------------
/Conversions/EV-Converted/.idea/gradle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
47 |
48 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/.idea/kotlinc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/AutoTele/autotele.gradle.kts:
--------------------------------------------------------------------------------
1 | version = "1.0.0"
2 |
3 | project.extra["PluginName"] = "Auto Teleport Plugin" // This is the name that is used in the external plugin manager panel
4 | project.extra["PluginDescription"] = "EthanVann's " + project.extra["PluginName"] // This is the description that is used in the external plugin manager panel
5 | project.extra["PluginPackageId"] = "AutoTele" // This is the plugin package folder after the default group package.
6 | project.extra["PluginMainClassName"] = "AutoTelePlugin" // This is the plugin's main class which extends Plugin
7 | dependencies {
8 | implementation(project(":EthanApi"))
9 | implementation("com.fifesoft.rtext:rtext:2.0.7")
10 | }
11 | tasks {
12 | jar {
13 | manifest {
14 | attributes(mapOf(
15 | "Plugin-Version" to project.version,
16 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String),
17 | "Plugin-Provider" to project.extra["PluginProvider"],
18 | "Plugin-Description" to project.extra["PluginDescription"],
19 | "Plugin-License" to project.extra["PluginLicense"]
20 | ))
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/Conversions/EV-Converted/AutoTele/src/main/java/com/plugins/AutoTeleConfig.java:
--------------------------------------------------------------------------------
1 | package com.plugins;
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("AutoTele")
8 | public interface AutoTeleConfig extends Config {
9 | @ConfigItem(
10 | keyName = "combatrange",
11 | name = "combat range only",
12 | description = "When checked you will only teleport from players able to attack you"
13 | )
14 | default boolean combatrange() {
15 | return true;
16 | }
17 |
18 | @ConfigItem(
19 | keyName = "notify",
20 | name = "chat notification on enter wilderness?",
21 | description = "When enabled the plugin will tell you if you brought a teleport item or not when entering " +
22 | "the wilderness"
23 | )
24 | default boolean alert() {
25 | return true;
26 | }
27 | // @ConfigItem(
28 | // keyName = "mage bonus failsafe",
29 | // name = "override weapon filter for enemies with positive mage bonus",
30 | // description = "When enabled the plugin will still tele from people with weaponfilter weapons if they have" +
31 | // " positive mage bonus"
32 | // )
33 | // default boolean mageFilter()
34 | // {
35 | // return false;
36 | // }
37 | // @ConfigItem(
38 | // keyName = "weaponFilter",
39 | // name = "dont tele from enemies with these weapons",
40 | // description = "Values are a comma seperated list of ids or names, including wildcards, e.g 513,rune " + "pickaxe,dragon*"
41 | // )
42 | // default String weaponFilter()
43 | // {
44 | // return "";
45 | // }
46 | }
47 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/CalvarionHelper/calvarionhelper.gradle.kts:
--------------------------------------------------------------------------------
1 | version = "1.0.0"
2 |
3 | project.extra["PluginName"] = "Calvarion Helper Plugin" // This is the name that is used in the external plugin manager panel
4 | project.extra["PluginDescription"] = "EthanVann's " + project.extra["PluginName"] // This is the description that is used in the external plugin manager panel
5 | project.extra["PluginPackageId"] = "CalvarionHelper" // This is the plugin package folder after the default group package.
6 | project.extra["PluginMainClassName"] = "CalvarionHelperPlugin" // This is the plugin's main class which extends Plugin
7 | dependencies {
8 | implementation(project(":EthanApi"))
9 | implementation("com.fifesoft.rtext:rtext:2.0.7")
10 | }
11 | tasks {
12 | jar {
13 | manifest {
14 | attributes(mapOf(
15 | "Plugin-Version" to project.version,
16 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String),
17 | "Plugin-Provider" to project.extra["PluginProvider"],
18 | "Plugin-Description" to project.extra["PluginDescription"],
19 | "Plugin-License" to project.extra["PluginLicense"]
20 | ))
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/Conversions/EV-Converted/CalvarionHelper/src/main/java/com/plugins/CalvarionHelperConfig.java:
--------------------------------------------------------------------------------
1 | package com.plugins;
2 |
3 | import net.runelite.client.config.Alpha;
4 | import net.runelite.client.config.Config;
5 | import net.runelite.client.config.ConfigGroup;
6 | import net.runelite.client.config.ConfigItem;
7 |
8 | import java.awt.*;
9 |
10 | @ConfigGroup("Calvarion")
11 | public interface CalvarionHelperConfig extends Config {
12 | @ConfigItem(
13 | keyName = "lightning",
14 | name = "lightning colour",
15 | description = ""
16 | )
17 | default Color lightning() {
18 | return Color.RED;
19 | }
20 |
21 | @ConfigItem(
22 | keyName = "swing",
23 | name = "swing colour",
24 | description = ""
25 | )
26 | default Color swing() {
27 | return Color.BLUE;
28 | }
29 |
30 | @ConfigItem(
31 | keyName = "lightningFill",
32 | name = "lightning fill colour",
33 | description = ""
34 | )
35 | @Alpha
36 | default Color lightningFill() {
37 | return new Color(0, 0, 0, 50);
38 | }
39 |
40 | @Alpha
41 | @ConfigItem(
42 | keyName = "swingFill",
43 | name = "swing fill colour",
44 | description = ""
45 | )
46 | default Color swingFill() {
47 | return new Color(0, 0, 0, 50);
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/CalvarionHelper/src/main/java/com/plugins/CalvarionHelperOverlay.java:
--------------------------------------------------------------------------------
1 | package com.plugins;
2 |
3 | import net.runelite.api.Client;
4 | import net.runelite.api.Perspective;
5 | import net.runelite.api.coords.LocalPoint;
6 | import net.runelite.client.ui.overlay.Overlay;
7 | import net.runelite.client.ui.overlay.OverlayLayer;
8 | import net.runelite.client.ui.overlay.OverlayPosition;
9 | import net.runelite.client.ui.overlay.OverlayUtil;
10 |
11 | import java.awt.*;
12 | import java.awt.geom.Area;
13 | import java.util.concurrent.atomic.AtomicReference;
14 |
15 |
16 | public class CalvarionHelperOverlay extends Overlay {
17 | CalvarionHelperPlugin plugin;
18 | Client client;
19 |
20 | CalvarionHelperOverlay(Client client, CalvarionHelperPlugin plugin) {
21 | this.plugin = plugin;
22 | this.client = client;
23 | setPosition(OverlayPosition.DYNAMIC);
24 | setLayer(OverlayLayer.ABOVE_SCENE);
25 |
26 | }
27 |
28 | @Override
29 | public Dimension render(Graphics2D graphics) {
30 | //spiderlingTiles
31 | plugin.lightning.forEach((lightningTile, i) ->
32 | {
33 | if (lightningTile == null) {
34 | return;
35 | }
36 | renderArea(graphics, LocalPoint.fromWorld(client, lightningTile), plugin.config.lightning(), 1, plugin.config.lightningFill());
37 | });
38 | AtomicReference area = new AtomicReference<>();
39 | plugin.swing.forEach((swingTile, i) ->
40 | {
41 | if (swingTile == null) {
42 | return;
43 | }
44 | OverlayUtil.renderPolygon(graphics, Perspective.getCanvasTilePoly(client, LocalPoint.fromWorld(client,
45 | swingTile)), plugin.config.swing(), plugin.config.swingFill(), new BasicStroke((float) 1));
46 | });
47 | return null;
48 | }
49 |
50 | private void renderArea(final Graphics2D graphics, final LocalPoint dest, final Color color,
51 | final double borderWidth, final Color fillColor) {
52 | if (dest == null) {
53 | return;
54 | }
55 |
56 | final Polygon poly = Perspective.getCanvasTileAreaPoly(client, dest, 3);
57 |
58 | if (poly == null) {
59 | return;
60 | }
61 | OverlayUtil.renderPolygon(graphics, poly, color, fillColor, new BasicStroke((float) borderWidth));
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/CalvarionHelper/src/main/java/com/plugins/CalvarionHelperPlugin.java:
--------------------------------------------------------------------------------
1 | package com.plugins;
2 |
3 | import com.google.inject.Inject;
4 | import com.google.inject.Provides;
5 | import net.runelite.api.Client;
6 | import net.runelite.api.coords.WorldPoint;
7 | import net.runelite.api.events.GameTick;
8 | import net.runelite.api.events.GraphicsObjectCreated;
9 | import net.runelite.client.config.ConfigManager;
10 | import net.runelite.client.eventbus.Subscribe;
11 | import net.runelite.client.plugins.Plugin;
12 | import net.runelite.client.plugins.PluginDescriptor;
13 | import net.runelite.client.ui.overlay.OverlayManager;
14 |
15 | import java.util.HashMap;
16 |
17 | @PluginDescriptor(
18 | name = "CalvarionHelper",
19 | enabledByDefault = false,
20 | tags = {"ethan"}
21 | )
22 | public class CalvarionHelperPlugin extends Plugin {
23 | @Inject
24 | Client client;
25 | @Inject
26 | OverlayManager overlayManager;
27 | @Inject
28 | CalvarionHelperConfig config;
29 | HashMap lightning = new HashMap<>();
30 | HashMap swing = new HashMap<>();
31 | CalvarionHelperOverlay overlay;
32 |
33 | @Provides
34 | public CalvarionHelperConfig getConfig(ConfigManager configManager) {
35 | return configManager.getConfig(CalvarionHelperConfig.class);
36 | }
37 |
38 | @Override
39 | protected void startUp() throws Exception {
40 | overlay = new CalvarionHelperOverlay(client, this);
41 | overlayManager.add(overlay);
42 | }
43 |
44 | @Subscribe
45 | public void onGameTick(GameTick e) {
46 | lightning.forEach((k, v) -> lightning.put(k, v - 1));
47 | lightning.entrySet().removeIf(entry -> entry.getValue() <= 0);
48 | swing.forEach((k, v) -> swing.put(k, v - 1));
49 | swing.entrySet().removeIf(entry -> entry.getValue() <= 0);
50 | }
51 |
52 | @Override
53 | protected void shutDown() throws Exception {
54 | overlayManager.remove(overlay);
55 | }
56 |
57 | @Subscribe
58 | public void onGraphicsObjectCreated(GraphicsObjectCreated e) {
59 | if (e.getGraphicsObject().getId() == 2346 || e.getGraphicsObject().getId() == 2347) {
60 | lightning.put(WorldPoint.fromLocal(client, e.getGraphicsObject().getLocation()), 4);
61 | return;
62 | }
63 | if (e.getGraphicsObject().getId() == 1446) {
64 | swing.put(WorldPoint.fromLocal(client, e.getGraphicsObject().getLocation()), 4);
65 | }
66 | }
67 | }
68 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/DeveloperTools/developertools.gradle.kts:
--------------------------------------------------------------------------------
1 | version = "1.0.0"
2 |
3 | project.extra["PluginName"] = "Developer Tools" // This is the name that is used in the external plugin manager panel
4 | project.extra["PluginDescription"] = "Revamped Developer Tools - Cago" // This is the description that is used in the external plugin manager panel
5 | project.extra["PluginPackageId"] = "DeveloperTools" // This is the plugin package folder after the default group package.
6 | project.extra["PluginMainClassName"] = "DevToolsPlugin" // This is the plugin's main class which extends Plugin
7 | dependencies {
8 | implementation(project(":EthanApi"))
9 | }
10 | tasks {
11 | jar {
12 | manifest {
13 | attributes(mapOf(
14 | "Plugin-Version" to project.version,
15 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String),
16 | "Plugin-Provider" to project.extra["PluginProvider"],
17 | "Plugin-Description" to project.extra["PluginDescription"],
18 | "Plugin-License" to project.extra["PluginLicense"]
19 | ))
20 | }
21 | }
22 | }
--------------------------------------------------------------------------------
/Conversions/EV-Converted/DeveloperTools/src/main/java/com/plugins/DevToolsConfig.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2018 Abex
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 com.plugins;
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("devtools")
32 | public interface DevToolsConfig extends Config
33 | {
34 | @ConfigItem(
35 | keyName = "inspectorAlwaysOnTop",
36 | name = "",
37 | description = "",
38 | hidden = true
39 | )
40 | default boolean inspectorAlwaysOnTop()
41 | {
42 | return false;
43 | }
44 |
45 | @ConfigItem(
46 | keyName = "inspectorAlwaysOnTop",
47 | name = "",
48 | description = ""
49 | )
50 | void inspectorAlwaysOnTop(boolean value);
51 | }
52 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/DeveloperTools/src/main/java/com/plugins/children/DevToolsButton.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 com.plugins.children;
26 |
27 | import java.awt.Color;
28 | import javax.swing.JButton;
29 | import lombok.Getter;
30 |
31 | public class DevToolsButton extends JButton
32 | {
33 | @Getter
34 | private boolean active;
35 |
36 | public DevToolsButton(String title)
37 | {
38 | super(title);
39 | addActionListener((ev) -> setActive(!active));
40 | this.setToolTipText(title);
41 | }
42 |
43 | void setActive(boolean active)
44 | {
45 | this.active = active;
46 |
47 | if (active)
48 | {
49 | setBackground(Color.GREEN);
50 | }
51 | else
52 | {
53 | setBackground(null);
54 | }
55 | }
56 |
57 | void addFrame(DevToolsFrame frame)
58 | {
59 | frame.setDevToolsButton(this);
60 | addActionListener(ev ->
61 | {
62 | if (isActive())
63 | {
64 | frame.close();
65 | }
66 | else
67 | {
68 | frame.open();
69 | }
70 | });
71 | }
72 | }
73 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/DeveloperTools/src/main/java/com/plugins/children/DevToolsFrame.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2021 Abex
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 com.plugins.children;
26 |
27 | import java.awt.event.WindowAdapter;
28 | import java.awt.event.WindowEvent;
29 | import javax.swing.JFrame;
30 | import lombok.AccessLevel;
31 | import lombok.Setter;
32 | import net.runelite.client.ui.ClientUI;
33 |
34 | public class DevToolsFrame extends JFrame
35 | {
36 | @Setter(AccessLevel.MODULE)
37 | protected DevToolsButton devToolsButton;
38 |
39 | public DevToolsFrame()
40 | {
41 | setIconImage(ClientUI.ICON);
42 |
43 | setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
44 | addWindowListener(new WindowAdapter()
45 | {
46 | @Override
47 | public void windowClosing(WindowEvent e)
48 | {
49 | close();
50 | if(devToolsButton != null) {
51 | devToolsButton.setSelected(false);
52 | }
53 |
54 | }
55 | });
56 | }
57 |
58 | public void open()
59 | {
60 | setVisible(true);
61 | toFront();
62 | repaint();
63 | }
64 |
65 | public void close()
66 | {
67 | setVisible(false);
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/DeveloperTools/src/main/java/com/plugins/children/ShellFrame.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2021 Abex
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 com.plugins.children;
26 |
27 | import java.util.concurrent.ScheduledExecutorService;
28 | import javax.inject.Inject;
29 | import javax.inject.Singleton;
30 | import net.runelite.client.RuneLite;
31 | import net.runelite.client.callback.ClientThread;
32 | import net.runelite.jshell.ShellPanel;
33 |
34 | @Singleton
35 | class ShellFrame extends DevToolsFrame
36 | {
37 | private final ShellPanel shellPanel;
38 |
39 | @Inject
40 | ShellFrame(ClientThread clientThread, ScheduledExecutorService executor)
41 | {
42 | this.shellPanel = new ShellPanel(executor)
43 | {
44 | @Override
45 | protected void invokeOnClientThread(Runnable r)
46 | {
47 | clientThread.invoke(r);
48 | }
49 | };
50 | setContentPane(shellPanel);
51 |
52 | setTitle("RuneLite Shell");
53 |
54 | pack();
55 | }
56 |
57 | @Override
58 | public void open()
59 | {
60 | shellPanel.switchContext(RuneLite.getInjector());
61 | super.open();
62 | }
63 |
64 | @Override
65 | public void close()
66 | {
67 | super.close();
68 | shellPanel.freeContext();
69 | }
70 | }
71 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/DeveloperTools/src/main/java/com/plugins/utils/InventoryItem.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2020, TheStonedTurtle
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 com.plugins.utils;
26 |
27 | import lombok.AllArgsConstructor;
28 | import lombok.Data;
29 | import net.runelite.api.Item;
30 |
31 | @Data
32 | @AllArgsConstructor
33 | public class InventoryItem
34 | {
35 | private final int slot;
36 | private Item item;
37 | private final String name;
38 | private final boolean stackable;
39 | }
40 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/DeveloperTools/src/main/java/com/plugins/utils/InventoryLog.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2020, TheStonedTurtle
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 com.plugins.utils;
26 |
27 | import javax.annotation.Nullable;
28 | import lombok.Value;
29 | import net.runelite.api.Item;
30 |
31 | @Value
32 | class InventoryLog
33 | {
34 | int containerId;
35 | @Nullable
36 | String containerName;
37 | Item[] items;
38 | int tick;
39 | }
40 |
41 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/DeveloperTools/src/main/java/com/plugins/utils/InventoryLogNode.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2020, TheStonedTurtle
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 com.plugins.utils;
26 |
27 | import javax.swing.tree.DefaultMutableTreeNode;
28 | import lombok.Getter;
29 |
30 | @Getter
31 | public class InventoryLogNode extends DefaultMutableTreeNode
32 | {
33 | private final InventoryLog log;
34 |
35 | InventoryLogNode(final InventoryLog log)
36 | {
37 | super();
38 |
39 | this.log = log;
40 | }
41 |
42 | @Override
43 | public String toString()
44 | {
45 | return "Tick: " + log.getTick();
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/DeveloperTools/src/main/java/com/plugins/utils/InventoryTreeNode.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2020, TheStonedTurtle
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 com.plugins.utils;
26 |
27 | import javax.annotation.Nullable;
28 | import javax.swing.tree.DefaultMutableTreeNode;
29 | import lombok.Getter;
30 |
31 | @Getter
32 | class InventoryTreeNode extends DefaultMutableTreeNode
33 | {
34 | final int id;
35 | @Nullable
36 | final String name;
37 |
38 | InventoryTreeNode(final int id, @Nullable final String name)
39 | {
40 | super();
41 |
42 | this.id = id;
43 | this.name = name;
44 | }
45 |
46 | @Override
47 | public String toString()
48 | {
49 | return id + (name == null ? "" : " - " + name);
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/DeveloperTools/src/main/java/com/plugins/widgets/WidgetTreeNode.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2017, Adam
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 com.plugins.widgets;
26 |
27 | import javax.swing.tree.DefaultMutableTreeNode;
28 | import net.runelite.api.widgets.Widget;
29 |
30 | class WidgetTreeNode extends DefaultMutableTreeNode
31 | {
32 | private final String type;
33 |
34 | public WidgetTreeNode(String type, Widget widget)
35 | {
36 | super(widget);
37 | this.type = type;
38 | }
39 |
40 | public Widget getWidget()
41 | {
42 | return (Widget) getUserObject();
43 | }
44 |
45 | @Override
46 | public String toString()
47 | {
48 | return type + " " + WidgetInspector.getWidgetIdentifier(getWidget());
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/DeveloperTools/src/main/resources/devtools_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/EV-Converted/DeveloperTools/src/main/resources/devtools_icon.png
--------------------------------------------------------------------------------
/Conversions/EV-Converted/DeveloperTools/src/test/java/DeveloperToolsTest.java:
--------------------------------------------------------------------------------
1 |
2 | import com.plugins.DevToolsPlugin;
3 | import com.plugins.EthanApiPlugin;
4 | import com.plugins.PacketUtilsPlugin;
5 | import net.runelite.client.RuneLite;
6 | import net.runelite.client.externalplugins.ExternalPluginManager;
7 |
8 | public class DeveloperToolsTest
9 | {
10 | public static void main(String[] args) throws Exception
11 | {
12 | ExternalPluginManager.loadBuiltin(DevToolsPlugin.class, EthanApiPlugin.class, PacketUtilsPlugin.class);
13 | RuneLite.main(args);
14 | }
15 | }
--------------------------------------------------------------------------------
/Conversions/EV-Converted/E3t4g/e3t4g.gradle.kts:
--------------------------------------------------------------------------------
1 | version = "1.0.0"
2 |
3 | project.extra["PluginName"] = "3T Granite Plugin" // This is the name that is used in the external plugin manager panel
4 | project.extra["PluginDescription"] = "EthanVann's " + project.extra["PluginName"] // This is the description that is used in the external plugin manager panel
5 | project.extra["PluginPackageId"] = "E3t4g" // This is the plugin package folder after the default group package.
6 | project.extra["PluginMainClassName"] = "e3t4gPlugin" // This is the plugin's main class which extends Plugin
7 | dependencies {
8 | implementation(project(":EthanApi"))
9 | implementation("com.fifesoft.rtext:rtext:2.0.7")
10 | }
11 | tasks {
12 | jar {
13 | manifest {
14 | attributes(mapOf(
15 | "Plugin-Version" to project.version,
16 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String),
17 | "Plugin-Provider" to project.extra["PluginProvider"],
18 | "Plugin-Description" to project.extra["PluginDescription"],
19 | "Plugin-License" to project.extra["PluginLicense"]
20 | ))
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/Conversions/EV-Converted/EthanApi/ethanapi.gradle.kts:
--------------------------------------------------------------------------------
1 | version = "1.0.0"
2 |
3 | project.extra["PluginName"] = "EthanAPI Plugin" // This is the name that is used in the external plugin manager panel
4 | project.extra["PluginDescription"] = "EthanVann's " + project.extra["PluginName"] // This is the description that is used in the external plugin manager panel
5 | project.extra["PluginPackageId"] = "EthanApi" // This is the plugin package folder after the default group package.
6 | project.extra["PluginMainClassName"] = "EthanApiPlugin" // This is the plugin's main class which extends Plugin
7 | dependencies {
8 | implementation("org.roaringbitmap:RoaringBitmap:0.9.44")
9 | implementation("de.jflex:jflex:1.8.2")
10 | implementation("com.fifesoft:rsyntaxtextarea:3.1.1")
11 | implementation("com.fifesoft:autocomplete:2.6.1")
12 | implementation("com.fifesoft.rtext:rtext:2.0.7")
13 | }
14 | tasks {
15 | jar {
16 | manifest {
17 | attributes(mapOf(
18 | "Plugin-Version" to project.version,
19 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String),
20 | "Plugin-Provider" to project.extra["PluginProvider"],
21 | "Plugin-Description" to project.extra["PluginDescription"],
22 | "Plugin-License" to project.extra["PluginLicense"]
23 | ))
24 | }
25 | }
26 | }
--------------------------------------------------------------------------------
/Conversions/EV-Converted/EthanApi/src/main/java/com/plugins/Collections/ETileItem.java:
--------------------------------------------------------------------------------
1 | package com.plugins.Collections;
2 |
3 | import com.plugins.Packets.MousePackets;
4 | import com.plugins.Packets.TileItemPackets;
5 | import net.runelite.api.TileItem;
6 | import net.runelite.api.coords.WorldPoint;
7 |
8 | public class ETileItem {
9 | public WorldPoint location;
10 | public TileItem tileItem;
11 |
12 | public ETileItem(WorldPoint worldLocation, TileItem tileItem) {
13 | this.location = worldLocation;
14 | this.tileItem = tileItem;
15 | }
16 |
17 | public WorldPoint getLocation() {
18 | return location;
19 | }
20 |
21 | public TileItem getTileItem() {
22 | return tileItem;
23 | }
24 |
25 | public void interact(boolean ctrlDown) {
26 | MousePackets.queueClickPacket();
27 | TileItemPackets.queueTileItemAction(this, ctrlDown);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/EthanApi/src/main/java/com/plugins/Collections/Inventory.java:
--------------------------------------------------------------------------------
1 | package com.plugins.Collections;
2 |
3 | import com.plugins.Collections.query.ItemQuery;
4 | import net.runelite.api.Client;
5 | import net.runelite.api.GameState;
6 | import net.runelite.api.events.GameStateChanged;
7 | import net.runelite.api.events.ItemContainerChanged;
8 | import net.runelite.api.widgets.Widget;
9 | import net.runelite.api.widgets.WidgetInfo;
10 | import net.runelite.client.RuneLite;
11 | import net.runelite.client.eventbus.Subscribe;
12 |
13 | import java.util.ArrayList;
14 | import java.util.Arrays;
15 | import java.util.List;
16 | import java.util.Objects;
17 | import java.util.stream.Collectors;
18 |
19 | public class Inventory {
20 | static Client client = RuneLite.getInjector().getInstance(Client.class);
21 | static List inventoryItems = new ArrayList<>();
22 |
23 | public static ItemQuery search() {
24 | return new ItemQuery(inventoryItems);
25 | }
26 |
27 | public static int getEmptySlots() {
28 | return 28 - search().result().size();
29 | }
30 | public static boolean full(){
31 | return getEmptySlots()==0;
32 | }
33 |
34 | public static int getItemAmount(int itemId) {
35 | return search().withId(itemId).result().size();
36 | }
37 |
38 | public static int getItemAmount(String itemName) {
39 | return search().withName(itemName).result().size();
40 | }
41 |
42 | @Subscribe
43 | public void onItemContainerChanged(ItemContainerChanged e) {
44 | client.runScript(6009, 9764864, 28, 1, -1);
45 | if (e.getContainerId() == 93) {
46 | Inventory.inventoryItems =
47 | Arrays.stream(client.getWidget(WidgetInfo.INVENTORY).getDynamicChildren()).filter(Objects::nonNull).filter(x -> x.getItemId() != 6512 && x.getItemId() != -1).collect(Collectors.toList());
48 | }
49 | }
50 |
51 | @Subscribe
52 | public void onGameStateChanged(GameStateChanged gameStateChanged) {
53 | if (gameStateChanged.getGameState() == GameState.HOPPING || gameStateChanged.getGameState() == GameState.LOGIN_SCREEN || gameStateChanged.getGameState() == GameState.CONNECTION_LOST) {
54 | Inventory.inventoryItems.clear();
55 | }
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/EthanApi/src/main/java/com/plugins/Collections/NPCs.java:
--------------------------------------------------------------------------------
1 | package com.plugins.Collections;
2 |
3 | import com.plugins.Collections.query.NPCQuery;
4 | import net.runelite.api.Client;
5 | import net.runelite.api.NPC;
6 | import net.runelite.api.events.GameTick;
7 | import net.runelite.client.RuneLite;
8 | import net.runelite.client.eventbus.Subscribe;
9 |
10 | import java.util.ArrayList;
11 | import java.util.List;
12 |
13 | public class NPCs {
14 | static Client client = RuneLite.getInjector().getInstance(Client.class);
15 | private static final List npcList = new ArrayList<>();
16 |
17 | public static NPCQuery search() {
18 | return new NPCQuery(npcList);
19 | }
20 |
21 | @Subscribe(priority = 10000)
22 | public void onGameTick(GameTick e) {
23 | npcList.clear();
24 | for (NPC npc : client.getNpcs()) {
25 | if (npc == null)
26 | continue;
27 | if (npc.getId() == -1)
28 | continue;
29 | npcList.add(npc);
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/EthanApi/src/main/java/com/plugins/Collections/Players.java:
--------------------------------------------------------------------------------
1 | package com.plugins.Collections;
2 |
3 | import com.plugins.Collections.query.PlayerQuery;
4 | import net.runelite.api.Client;
5 | import net.runelite.api.Player;
6 | import net.runelite.api.events.GameTick;
7 | import net.runelite.client.RuneLite;
8 | import net.runelite.client.eventbus.Subscribe;
9 |
10 | import java.util.ArrayList;
11 | import java.util.List;
12 |
13 | public class Players {
14 | static List players = new ArrayList<>();
15 | static Client client = RuneLite.getInjector().getInstance(Client.class);
16 |
17 | public static PlayerQuery search() {
18 | return new PlayerQuery(players);
19 | }
20 |
21 | @Subscribe
22 | public void onGameTick(GameTick e) {
23 | players.clear();
24 | for (Player player : client.getPlayers()) {
25 | if (player == null)
26 | continue;
27 | players.add(player);
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/EthanApi/src/main/java/com/plugins/Collections/TileItems.java:
--------------------------------------------------------------------------------
1 | package com.plugins.Collections;
2 |
3 | import com.plugins.Collections.query.TileItemQuery;
4 |
5 | import java.util.ArrayList;
6 | import java.util.List;
7 |
8 | public class TileItems {
9 | public static List tileItems = new ArrayList<>();
10 |
11 | public static TileItemQuery search() {
12 | return new TileItemQuery(tileItems);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/EthanApi/src/main/java/com/plugins/Collections/query/QuickPrayer.java:
--------------------------------------------------------------------------------
1 | package com.plugins.Collections.query;
2 |
3 | public enum QuickPrayer {
4 | THICK_SKIN(0),
5 | BURST_OF_STRENGTH(1),
6 | CLARITY_OF_THOUGHT(2),
7 | SHARP_EYE(18),
8 | MYSTIC_WILL(19),
9 | ROCK_SKIN(3),
10 | SUPERHUMAN_STRENGTH(4),
11 | IMPROVED_REFLEXES(5),
12 | RAPID_RESTORE(6),
13 | RAPID_HEAL(7),
14 | PROTECT_ITEM(8),
15 | HAWK_EYE(20),
16 | MYSTIC_LORE(21),
17 | STEEL_SKIN(9),
18 | ULTIMATE_STRENGTH(10),
19 | INCREDIBLE_REFLEXES(11),
20 | PROTECT_FROM_MAGIC(12),
21 | PROTECT_FROM_MISSILES(13),
22 | PROTECT_FROM_MELEE(14),
23 | EAGLE_EYE(22),
24 | MYSTIC_MIGHT(23),
25 | RETRIBUTION(15),
26 | REDEMPTION(16),
27 | SMITE(17),
28 | PRESERVE(28),
29 | CHIVALRY(25),
30 | PIETY(26),
31 | RIGOUR(24),
32 | AUGURY(27);
33 | private final int index;
34 | private int varbit;
35 |
36 | QuickPrayer(int index) {
37 | this.varbit = varbit;
38 | this.index = index;
39 | }
40 |
41 | public int getIndex() {
42 | return index;
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/EthanApi/src/main/java/com/plugins/InteractionApi/BankInventoryInteraction.java:
--------------------------------------------------------------------------------
1 | package com.plugins.InteractionApi;
2 |
3 | import com.plugins.Collections.BankInventory;
4 | import com.plugins.Packets.MousePackets;
5 | import com.plugins.Packets.WidgetPackets;
6 | import net.runelite.api.widgets.Widget;
7 |
8 | import java.util.Optional;
9 | import java.util.function.Predicate;
10 |
11 | public class BankInventoryInteraction {
12 | public static boolean useItem(String name, String... actions) {
13 | return BankInventory.search().withName(name).first().flatMap(item ->
14 | {
15 | MousePackets.queueClickPacket();
16 | WidgetPackets.queueWidgetAction(item, actions);
17 | return Optional.of(true);
18 | }).orElse(false);
19 | }
20 |
21 | public static boolean useItem(int id, String... actions) {
22 | return BankInventory.search().withId(id).first().flatMap(item ->
23 | {
24 | MousePackets.queueClickPacket();
25 | WidgetPackets.queueWidgetAction(item, actions);
26 | return Optional.of(true);
27 | }).orElse(false);
28 | }
29 |
30 | public static boolean useItem(Predicate super Widget> predicate, String... actions) {
31 | return BankInventory.search().filter(predicate).first().flatMap(item ->
32 | {
33 | MousePackets.queueClickPacket();
34 | WidgetPackets.queueWidgetAction(item, actions);
35 | return Optional.of(true);
36 | }).orElse(false);
37 | }
38 |
39 | public static boolean useItemIndex(int index, String... actions) {
40 | return BankInventory.search().indexIs(index).first().flatMap(item ->
41 | {
42 | MousePackets.queueClickPacket();
43 | WidgetPackets.queueWidgetAction(item, actions);
44 | return Optional.of(true);
45 | }).orElse(false);
46 | }
47 |
48 | public static boolean useItem(Widget item, String... actions) {
49 | if (item == null) {
50 | return false;
51 | }
52 | MousePackets.queueClickPacket();
53 | WidgetPackets.queueWidgetAction(item, actions);
54 | return true;
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/EthanApi/src/main/java/com/plugins/InteractionApi/InteractionHelper.java:
--------------------------------------------------------------------------------
1 | package com.plugins.InteractionApi;
2 |
3 | import com.plugins.Packets.MousePackets;
4 | import com.plugins.Packets.WidgetPackets;
5 | import net.runelite.api.widgets.WidgetInfo;
6 |
7 | import java.util.List;
8 |
9 | public class InteractionHelper {
10 | static private final int quickPrayerWidgetID = WidgetInfo.MINIMAP_QUICK_PRAYER_ORB.getPackedId();
11 |
12 | public static void toggleNormalPrayer(int packedWidgID) {
13 | MousePackets.queueClickPacket();
14 | WidgetPackets.queueWidgetActionPacket(1, packedWidgID, -1, -1);
15 | }
16 |
17 |
18 | public static void toggleNormalPrayers(List packedWidgIDs) {
19 | for (Integer packedWidgID : packedWidgIDs) {
20 | MousePackets.queueClickPacket();
21 | WidgetPackets.queueWidgetActionPacket(1, packedWidgID, -1, -1);
22 | }
23 | }
24 |
25 | public static void togglePrayer() {
26 | MousePackets.queueClickPacket(0, 0);
27 | WidgetPackets.queueWidgetActionPacket(1, quickPrayerWidgetID, -1, -1);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/EthanApi/src/main/java/com/plugins/InteractionApi/InventoryInteraction.java:
--------------------------------------------------------------------------------
1 | package com.plugins.InteractionApi;
2 |
3 | import com.plugins.Collections.Inventory;
4 | import com.plugins.Packets.MousePackets;
5 | import com.plugins.Packets.WidgetPackets;
6 | import net.runelite.api.widgets.Widget;
7 |
8 | import java.util.Optional;
9 | import java.util.Set;
10 | import java.util.function.Predicate;
11 |
12 | public class InventoryInteraction {
13 | public static boolean useItem(String name, String... actions) {
14 | return Inventory.search().withName(name).first().flatMap(item ->
15 | {
16 | MousePackets.queueClickPacket();
17 | WidgetPackets.queueWidgetAction(item, actions);
18 | return Optional.of(true);
19 | }).orElse(false);
20 | }
21 |
22 | public static boolean useItem(int id, String... actions) {
23 | return Inventory.search().withId(id).first().flatMap(item ->
24 | {
25 | MousePackets.queueClickPacket();
26 | WidgetPackets.queueWidgetAction(item, actions);
27 | return Optional.of(true);
28 | }).orElse(false);
29 | }
30 |
31 | public static boolean useItem(Set id, String... actions) {
32 | return Inventory.search().withSet(id).first().flatMap(item ->
33 | {
34 | MousePackets.queueClickPacket();
35 | WidgetPackets.queueWidgetAction(item, actions);
36 | return Optional.of(true);
37 | }).orElse(false);
38 | }
39 |
40 | public static boolean useItem(Predicate super Widget> predicate, String... actions) {
41 | return Inventory.search().filter(predicate).first().flatMap(item ->
42 | {
43 | MousePackets.queueClickPacket();
44 | WidgetPackets.queueWidgetAction(item, actions);
45 | return Optional.of(true);
46 | }).orElse(false);
47 | }
48 |
49 | public static boolean useItemIndex(int index, String... actions) {
50 | return Inventory.search().indexIs(index).first().flatMap(item ->
51 | {
52 | MousePackets.queueClickPacket();
53 | WidgetPackets.queueWidgetAction(item, actions);
54 | return Optional.of(true);
55 | }).orElse(false);
56 | }
57 |
58 | public static boolean useItem(Widget item, String... actions) {
59 | if (item == null) {
60 | return false;
61 | }
62 | MousePackets.queueClickPacket();
63 | WidgetPackets.queueWidgetAction(item, actions);
64 | return true;
65 | }
66 | }
67 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/EthanApi/src/main/java/com/plugins/InteractionApi/NPCInteraction.java:
--------------------------------------------------------------------------------
1 | package com.plugins.InteractionApi;
2 |
3 | import com.plugins.Collections.NPCs;
4 | import com.plugins.Collections.query.NPCQuery;
5 | import com.plugins.Packets.MousePackets;
6 | import com.plugins.Packets.NPCPackets;
7 | import net.runelite.api.NPC;
8 | import net.runelite.api.NPCComposition;
9 |
10 | import java.util.Optional;
11 | import java.util.function.Predicate;
12 |
13 | public class NPCInteraction {
14 | public static boolean interact(String name, String... actions) {
15 | return NPCs.search().withName(name).first().flatMap(npc ->
16 | {
17 | MousePackets.queueClickPacket();
18 | NPCPackets.queueNPCAction(npc, actions);
19 | return Optional.of(true);
20 | }).orElse(false);
21 | }
22 |
23 | public static boolean interact(int id, String... actions) {
24 | return NPCs.search().withId(id).first().flatMap(npc ->
25 | {
26 | MousePackets.queueClickPacket();
27 | NPCPackets.queueNPCAction(npc, actions);
28 | return Optional.of(true);
29 | }).orElse(false);
30 | }
31 |
32 | public static boolean interact(Predicate super NPC> predicate, String... actions) {
33 | return NPCs.search().filter(predicate).first().flatMap(npc ->
34 | {
35 | MousePackets.queueClickPacket();
36 | NPCPackets.queueNPCAction(npc, actions);
37 | return Optional.of(true);
38 | }).orElse(false);
39 | }
40 |
41 | public static boolean interactIndex(int index, String... actions) {
42 | return NPCs.search().indexIs(index).first().flatMap(npc ->
43 | {
44 | MousePackets.queueClickPacket();
45 | NPCPackets.queueNPCAction(npc, actions);
46 | return Optional.of(true);
47 | }).orElse(false);
48 | }
49 |
50 | public static boolean interact(NPC npc, String... actions) {
51 | if (npc == null) {
52 | return false;
53 | }
54 | NPCComposition comp = NPCQuery.getNPCComposition(npc);
55 | if (comp == null) {
56 | return false;
57 | }
58 | MousePackets.queueClickPacket();
59 | NPCPackets.queueNPCAction(npc, actions);
60 | return true;
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/EthanApi/src/main/java/com/plugins/InteractionApi/PlayerInteractionHelper.java:
--------------------------------------------------------------------------------
1 | package com.plugins.InteractionApi;
2 |
3 | import com.plugins.Collections.Players;
4 | import com.plugins.Packets.MousePackets;
5 | import com.plugins.Packets.PlayerPackets;
6 | import net.runelite.api.Player;
7 |
8 | import java.util.Optional;
9 | import java.util.function.Predicate;
10 |
11 | public class PlayerInteractionHelper {
12 | public static boolean interact(Player player, String... actions) {
13 | if (player == null) {
14 | return false;
15 | }
16 | MousePackets.queueClickPacket();
17 | PlayerPackets.queuePlayerAction(player, actions);
18 | return true;
19 | }
20 |
21 | public static boolean interact(String name, String... actions) {
22 | return Players.search().withName(name).first().flatMap(Player ->
23 | {
24 | MousePackets.queueClickPacket();
25 | PlayerPackets.queuePlayerAction(Player, actions);
26 | return Optional.of(true);
27 | }).orElse(false);
28 | }
29 |
30 | public static boolean interact(Predicate super Player> predicate, String... actions) {
31 | return Players.search().filter(predicate).first().flatMap(Player ->
32 | {
33 | MousePackets.queueClickPacket();
34 | PlayerPackets.queuePlayerAction(Player, actions);
35 | return Optional.of(true);
36 | }).orElse(false);
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/EthanApi/src/main/java/com/plugins/InteractionApi/TileObjectInteraction.java:
--------------------------------------------------------------------------------
1 | package com.plugins.InteractionApi;
2 |
3 | import com.plugins.Collections.TileObjects;
4 | import com.plugins.Collections.query.TileObjectQuery;
5 | import com.plugins.Packets.MousePackets;
6 | import com.plugins.Packets.ObjectPackets;
7 | import net.runelite.api.ObjectComposition;
8 | import net.runelite.api.TileObject;
9 |
10 | import java.util.Optional;
11 |
12 | public class TileObjectInteraction {
13 |
14 |
15 | public static boolean interact(String name, String... actions) {
16 | return TileObjects.search().withName(name).first().flatMap(tileObject ->
17 | {
18 | MousePackets.queueClickPacket();
19 | ObjectPackets.queueObjectAction(tileObject, false, actions);
20 | return Optional.of(true);
21 | }).orElse(false);
22 | }
23 |
24 | public static boolean interact(int id, String... actions) {
25 | return TileObjects.search().withId(id).first().flatMap(tileObject ->
26 | {
27 | MousePackets.queueClickPacket();
28 | ObjectPackets.queueObjectAction(tileObject, false, actions);
29 | return Optional.of(true);
30 | }).orElse(false);
31 | }
32 |
33 | public static boolean interact(TileObject tileObject, String... actions) {
34 | if (tileObject == null) {
35 | return false;
36 | }
37 | ObjectComposition comp = TileObjectQuery.getObjectComposition(tileObject);
38 | if (comp == null) {
39 | return false;
40 | }
41 | MousePackets.queueClickPacket();
42 | ObjectPackets.queueObjectAction(tileObject, false, actions);
43 | return true;
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/EthanApi/src/main/java/com/plugins/Packets/MovementPackets.java:
--------------------------------------------------------------------------------
1 | package com.plugins.Packets;
2 |
3 |
4 | import com.plugins.Packets.PacketUtils.PacketDef;
5 | import com.plugins.Packets.PacketUtils.PacketReflection;
6 | import net.runelite.api.coords.WorldPoint;
7 |
8 | public class MovementPackets {
9 | public static void queueMovement(int worldPointX, int worldPointY, boolean ctrlDown) {
10 | int ctrl = ctrlDown ? 2 : 0;
11 | PacketReflection.sendPacket(PacketDef.MOVE_GAMECLICK, worldPointX, worldPointY, ctrl, 5);
12 | }
13 |
14 | public static void queueMovement(WorldPoint location) {
15 | queueMovement(location.getX(), location.getY(), false);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/EthanApi/src/main/java/com/plugins/Packets/PacketUtils/ObjectAndType.java:
--------------------------------------------------------------------------------
1 | package com.plugins.Packets.PacketUtils;
2 |
3 | public class ObjectAndType {
4 | Object object;
5 | Class type;
6 |
7 | public ObjectAndType(Object object, Class type) {
8 | this.object = object;
9 | this.type = type;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/EthanApi/src/main/java/com/plugins/Packets/PacketUtils/PacketType.java:
--------------------------------------------------------------------------------
1 | package com.plugins.Packets.PacketUtils;
2 |
3 | public enum PacketType {
4 | RESUME_PAUSEBUTTON,
5 | IF_BUTTON,
6 | OPNPC,
7 | OPPLAYER,
8 | OPOBJ,
9 | OPLOC,
10 | MOVE_GAMECLICK,
11 | EVENT_MOUSE_CLICK,
12 | IF_BUTTONT,
13 | OPNPCT,
14 | OPPLAYERT,
15 | OPOBJT,
16 | OPLOCT
17 | }
18 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/EthanApi/src/main/java/com/plugins/Packets/PacketUtils/PacketUtilsConfig.java:
--------------------------------------------------------------------------------
1 | package com.plugins.Packets.PacketUtils;
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("PacketUtils")
8 | public interface PacketUtilsConfig extends Config {
9 | @ConfigItem(
10 | keyName = "debug",
11 | name = "debug",
12 | description = "enable menuaction debug output"
13 | )
14 | default boolean debug() {
15 | return false;
16 | }
17 |
18 | @ConfigItem(
19 | keyName = "alwaysOn",
20 | name = "Always enabled.",
21 | description = "Makes this plugin always enabled on startup if the revision matches."
22 | )
23 | default boolean alwaysOn() {
24 | return false;
25 | }
26 |
27 | }
--------------------------------------------------------------------------------
/Conversions/EV-Converted/EthanApi/src/main/java/com/plugins/Packets/TileItemPackets.java:
--------------------------------------------------------------------------------
1 | package com.plugins.Packets;
2 |
3 | import com.plugins.Collections.ETileItem;
4 | import com.plugins.Packets.PacketUtils.PacketDef;
5 | import com.plugins.Packets.PacketUtils.PacketReflection;
6 | import lombok.SneakyThrows;
7 | import net.runelite.api.widgets.Widget;
8 |
9 | public class TileItemPackets {
10 | @SneakyThrows
11 | public static void queueTileItemAction(int actionFieldNo, int objectId, int worldPointX, int worldPointY,
12 | boolean ctrlDown) {
13 | int ctrl = ctrlDown ? 1 : 0;
14 | switch (actionFieldNo) {
15 | case 1:
16 | PacketReflection.sendPacket(PacketDef.OPOBJ1, objectId, worldPointX, worldPointY, ctrl);
17 | break;
18 | case 2:
19 | PacketReflection.sendPacket(PacketDef.OPOBJ2, objectId, worldPointX, worldPointY, ctrl);
20 | break;
21 | case 3:
22 | PacketReflection.sendPacket(PacketDef.OPOBJ3, objectId, worldPointX, worldPointY, ctrl);
23 | break;
24 | case 4:
25 | PacketReflection.sendPacket(PacketDef.OPOBJ4, objectId, worldPointX, worldPointY, ctrl);
26 | break;
27 | case 5:
28 | PacketReflection.sendPacket(PacketDef.OPOBJ5, objectId, worldPointX, worldPointY, ctrl);
29 | break;
30 | }
31 | }
32 |
33 | public static void queueWidgetOnTileItem(int objectId, int worldPointX, int worldPointY, int sourceSlot,
34 | int sourceItemId, int sourceWidgetId, boolean ctrlDown) {
35 | int ctrl = ctrlDown ? 1 : 0;
36 | PacketReflection.sendPacket(PacketDef.OPOBJT, objectId, worldPointX, worldPointY, sourceSlot, sourceItemId,
37 | sourceWidgetId, ctrl);
38 | }
39 |
40 | public static void queueTileItemAction(ETileItem item, boolean ctrlDown) {
41 | queueTileItemAction(3, item.getTileItem().getId(), item.getLocation().getX(), item.getLocation().getY(),
42 | ctrlDown);
43 | }
44 |
45 | public static void queueWidgetOnTileItem(ETileItem item, Widget w,
46 | boolean ctrlDown) {
47 | queueWidgetOnTileItem(item.getTileItem().getId(), item.getLocation().getX(), item.getLocation().getY(),
48 | w.getIndex(), w.getItemId(), w.getId(), ctrlDown);
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/EthanApi/src/main/java/com/plugins/PathFinding/Node.java:
--------------------------------------------------------------------------------
1 | package com.plugins.PathFinding;
2 |
3 | import net.runelite.api.coords.WorldPoint;
4 |
5 | public class Node {
6 | WorldPoint data;
7 | Node previous;
8 |
9 | Node(WorldPoint data) {
10 | this.data = data;
11 | }
12 | Node(){
13 | this.data = null;
14 | this.previous = null;
15 | }
16 | Node(WorldPoint data, Node previous) {
17 | this.data = data;
18 | this.previous = previous;
19 | }
20 |
21 | public WorldPoint getData() {
22 | return data;
23 | }
24 |
25 | public Node getPrevious() {
26 | return previous;
27 | }
28 |
29 | public void setNode(WorldPoint data, Node previous){
30 | this.data = data;
31 | this.previous = previous;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/EthanApi/src/main/java/com/plugins/Utility/WorldAreaUtility.java:
--------------------------------------------------------------------------------
1 | package com.plugins.Utility;
2 |
3 | import net.runelite.api.GameObject;
4 | import net.runelite.api.Point;
5 | import net.runelite.api.TileObject;
6 | import net.runelite.api.coords.LocalPoint;
7 | import net.runelite.api.coords.WorldArea;
8 | import net.runelite.api.coords.WorldPoint;
9 |
10 | import java.util.ArrayList;
11 | import java.util.List;
12 |
13 | import static com.plugins.Packets.PacketUtils.PacketReflection.client;
14 |
15 | public class WorldAreaUtility {
16 |
17 | public static List objectInteractableTiles(TileObject e){
18 |
19 | Point p;
20 | int x = 1;
21 | int y = 1;
22 | if (e instanceof GameObject) {
23 | GameObject gameObject = (GameObject) e;
24 | x = gameObject.sizeX();
25 | y = gameObject.sizeY();
26 | p = gameObject.getSceneMinLocation();
27 | } else {
28 | p = new Point(e.getLocalLocation().getSceneX(), e.getLocalLocation().getSceneY());
29 | }
30 | LocalPoint lp = new LocalPoint(p.getX(), p.getY());
31 | WorldPoint location = WorldPoint.fromScene(client, lp.getX(), lp.getY(), e.getPlane());
32 | List objectArea = new WorldArea(location, x, y).toWorldPointList();
33 | ArrayList grownArea = new ArrayList<>(new WorldArea(location, x+1, y+1).toWorldPointList());
34 | int corner1 = 0;
35 | int corner2 = x-1;
36 | int corner3 = (y*x)-x;
37 | int corner4 = (y*x)-1;
38 | grownArea.remove(corner4);
39 | grownArea.remove(corner3);
40 | grownArea.remove(corner2);
41 | grownArea.remove(corner1);
42 | grownArea.removeAll(objectArea);
43 | return grownArea;
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/EthanApi/src/main/resources/ethan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/EV-Converted/EthanApi/src/main/resources/ethan.png
--------------------------------------------------------------------------------
/Conversions/EV-Converted/EthanApi/src/test/java/EthanApiTest.java:
--------------------------------------------------------------------------------
1 |
2 | import com.plugins.EthanApiPlugin;
3 | import com.plugins.PacketUtilsPlugin;
4 | import net.runelite.client.RuneLite;
5 | import net.runelite.client.externalplugins.ExternalPluginManager;
6 |
7 | public class EthanApiTest
8 | {
9 | public static void main(String[] args) throws Exception
10 | {
11 | ExternalPluginManager.loadBuiltin(EthanApiPlugin.class, PacketUtilsPlugin.class);
12 | RuneLite.main(args);
13 | }
14 | }
--------------------------------------------------------------------------------
/Conversions/EV-Converted/Example/example.gradle.kts:
--------------------------------------------------------------------------------
1 | version = "1.0.0"
2 |
3 | project.extra["PluginName"] = "Example Plugin " // This is the name that is used in the external plugin manager panel
4 | project.extra["PluginDescription"] = "Cago's " + project.extra["PluginName"] // This is the description that is used in the external plugin manager panel
5 | project.extra["PluginPackageId"] = "Example" // This is the plugin package folder after the default group package.
6 | project.extra["PluginMainClassName"] = "ExamplePlugin" // This is the plugin's main class which extends Plugin
7 | dependencies {
8 | implementation(project(":EthanApi"))
9 | implementation("com.github.weisj:darklaf:1.3.3.4")
10 | implementation("com.fifesoft.rtext:rtext:2.0.7")
11 | }
12 | tasks {
13 | jar {
14 | manifest {
15 | attributes(mapOf(
16 | "Plugin-Version" to project.version,
17 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String),
18 | "Plugin-Provider" to project.extra["PluginProvider"],
19 | "Plugin-Description" to project.extra["PluginDescription"],
20 | "Plugin-License" to project.extra["PluginLicense"]
21 | ))
22 | }
23 | }
24 | }
--------------------------------------------------------------------------------
/Conversions/EV-Converted/Example/src/main/java/com/plugins/ExampleConfig.java:
--------------------------------------------------------------------------------
1 | package com.plugins;
2 |
3 | import com.plugins.enums.ExampleEnum;
4 | import net.runelite.client.config.*;
5 |
6 | import java.awt.*;
7 |
8 | @ConfigGroup("Example")
9 | public interface ExampleConfig extends Config {
10 |
11 | @ConfigSection(
12 | name = "Example",
13 | description = "Example",
14 | position = 0
15 | )
16 | String Main = "Main";
17 |
18 | @ConfigItem(
19 | keyName = "ExampleString",
20 | name = "ExampleString",
21 | description = "ExampleString",
22 | position = 1,
23 | section = "Main"
24 | )
25 | default String Example() { return "String"; }
26 |
27 | @ConfigItem(
28 | keyName = "ExampleBoolean",
29 | name = "ExampleBoolean",
30 | description = "ExampleBoolean",
31 | position = 2,
32 | section = "Main"
33 | )
34 | default boolean ExampleBoolean() { return false; }
35 |
36 | @ConfigItem(
37 | keyName = "ExampleInt",
38 | name = "ExampleInt",
39 | description = "ExampleInt",
40 | position = 3,
41 | section = "Main"
42 | )
43 | default int ExampleInt() { return 0; }
44 |
45 | @ConfigItem(
46 | keyName = "ExampleHotKey",
47 | name = "ExampleHotKey",
48 | description = "ExampleHotKey",
49 | position = 4,
50 | section = "Main"
51 | )
52 | default Keybind ExampleHotKey() { return Keybind.NOT_SET; }
53 |
54 | @ConfigItem(
55 | keyName = "ExampleColor",
56 | name = "ExampleColor",
57 | description = "ExampleColor",
58 | position = 5,
59 | section = "Main"
60 | )
61 | default Color ExampleColor() { return Color.WHITE; }
62 |
63 | @ConfigItem(
64 | keyName = "ExampleEnum",
65 | name = "ExampleEnum",
66 | description = "ExampleEnum",
67 | position = 6,
68 | section = "Main"
69 | )
70 | default ExampleEnum ExampleEnum() { return ExampleEnum.E; }
71 |
72 |
73 | }
74 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/Example/src/main/java/com/plugins/ExamplePlugin.java:
--------------------------------------------------------------------------------
1 | package com.plugins;
2 |
3 | import com.google.inject.Provides;
4 | import com.plugins.Packets.MovementPackets;
5 | import net.runelite.api.ChatMessageType;
6 | import net.runelite.api.events.ChatMessage;
7 | import net.runelite.client.config.ConfigManager;
8 | import net.runelite.client.eventbus.Subscribe;
9 | import net.runelite.client.input.KeyManager;
10 | import net.runelite.client.plugins.Plugin;
11 | import net.runelite.client.plugins.PluginDependency;
12 | import net.runelite.client.util.HotkeyListener;
13 |
14 | import javax.inject.Inject;
15 | import java.io.IOException;
16 | import java.time.Duration;
17 |
18 | @PluginDependency(EthanApiPlugin.class)
19 | @PluginDependency(PacketUtilsPlugin.class)
20 | public class ExamplePlugin extends Plugin {
21 |
22 | @Inject
23 | KeyManager keyManager;
24 |
25 | @Inject
26 | private ExampleConfig config;
27 |
28 | private final HotkeyListener startButton = new HotkeyListener(() -> config.ExampleHotKey()) {
29 | @Override
30 | public void hotkeyPressed() {
31 | EthanApiPlugin.sendClientMessage("Start button pressed!");
32 | }
33 | };
34 |
35 | @Provides
36 | ExampleConfig getConfig(final ConfigManager configManager) {
37 | return configManager.getConfig(ExampleConfig.class);
38 | }
39 |
40 | @Override
41 | public void startUp() {
42 | EthanApiPlugin.sendClientMessage("Hello " + EthanApiPlugin.client.getLocalPlayer().getName() + "!");
43 | }
44 |
45 | @Override
46 | public void shutDown() {
47 | EthanApiPlugin.sendClientMessage("Goodbye " + EthanApiPlugin.client.getLocalPlayer().getName() + "!");
48 | }
49 |
50 | @Subscribe
51 | public void onChatMessage(ChatMessage event) {
52 | if (event.getType() == ChatMessageType.GAMEMESSAGE) {
53 | String message = event.getMessage();
54 | if (message.contains("test")) {
55 | int x = EthanApiPlugin.client.getLocalPlayer().getWorldLocation().getX();
56 | int y = EthanApiPlugin.client.getLocalPlayer().getWorldLocation().getY();
57 | MovementPackets.queueMovement(x + 1, y + 1, false);
58 | EthanApiPlugin.sendClientMessage("Test walking successful!");
59 | }
60 | }
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/Example/src/main/java/com/plugins/enums/ExampleEnum.java:
--------------------------------------------------------------------------------
1 | package com.plugins.enums;
2 |
3 | public enum ExampleEnum {
4 | E,X,A,M,P,L; // ExampleEnum.E
5 |
6 | public String toString() {
7 | return this.name();
8 | }
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/Example/src/test/java/plugins/ExamplePluginTest.java:
--------------------------------------------------------------------------------
1 | package plugins;
2 |
3 | import com.plugins.EthanApiPlugin;
4 | import com.plugins.ExamplePlugin;
5 | import com.plugins.PacketUtilsPlugin;
6 | import net.runelite.client.RuneLite;
7 | import net.runelite.client.externalplugins.ExternalPluginManager;
8 |
9 | public class ExamplePluginTest {
10 |
11 | public static void main(String[] args) throws Exception
12 | {
13 | ExternalPluginManager.loadBuiltin(ExamplePlugin.class, EthanApiPlugin.class, PacketUtilsPlugin.class);
14 | RuneLite.main(args);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/LavaRunecrafter/lavarunecrafter.gradle.kts:
--------------------------------------------------------------------------------
1 | version = "1.0.0"
2 |
3 | project.extra["PluginName"] = "Lava Runcrafter Plugin" // This is the name that is used in the external plugin manager panel
4 | project.extra["PluginDescription"] = "EthanVann's " + project.extra["PluginName"] // This is the description that is used in the external plugin manager panel
5 | project.extra["PluginPackageId"] = "LavaRunecrafter" // This is the plugin package folder after the default group package.
6 | project.extra["PluginMainClassName"] = "LavaRunecrafterPlugin" // This is the plugin's main class which extends Plugin
7 | dependencies {
8 | implementation(project(":EthanApi"))
9 | implementation("com.fifesoft.rtext:rtext:2.0.7")
10 | }
11 | tasks {
12 | jar {
13 | manifest {
14 | attributes(mapOf(
15 | "Plugin-Version" to project.version,
16 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String),
17 | "Plugin-Provider" to project.extra["PluginProvider"],
18 | "Plugin-Description" to project.extra["PluginDescription"],
19 | "Plugin-License" to project.extra["PluginLicense"]
20 | ))
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/Conversions/EV-Converted/LavaRunecrafter/src/main/java/com/plugins/LavaRunecrafterPluginConfig.java:
--------------------------------------------------------------------------------
1 | package com.plugins;
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("LavaRunecrafter")
8 | public interface LavaRunecrafterPluginConfig extends Config {
9 | @ConfigItem(
10 | keyName = "TeleMethod",
11 | name = "Teleport Method",
12 | description = "Which method you will use to get to the altar"
13 | )
14 | default TeleportMethods TeleMethod() {
15 | return TeleportMethods.RING_OF_DUELING;
16 | }
17 |
18 | @ConfigItem(
19 | keyName = "VialSmasher",
20 | name = "Vial Smasher Enabled",
21 | description = "Does the account have vial smasher enabled?"
22 | )
23 | default boolean VialSmasher() {
24 | return false;
25 | }
26 | }
--------------------------------------------------------------------------------
/Conversions/EV-Converted/LavaRunecrafter/src/main/java/com/plugins/TeleportMethods.java:
--------------------------------------------------------------------------------
1 | package com.plugins;
2 |
3 | public enum TeleportMethods {
4 | RING_OF_ELEMENTS,
5 | RING_OF_DUELING
6 | }
7 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/NightmareHelper/nightmarehelper.gradle.kts:
--------------------------------------------------------------------------------
1 | version = "1.0.0"
2 |
3 | project.extra["PluginName"] = "Phosani NM Helper Plugin" // This is the name that is used in the external plugin manager panel
4 | project.extra["PluginDescription"] = "EthanVann's " + project.extra["PluginName"] // This is the description that is used in the external plugin manager panel
5 | project.extra["PluginPackageId"] = "NightmareHelper" // This is the plugin package folder after the default group package.
6 | project.extra["PluginMainClassName"] = "NightmareHelperPlugin" // This is the plugin's main class which extends Plugin
7 | dependencies {
8 | implementation(project(":EthanApi"))
9 | implementation("com.fifesoft.rtext:rtext:2.0.7")
10 | }
11 | tasks {
12 | jar {
13 | manifest {
14 | attributes(mapOf(
15 | "Plugin-Version" to project.version,
16 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String),
17 | "Plugin-Provider" to project.extra["PluginProvider"],
18 | "Plugin-Description" to project.extra["PluginDescription"],
19 | "Plugin-License" to project.extra["PluginLicense"]
20 | ))
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/Conversions/EV-Converted/NightmareHelper/src/main/java/com/plugins/WeaponStyle.java:
--------------------------------------------------------------------------------
1 | package com.plugins;
2 |
3 | public enum WeaponStyle {
4 | MAGIC,
5 | RANGE,
6 | MELEE,
7 | CHINS,
8 | TRIDENTS
9 | }
--------------------------------------------------------------------------------
/Conversions/EV-Converted/PathingTesting/pathingtesting.gradle.kts:
--------------------------------------------------------------------------------
1 | version = "1.0.0"
2 |
3 | project.extra["PluginName"] = "Pathing Testing Plugin" // This is the name that is used in the external plugin manager panel
4 | project.extra["PluginDescription"] = "EthanVann's " + project.extra["PluginName"] // This is the description that is used in the external plugin manager panel
5 | project.extra["PluginPackageId"] = "PathingTesting" // This is the plugin package folder after the default group package.
6 | project.extra["PluginMainClassName"] = "PathingTestingPlugin" // This is the plugin's main class which extends Plugin
7 | dependencies {
8 | implementation(project(":EthanApi"))
9 | implementation("com.fifesoft.rtext:rtext:2.0.7")
10 | }
11 | tasks {
12 | jar {
13 | manifest {
14 | attributes(mapOf(
15 | "Plugin-Version" to project.version,
16 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String),
17 | "Plugin-Provider" to project.extra["PluginProvider"],
18 | "Plugin-Description" to project.extra["PluginDescription"],
19 | "Plugin-License" to project.extra["PluginLicense"]
20 | ))
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/Conversions/EV-Converted/PathingTesting/src/main/java/com/plugins/PathingTestingConfig.java:
--------------------------------------------------------------------------------
1 | package com.plugins;
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("PathingTesting")
8 | public interface PathingTestingConfig extends Config {
9 | @ConfigItem(
10 | keyName = "x",
11 | name = "x",
12 | description = ""
13 | )
14 | default int x() {
15 | return -1;
16 | }
17 |
18 | @ConfigItem(
19 | keyName = "y",
20 | name = "y",
21 | description = ""
22 | )
23 | default int y() {
24 | return -1;
25 | }
26 |
27 | @ConfigItem(
28 | keyName = "run",
29 | name = "run",
30 | description = ""
31 | )
32 | default boolean run() {
33 | return false;
34 | }
35 | @ConfigItem(
36 | keyName = "stop",
37 | name = "stop",
38 | description = ""
39 | )
40 | default boolean stop() {
41 | return false;
42 | }
43 | @ConfigItem(
44 | keyName = "drawTiles",
45 | name = "drawTiles",
46 | description = ""
47 | )
48 | default boolean drawTiles() {
49 | return false;
50 | }
51 |
52 | }
53 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/PrayerFlicker/prayerflicker.gradle.kts:
--------------------------------------------------------------------------------
1 | version = "1.0.0"
2 |
3 | project.extra["PluginName"] = "Prayer Flicker Plugin" // This is the name that is used in the external plugin manager panel
4 | project.extra["PluginDescription"] = "EthanVann's " + project.extra["PluginName"] // This is the description that is used in the external plugin manager panel
5 | project.extra["PluginPackageId"] = "PrayerFlicker" // This is the plugin package folder after the default group package.
6 | project.extra["PluginMainClassName"] = "EthanPrayerFlickerPlugin" // This is the plugin's main class which extends Plugin
7 | dependencies {
8 | implementation(project(":EthanApi"))
9 | implementation("com.fifesoft.rtext:rtext:2.0.7")
10 | }
11 | tasks {
12 | jar {
13 | manifest {
14 | attributes(mapOf(
15 | "Plugin-Version" to project.version,
16 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String),
17 | "Plugin-Provider" to project.extra["PluginProvider"],
18 | "Plugin-Description" to project.extra["PluginDescription"],
19 | "Plugin-License" to project.extra["PluginLicense"]
20 | ))
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/Conversions/EV-Converted/PrayerFlicker/src/main/java/com/plugins/PrayerFlickerConfig.java:
--------------------------------------------------------------------------------
1 | package com.plugins;
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("PrayerFlicker")
9 | public interface PrayerFlickerConfig extends Config {
10 | @ConfigItem(
11 | keyName = "Toggle",
12 | name = "Toggle",
13 | description = ""
14 | )
15 | default Keybind toggle() {
16 | return Keybind.NOT_SET;
17 | }
18 |
19 | @ConfigItem(
20 | keyName = "minimapToggle",
21 | name = "Toggle with Minimap Orb",
22 | description = "Toggle using the Minimap Orb"
23 | )
24 | default boolean minimapToggle() {
25 | return false;
26 | }
27 | }
--------------------------------------------------------------------------------
/Conversions/EV-Converted/README.md:
--------------------------------------------------------------------------------
1 | ### EthanVann-Plugins converted by .Zalc (CagoMyre)
2 |
3 | Visit the [EthanVann-Plugins Repo](https://github.com/Ethan-Vann/EthanVannPlugins) for more information.
--------------------------------------------------------------------------------
/Conversions/EV-Converted/RunEnabler/runenabler.gradle.kts:
--------------------------------------------------------------------------------
1 | version = "1.0.0"
2 |
3 | project.extra["PluginName"] = "Run Enabler Plugin" // This is the name that is used in the external plugin manager panel
4 | project.extra["PluginDescription"] = "EthanVann's " + project.extra["PluginName"] // This is the description that is used in the external plugin manager panel
5 | project.extra["PluginPackageId"] = "RunEnabler" // This is the plugin package folder after the default group package.
6 | project.extra["PluginMainClassName"] = "RunEnablerPlugin" // This is the plugin's main class which extends Plugin
7 | dependencies {
8 | implementation(project(":EthanApi"))
9 | implementation("com.fifesoft.rtext:rtext:2.0.7")
10 | }
11 | tasks {
12 | jar {
13 | manifest {
14 | attributes(mapOf(
15 | "Plugin-Version" to project.version,
16 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String),
17 | "Plugin-Provider" to project.extra["PluginProvider"],
18 | "Plugin-Description" to project.extra["PluginDescription"],
19 | "Plugin-License" to project.extra["PluginLicense"]
20 | ))
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/Conversions/EV-Converted/RunEnabler/src/main/java/com/plugins/RunEnablerPlugin.java:
--------------------------------------------------------------------------------
1 | package com.plugins;
2 |
3 | import com.plugins.EthanApiPlugin;
4 | import com.plugins.Packets.MousePackets;
5 | import com.plugins.Packets.WidgetPackets;
6 | import net.runelite.api.events.GameTick;
7 | import net.runelite.client.eventbus.Subscribe;
8 | import net.runelite.client.plugins.Plugin;
9 | import net.runelite.client.plugins.PluginDescriptor;
10 |
11 |
12 | @PluginDescriptor(name = "RunEnabler", description = "", enabledByDefault = false, tags = {"ethan"})
13 | public class RunEnablerPlugin extends Plugin {
14 | @Subscribe
15 | public void onGameTick(GameTick e) {
16 | if (!EthanApiPlugin.loggedIn()) {
17 | return;
18 | }
19 | if (runIsOff() && hasMoreThanZeroEnergy()) {
20 | enableRun();
21 | }
22 | }
23 |
24 | boolean runIsOff() {
25 | return EthanApiPlugin.getClient().getVarpValue(173) == 0;
26 | }
27 |
28 | boolean hasMoreThanZeroEnergy() {
29 | return EthanApiPlugin.getClient().getEnergy() > 100;
30 | }
31 |
32 | void enableRun() {
33 | MousePackets.queueClickPacket();
34 | WidgetPackets.queueWidgetActionPacket(1, 10485787, -1, -1);
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/Superglass/src/main/java/com/plugins/Secondary.java:
--------------------------------------------------------------------------------
1 | package com.plugins;
2 |
3 | import net.runelite.api.ItemID;
4 |
5 | public enum Secondary {
6 | SODA_ASH(ItemID.SODA_ASH, 13),
7 | SEAWEED(ItemID.SEAWEED, 13),
8 | GIANT_SEAWEED(ItemID.GIANT_SEAWEED, 18);
9 |
10 | Secondary(int id, int sandAmount) {
11 | this.id = id;
12 | this.sandAmount = sandAmount;
13 | }
14 |
15 | public int getId() {
16 | return id;
17 | }
18 |
19 | public int getSandAmount() {
20 | return sandAmount;
21 | }
22 |
23 | private final int id;
24 | private final int sandAmount;
25 | }
26 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/Superglass/src/main/java/com/plugins/SuperGlassMakerPluginConfig.java:
--------------------------------------------------------------------------------
1 | package com.plugins;
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("SuperGlassMaker")
8 | public interface SuperGlassMakerPluginConfig extends Config {
9 | @ConfigItem(
10 | keyName = "Secondary",
11 | name = "Secondary",
12 | description = "Which secondary you will use"
13 | )
14 | default Secondary secondary() {
15 | return Secondary.GIANT_SEAWEED;
16 | }
17 | }
--------------------------------------------------------------------------------
/Conversions/EV-Converted/Superglass/superglass.gradle.kts:
--------------------------------------------------------------------------------
1 | version = "1.0.0"
2 |
3 | project.extra["PluginName"] = "Superglass Maker Plugin" // This is the name that is used in the external plugin manager panel
4 | project.extra["PluginDescription"] = "EthanVann's " + project.extra["PluginName"] // This is the description that is used in the external plugin manager panel
5 | project.extra["PluginPackageId"] = "Superglass" // This is the plugin package folder after the default group package.
6 | project.extra["PluginMainClassName"] = "SuperGlassMakerPlugin" // This is the plugin's main class which extends Plugin
7 | dependencies {
8 | implementation(project(":EthanApi"))
9 | implementation("com.fifesoft.rtext:rtext:2.0.7")
10 | }
11 | tasks {
12 | jar {
13 | manifest {
14 | attributes(mapOf(
15 | "Plugin-Version" to project.version,
16 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String),
17 | "Plugin-Provider" to project.extra["PluginProvider"],
18 | "Plugin-Description" to project.extra["PluginDescription"],
19 | "Plugin-License" to project.extra["PluginLicense"]
20 | ))
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/Conversions/EV-Converted/Upkeep/upkeep.gradle.kts:
--------------------------------------------------------------------------------
1 | version = "1.0.0"
2 |
3 | project.extra["PluginName"] = "Upkeep Plugin" // This is the name that is used in the external plugin manager panel
4 | project.extra["PluginDescription"] = "EthanVann's " + project.extra["PluginName"] // This is the description that is used in the external plugin manager panel
5 | project.extra["PluginPackageId"] = "Upkeep" // This is the plugin package folder after the default group package.
6 | project.extra["PluginMainClassName"] = "UpkeepPlugin" // This is the plugin's main class which extends Plugin
7 | dependencies {
8 | implementation(project(":EthanApi"))
9 | implementation("com.fifesoft.rtext:rtext:2.0.7")
10 | }
11 | tasks {
12 | jar {
13 | manifest {
14 | attributes(mapOf(
15 | "Plugin-Version" to project.version,
16 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String),
17 | "Plugin-Provider" to project.extra["PluginProvider"],
18 | "Plugin-Description" to project.extra["PluginDescription"],
19 | "Plugin-License" to project.extra["PluginLicense"]
20 | ))
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/Conversions/EV-Converted/buildSrc/build.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 | plugins {
27 | `kotlin-dsl`
28 | }
29 |
30 | repositories {
31 | jcenter()
32 | }
33 |
34 | dependencies {
35 | implementation(gradleApi())
36 | implementation(group = "org.json", name = "json", version = "20190722")
37 | implementation(group = "com.savvasdalkitsis", name = "json-merge", version = "0.0.4")
38 | implementation(group = "com.squareup.okhttp3", name = "okhttp", version = "4.2.2")
39 | }
40 |
41 | kotlinDslPluginOptions {
42 | experimentalWarning.set(false)
43 | }
--------------------------------------------------------------------------------
/Conversions/EV-Converted/buildSrc/src/main/kotlin/BootstrapPlugin.kt:
--------------------------------------------------------------------------------
1 | import org.gradle.api.Plugin
2 | import org.gradle.api.Project
3 | import org.gradle.kotlin.dsl.register
4 |
5 | class BootstrapPlugin : Plugin {
6 | override fun apply(project: Project) {
7 | project.tasks.register("bootstrapPlugins") {}
8 | }
9 | }
--------------------------------------------------------------------------------
/Conversions/EV-Converted/buildSrc/src/main/kotlin/JsonBuilder.kt:
--------------------------------------------------------------------------------
1 | import org.json.JSONArray
2 | import org.json.JSONObject
3 |
4 | class JsonBuilder() {
5 | private var json = JSONObject()
6 |
7 | constructor(vararg pairs: Pair) : this() {
8 | add(*pairs)
9 | }
10 |
11 | fun add(vararg pairs: Pair) {
12 | for ((key, value) in pairs) {
13 | when (value) {
14 | is Boolean -> json.put(key, value)
15 | is Number -> add(key, value)
16 | is String -> json.put(key, value)
17 | is JsonBuilder -> json.put(key, value.json)
18 | is Array<*> -> add(key, value)
19 | is JSONObject -> json.put(key, value)
20 | is JSONArray -> json.put(key, value)
21 | }
22 | }
23 | }
24 |
25 | fun add(key: String, value: Number): JsonBuilder {
26 | when (value) {
27 | is Int -> json.put(key, value)
28 | is Long -> json.put(key, value)
29 | is Float -> json.put(key, value)
30 | is Double -> json.put(key, value)
31 | else -> {}
32 | }
33 |
34 | return this
35 | }
36 |
37 | fun add(key: String, items: Array): JsonBuilder {
38 | val jsonArray = JSONArray()
39 | items.forEach {
40 | when (it) {
41 | is String,is Long,is Int, is Boolean -> jsonArray.put(it)
42 | is JsonBuilder -> jsonArray.put(it.json)
43 | else -> try {jsonArray.put(it)} catch (ignored:Exception) {
44 |
45 | }
46 | }
47 | }
48 |
49 | json.put(key, jsonArray)
50 |
51 | return this
52 | }
53 |
54 | fun jsonObject() = json
55 |
56 | override fun toString() = json.toString()
57 | }
--------------------------------------------------------------------------------
/Conversions/EV-Converted/buildSrc/src/main/kotlin/Project.kt:
--------------------------------------------------------------------------------
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 | fun nameToId(name: String): String {
27 | return name.replace("[^A-Za-z]".toRegex(), "").toLowerCase() + "-plugin"
28 | }
29 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/buildSrc/src/main/kotlin/SemVer.kt:
--------------------------------------------------------------------------------
1 | data class SemVer(
2 | var major: Int = 0,
3 | var minor: Int = 0,
4 | var patch: Int = 0
5 | ) : Comparable {
6 | companion object {
7 | @JvmStatic
8 | fun parse(version: String): SemVer {
9 | val pattern = Regex("""(0|[1-9]\d*)?(?:\.)?(0|[1-9]\d*)?(?:\.)?(0|[1-9]\d*)?(?:-([\dA-z\-]+(?:\.[\dA-z\-]+)*))?(?:\+([\dA-z\-]+(?:\.[\dA-z\-]+)*))?""")
10 | val result = pattern.matchEntire(version)
11 | ?: throw IllegalArgumentException("Invalid version string [$version]")
12 | return SemVer(
13 | major = if (result.groupValues[1].isEmpty()) 0 else result.groupValues[1].toInt(),
14 | minor = if (result.groupValues[2].isEmpty()) 0 else result.groupValues[2].toInt(),
15 | patch = if (result.groupValues[3].isEmpty()) 0 else result.groupValues[3].toInt()
16 | )
17 | }
18 | }
19 |
20 | init {
21 | require(major >= 0) { "Major version must be a positive number" }
22 | require(minor >= 0) { "Minor version must be a positive number" }
23 | require(patch >= 0) { "Patch version must be a positive number" }
24 | }
25 |
26 | override fun toString(): String = buildString {
27 | append("$major.$minor.$patch")
28 | }
29 |
30 | override fun compareTo(other: SemVer): Int {
31 | if (major > other.major) return 1
32 | if (major < other.major) return -1
33 | if (minor > other.minor) return 1
34 | if (minor < other.minor) return -1
35 | if (patch > other.patch) return 1
36 | if (patch < other.patch) return -1
37 |
38 | return -1
39 | }
40 | }
--------------------------------------------------------------------------------
/Conversions/EV-Converted/buildSrc/src/main/kotlin/VersionPlugin.kt:
--------------------------------------------------------------------------------
1 | import org.gradle.api.Plugin
2 | import org.gradle.api.Project
3 | import org.gradle.kotlin.dsl.register
4 |
5 | class VersionPlugin : Plugin {
6 | override fun apply(project: Project) {
7 | project.tasks.register("bumpVersion") {}
8 | project.tasks.register("bumpVersions") {}
9 | }
10 | }
--------------------------------------------------------------------------------
/Conversions/EV-Converted/gauntletFlicker/gauntletflicker.gradle.kts:
--------------------------------------------------------------------------------
1 | version = "1.0.0"
2 |
3 | project.extra["PluginName"] = "Gauntlet Flicker Plugin" // This is the name that is used in the external plugin manager panel
4 | project.extra["PluginDescription"] = "EthanVann's " + project.extra["PluginName"] // This is the description that is used in the external plugin manager panel
5 | project.extra["PluginPackageId"] = "gauntletFlicker" // This is the plugin package folder after the default group package.
6 | project.extra["PluginMainClassName"] = "GauntletFlickerPlugin" // This is the plugin's main class which extends Plugin
7 | dependencies {
8 | implementation(project(":EthanApi"))
9 | implementation("com.fifesoft.rtext:rtext:2.0.7")
10 | }
11 | tasks {
12 | jar {
13 | manifest {
14 | attributes(mapOf(
15 | "Plugin-Version" to project.version,
16 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String),
17 | "Plugin-Provider" to project.extra["PluginProvider"],
18 | "Plugin-Description" to project.extra["PluginDescription"],
19 | "Plugin-License" to project.extra["PluginLicense"]
20 | ))
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/Conversions/EV-Converted/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 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/EV-Converted/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/Conversions/EV-Converted/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Wed Jul 12 20:59:40 CDT 2023
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.2.1-bin.zip
5 | zipStoreBase=GRADLE_USER_HOME
6 | zipStorePath=wrapper/dists
7 |
--------------------------------------------------------------------------------
/Conversions/EV-Converted/harpoon2ticker/harpoon2ticker.gradle.kts:
--------------------------------------------------------------------------------
1 | version = "1.0.0"
2 |
3 | project.extra["PluginName"] = "Harpoon 2T Plugin" // This is the name that is used in the external plugin manager panel
4 | project.extra["PluginDescription"] = "EthanVann's " + project.extra["PluginName"] // This is the description that is used in the external plugin manager panel
5 | project.extra["PluginPackageId"] = "harpoon2ticker" // This is the plugin package folder after the default group package.
6 | project.extra["PluginMainClassName"] = "SwordFish2Tick" // This is the plugin's main class which extends Plugin
7 | dependencies {
8 | implementation(project(":EthanApi"))
9 | implementation("com.fifesoft.rtext:rtext:2.0.7")
10 | }
11 | tasks {
12 | jar {
13 | manifest {
14 | attributes(mapOf(
15 | "Plugin-Version" to project.version,
16 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String),
17 | "Plugin-Provider" to project.extra["PluginProvider"],
18 | "Plugin-Description" to project.extra["PluginDescription"],
19 | "Plugin-License" to project.extra["PluginLicense"]
20 | ))
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/Conversions/EV-Converted/settings.gradle.kts:
--------------------------------------------------------------------------------
1 | rootProject.name = "EV-Converted"
2 |
3 | include(":AutoTele")
4 | include(":CalvarionHelper")
5 | include(":E3t4g")
6 | include(":EthanApi")
7 | include(":GauntletFlicker")
8 | include(":Harpoon2Ticker")
9 | include(":LavaRunecrafter")
10 | include(":NightmareHelper")
11 | include(":PrayerFlicker")
12 | include(":PrayerFlicker")
13 | include(":RunEnabler")
14 | include(":Superglass")
15 | include(":Upkeep")
16 | include(":PathingTesting")
17 | include(":Example")
18 | include(":DeveloperTools")
19 |
20 | for (project in rootProject.children) {
21 | project.apply {
22 | projectDir = file(name)
23 | buildFileName = "$name.gradle.kts"
24 |
25 | require(projectDir.isDirectory) { "Project '${project.path} must have a $projectDir directory" }
26 | require(buildFile.isFile) { "Project '${project.path} must have a $buildFile build script" }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/.gitignore:
--------------------------------------------------------------------------------
1 | .gradle
2 | build/
3 | !gradle/wrapper/gradle-wrapper.jar
4 | !**/src/main/**/build/
5 | !**/src/test/**/build/
6 |
7 | ### IntelliJ IDEA ###
8 | .idea/modules.xml
9 | .idea/jarRepositories.xml
10 | .idea/compiler.xml
11 | .idea/libraries/
12 | *.iws
13 | *.iml
14 | *.ipr
15 | out/
16 | !**/src/main/**/out/
17 | !**/src/test/**/out/
18 |
19 | ### Eclipse ###
20 | .apt_generated
21 | .classpath
22 | .factorypath
23 | .project
24 | .settings
25 | .springBeans
26 | .sts4-cache
27 | bin/
28 | !**/src/main/**/bin/
29 | !**/src/test/**/bin/
30 |
31 | ### NetBeans ###
32 | /nbproject/private/
33 | /nbbuild/
34 | /dist/
35 | /nbdist/
36 | /.nb-gradle/
37 |
38 | ### VS Code ###
39 | .vscode/
40 |
41 | ### Mac OS ###
42 | .DS_Store
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /shelf/
3 | /workspace.xml
4 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/.idea/.name:
--------------------------------------------------------------------------------
1 | EthanVann-Plugins
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/.idea/gradle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/.idea/kotlinc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/AoeWarn/aoewarn.gradle.kts:
--------------------------------------------------------------------------------
1 | version = "1.0.0"
2 |
3 | project.extra["PluginName"] = "AOEWarn" // This is the name that is used in the external plugin manager panel
4 | project.extra["PluginDescription"] = "PiggyPlugin's Converted " + project.extra["PluginName"] // This is the description that is used in the external plugin manager panel
5 | project.extra["PluginPackageId"] = "AoeWarn" // This is the plugin package folder after the default group package.
6 | project.extra["PluginMainClassName"] = "AoeWarningPlugin" // This is the plugin's main class which extends Plugin
7 | dependencies {
8 | implementation(project(":EthanApi"))
9 | implementation(project(":PiggyUtils"))
10 |
11 | }
12 | tasks {
13 | jar {
14 | manifest {
15 | attributes(mapOf(
16 | "Plugin-Version" to project.version,
17 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String),
18 | "Plugin-Provider" to project.extra["PluginProvider"],
19 | "Plugin-Description" to project.extra["PluginDescription"],
20 | "Plugin-License" to project.extra["PluginLicense"]
21 | ))
22 | }
23 | }
24 | }
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/AoeWarn/src/main/java/com/plugins/ColorUtil.java:
--------------------------------------------------------------------------------
1 | package com.plugins;
2 |
3 | import java.awt.Color;
4 |
5 | public class ColorUtil
6 | {
7 | /**
8 | * Modifies the alpha component on a Color
9 | *
10 | * @param color The color to set the alpha value on
11 | * @param alpha The alpha value to set on the color
12 | * @return color
13 | */
14 | public static int setAlphaComponent(Color color, int alpha)
15 | {
16 | return setAlphaComponent(color.getRGB(), alpha);
17 | }
18 |
19 | /**
20 | * Modifies the alpha component on a Color
21 | *
22 | * @param color The color to set the alpha value on
23 | * @param alpha The alpha value to set on the color
24 | * @return color
25 | */
26 | public static int setAlphaComponent(int color, int alpha)
27 | {
28 | if (alpha < 0 || alpha > 255)
29 | {
30 | throw new IllegalArgumentException("alpha must be between 0 and 255.");
31 | }
32 | return (color & 0x00ffffff) | (alpha << 24);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/AoeWarn/src/main/java/com/plugins/CrystalBomb.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2018, PallasDieKatze (Pallas Cat)
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 com.plugins;
26 |
27 | import java.time.Instant;
28 | import lombok.AccessLevel;
29 | import lombok.Getter;
30 | import lombok.extern.slf4j.Slf4j;
31 | import net.runelite.api.GameObject;
32 | import net.runelite.api.coords.WorldPoint;
33 |
34 | @Slf4j
35 | @Getter(AccessLevel.PACKAGE)
36 | class CrystalBomb
37 | {
38 | private GameObject gameObject;
39 | private Instant plantedOn;
40 | private Instant lastClockUpdate;
41 | private int objectId;
42 | private int tickStarted;
43 | private WorldPoint worldLocation;
44 |
45 | CrystalBomb(GameObject gameObject, int startTick)
46 | {
47 | this.gameObject = gameObject;
48 | this.objectId = gameObject.getId();
49 | this.plantedOn = Instant.now();
50 | this.worldLocation = gameObject.getWorldLocation();
51 | this.tickStarted = startTick;
52 | }
53 |
54 | void bombClockUpdate()
55 | {
56 | lastClockUpdate = Instant.now();
57 | }
58 | }
59 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/AoeWarn/src/main/java/com/plugins/ProjectileContainer.java:
--------------------------------------------------------------------------------
1 | package com.plugins;
2 |
3 | import java.time.Instant;
4 | import lombok.AccessLevel;
5 | import lombok.Getter;
6 | import lombok.Setter;
7 | import net.runelite.api.Projectile;
8 | import net.runelite.api.coords.LocalPoint;
9 |
10 | @Getter(AccessLevel.PACKAGE)
11 | class ProjectileContainer
12 | {
13 | private Projectile projectile;
14 | private Instant startTime;
15 | private AoeProjectileInfo aoeProjectileInfo;
16 | private int lifetime;
17 | private int finalTick;
18 | @Setter(AccessLevel.PACKAGE)
19 | private LocalPoint targetPoint;
20 |
21 | ProjectileContainer(Projectile projectile, Instant startTime, int lifetime, int finalTick)
22 | {
23 | this.projectile = projectile;
24 | this.startTime = startTime;
25 | this.targetPoint = null;
26 | this.aoeProjectileInfo = AoeProjectileInfo.getById(projectile.getId());
27 | this.lifetime = lifetime;
28 | this.finalTick = finalTick;
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/AutoJugHumidifier/autojughumidifier.gradle.kts:
--------------------------------------------------------------------------------
1 | version = "1.0.0"
2 |
3 | project.extra["PluginName"] = "Auto Jug Humidifier" // This is the name that is used in the external plugin manager panel
4 | project.extra["PluginDescription"] = "PiggyPlugin's " + project.extra["PluginName"] // This is the description that is used in the external plugin manager panel
5 | project.extra["PluginPackageId"] = "AutoJugHumidifier" // This is the plugin package folder after the default group package.
6 | project.extra["PluginMainClassName"] = "AutoJugHumidifierPlugin" // This is the plugin's main class which extends Plugin
7 | dependencies {
8 | implementation(project(":EthanApi"))
9 | implementation(project(":PiggyUtils"))
10 | }
11 | tasks {
12 | jar {
13 | manifest {
14 | attributes(mapOf(
15 | "Plugin-Version" to project.version,
16 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String),
17 | "Plugin-Provider" to project.extra["PluginProvider"],
18 | "Plugin-Description" to project.extra["PluginDescription"],
19 | "Plugin-License" to project.extra["PluginLicense"]
20 | ))
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/AutoJugHumidifier/src/main/java/com/plugins/AutoJugHumidifierConfig.java:
--------------------------------------------------------------------------------
1 | package com.plugins;
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("AutoJugFiller")
9 | public interface AutoJugHumidifierConfig extends Config {
10 | @ConfigItem(
11 | keyName = "Toggle",
12 | name = "Toggle",
13 | description = "",
14 | position = 0
15 | )
16 | default Keybind toggle() {
17 | return Keybind.NOT_SET;
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/AutoRifts/autorifts.gradle.kts:
--------------------------------------------------------------------------------
1 | version = "1.0.0"
2 |
3 | project.extra["PluginName"] = "AutoRifts" // This is the name that is used in the external plugin manager panel
4 | project.extra["PluginDescription"] = "PiggyPlugin's " + project.extra["PluginName"] // This is the description that is used in the external plugin manager panel
5 | project.extra["PluginPackageId"] = "AutoRifts" // This is the plugin package folder after the default group package.
6 | project.extra["PluginMainClassName"] = "AutoRiftsPlugin" // This is the plugin's main class which extends Plugin
7 | dependencies {
8 | implementation(project(":EthanApi"))
9 | implementation(project(":PiggyUtils"))
10 |
11 | }
12 | tasks {
13 | jar {
14 | manifest {
15 | attributes(mapOf(
16 | "Plugin-Version" to project.version,
17 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String),
18 | "Plugin-Provider" to project.extra["PluginProvider"],
19 | "Plugin-Description" to project.extra["PluginDescription"],
20 | "Plugin-License" to project.extra["PluginLicense"]
21 | ))
22 | }
23 | }
24 | }
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/AutoRifts/src/main/java/com/plugins/AutoRiftsOverlay.java:
--------------------------------------------------------------------------------
1 | package com.plugins;
2 |
3 | import com.google.inject.Inject;
4 | import net.runelite.client.ui.overlay.OverlayPanel;
5 | import net.runelite.client.ui.overlay.components.LineComponent;
6 | import net.runelite.client.ui.overlay.components.TitleComponent;
7 |
8 | import java.awt.*;
9 |
10 | public class AutoRiftsOverlay extends OverlayPanel {
11 |
12 | private final AutoRiftsPlugin plugin;
13 |
14 | @Inject
15 | private AutoRiftsOverlay(AutoRiftsPlugin plugin) {
16 | this.plugin = plugin;
17 | }
18 |
19 | @Override
20 | public Dimension render(Graphics2D graphics) {
21 | panelComponent.getChildren().add(TitleComponent.builder()
22 | .text("Auto Rifts")
23 | .color(Color.WHITE)
24 | .build());
25 |
26 | panelComponent.getChildren().add(TitleComponent.builder()
27 | .text(plugin.isStarted() ? "Running" : "Paused")
28 | .color(plugin.isStarted() ? Color.GREEN : Color.RED)
29 | .build());
30 |
31 | panelComponent.getChildren().add(LineComponent.builder()
32 | .left("Elapsed Time: ")
33 | .leftColor(Color.YELLOW)
34 | .right(plugin.getElapsedTime())
35 | .rightColor(Color.WHITE)
36 | .build());
37 |
38 | panelComponent.getChildren().add(LineComponent.builder()
39 | .left("State")
40 | .leftColor(Color.YELLOW)
41 | .right(plugin.getState() == null ? "null" : plugin.getState().name())
42 | .rightColor(Color.WHITE)
43 | .build());
44 |
45 | return super.render(graphics);
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/AutoRifts/src/main/java/com/plugins/data/Altar.java:
--------------------------------------------------------------------------------
1 | package com.plugins.data;
2 |
3 | import lombok.Getter;
4 |
5 | @Getter
6 | public enum Altar {
7 | AIR(43701, Constants.AIR_SPRITE),
8 | MIND(43705, Constants.MIND_SPRITE),
9 | WATER(43702, Constants.WATER_SPRITE),
10 | EARTH(43703, Constants.EARTH_SPRITE),
11 | FIRE(43704, Constants.FIRE_SPRITE),
12 | BODY(43709, Constants.BODY_SPRITE),
13 | COSMIC(43710, Constants.COSMIC_SPRITE),
14 | CHAOS(43706, Constants.CHAOS_SPRITE),
15 | NATURE(43711, Constants.NATURE_SPRITE),
16 | LAW(43712, Constants.LAW_SPRITE),
17 | DEATH(43707, Constants.DEATH_SPRITE),
18 | BLOOD(43708, Constants.BLOOD_SPRITE);
19 |
20 | final int id;
21 | final int spriteId;
22 |
23 | Altar(int id, int spriteId) {
24 | this.id = id;
25 | this.spriteId = spriteId;
26 | }
27 |
28 | public static Altar getAltarBySpriteId(int spriteId) {
29 | for (Altar altar : Altar.values()) {
30 | if (altar.getSpriteId() == spriteId) {
31 | return altar;
32 | }
33 | }
34 | return null;
35 | }
36 |
37 | public static Altar getAltarByObjectId(int id) {
38 | for (Altar altar : Altar.values()) {
39 | if (altar.getId() == id) {
40 | return altar;
41 | }
42 | }
43 | return null;
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/AutoRifts/src/main/java/com/plugins/data/State.java:
--------------------------------------------------------------------------------
1 | package com.plugins.data;
2 |
3 | public enum State {
4 | WAITING,
5 | ANIMATING,
6 | MINING,
7 | TIMEOUT,
8 | OUTSIDE_BARRIER,
9 | WAITING_FOR_GAME,
10 | RETURN_TO_START,
11 | MINE_LARGE,
12 | MINE_HUGE,
13 | MINE_GAME,
14 | CRAFT_ESSENCE,
15 | BUILD_GUARDIAN,
16 | CHARGE_SHIELD,
17 | DEPOSIT_RUNES,
18 | ENTER_PORTAL,
19 | ENTER_RIFT,
20 | CRAFT_RUNES,
21 | EXIT_ALTAR,
22 | POWER_GUARDIAN,
23 | REPAIR_POUCH,
24 | LEAVE_LARGE,
25 | TAKE_CELLS,
26 | GAME_BUSY,
27 | DROP_RUNES,
28 | DROP_TALISMAN,
29 | CRAFTING_ESS
30 | }
31 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/AutoRifts/src/main/java/com/plugins/data/Utility.java:
--------------------------------------------------------------------------------
1 | package com.plugins.data;
2 |
3 | import java.util.HashSet;
4 | import java.util.Set;
5 |
6 | public class Utility {
7 |
8 | public static int getHighestLevelRuneIndex(int level) {
9 | if (level < 35) {
10 | return 7;
11 | } else if (level < 44) {
12 | return 8;
13 | } else if (level < 54) {
14 | return 9;
15 | } else if (level < 65) {
16 | return 10;
17 | } else if (level < 77) {
18 | return 11;
19 | }
20 |
21 | return 12;
22 | }
23 |
24 | public static Set getAccessibleAltars(int level, boolean city, boolean troll, boolean mep, boolean sotf) {
25 | Set accessibleAltars = new HashSet<>();
26 | for (int i = 0; i < getHighestLevelRuneIndex(level); i++) {
27 | Altar[] altars = Altar.values();
28 | if (altars[i] == Altar.COSMIC && !city) {
29 | continue;
30 | }
31 | if (altars[i] == Altar.LAW && !troll) {
32 | continue;
33 | }
34 | if (altars[i] == Altar.DEATH && !mep) {
35 | continue;
36 | }
37 | if (altars[i] == Altar.BLOOD && !sotf) {
38 | continue;
39 | }
40 | accessibleAltars.add(altars[i]);
41 | }
42 |
43 | return accessibleAltars;
44 | }
45 |
46 |
47 |
48 | }
49 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/CannonReloader/cannonreloader.gradle.kts:
--------------------------------------------------------------------------------
1 | version = "1.0.0"
2 |
3 | project.extra["PluginName"] = "Cannon Reloader" // This is the name that is used in the external plugin manager panel
4 | project.extra["PluginDescription"] = "PiggyPlugin's Converted " + project.extra["PluginName"] // This is the description that is used in the external plugin manager panel
5 | project.extra["PluginPackageId"] = "CannonReloader" // This is the plugin package folder after the default group package.
6 | project.extra["PluginMainClassName"] = "CannonReloaderPlugin" // This is the plugin's main class which extends Plugin
7 | dependencies {
8 | implementation(project(":EthanApi"))
9 | implementation(project(":PiggyUtils"))
10 |
11 | }
12 | tasks {
13 | jar {
14 | manifest {
15 | attributes(mapOf(
16 | "Plugin-Version" to project.version,
17 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String),
18 | "Plugin-Provider" to project.extra["PluginProvider"],
19 | "Plugin-Description" to project.extra["PluginDescription"],
20 | "Plugin-License" to project.extra["PluginLicense"]
21 | ))
22 | }
23 | }
24 | }
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/CannonReloader/src/main/java/com/plugins/CannonReloaderConfig.java:
--------------------------------------------------------------------------------
1 | package com.plugins;
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.Range;
7 |
8 | @ConfigGroup("CannonReloader")
9 | public interface CannonReloaderConfig extends Config {
10 |
11 | @Range(
12 | max = 30
13 | )
14 | @ConfigItem(
15 | keyName = "reloadMin",
16 | name = "Reload Min",
17 | description = "Amount of balls left before relaoding"
18 | )
19 | default int reloadMin() {
20 | return 5;
21 | }
22 |
23 | @Range(
24 | max = 30
25 | )
26 | @ConfigItem(
27 | keyName = "reloadMax",
28 | name = "Reload Max",
29 | description = "Amount of balls left before relaoding"
30 | )
31 | default int reloadMax() {
32 | return 20;
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/ethanapi.gradle.kts:
--------------------------------------------------------------------------------
1 | version = "1.0.0"
2 |
3 | project.extra["PluginName"] = "EthanAPI Plugin" // This is the name that is used in the external plugin manager panel
4 | project.extra["PluginDescription"] = "EthanVann's " + project.extra["PluginName"] // This is the description that is used in the external plugin manager panel
5 | project.extra["PluginPackageId"] = "EthanApi" // This is the plugin package folder after the default group package.
6 | project.extra["PluginMainClassName"] = "EthanApiPlugin" // This is the plugin's main class which extends Plugin
7 | dependencies {
8 | implementation("org.roaringbitmap:RoaringBitmap:0.9.44")
9 | implementation("de.jflex:jflex:1.8.2")
10 | implementation("com.fifesoft:rsyntaxtextarea:3.1.1")
11 | implementation("com.fifesoft:autocomplete:2.6.1")
12 | implementation("com.fifesoft.rtext:rtext:2.0.7")
13 | }
14 | tasks {
15 | jar {
16 | manifest {
17 | attributes(mapOf(
18 | "Plugin-Version" to project.version,
19 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String),
20 | "Plugin-Provider" to project.extra["PluginProvider"],
21 | "Plugin-Description" to project.extra["PluginDescription"],
22 | "Plugin-License" to project.extra["PluginLicense"]
23 | ))
24 | }
25 | }
26 | }
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/Bank.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/Bank.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/BankInventory.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/BankInventory.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/BankItemWidget.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/BankItemWidget.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/DepositBox.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/DepositBox.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/ETileItem.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/ETileItem.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/Equipment.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/Equipment.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/EquipmentItemWidget.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/EquipmentItemWidget.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/Inventory.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/Inventory.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/NPCs.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/NPCs.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/Players.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/Players.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/ShopInventory.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/ShopInventory.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/TileItems.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/TileItems.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/TileObjects.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/TileObjects.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/Widgets.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/Widgets.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/query/EquipmentItemQuery.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/query/EquipmentItemQuery.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/query/ItemQuery.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/query/ItemQuery.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/query/NPCQuery.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/query/NPCQuery.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/query/PlayerQuery.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/query/PlayerQuery.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/query/QuickPrayer.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/query/QuickPrayer.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/query/TileItemQuery.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/query/TileItemQuery.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/query/TileObjectQuery.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/query/TileObjectQuery.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/query/WidgetQuery.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Collections/query/WidgetQuery.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/EthanApiPlugin.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/EthanApiPlugin.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/InteractionApi/BankInteraction.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/InteractionApi/BankInteraction.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/InteractionApi/BankInventoryInteraction.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/InteractionApi/BankInventoryInteraction.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/InteractionApi/InteractionHelper.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/InteractionApi/InteractionHelper.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/InteractionApi/InventoryInteraction.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/InteractionApi/InventoryInteraction.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/InteractionApi/NPCInteraction.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/InteractionApi/NPCInteraction.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/InteractionApi/PlayerInteractionHelper.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/InteractionApi/PlayerInteractionHelper.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/InteractionApi/PrayerInteraction.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/InteractionApi/PrayerInteraction.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/InteractionApi/TileObjectInteraction.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/InteractionApi/TileObjectInteraction.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/PacketUtilsPlugin.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/PacketUtilsPlugin.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/BufferMethods.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/BufferMethods.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/MousePackets.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/MousePackets.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/MovementPackets.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/MovementPackets.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/NPCPackets.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/NPCPackets.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/ObjectPackets.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/ObjectPackets.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/PacketUtils/ObfuscatedNames.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/PacketUtils/ObfuscatedNames.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/PacketUtils/ObjectAndType.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/PacketUtils/ObjectAndType.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/PacketUtils/PacketDef.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/PacketUtils/PacketDef.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/PacketUtils/PacketReflection.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/PacketUtils/PacketReflection.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/PacketUtils/PacketType.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/PacketUtils/PacketType.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/PacketUtils/PacketUtilsConfig.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/PacketUtils/PacketUtilsConfig.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/PacketUtils/WidgetID.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/PacketUtils/WidgetID.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/PacketUtils/WidgetInfoExtended.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/PacketUtils/WidgetInfoExtended.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/PlayerPackets.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/PlayerPackets.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/TileItemPackets.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/TileItemPackets.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/WidgetPackets.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Packets/WidgetPackets.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/PathFinding/GlobalCollisionMap.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/PathFinding/GlobalCollisionMap.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/PathFinding/Node.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/PathFinding/Node.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Utility/WorldAreaUtility.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/java/com/plugins/Utility/WorldAreaUtility.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/main/resources/ethan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/main/resources/ethan.png
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/EthanApi/src/test/java/EthanApiTest.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/EthanApi/src/test/java/EthanApiTest.java
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/HerbCleaner/herbcleaner.gradle.kts:
--------------------------------------------------------------------------------
1 | version = "1.0.0"
2 |
3 | project.extra["PluginName"] = "Herb Cleaner" // This is the name that is used in the external plugin manager panel
4 | project.extra["PluginDescription"] = "PiggyPlugin's " + project.extra["PluginName"] // This is the description that is used in the external plugin manager panel
5 | project.extra["PluginPackageId"] = "HerbCleaner" // This is the plugin package folder after the default group package.
6 | project.extra["PluginMainClassName"] = "HerbCleanerPlugin" // This is the plugin's main class which extends Plugin
7 | dependencies {
8 | implementation(project(":EthanApi"))
9 | implementation(project(":PiggyUtils"))
10 |
11 | }
12 | tasks {
13 | jar {
14 | manifest {
15 | attributes(mapOf(
16 | "Plugin-Version" to project.version,
17 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String),
18 | "Plugin-Provider" to project.extra["PluginProvider"],
19 | "Plugin-Description" to project.extra["PluginDescription"],
20 | "Plugin-License" to project.extra["PluginLicense"]
21 | ))
22 | }
23 | }
24 | }
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/HerbCleaner/src/main/java/com/plugins/HerbCleanerConfig.java:
--------------------------------------------------------------------------------
1 | package com.plugins;
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 | import net.runelite.client.config.Range;
8 |
9 | @ConfigGroup("HerbCleaner")
10 | public interface HerbCleanerConfig extends Config {
11 | @ConfigItem(
12 | keyName = "Toggle",
13 | name = "Toggle",
14 | description = "",
15 | position = 0
16 | )
17 | default Keybind toggle() {
18 | return Keybind.NOT_SET;
19 | }
20 |
21 | @ConfigItem(
22 | keyName = "herbType",
23 | name = "Herb Type",
24 | description = "",
25 | position = 1
26 | )
27 | default HerbType herbType() {
28 | return HerbType.GUAM;
29 | }
30 |
31 | @Range(max = 10)
32 | @ConfigItem(
33 | keyName = "herbAmount",
34 | name = "Herbs per tick",
35 | description = "Number of herbs you clean per tick",
36 | position = 2
37 | )
38 | default int herbAmount() {
39 | return 10;
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/HerbCleaner/src/main/java/com/plugins/HerbType.java:
--------------------------------------------------------------------------------
1 | package com.plugins;
2 |
3 | import lombok.Getter;
4 |
5 | @Getter
6 | public enum HerbType {
7 | GUAM("Grimy guam"),
8 | MARRENTILL("Grimy marrentill"),
9 | TARROMIN("Grimy tarromin"),
10 | HARRALANDER("Grimy harralander"),
11 | RANARR_WEED("Grimy ranarr weed"),
12 | TOADFLAX("Grimy toadflax"),
13 | IRIT("Grimy irit"),
14 | AVANTOE("Grimy avantoe"),
15 | KWUARM("Grimy kwuarm"),
16 | SNAPDRAGON("Grimy snapdragon"),
17 | CADANTINE("Grimy cadantine"),
18 | LANTADYME("Grimy lantadyme"),
19 | DWARF_WEED("Grimy dwarf weed"),
20 | TORSTOL("Grimy torstol");
21 |
22 | final String itemName;
23 |
24 | HerbType(String itemName) {
25 | this.itemName = itemName;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/ItemCombiner/itemcombiner.gradle.kts:
--------------------------------------------------------------------------------
1 | version = "1.0.0"
2 |
3 | project.extra["PluginName"] = "ItemCombiner" // This is the name that is used in the external plugin manager panel
4 | project.extra["PluginDescription"] = "PiggyPlugin's " + project.extra["PluginName"] // This is the description that is used in the external plugin manager panel
5 | project.extra["PluginPackageId"] = "ItemCombiner" // This is the plugin package folder after the default group package.
6 | project.extra["PluginMainClassName"] = "ItemCombinerPlugin" // This is the plugin's main class which extends Plugin
7 | dependencies {
8 | implementation(project(":EthanApi"))
9 | implementation(project(":PiggyUtils"))
10 |
11 | }
12 | tasks {
13 | jar {
14 | manifest {
15 | attributes(mapOf(
16 | "Plugin-Version" to project.version,
17 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String),
18 | "Plugin-Provider" to project.extra["PluginProvider"],
19 | "Plugin-Description" to project.extra["PluginDescription"],
20 | "Plugin-License" to project.extra["PluginLicense"]
21 | ))
22 | }
23 | }
24 | }
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/ItemCombiner/src/main/java/com/plugins/ItemCombinerConfig.java:
--------------------------------------------------------------------------------
1 | package com.plugins;
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.ConfigSection;
7 | import net.runelite.client.config.Keybind;
8 |
9 | @ConfigGroup("ItemCombiner")
10 | public interface ItemCombinerConfig extends Config {
11 | @ConfigItem(
12 | keyName = "Toggle",
13 | name = "Toggle",
14 | description = "",
15 | position = 0
16 | )
17 | default Keybind toggle() {
18 | return Keybind.NOT_SET;
19 | }
20 |
21 | @ConfigSection(
22 | name = "Configuration",
23 | description = "Config for item combiner",
24 | position = 1
25 | )
26 | String configuration = "Configuration";
27 |
28 | @ConfigItem(
29 | keyName = "itemOneName",
30 | name = "Item One (Tool/Vial)",
31 | description = "Name of the first item",
32 | position = 2
33 | )
34 | default String itemOneName() {
35 | return "";
36 | }
37 |
38 | @ConfigItem(
39 | keyName = "itemOneAmt",
40 | name = "Item One Amount",
41 | description = "Amount of the first item",
42 | position = 3
43 | )
44 | default int itemOneAmt() {
45 | return 14;
46 | }
47 |
48 | @ConfigItem(
49 | keyName = "itemTwoName",
50 | name = "Item Two (Herb/Second/Gem/Etc.)",
51 | description = "Name of the second item",
52 | position = 4
53 | )
54 | default String itemTwoName() {
55 | return "";
56 | }
57 |
58 | @ConfigItem(
59 | keyName = "itemTwoAmt",
60 | name = "Item Two Amount",
61 | description = "Amount of the second item",
62 | position = 4
63 | )
64 | default int itemTwoAmt() {
65 | return 14;
66 | }
67 | }
68 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/JadAutoPrayers/jadautoprayers.gradle.kts:
--------------------------------------------------------------------------------
1 | version = "1.0.0"
2 |
3 | project.extra["PluginName"] = "Jad Auto Prayer's" // This is the name that is used in the external plugin manager panel
4 | project.extra["PluginDescription"] = "PiggyPlugin's " + project.extra["PluginName"] // This is the description that is used in the external plugin manager panel
5 | project.extra["PluginPackageId"] = "JadAutoPrayers" // This is the plugin package folder after the default group package.
6 | project.extra["PluginMainClassName"] = "JadAutoPrayersPlugin" // This is the plugin's main class which extends Plugin
7 | dependencies {
8 | implementation(project(":EthanApi"))
9 | implementation(project(":PiggyUtils"))
10 |
11 | }
12 | tasks {
13 | jar {
14 | manifest {
15 | attributes(mapOf(
16 | "Plugin-Version" to project.version,
17 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String),
18 | "Plugin-Provider" to project.extra["PluginProvider"],
19 | "Plugin-Description" to project.extra["PluginDescription"],
20 | "Plugin-License" to project.extra["PluginLicense"]
21 | ))
22 | }
23 | }
24 | }
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/JadAutoPrayers/src/main/java/com/plugins/JadAutoPrayersConfig.java:
--------------------------------------------------------------------------------
1 | package com.plugins;
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("JadAutoPrayers")
8 | public interface JadAutoPrayersConfig extends Config {
9 | @ConfigItem(
10 | keyName = "eagleEye",
11 | name = "Use Eagle Eye?",
12 | description = "",
13 | position = 1
14 | )
15 | default boolean eagleEye() {
16 | return false;
17 | }
18 |
19 | @ConfigItem(
20 | keyName = "useRigour",
21 | name = "Use Rigour?",
22 | description = "",
23 | position = 2
24 | )
25 | default boolean rigour() {
26 | return false;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/OneTickSwitcher/onetickswitcher.gradle.kts:
--------------------------------------------------------------------------------
1 | version = "1.0.0"
2 |
3 | project.extra["PluginName"] = "One Tick Switcher" // This is the name that is used in the external plugin manager panel
4 | project.extra["PluginDescription"] = "PiggyPlugin's " + project.extra["PluginName"] // This is the description that is used in the external plugin manager panel
5 | project.extra["PluginPackageId"] = "OneTickSwitcher" // This is the plugin package folder after the default group package.
6 | project.extra["PluginMainClassName"] = "OneTickSwitcherPlugin" // This is the plugin's main class which extends Plugin
7 | dependencies {
8 | implementation(project(":EthanApi"))
9 | implementation(project(":PiggyUtils"))
10 |
11 | }
12 | tasks {
13 | jar {
14 | manifest {
15 | attributes(mapOf(
16 | "Plugin-Version" to project.version,
17 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String),
18 | "Plugin-Provider" to project.extra["PluginProvider"],
19 | "Plugin-Description" to project.extra["PluginDescription"],
20 | "Plugin-License" to project.extra["PluginLicense"]
21 | ))
22 | }
23 | }
24 | }
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/PiggyUtils/piggyutils.gradle.kts:
--------------------------------------------------------------------------------
1 | version = "1.0.0"
2 |
3 | project.extra["PluginName"] = "Piggy Utils" // This is the name that is used in the external plugin manager panel
4 | project.extra["PluginDescription"] = "ALL PiggyPlugin's requires " + project.extra["PluginName"] // This is the description that is used in the external plugin manager panel
5 | project.extra["PluginPackageId"] = "PiggyUtils" // This is the plugin package folder after the default group package.
6 | project.extra["PluginMainClassName"] = "PiggyUtilsPlugin" // This is the plugin's main class which extends Plugin
7 | dependencies {
8 | implementation(project(":EthanApi"))
9 | }
10 | tasks {
11 | jar {
12 | manifest {
13 | attributes(mapOf(
14 | "Plugin-Version" to project.version,
15 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String),
16 | "Plugin-Provider" to project.extra["PluginProvider"],
17 | "Plugin-Description" to project.extra["PluginDescription"],
18 | "Plugin-License" to project.extra["PluginLicense"]
19 | ))
20 | }
21 | }
22 | }
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/PiggyUtils/src/main/java/com/plugins/API/BankUtil.java:
--------------------------------------------------------------------------------
1 | package com.plugins.API;
2 |
3 | import com.plugins.Collections.Bank;
4 | import com.plugins.Collections.query.ItemQuery;
5 | import net.runelite.api.widgets.Widget;
6 |
7 | public class BankUtil {
8 |
9 | public static ItemQuery nameContainsNoCase(String name) {
10 | return Bank.search().filter(widget -> widget.getName().toLowerCase().contains(name.toLowerCase()));
11 | }
12 | public static int getItemAmount(int itemId) {
13 | return getItemAmount(itemId, false);
14 | }
15 |
16 | public static int getItemAmount(int itemId, boolean stacked) {
17 | return stacked ?
18 | Bank.search().withId(itemId).first().map(Widget::getItemQuantity).orElse(0) :
19 | Bank.search().withId(itemId).result().size();
20 | }
21 |
22 | public static int getItemAmount(String itemName) {
23 | return nameContainsNoCase(itemName).result().size();
24 | }
25 |
26 |
27 | public static boolean hasItem(int id) {
28 | return hasItem(id, 1, false);
29 | }
30 |
31 | public static boolean hasItem(int id, int amount) {
32 | return getItemAmount(id, false) >= amount;
33 | }
34 |
35 | public static boolean hasItem(int id, int amount, boolean stacked) {
36 | return getItemAmount(id, stacked) >= amount;
37 | }
38 |
39 | public static boolean hasAny(int ...ids) {
40 | for (int id : ids) {
41 | if (getItemAmount(id) > 0) {
42 | return true;
43 | }
44 | }
45 | return false;
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/PiggyUtils/src/main/java/com/plugins/API/EquipmentUtil.java:
--------------------------------------------------------------------------------
1 | package com.plugins.API;
2 |
3 | import com.plugins.Collections.Equipment;
4 |
5 | public class EquipmentUtil {
6 | public static boolean hasItem(String name) {
7 | return Equipment.search().nameContainsNoCase(name).first().isPresent();
8 | }
9 |
10 | public static boolean hasItems(String ...names) {
11 | for (String name : names) {
12 | if (!hasItem(name)) {
13 | return false;
14 | }
15 | }
16 |
17 | return true;
18 | }
19 |
20 | public static boolean hasItem(int id) {
21 | return Equipment.search().withId(id).first().isPresent();
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/PiggyUtils/src/main/java/com/plugins/API/NpcUtil.java:
--------------------------------------------------------------------------------
1 | package com.plugins.API;
2 |
3 | import com.plugins.Collections.NPCs;
4 | import com.plugins.Collections.query.NPCQuery;
5 | import net.runelite.api.NPC;
6 |
7 | import java.util.Optional;
8 |
9 | public class NpcUtil {
10 |
11 | public static Optional getNpc(String name, boolean caseSensitive) {
12 | if (caseSensitive) {
13 | return NPCs.search().withName(name).nearestToPlayer();
14 | } else {
15 | return nameContainsNoCase(name).nearestToPlayer();
16 | }
17 | }
18 |
19 | public static NPCQuery nameContainsNoCase(String name) {
20 | return NPCs.search().filter(npcs -> npcs.getName() != null && npcs.getName().toLowerCase().contains(name.toLowerCase()));
21 | }
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/PiggyUtils/src/main/java/com/plugins/API/ObjectUtil.java:
--------------------------------------------------------------------------------
1 | package com.plugins.API;
2 |
3 | import com.plugins.Collections.TileObjects;
4 | import com.plugins.Collections.query.TileObjectQuery;
5 | import net.runelite.api.ObjectComposition;
6 | import net.runelite.api.TileObject;
7 |
8 | import java.util.Arrays;
9 | import java.util.Optional;
10 |
11 | public class ObjectUtil {
12 |
13 | public static Optional getNearestBank() {
14 | return TileObjects.search().filter(tileObject -> {
15 | ObjectComposition comp = TileObjectQuery.getObjectComposition(tileObject);
16 | if (comp == null)
17 | return false;
18 | return comp.getName().toLowerCase().contains("bank") && Arrays.stream(comp.getActions()).anyMatch(action -> action.toLowerCase().contains("bank") || action.toLowerCase().contains("use") || action.contains("open"));
19 | }).nearestToPlayer();
20 | }
21 |
22 | public static Optional getNearest(String name, boolean caseSensitive) {
23 | if (caseSensitive) {
24 | return TileObjects.search().withName(name).nearestToPlayer();
25 | } else {
26 | return withNameNoCase(name).nearestToPlayer();
27 | }
28 | }
29 |
30 | public static Optional getNearest(int id) {
31 | return TileObjects.search().withId(id).nearestToPlayer();
32 | }
33 |
34 | public static Optional getNearestNameContains(String name) {
35 | return nameContainsNoCase(name).nearestToPlayer();
36 | }
37 |
38 | public static TileObjectQuery withNameNoCase(String name) {
39 | return TileObjects.search().filter(tileObject -> {
40 | ObjectComposition comp = TileObjectQuery.getObjectComposition(tileObject);
41 | if (comp == null)
42 | return false;
43 | return comp.getName().toLowerCase().equals(name.toLowerCase());
44 | });
45 | }
46 |
47 | public static TileObjectQuery nameContainsNoCase(String name) {
48 | return TileObjects.search().filter(tileObject -> {
49 | ObjectComposition comp = TileObjectQuery.getObjectComposition(tileObject);
50 | if (comp == null)
51 | return false;
52 | return comp.getName().toLowerCase().contains(name.toLowerCase());
53 | });
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/PiggyUtils/src/main/java/com/plugins/API/SpellUtil.java:
--------------------------------------------------------------------------------
1 | package com.plugins.API;
2 |
3 | import com.plugins.Packets.PacketUtils.WidgetInfoExtended;
4 | import net.runelite.api.Client;
5 | import net.runelite.api.widgets.Widget;
6 |
7 | public class SpellUtil {
8 | public static WidgetInfoExtended parseStringForWidgetInfoExtended(String input) {
9 | for (WidgetInfoExtended value : WidgetInfoExtended.values()) {
10 | if (value.name().equalsIgnoreCase("SPELL_" + input.replace(" ", "_"))) {
11 | return value;
12 | }
13 | }
14 | return null;
15 | }
16 |
17 | public static Widget getSpellWidget(Client client, String input) {
18 | return client.getWidget(parseStringForWidgetInfoExtended(input).getPackedId());
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/PiggyUtils/src/main/java/com/plugins/API/TileItemUtil.java:
--------------------------------------------------------------------------------
1 | package com.plugins.API;
2 |
3 | public class TileItemUtil {
4 | // will add stuff as i need it / if i need it otherwise might delete
5 | }
6 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/PiggyUtils/src/main/java/com/plugins/PiggyUtilsPlugin.java:
--------------------------------------------------------------------------------
1 | package com.plugins;
2 |
3 | import com.plugins.EthanApiPlugin;
4 | import com.plugins.PacketUtilsPlugin;
5 | import lombok.extern.slf4j.Slf4j;
6 | import net.runelite.client.plugins.Plugin;
7 | import net.runelite.client.plugins.PluginDependency;
8 | import net.runelite.client.plugins.PluginDescriptor;
9 |
10 | @PluginDescriptor(name = "[PP] PiggyUtils",
11 | description = "Utility Plugin for PiggyPlugins",
12 | tags = {"piggy","ethan"})
13 | @PluginDependency(EthanApiPlugin.class)
14 | @PluginDependency(PacketUtilsPlugin.class)
15 | @Slf4j
16 | public class PiggyUtilsPlugin extends Plugin {
17 | @Override
18 | protected void startUp() throws Exception {
19 | log.info("[PiggyUtils] Piggy Utils started");
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/PowerSkiller/powerskiller.gradle.kts:
--------------------------------------------------------------------------------
1 | version = "1.0.0"
2 |
3 | project.extra["PluginName"] = "Power Skiller" // This is the name that is used in the external plugin manager panel
4 | project.extra["PluginDescription"] = "PiggyPlugin's " + project.extra["PluginName"] // This is the description that is used in the external plugin manager panel
5 | project.extra["PluginPackageId"] = "PowerSkiller" // This is the plugin package folder after the default group package.
6 | project.extra["PluginMainClassName"] = "PowerSkillerPlugin" // This is the plugin's main class which extends Plugin
7 | dependencies {
8 | implementation(project(":EthanApi"))
9 | implementation(project(":PiggyUtils"))
10 |
11 | }
12 | tasks {
13 | jar {
14 | manifest {
15 | attributes(mapOf(
16 | "Plugin-Version" to project.version,
17 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String),
18 | "Plugin-Provider" to project.extra["PluginProvider"],
19 | "Plugin-Description" to project.extra["PluginDescription"],
20 | "Plugin-License" to project.extra["PluginLicense"]
21 | ))
22 | }
23 | }
24 | }
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/PowerSkiller/src/main/java/com/plugins/PowerSkillerConfig.java:
--------------------------------------------------------------------------------
1 | package com.plugins;
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("PowerSkiller")
9 | public interface PowerSkillerConfig extends Config {
10 | @ConfigItem(
11 | keyName = "toggle",
12 | name = "Toggle",
13 | description = "",
14 | position = -2
15 | )
16 | default Keybind toggle() {
17 | return Keybind.NOT_SET;
18 | }
19 |
20 | @ConfigItem(
21 | keyName = "searchNpc",
22 | name = "Search NPCs (for fishing, etc)",
23 | description = "For things like fishing spots",
24 | position = -1
25 | )
26 | default boolean searchNpc() {
27 | return false;
28 | }
29 |
30 | @ConfigItem(
31 | name = "Object",
32 | keyName = "objectToInteract",
33 | description = "Game obejct you will be interacting with",
34 | position = 0
35 | )
36 | default String objectToInteract() {
37 | return "Tree";
38 | }
39 |
40 | @ConfigItem(
41 | name = "Tool(s)",
42 | keyName = "toolsToUse",
43 | description = "Tools required to act with your object, can type ` axe` or ` pickaxe` to ignore the type",
44 | position = 1
45 | )
46 | default String toolsToUse() {
47 | return " axe";
48 | }
49 |
50 | @ConfigItem(
51 | name = "Keep Items",
52 | keyName = "itemToKeep",
53 | description = "Items you don't want dropped. Separate items by comma,no space. Good for UIM",
54 | position = 2
55 | )
56 | default String itemsToKeep() {
57 | return "coins,rune pouch,divine rune pouch,looting bag,clue scroll";
58 | }
59 |
60 | @ConfigItem(
61 | name = "Empty slots",
62 | keyName = "emptySlots",
63 | description = "Amount of empty slots you have to skill with, mostly a UIM feature lol",
64 | position = 3
65 | )
66 | default int emptySlots() {
67 | return 28;
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/PowerSkiller/src/main/java/com/plugins/State.java:
--------------------------------------------------------------------------------
1 | package com.plugins;
2 |
3 | public enum State {
4 | FIND_OBJECT,
5 | ANIMATING,
6 | DROP_ITEMS,
7 | MISSING_TOOLS
8 | }
9 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/PrayAgainstPlayer/prayagainstplayer.gradle.kts:
--------------------------------------------------------------------------------
1 | version = "1.0.0"
2 |
3 | project.extra["PluginName"] = "Pray Against Player" // This is the name that is used in the external plugin manager panel
4 | project.extra["PluginDescription"] = "PiggyPlugin's Converted " + project.extra["PluginName"] // This is the description that is used in the external plugin manager panel
5 | project.extra["PluginPackageId"] = "PrayAgainstPlayer" // This is the plugin package folder after the default group package.
6 | project.extra["PluginMainClassName"] = "PrayAgainstPlayerPlugin" // This is the plugin's main class which extends Plugin
7 | dependencies {
8 | implementation(project(":EthanApi"))
9 | implementation(project(":PiggyUtils"))
10 |
11 | }
12 | tasks {
13 | jar {
14 | manifest {
15 | attributes(mapOf(
16 | "Plugin-Version" to project.version,
17 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String),
18 | "Plugin-Provider" to project.extra["PluginProvider"],
19 | "Plugin-Description" to project.extra["PluginDescription"],
20 | "Plugin-License" to project.extra["PluginLicense"]
21 | ))
22 | }
23 | }
24 | }
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/PrayAgainstPlayer/src/main/java/com/plugins/PlayerContainer.java:
--------------------------------------------------------------------------------
1 | package com.plugins;
2 |
3 | import net.runelite.api.Player;
4 |
5 | /**
6 | * Contains a player object
7 | * When they attacked me
8 | * And (in milliseconds) when to expire the overlay around them
9 | */
10 | public class PlayerContainer
11 | {
12 |
13 | private final Player player;
14 | private final long whenTheyAttackedMe;
15 | private final int millisToExpireHighlight;
16 |
17 | PlayerContainer(final Player player, final long whenTheyAttackedMe, final int millisToExpireHighlight)
18 | {
19 | this.player = player;
20 | this.whenTheyAttackedMe = whenTheyAttackedMe;
21 | this.millisToExpireHighlight = millisToExpireHighlight;
22 | }
23 |
24 | //getters
25 | public Player getPlayer()
26 | {
27 | return player;
28 | }
29 |
30 | long getWhenTheyAttackedMe()
31 | {
32 | return whenTheyAttackedMe;
33 | }
34 |
35 | int getMillisToExpireHighlight()
36 | {
37 | return millisToExpireHighlight;
38 | }
39 |
40 | }
41 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/README.md:
--------------------------------------------------------------------------------
1 | ### Piggy Plugins - Converted by .Zalc (CagoMyre)
2 |
3 | Visit the [Piggy-Plugins Repo](https://github.com/0Hutch/PiggyPlugins) for more information.
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/RooftopAgility/rooftopagility.gradle.kts:
--------------------------------------------------------------------------------
1 | version = "1.0.0"
2 |
3 | project.extra["PluginName"] = "Rooftop Agility" // This is the name that is used in the external plugin manager panel
4 | project.extra["PluginDescription"] = "PiggyPlugin's Converted " + project.extra["PluginName"] // This is the description that is used in the external plugin manager panel
5 | project.extra["PluginPackageId"] = "RooftopAgility" // This is the plugin package folder after the default group package.
6 | project.extra["PluginMainClassName"] = "RooftopAgilityPlugin" // This is the plugin's main class which extends Plugin
7 | dependencies {
8 | implementation(project(":EthanApi"))
9 | implementation(project(":PiggyUtils"))
10 |
11 | }
12 | tasks {
13 | jar {
14 | manifest {
15 | attributes(mapOf(
16 | "Plugin-Version" to project.version,
17 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String),
18 | "Plugin-Provider" to project.extra["PluginProvider"],
19 | "Plugin-Description" to project.extra["PluginDescription"],
20 | "Plugin-License" to project.extra["PluginLicense"]
21 | ))
22 | }
23 | }
24 | }
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/RooftopAgility/src/main/Piggy-Converted/.gitignore:
--------------------------------------------------------------------------------
1 | .gradle
2 | build/
3 | !gradle/wrapper/gradle-wrapper.jar
4 | !**/src/main/**/build/
5 | !**/src/test/**/build/
6 |
7 | ### IntelliJ IDEA ###
8 | .idea/modules.xml
9 | .idea/jarRepositories.xml
10 | .idea/compiler.xml
11 | .idea/libraries/
12 | *.iws
13 | *.iml
14 | *.ipr
15 | out/
16 | !**/src/main/**/out/
17 | !**/src/test/**/out/
18 |
19 | ### Eclipse ###
20 | .apt_generated
21 | .classpath
22 | .factorypath
23 | .project
24 | .settings
25 | .springBeans
26 | .sts4-cache
27 | bin/
28 | !**/src/main/**/bin/
29 | !**/src/test/**/bin/
30 |
31 | ### NetBeans ###
32 | /nbproject/private/
33 | /nbbuild/
34 | /dist/
35 | /nbdist/
36 | /.nb-gradle/
37 |
38 | ### VS Code ###
39 | .vscode/
40 |
41 | ### Mac OS ###
42 | .DS_Store
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/RooftopAgility/src/main/Piggy-Converted/build.gradle.kts:
--------------------------------------------------------------------------------
1 | plugins {
2 | id("java")
3 | }
4 |
5 | group = "com.launcher"
6 | version = "1.9.13.3"
7 |
8 | repositories {
9 | mavenCentral()
10 | }
11 |
12 | dependencies {
13 | testImplementation(platform("org.junit:junit-bom:5.9.1"))
14 | testImplementation("org.junit.jupiter:junit-jupiter")
15 | }
16 |
17 | tasks.test {
18 | useJUnitPlatform()
19 | }
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/RooftopAgility/src/main/java/com/plugins/Course.java:
--------------------------------------------------------------------------------
1 | package com.plugins;
2 |
3 | import lombok.Getter;
4 |
5 | import java.util.Arrays;
6 |
7 | @Getter
8 | public enum Course {
9 | GNOME("Gnome Stronghold", 9781),
10 | DRAYNOR("Draynor Village", 12338, 12339),
11 | AL_KHARID("Al Kharid", 13105),
12 | VARROCK("Varrock", 12853, 12572),
13 | CANAFIS("Canafis", 13878),
14 | APE_ATOLL("Ape Atoll", 11050, 10794),
15 | FALADOR("Falador", 12084),
16 | SEERS("Seers Village", 10806),
17 | POLLNIVNEACH("Pollnivneach"),
18 | PRIFDDINAS("Prifddinas", 12895, 13151, 13152),
19 | RELLEKKA("Rellekka", 10297, 10553),
20 | ARDOUGNE("Ardougne", 10547);
21 |
22 | private final String name;
23 | private final int[] regionIDs;
24 |
25 | Course(String name, int ...regionIDs) {
26 | this.name = name;
27 | this.regionIDs = regionIDs;
28 | }
29 |
30 | public static String getCourseNameByRegionID(int id) {
31 | for (Course course : Course.values()) {
32 | for (int regionID : course.regionIDs) {
33 | if (regionID == id) {
34 | return course.name;
35 | }
36 | }
37 | }
38 | return null;
39 | }
40 |
41 | public static String getCourseNameFromMapRegions(int[] mapRegions) {
42 | return Arrays.stream(Course.values())
43 | .filter(course -> Arrays.stream(course.regionIDs).anyMatch(regionID -> containsRegion(mapRegions, regionID)))
44 | .map(course -> course.name)
45 | .findFirst()
46 | .orElse(null);
47 | }
48 |
49 | private static boolean containsRegion(int[] regions, int regionID) {
50 | return Arrays.stream(regions).anyMatch(region -> region == regionID);
51 | }
52 | }
53 |
54 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/RooftopAgility/src/main/java/com/plugins/Portals.java:
--------------------------------------------------------------------------------
1 | package com.plugins;
2 |
3 | import lombok.Getter;
4 |
5 | import static net.runelite.api.NullObjectID.NULL_36241;
6 | import static net.runelite.api.NullObjectID.NULL_36242;
7 | import static net.runelite.api.NullObjectID.NULL_36243;
8 | import static net.runelite.api.NullObjectID.NULL_36244;
9 | import static net.runelite.api.NullObjectID.NULL_36245;
10 | import static net.runelite.api.NullObjectID.NULL_36246;
11 |
12 | public enum Portals {
13 | PORTAL_ONE(NULL_36241, 1),
14 | PORTAL_TWO(NULL_36242, 2),
15 | PORTAL_THREE(NULL_36243, 3),
16 | PORTAL_FOUR(NULL_36244, 4),
17 | PORTAL_FIVE(NULL_36245, 5),
18 | PORTAL_SIX(NULL_36246, 6);
19 |
20 | //getters
21 | @Getter
22 | private final int portalID;
23 |
24 | @Getter
25 | private final int varbitValue;
26 |
27 | //constructor
28 | Portals(final int portalID, final int varbitValue) {
29 | this.portalID = portalID;
30 | this.varbitValue = varbitValue;
31 | }
32 |
33 | //function that we will use in our plugin. We provide the current Portal varbit value and it returns the correlating Portal. i.e. a varbit value of 2 would return portal 2
34 | public static Portals getPortal(int varbitValue) {
35 | for (Portals portal : values()) {
36 | if (portal.getVarbitValue() == varbitValue) {
37 | return portal;
38 | }
39 | }
40 | return null;
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/RooftopAgility/src/main/java/com/plugins/State.java:
--------------------------------------------------------------------------------
1 | package com.plugins;
2 |
3 | public enum State {
4 | ANIMATING,
5 | CAST_CAMELOT_TELEPORT,
6 | FIND_OBSTACLE,
7 | HANDLE_BREAK,
8 | MARK_OF_GRACE,
9 | MOVING,
10 | PRIFF_PORTAL,
11 | RESTOCK_ITEMS,
12 | TIMEOUT,
13 | EAT_SUMMER_PIE,
14 | OUT_OF_SUMMER_PIES,
15 | EAT_FOOD,
16 | ENABLE_RUN
17 | }
18 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/SixHourLog/sixhourlog.gradle.kts:
--------------------------------------------------------------------------------
1 | version = "1.0.0"
2 |
3 | project.extra["PluginName"] = "6 Hour Log" // This is the name that is used in the external plugin manager panel
4 | project.extra["PluginDescription"] = "PiggyPlugin's " + project.extra["PluginName"] // This is the description that is used in the external plugin manager panel
5 | project.extra["PluginPackageId"] = "SixHourLog" // This is the plugin package folder after the default group package.
6 | project.extra["PluginMainClassName"] = "SixHourLogPlugin" // This is the plugin's main class which extends Plugin
7 | dependencies {
8 | implementation(project(":EthanApi"))
9 | implementation(project(":PiggyUtils"))
10 |
11 | }
12 | tasks {
13 | jar {
14 | manifest {
15 | attributes(mapOf(
16 | "Plugin-Version" to project.version,
17 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String),
18 | "Plugin-Provider" to project.extra["PluginProvider"],
19 | "Plugin-Description" to project.extra["PluginDescription"],
20 | "Plugin-License" to project.extra["PluginLicense"]
21 | ))
22 | }
23 | }
24 | }
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/SpeedDartMaker/speeddartmaker.gradle.kts:
--------------------------------------------------------------------------------
1 | version = "1.0.0"
2 |
3 | project.extra["PluginName"] = "Speed Dart Maker" // This is the name that is used in the external plugin manager panel
4 | project.extra["PluginDescription"] = "PiggyPlugin's " + project.extra["PluginName"] // This is the description that is used in the external plugin manager panel
5 | project.extra["PluginPackageId"] = "SpeedDartMaker" // This is the plugin package folder after the default group package.
6 | project.extra["PluginMainClassName"] = "SpeedDartMakerPlugin" // This is the plugin's main class which extends Plugin
7 | dependencies {
8 | implementation(project(":EthanApi"))
9 | implementation(project(":PiggyUtils"))
10 |
11 | }
12 | tasks {
13 | jar {
14 | manifest {
15 | attributes(mapOf(
16 | "Plugin-Version" to project.version,
17 | "Plugin-Id" to nameToId(project.extra["PluginName"] as String),
18 | "Plugin-Provider" to project.extra["PluginProvider"],
19 | "Plugin-Description" to project.extra["PluginDescription"],
20 | "Plugin-License" to project.extra["PluginLicense"]
21 | ))
22 | }
23 | }
24 | }
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/SpeedDartMaker/src/main/java/com/plugins/SpeedDartMakerConfig.java:
--------------------------------------------------------------------------------
1 | package com.plugins;
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 | import net.runelite.client.config.Range;
8 |
9 | @ConfigGroup("SpeedDartMaker")
10 | public interface SpeedDartMakerConfig extends Config {
11 | @ConfigItem(
12 | keyName = "Toggle",
13 | name = "Toggle",
14 | description = "",
15 | position = 0
16 | )
17 | default Keybind toggle() {
18 | return Keybind.NOT_SET;
19 | }
20 |
21 | @Range(
22 | min = 1,
23 | max = 10
24 | )
25 | @ConfigItem(
26 | keyName = "perTick",
27 | name = "Darts per tick",
28 | description = "",
29 | position = 1
30 | )
31 | default int perTick() {
32 | return 10;
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/buildSrc/build.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 | plugins {
27 | `kotlin-dsl`
28 | }
29 |
30 | repositories {
31 | jcenter()
32 | }
33 |
34 | dependencies {
35 | implementation(gradleApi())
36 | implementation(group = "org.json", name = "json", version = "20190722")
37 | implementation(group = "com.savvasdalkitsis", name = "json-merge", version = "0.0.4")
38 | implementation(group = "com.squareup.okhttp3", name = "okhttp", version = "4.2.2")
39 | }
40 |
41 | kotlinDslPluginOptions {
42 | experimentalWarning.set(false)
43 | }
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/buildSrc/src/main/kotlin/BootstrapPlugin.kt:
--------------------------------------------------------------------------------
1 | import org.gradle.api.Plugin
2 | import org.gradle.api.Project
3 | import org.gradle.kotlin.dsl.register
4 |
5 | class BootstrapPlugin : Plugin {
6 | override fun apply(project: Project) {
7 | project.tasks.register("bootstrapPlugins") {}
8 | }
9 | }
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/buildSrc/src/main/kotlin/JsonBuilder.kt:
--------------------------------------------------------------------------------
1 | import org.json.JSONArray
2 | import org.json.JSONObject
3 |
4 | class JsonBuilder() {
5 | private var json = JSONObject()
6 |
7 | constructor(vararg pairs: Pair) : this() {
8 | add(*pairs)
9 | }
10 |
11 | fun add(vararg pairs: Pair) {
12 | for ((key, value) in pairs) {
13 | when (value) {
14 | is Boolean -> json.put(key, value)
15 | is Number -> add(key, value)
16 | is String -> json.put(key, value)
17 | is JsonBuilder -> json.put(key, value.json)
18 | is Array<*> -> add(key, value)
19 | is JSONObject -> json.put(key, value)
20 | is JSONArray -> json.put(key, value)
21 | }
22 | }
23 | }
24 |
25 | fun add(key: String, value: Number): JsonBuilder {
26 | when (value) {
27 | is Int -> json.put(key, value)
28 | is Long -> json.put(key, value)
29 | is Float -> json.put(key, value)
30 | is Double -> json.put(key, value)
31 | else -> {}
32 | }
33 |
34 | return this
35 | }
36 |
37 | fun add(key: String, items: Array): JsonBuilder {
38 | val jsonArray = JSONArray()
39 | items.forEach {
40 | when (it) {
41 | is String,is Long,is Int, is Boolean -> jsonArray.put(it)
42 | is JsonBuilder -> jsonArray.put(it.json)
43 | else -> try {jsonArray.put(it)} catch (ignored:Exception) {
44 |
45 | }
46 | }
47 | }
48 |
49 | json.put(key, jsonArray)
50 |
51 | return this
52 | }
53 |
54 | fun jsonObject() = json
55 |
56 | override fun toString() = json.toString()
57 | }
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/buildSrc/src/main/kotlin/Project.kt:
--------------------------------------------------------------------------------
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 | fun nameToId(name: String): String {
27 | return name.replace("[^A-Za-z]".toRegex(), "").toLowerCase() + "-plugin"
28 | }
29 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/buildSrc/src/main/kotlin/SemVer.kt:
--------------------------------------------------------------------------------
1 | data class SemVer(
2 | var major: Int = 0,
3 | var minor: Int = 0,
4 | var patch: Int = 0
5 | ) : Comparable {
6 | companion object {
7 | @JvmStatic
8 | fun parse(version: String): SemVer {
9 | val pattern = Regex("""(0|[1-9]\d*)?(?:\.)?(0|[1-9]\d*)?(?:\.)?(0|[1-9]\d*)?(?:-([\dA-z\-]+(?:\.[\dA-z\-]+)*))?(?:\+([\dA-z\-]+(?:\.[\dA-z\-]+)*))?""")
10 | val result = pattern.matchEntire(version)
11 | ?: throw IllegalArgumentException("Invalid version string [$version]")
12 | return SemVer(
13 | major = if (result.groupValues[1].isEmpty()) 0 else result.groupValues[1].toInt(),
14 | minor = if (result.groupValues[2].isEmpty()) 0 else result.groupValues[2].toInt(),
15 | patch = if (result.groupValues[3].isEmpty()) 0 else result.groupValues[3].toInt()
16 | )
17 | }
18 | }
19 |
20 | init {
21 | require(major >= 0) { "Major version must be a positive number" }
22 | require(minor >= 0) { "Minor version must be a positive number" }
23 | require(patch >= 0) { "Patch version must be a positive number" }
24 | }
25 |
26 | override fun toString(): String = buildString {
27 | append("$major.$minor.$patch")
28 | }
29 |
30 | override fun compareTo(other: SemVer): Int {
31 | if (major > other.major) return 1
32 | if (major < other.major) return -1
33 | if (minor > other.minor) return 1
34 | if (minor < other.minor) return -1
35 | if (patch > other.patch) return 1
36 | if (patch < other.patch) return -1
37 |
38 | return -1
39 | }
40 | }
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/buildSrc/src/main/kotlin/VersionPlugin.kt:
--------------------------------------------------------------------------------
1 | import org.gradle.api.Plugin
2 | import org.gradle.api.Project
3 | import org.gradle.kotlin.dsl.register
4 |
5 | class VersionPlugin : Plugin {
6 | override fun apply(project: Project) {
7 | project.tasks.register("bumpVersion") {}
8 | project.tasks.register("bumpVersions") {}
9 | }
10 | }
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/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 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CagoThaPlug/LEECH/42710fb956881fddbadf611f35d203523eb9be5a/Conversions/Piggy-Converted/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Wed Jul 12 20:59:40 CDT 2023
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.2.1-bin.zip
5 | zipStoreBase=GRADLE_USER_HOME
6 | zipStorePath=wrapper/dists
7 |
--------------------------------------------------------------------------------
/Conversions/Piggy-Converted/settings.gradle.kts:
--------------------------------------------------------------------------------
1 | rootProject.name = "Piggy-Converted"
2 |
3 | include(":AoeWarn")
4 | include(":AutoJugHumidifier")
5 | include(":AutoRifts")
6 | include(":CannonReloader")
7 | include(":HerbCleaner")
8 | include(":ItemCombiner")
9 | include(":JadAutoPrayers")
10 | include(":OneTickSwitcher")
11 | include(":PiggyUtils")
12 | include(":PowerSkiller")
13 | include(":PrayAgainstPlayer")
14 | include(":RooftopAgility")
15 | include(":SixHourLog")
16 | include(":SpeedDartMaker")
17 | include(":EthanApi")
18 |
19 | for (project in rootProject.children) {
20 | project.apply {
21 | projectDir = file(name)
22 | buildFileName = "$name.gradle.kts"
23 |
24 | require(projectDir.isDirectory) { "Project '${project.path} must have a $projectDir directory" }
25 | require(buildFile.isFile) { "Project '${project.path} must have a $buildFile build script" }
26 | }
27 | }
28 | include("RooftopAgility:src:main:Piggy-Converted")
29 | findProject(":RooftopAgility:src:main:Piggy-Converted")?.name = "Piggy-Converted"
30 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | BSD 3-Clause License
2 |
3 | Copyright (c) 2023, Cago
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 |
11 | 2. Redistributions in binary form must reproduce the above copyright notice,
12 | this list of conditions and the following disclaimer in the documentation
13 | and/or other materials provided with the distribution.
14 |
15 | 3. Neither the name of the copyright holder nor the names of its
16 | contributors may be used to endorse or promote products derived from
17 | this software without specific prior written permission.
18 |
19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
23 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 |
--------------------------------------------------------------------------------