{"id":30126927,"url":"https://github.com/Storehaus/CC-MISC","last_synced_at":"2025-08-10T17:03:13.634Z","repository":{"id":102938596,"uuid":"576359674","full_name":"Storehaus/CC-MISC","owner":"Storehaus","description":"Modular Inventory Storage and Crafting","archived":false,"fork":false,"pushed_at":"2025-08-04T22:05:42.000Z","size":736,"stargazers_count":19,"open_issues_count":9,"forks_count":7,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-08-05T00:35:12.019Z","etag":null,"topics":["computercraft","lua","minecraft"],"latest_commit_sha":null,"homepage":"https://misc.madefor.cc","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Storehaus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-12-09T16:43:54.000Z","updated_at":"2025-08-04T22:05:46.000Z","dependencies_parsed_at":"2024-01-07T16:29:24.339Z","dependency_job_id":"1152e9e2-a09a-4827-b8be-f8c212d080d9","html_url":"https://github.com/Storehaus/CC-MISC","commit_stats":null,"previous_names":["shrekshellraiser/cc-misc","storehaus/cc-misc"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Storehaus/CC-MISC","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Storehaus%2FCC-MISC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Storehaus%2FCC-MISC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Storehaus%2FCC-MISC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Storehaus%2FCC-MISC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Storehaus","download_url":"https://codeload.github.com/Storehaus/CC-MISC/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Storehaus%2FCC-MISC/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269756390,"owners_count":24470563,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-10T02:00:08.965Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["computercraft","lua","minecraft"],"created_at":"2025-08-10T17:01:47.369Z","updated_at":"2025-08-10T17:03:13.622Z","avatar_url":"https://github.com/Storehaus.png","language":"Lua","readme":"# MISC - Modular Inventory Storage and Crafting\nTEST\nPRs are welcome to this project, I hope the documentation is clear enough, but if you have any questions feel free to ask.\n\nThis documentation is also available at misc.madefor.cc\n\nThe directory structure of this project is as follows\n\n- `clients/` client programs and libraries\n- `modules/` all ready to use modules\n- `recipes/` all vanilla grid recipes stored in custom binary format\n- `suspended/` modules which development has been suspended on\n- `common.lua` common library file (that should be split up in the future)\n- `abstractInvLib.lua` local copy of [`abstractInvLib.lua`](https://gist.github.com/ShreksHellraiser/57ef0f52a93304a17a9eaea21f431de6) to ease development, will eventually be removed\n- `storage.lua` entrypoint and module loader\n\n# Setup\n\nA minimal MISC system consists of\n\n- A single computer running MISC\n- Any number of connected inventories\n- A client access terminal\n\n![Example minimal setup](docs/assets/min_setup.png)\n\nThe client can be advanced or basic, it supports both mouse and keyboard.\n\nOn both your server and all your clients simply run `wget run https://raw.githubusercontent.com/Storehaus/CC-MISC/master/installer.lua`.\n\nOn your server select the base MISC system option.\n\nOn your client select the access terminal option.\n\nReboot both, the server will ask for a modem, simply input the side your wired modem is attached to.\n\n## MISC Access Terminal\n\nThe access terminal is simple and fast to navigate. Across the top bar is a list of screens, you may click one to jump to it, or press tab to cycle between. Type to enter characters into the search bar, use `^u` (ctrl+u) to clear the search bar. Use up/down to navigate and push enter to select, or use mouse wheel and click.\n\nWhile on a screen with a search bar you may press `^c` to change theme.\n\n![Themes](docs/assets/themes.png)\n\n### Config tab\n\nUnder the CONFIG tab is a list of config options for the MISC system. Selecting one will bring you to a screen with more detailed information about the setting, and the option to change it. Many settings are tables, which will bring you to a graphical table editor. This lets you navigate the table in a tree-like fasion.\n\n### Config table editor\n\nUse `^k` to change the key of the selected element, `^g` to change the value (sorry I can't make it `^v`). Values you enter will be automatically converted into their respective types, tables will be unserialized.\n\nUse `^n` to add a new element at the level you are currently at. Use `^r` to make an element in the parent of the currently selected folder, this is useful for adding multiple tables in the root setting table.\n\nPush `^d` to save and exit, some settings will apply immediately, but most require a restart of the MISC server. Otherwise push `^c` to cancel and your changes will be discarded.\n\n## Adding different inventories\n\nThere are 3 factors at play which determine the inventories the system will use.\n\n- `inventory.inventories`, a list of inventory peripheral names to use.\n\n- `inventory.inventoryAddPatterns`, a list of lua patterns to match against all connected peripherals, matching ones will be added.\n\n- `inventory.inventoryRemovePatterns`, any inventories that match patterns in this list will be removed from the list of inventories.\n\nTo add an inventory, open your config in your client terminal and naviagate to `inventory.inventoryAddPatterns`.\n\nSelect it, and add a new element to the table with `^n`, select the element you added to the table and use `^g` to change its value. This is going to a be a lua pattern, use [this site](https://gitspartv.github.io/lua-patterns/) to help you verify the pattern you choose. For example if I want to add all inventories from the mod `sc-peripherals` I would add `sc%-peripherals` to the table, keeping in mind that `-` is a special character in lua patterns so it must be escaped. Below is an example of this setting being added.\n\n![Example sc%-peripheral setting](docs/assets/sc_example.png)\n\n## Adding crafters\n\nOn your server run the installer again, this time selecting crafting modules.\n\nAttach furnaces and crafty turtles to your network as desired. No additional setup is required for furnaces. For turtles simply run the client installer and choose crafter turtle.\n\n## Introspection setup\n\nAttach a Manipulator to your MISC system, then on your server run the installer and choose to install the introspection module.\n\nWhen you start your system it will ask for a URL, SkyCrafter0 provides `wss://ccws.skystuff.cc/connect/\u003cchannel name\u003e/[password]`, simply swap out channel name and password as you desire. The first person to connect to a channel sets the password.\n\nOpen your MISC config, find `introspection.introspection`. This is a lookup table from username to manipulator peripheral name. Add a new element to the table, set the key to your username, and set the value to the peripheral name of the manipulator attached earlier.\n\nOn whatever device you choose as your remote access terminal run the installer, and choose access terminal introspection. Reboot, and select yes for wireless mode and input the URL you chose earlier. Then enter the username associated with the manipulator you would like to use.\n\nBy default the client terminal uses the center left slot of your inventory as input, and the rest of the center row as output.\n\n![Inventory layout](docs/assets/inventory_slots.png)\n\nTo change this, use the `set` program. The input and output options are ranges of slots. With the input ranging between `misc.importStart` to `misc.importEnd`. The output range is then `misc.exportStart` to `misc.exportEnd`.\n\n# Module Specific Documentation\n\nLook in `/docs/` for development and module specific documentation.\n","funding_links":[],"categories":["Programs","Lua programs"],"sub_categories":["Storage Systems","Storage, Turtles, and Peripherals","Utility"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FStorehaus%2FCC-MISC","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FStorehaus%2FCC-MISC","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FStorehaus%2FCC-MISC/lists"}