gitextract__j1tb7oh/ ├── .dockerignore ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug-report.md │ │ ├── content-feature-plugin.md │ │ └── game-engine-feature.md │ └── workflows/ │ └── build.yml ├── .gitignore ├── .swcrc ├── .vscode/ │ └── settings.json ├── CONTRIBUTING.md ├── Dockerfile ├── FEATURES.md ├── LICENSE ├── README.md ├── biome.json ├── cache/ │ ├── file-names.properties │ ├── main_file_cache.dat0 │ ├── main_file_cache.dat1 │ ├── main_file_cache.dat2 │ ├── main_file_cache.idx0 │ ├── main_file_cache.idx1 │ ├── main_file_cache.idx10 │ ├── main_file_cache.idx11 │ ├── main_file_cache.idx12 │ ├── main_file_cache.idx2 │ ├── main_file_cache.idx255 │ ├── main_file_cache.idx3 │ ├── main_file_cache.idx4 │ ├── main_file_cache.idx5 │ ├── main_file_cache.idx6 │ ├── main_file_cache.idx7 │ ├── main_file_cache.idx8 │ └── main_file_cache.idx9 ├── config/ │ ├── file-names.properties │ └── server-config.example.json ├── data/ │ ├── config/ │ │ ├── combat-styles.json │ │ ├── examine-item-data.yaml │ │ ├── item-spawns/ │ │ │ └── lumbridge/ │ │ │ └── lumbridge.json │ │ ├── items/ │ │ │ ├── barrows/ │ │ │ │ └── dharoks.json │ │ │ ├── bolts.json │ │ │ ├── bones.json │ │ │ ├── containers.json │ │ │ ├── currency.json │ │ │ ├── equipment/ │ │ │ │ ├── amulets.json │ │ │ │ ├── axes.json │ │ │ │ ├── bows.json │ │ │ │ ├── capes.json │ │ │ │ ├── daggers.json │ │ │ │ ├── darts.json │ │ │ │ ├── halberd.json │ │ │ │ ├── hammers.json │ │ │ │ ├── hatchets.json │ │ │ │ ├── hats.json │ │ │ │ ├── javelins.json │ │ │ │ ├── leather-armour.json │ │ │ │ ├── longswords.json │ │ │ │ ├── mauls.json │ │ │ │ ├── pickaxes.json │ │ │ │ ├── shortswords.json │ │ │ │ ├── skillscapes.json │ │ │ │ ├── slayer.json │ │ │ │ ├── spears.json │ │ │ │ ├── staffs.json │ │ │ │ ├── standard-metals/ │ │ │ │ │ ├── adamant-armour.json │ │ │ │ │ ├── black-armour.json │ │ │ │ │ ├── bronze-armour.json │ │ │ │ │ ├── bronze-weapons.json │ │ │ │ │ ├── iron-armour.json │ │ │ │ │ ├── iron-weapons.json │ │ │ │ │ ├── mithril-armour.json │ │ │ │ │ ├── mithril-weapons.json │ │ │ │ │ ├── rune-armour.json │ │ │ │ │ ├── rune-god-armour.json │ │ │ │ │ ├── steel-armour.json │ │ │ │ │ ├── steel-weapons.json │ │ │ │ │ └── white-armour.json │ │ │ │ ├── tiaras.json │ │ │ │ ├── training.json │ │ │ │ └── whips.json │ │ │ ├── food.json │ │ │ ├── holiday/ │ │ │ │ └── partyhats.json │ │ │ ├── icons.json │ │ │ ├── logs.json │ │ │ ├── other.json │ │ │ ├── quests/ │ │ │ │ ├── lost-city.json │ │ │ │ └── witchs-potion.json │ │ │ └── skills/ │ │ │ ├── artisan-tools.json │ │ │ ├── baking.json │ │ │ ├── cooking.json │ │ │ ├── crafting/ │ │ │ │ ├── gems.json │ │ │ │ └── jewelery-moulds.json │ │ │ ├── firemaking.json │ │ │ ├── fishing.json │ │ │ ├── fletching/ │ │ │ │ ├── arrows.json │ │ │ │ └── bolts.json │ │ │ ├── herblore/ │ │ │ │ ├── herbs.json │ │ │ │ ├── ingredients.json │ │ │ │ └── tools.json │ │ │ ├── herblore.json │ │ │ ├── mining.json │ │ │ ├── prayer.json │ │ │ └── runecrafting.json │ │ ├── music/ │ │ │ └── musicRegions.json │ │ ├── npc-spawns/ │ │ │ ├── alkharid/ │ │ │ │ └── alkharid-general.json │ │ │ ├── ardougne/ │ │ │ │ ├── bankers.json │ │ │ │ ├── guards.json │ │ │ │ └── market.json │ │ │ ├── camelot/ │ │ │ │ └── bankers.json │ │ │ ├── canifis/ │ │ │ │ └── bankers.json │ │ │ ├── catherby/ │ │ │ │ └── bankers.json │ │ │ ├── draynor/ │ │ │ │ └── bankers.json │ │ │ ├── edgeville/ │ │ │ │ └── bankers.json │ │ │ ├── falador/ │ │ │ │ ├── bankers.json │ │ │ │ └── guards.json │ │ │ ├── keldagrim/ │ │ │ │ └── bankers.json │ │ │ ├── lumbridge/ │ │ │ │ ├── bankers.json │ │ │ │ ├── lumbridge-general.json │ │ │ │ ├── lumbridge-goblins.json │ │ │ │ └── lumbridge-sheep.json │ │ │ ├── magebank/ │ │ │ │ └── bankers.json │ │ │ ├── nardah/ │ │ │ │ └── bankers.json │ │ │ ├── pestcontrol/ │ │ │ │ └── bankers.json │ │ │ ├── portsarim/ │ │ │ │ └── port-sarim-general.json │ │ │ ├── rimmington/ │ │ │ │ └── rimmington.json │ │ │ ├── shilovillage/ │ │ │ │ └── bankers.json │ │ │ ├── varrock/ │ │ │ │ ├── bankers.json │ │ │ │ ├── blue-moon-inn.json │ │ │ │ └── varrock-general.json │ │ │ └── yanille/ │ │ │ └── bankers.json │ │ ├── npcs/ │ │ │ ├── alkharid.json │ │ │ ├── ardougne.json │ │ │ ├── bankers.json │ │ │ ├── barbarians.json │ │ │ ├── general.json │ │ │ ├── generic-humans.json │ │ │ ├── goblins.json │ │ │ ├── guards.json │ │ │ ├── lumbridge.json │ │ │ ├── port-sarim.json │ │ │ ├── rimmington.json │ │ │ ├── sheep.json │ │ │ └── varrock.json │ │ ├── scenery-spawns.yaml │ │ ├── shops/ │ │ │ ├── alkharid/ │ │ │ │ ├── alkharid-gem-trader.json │ │ │ │ ├── dommiks-crafting-store.json │ │ │ │ ├── louies-armored-legs.json │ │ │ │ └── ranaels-skirt-store.json │ │ │ ├── lumbridge/ │ │ │ │ ├── bobs-axes.json │ │ │ │ └── lumbridge-general-store.json │ │ │ ├── portsarim/ │ │ │ │ └── bettys-magic-emporium.json │ │ │ ├── shilo-village/ │ │ │ │ └── oblis-general-store.json │ │ │ └── varrock/ │ │ │ └── zaffs-staffs.json │ │ ├── travel-locations-data.yaml │ │ ├── widgets.json │ │ └── xteas/ │ │ └── 435.json │ └── saves/ │ └── .gitkeep ├── docker-compose.yml ├── jest.config.ts ├── nodemon.json ├── package.json ├── src/ │ ├── engine/ │ │ ├── action/ │ │ │ ├── action-pipeline.ts │ │ │ ├── hook/ │ │ │ │ ├── action-hook.ts │ │ │ │ ├── hook-filters.test.ts │ │ │ │ ├── hook-filters.ts │ │ │ │ └── task.ts │ │ │ ├── loader.ts │ │ │ └── pipe/ │ │ │ ├── button.action.ts │ │ │ ├── equipment-change.action.ts │ │ │ ├── item-interaction.action.ts │ │ │ ├── item-on-item.action.ts │ │ │ ├── item-on-npc.action.ts │ │ │ ├── item-on-object.action.ts │ │ │ ├── item-on-player.action.ts │ │ │ ├── item-on-world-item.action.ts │ │ │ ├── item-swap.action.ts │ │ │ ├── magic-on-npc.action.ts │ │ │ ├── move-item.action.ts │ │ │ ├── npc-init.action.ts │ │ │ ├── npc-interaction.action.ts │ │ │ ├── object-interaction.action.ts │ │ │ ├── player-command.action.ts │ │ │ ├── player-init.action.ts │ │ │ ├── player-interaction.action.ts │ │ │ ├── prayer.action.ts │ │ │ ├── region-change.action.ts │ │ │ ├── spawned-item-interaction.action.ts │ │ │ ├── task/ │ │ │ │ ├── queueable-task.ts │ │ │ │ ├── walk-to-actor-plugin-task.ts │ │ │ │ ├── walk-to-item-plugin-task.ts │ │ │ │ └── walk-to-object-plugin-task.ts │ │ │ └── widget-interaction.action.ts │ │ ├── config/ │ │ │ ├── config-handler.ts │ │ │ ├── data-dump.ts │ │ │ ├── directories.ts │ │ │ ├── item-config.ts │ │ │ ├── item-spawn-config.ts │ │ │ ├── music-regions-config.ts │ │ │ ├── npc-config.ts │ │ │ ├── npc-spawn-config.ts │ │ │ ├── quest-config.ts │ │ │ ├── shop-config.testskip.ts │ │ │ └── shop-config.ts │ │ ├── interface/ │ │ │ └── interface-state.ts │ │ ├── net/ │ │ │ ├── inbound-packet-handler.ts │ │ │ ├── inbound-packets/ │ │ │ │ ├── add-friend.packet.ts │ │ │ │ ├── add-ignore.packet.ts │ │ │ │ ├── blinking-tab-click.packet.ts │ │ │ │ ├── button-click.packet.ts │ │ │ │ ├── character-design.packet.ts │ │ │ │ ├── chat.packet.ts │ │ │ │ ├── command.packet.ts │ │ │ │ ├── drop-item.packet.ts │ │ │ │ ├── examine.packet.ts │ │ │ │ ├── item-interaction.packet.ts │ │ │ │ ├── item-on-item.packet.ts │ │ │ │ ├── item-on-npc.packet.ts │ │ │ │ ├── item-on-object.packet.ts │ │ │ │ ├── item-on-player.packet.ts │ │ │ │ ├── item-on-world-item.packet.ts │ │ │ │ ├── item-swap.packet.ts │ │ │ │ ├── junk.packet.ts │ │ │ │ ├── magic-attack.packet.ts │ │ │ │ ├── npc-interaction.packet.ts │ │ │ │ ├── number-input.packet.ts │ │ │ │ ├── object-interaction.packet.ts │ │ │ │ ├── pickup-item.packet.ts │ │ │ │ ├── player-interaction.packet.ts │ │ │ │ ├── private-message.packet.ts │ │ │ │ ├── remove-friend.packet.ts │ │ │ │ ├── remove-ignore.packet.ts │ │ │ │ ├── social-button.packet.ts │ │ │ │ ├── walk.packet.ts │ │ │ │ ├── widget-interaction.packet.ts │ │ │ │ └── widgets-closed.packet.ts │ │ │ ├── isaac.ts │ │ │ ├── outbound-packet-handler.ts │ │ │ └── packet.ts │ │ ├── plugins/ │ │ │ ├── content-plugin.ts │ │ │ ├── loader.ts │ │ │ └── reload-content.ts │ │ ├── task/ │ │ │ ├── README.md │ │ │ ├── impl/ │ │ │ │ ├── actor-actor-interaction-task.ts │ │ │ │ ├── actor-landscape-object-interaction-task.ts │ │ │ │ ├── actor-task.ts │ │ │ │ ├── actor-teleport-task.ts │ │ │ │ ├── actor-walk-to-task.ts │ │ │ │ └── actor-world-item-interaction-task.ts │ │ │ ├── task-scheduler.test.ts │ │ │ ├── task-scheduler.ts │ │ │ ├── task.test.ts │ │ │ ├── task.ts │ │ │ ├── types.ts │ │ │ └── utils/ │ │ │ └── _testing.ts │ │ ├── util/ │ │ │ ├── address.ts │ │ │ ├── colors.ts │ │ │ ├── data.ts │ │ │ ├── error-handling.ts │ │ │ ├── files.ts │ │ │ ├── num.ts │ │ │ ├── objects.ts │ │ │ ├── queue.test.ts │ │ │ ├── queue.ts │ │ │ ├── strings.ts │ │ │ ├── time.ts │ │ │ └── varbits.ts │ │ └── world/ │ │ ├── actor/ │ │ │ ├── actor.ts │ │ │ ├── combat.ts │ │ │ ├── dialogue.ts │ │ │ ├── magic.ts │ │ │ ├── metadata.ts │ │ │ ├── npc.ts │ │ │ ├── pathfinding.ts │ │ │ ├── player/ │ │ │ │ ├── achievements.ts │ │ │ │ ├── attack.ts │ │ │ │ ├── cutscenes.ts │ │ │ │ ├── dialogue-action.ts │ │ │ │ ├── metadata.ts │ │ │ │ ├── model.ts │ │ │ │ ├── player-data.ts │ │ │ │ ├── player.ts │ │ │ │ ├── private-messaging.ts │ │ │ │ ├── quest.ts │ │ │ │ └── sync/ │ │ │ │ ├── actor-sync.ts │ │ │ │ ├── npc-sync-task.ts │ │ │ │ └── player-sync-task.ts │ │ │ ├── prayer.ts │ │ │ ├── skills.ts │ │ │ ├── update-flags.ts │ │ │ ├── util.ts │ │ │ └── walking-queue.ts │ │ ├── config/ │ │ │ ├── animation-ids.ts │ │ │ ├── examine-data.ts │ │ │ ├── gfx-ids.ts │ │ │ ├── harvest-tool.ts │ │ │ ├── harvestable-object.ts │ │ │ ├── item-ids.ts │ │ │ ├── object-ids.ts │ │ │ ├── scenery-spawns.ts │ │ │ ├── songs.ts │ │ │ ├── sound-ids.ts │ │ │ ├── travel-locations.ts │ │ │ └── widget.ts │ │ ├── direction.ts │ │ ├── index.ts │ │ ├── instances.ts │ │ ├── items/ │ │ │ ├── item-container.ts │ │ │ ├── item.ts │ │ │ └── world-item.ts │ │ ├── map/ │ │ │ ├── chunk-manager.ts │ │ │ ├── chunk.ts │ │ │ ├── collision-map.ts │ │ │ ├── landscape-object.ts │ │ │ └── region.ts │ │ ├── position.ts │ │ ├── skill-util/ │ │ │ ├── glory-boost.ts │ │ │ ├── harvest-roll.ts │ │ │ └── harvest-skill.ts │ │ ├── sound/ │ │ │ └── music.ts │ │ ├── task.ts │ │ └── world.ts │ ├── plugins/ │ │ ├── buttons/ │ │ │ ├── logout-button.plugin.ts │ │ │ ├── magic-attack.plugin.ts │ │ │ ├── magic-teleports.plugin.ts │ │ │ ├── player-emotes.plugin.ts │ │ │ └── player-setting-button.plugin.ts │ │ ├── combat/ │ │ │ └── combat-styles.plugin.ts │ │ ├── commands/ │ │ │ ├── bank-command.plugin.ts │ │ │ ├── camera-commands.plugin.ts │ │ │ ├── clear-inventory-command.plugin.ts │ │ │ ├── client-config-command.plugin.ts │ │ │ ├── current-position-command.plugin.ts │ │ │ ├── data-dump-command.plugin.ts │ │ │ ├── dump-metadata-command.plugin.ts │ │ │ ├── give-item-command.plugin.ts │ │ │ ├── groups-debug.plugin.ts │ │ │ ├── pathing-commands.plugin.ts │ │ │ ├── player-animation-command.plugin.ts │ │ │ ├── player-graphics-command.plugin.ts │ │ │ ├── quest-list-command.plugin.ts │ │ │ ├── region-debug-commands.plugin.ts │ │ │ ├── reset-camera-command.plugin.ts │ │ │ ├── sound-song-commands.plugin.ts │ │ │ ├── spawn-npc-command.plugin.ts │ │ │ ├── spawn-scenery-command.plugin.ts │ │ │ ├── spawn-test-players-command.plugin.ts │ │ │ ├── stat-commands.plugin.ts │ │ │ ├── teleport-command.plugin.ts │ │ │ ├── transform-command.plugin.ts │ │ │ ├── travel-back-command.plugin.ts │ │ │ ├── travel-command.plugin.ts │ │ │ └── widget-commands.plugin.ts │ │ ├── dialogue/ │ │ │ ├── dialogue-option.plugin.ts │ │ │ └── item-selection.plugin.ts │ │ ├── items/ │ │ │ ├── buckets/ │ │ │ │ ├── empty-container.plugin.ts │ │ │ │ └── fill-container.plugin.ts │ │ │ ├── capes/ │ │ │ │ └── skillcape-emotes.plugin.ts │ │ │ ├── consumables/ │ │ │ │ └── eating.plugin.ts │ │ │ ├── drop-item.plugin.ts │ │ │ ├── equipment/ │ │ │ │ ├── equip-item.plugin.ts │ │ │ │ ├── equipment-stats.plugin.ts │ │ │ │ └── unequip-item.plugin.ts │ │ │ ├── herblore/ │ │ │ │ └── clean-herb.ts │ │ │ ├── move-item.plugin.ts │ │ │ ├── pickup-item.plugin.ts │ │ │ ├── pots/ │ │ │ │ └── empty-pot.plugin.ts │ │ │ ├── rotten-potato/ │ │ │ │ ├── helpers/ │ │ │ │ │ ├── rotten-potato-helpers.ts │ │ │ │ │ └── rotten-potato-travel.ts │ │ │ │ ├── hooks/ │ │ │ │ │ ├── rotten-potato-command-hook.ts │ │ │ │ │ ├── rotten-potato-eat.ts │ │ │ │ │ ├── rotten-potato-item-on-item.ts │ │ │ │ │ ├── rotten-potato-item-on-player.ts │ │ │ │ │ └── rotten-potato-peel.ts │ │ │ │ └── rotten-potato.plugin.ts │ │ │ ├── runecrafting/ │ │ │ │ └── tiaras.plugin.ts │ │ │ ├── shopping/ │ │ │ │ ├── buy-from-shop.plugin.ts │ │ │ │ ├── item-value.plugin.ts │ │ │ │ └── sell-to-shop.plugin.ts │ │ │ └── swap-items.plugin.ts │ │ ├── music/ │ │ │ ├── music-regions.plugin.ts │ │ │ └── music-tab.plugin.ts │ │ ├── npcs/ │ │ │ ├── al-kharid/ │ │ │ │ ├── dommik-crafting-shop.plugin.ts │ │ │ │ ├── gem-trader.plugin.ts │ │ │ │ ├── karim.plugin.ts │ │ │ │ ├── louie-armoured-legs.plugin.ts │ │ │ │ └── ranael-super-skirt.plugin.ts │ │ │ ├── falador/ │ │ │ │ └── custom-guards.plugin.ts │ │ │ ├── lumbridge/ │ │ │ │ ├── bob.plugin.ts │ │ │ │ ├── hans.plugin.ts │ │ │ │ ├── lumbridge-farm-helpers.plugin.ts │ │ │ │ └── shopkeeper.plugin.ts │ │ │ ├── port-sarim/ │ │ │ │ └── betty.plugin.ts │ │ │ └── varrock/ │ │ │ ├── blue-moon-inn.plugin.ts │ │ │ ├── master-smithing-tutor.plugin.ts │ │ │ ├── wilough.plugin.ts │ │ │ └── zaff-superior-staffs.plugin.ts │ │ ├── objects/ │ │ │ ├── bank/ │ │ │ │ ├── bank.plugin.ts │ │ │ │ └── deposit-box.plugin.ts │ │ │ ├── cows/ │ │ │ │ └── cow.plugin.ts │ │ │ ├── crates/ │ │ │ │ └── crates.plugin.ts │ │ │ ├── doors/ │ │ │ │ ├── door.plugin.ts │ │ │ │ ├── double-door.plugin.ts │ │ │ │ └── gate.plugin.ts │ │ │ ├── dungeon-entrances/ │ │ │ │ └── taverly-dungeon-ladder.plugin.ts │ │ │ ├── item-spawns/ │ │ │ │ └── take-axe.plugin.ts │ │ │ ├── ladders/ │ │ │ │ └── ladder.plugin.ts │ │ │ ├── mill/ │ │ │ │ ├── flour-bin.plugin.ts │ │ │ │ ├── hopper-controls.plugin.ts │ │ │ │ └── hopper.plugin.ts │ │ │ └── pickables/ │ │ │ └── pickables.plugin.ts │ │ ├── player/ │ │ │ ├── follow-player.plugin.js │ │ │ ├── login-unlock-emotes.plugin.ts │ │ │ ├── login-update-settings.plugin.ts │ │ │ └── update-friends-list.plugin.ts │ │ ├── quests/ │ │ │ ├── cooks-assistant-quest.plugin.ts │ │ │ ├── goblin-diplomacy-tutorial/ │ │ │ │ ├── goblin-diplomacy-quest.plugin.ts │ │ │ │ ├── melee-tutor-dialogue.ts │ │ │ │ ├── runescape-guide-dialogue.ts │ │ │ │ └── stage-handler.ts │ │ │ ├── quest-journal.plugin.ts │ │ │ └── witchs-potion-quest.plugin.ts │ │ └── skills/ │ │ ├── construction/ │ │ │ ├── con-constants.ts │ │ │ ├── home-saver.ts │ │ │ ├── house.ts │ │ │ ├── index.ts │ │ │ ├── room-builder.ts │ │ │ └── util.ts │ │ ├── crafting/ │ │ │ ├── sheep-plugin.plugin.ts │ │ │ └── spinning-wheel.plugin.ts │ │ ├── firemaking/ │ │ │ ├── chance.ts │ │ │ ├── data.ts │ │ │ ├── firemaking-task.ts │ │ │ ├── index.ts │ │ │ ├── light-fire.ts │ │ │ └── types.ts │ │ ├── fletching/ │ │ │ ├── fletching-constants.ts │ │ │ ├── fletching-types.ts │ │ │ └── fletching.plugin.ts │ │ ├── level-up-dialogue.plugin.ts │ │ ├── mining/ │ │ │ ├── chance.ts │ │ │ ├── mining-task.ts │ │ │ ├── mining.plugin.ts │ │ │ └── prospecting.plugin.ts │ │ ├── prayer/ │ │ │ └── bury-bones.plugin.ts │ │ ├── runecrafting/ │ │ │ ├── runecrafting-altar.plugin.ts │ │ │ ├── runecrafting-constants.ts │ │ │ ├── runecrafting-crafting.plugin.ts │ │ │ ├── runecrafting-tiara.plugin.ts │ │ │ └── runecrafting-types.ts │ │ ├── skill-guides/ │ │ │ ├── Strength.json │ │ │ ├── agility.json │ │ │ ├── attack.json │ │ │ ├── construction.json │ │ │ ├── cooking.json │ │ │ ├── crafting.json │ │ │ ├── defence.json │ │ │ ├── farming.json │ │ │ ├── firemaking.json │ │ │ ├── fishing.json │ │ │ ├── fletching.json │ │ │ ├── herblore.json │ │ │ ├── hitpoint.json │ │ │ ├── magic.json │ │ │ ├── mining.json │ │ │ ├── prayer.json │ │ │ ├── ranged.json │ │ │ ├── runecrafting.json │ │ │ ├── skill-guide-config.ts │ │ │ ├── skill-guides.plugin.ts │ │ │ ├── slayer.json │ │ │ ├── smithing.json │ │ │ ├── thieving.json │ │ │ └── woodcutting.json │ │ ├── smithing/ │ │ │ ├── forging-constants.ts │ │ │ ├── forging-task.ts │ │ │ ├── forging-types.ts │ │ │ ├── forging.plugin.ts │ │ │ ├── smelting-constants.ts │ │ │ ├── smelting-task.ts │ │ │ ├── smelting-types.ts │ │ │ └── smelting.plugin.ts │ │ └── woodcutting/ │ │ ├── chance.ts │ │ ├── index.ts │ │ └── woodcutting-task.ts │ └── server/ │ ├── game/ │ │ ├── game-server-config.ts │ │ ├── game-server-connection.ts │ │ └── game-server.ts │ ├── gateway/ │ │ └── gateway-server.ts │ └── runner.ts └── tsconfig.json