diff --git a/.cache/plugin/git-committers/page-authors.json b/.cache/plugin/git-committers/page-authors.json new file mode 100644 index 00000000..fa28f765 --- /dev/null +++ b/.cache/plugin/git-committers/page-authors.json @@ -0,0 +1 @@ +{"cache_date": "2025-07-06", "page_authors": {"docs/index.md": {"last_commit_date": "2025-03-04", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "web-flow", "name": "web-flow", "url": "https://github.com/web-flow", "avatar": "https://avatars.githubusercontent.com/u/19864447?v=4"}, {"login": "Sooperfish", "name": "Sooperfish", "url": "https://github.com/Sooperfish", "avatar": "https://avatars.githubusercontent.com/u/5457984?v=4"}, {"login": "FatalMerlin", "name": "FatalMerlin", "url": "https://github.com/FatalMerlin", "avatar": "https://avatars.githubusercontent.com/u/14237330?v=4"}, {"login": "iammael", "name": "iammael", "url": "https://github.com/iammael", "avatar": "https://avatars.githubusercontent.com/u/7931135?v=4"}, {"login": "SkyTheCodeMaster", "name": "SkyTheCodeMaster", "url": "https://github.com/SkyTheCodeMaster", "avatar": "https://avatars.githubusercontent.com/u/34724753?v=4"}]}, "docs/blog/index.md": {"last_commit_date": "2025-01-19", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}]}, "docs/blog/posts/first_post.md": {"last_commit_date": "2025-01-19", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}]}, "docs/changelogs/0.7.24r.md": {"last_commit_date": "2023-03-05", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}]}, "docs/changelogs/0.7r.md": {"last_commit_date": "2023-02-05", "authors": [{"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}]}, "docs/guides/cooldowns_and_fuel_consumption.md": {"last_commit_date": "2025-01-19", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}]}, "docs/guides/filters.md": {"last_commit_date": "2025-06-07", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "web-flow", "name": "web-flow", "url": "https://github.com/web-flow", "avatar": "https://avatars.githubusercontent.com/u/19864447?v=4"}, {"login": "TheMas3212", "name": "TheMas3212", "url": "https://github.com/TheMas3212", "avatar": "https://avatars.githubusercontent.com/u/9016569?v=4"}]}, "docs/guides/how_to_report.md": {"last_commit_date": "2023-09-15", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}]}, "docs/integrations/index.md": {"last_commit_date": "2025-01-19", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}]}, "docs/integrations/botania/flowers.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}]}, "docs/integrations/botania/pool.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}]}, "docs/integrations/botania/spreader.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}]}, "docs/integrations/create/basin.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}]}, "docs/integrations/create/blazeburner.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}]}, "docs/integrations/create/fluidtank.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}]}, "docs/integrations/create/mechanicalmixer.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}]}, "docs/integrations/create/scrollbehaviour.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}]}, "docs/integrations/draconic_evolution/index.md": {"last_commit_date": "2023-02-05", "authors": [{"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}]}, "docs/integrations/draconic_evolution/energy_core.md": {"last_commit_date": "2023-02-05", "authors": [{"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}]}, "docs/integrations/draconic_evolution/reactor.md": {"last_commit_date": "2023-02-05", "authors": [{"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}]}, "docs/integrations/immersive_engineering/connector.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}]}, "docs/integrations/immersive_engineering/probe.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}]}, "docs/integrations/integrated_dynamics/variable_store.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}]}, "docs/integrations/mekanism/index.md": {"last_commit_date": "2024-04-17", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}]}, "docs/integrations/mekanism/boiler.md": {"last_commit_date": "2023-02-05", "authors": [{"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "web-flow", "name": "web-flow", "url": "https://github.com/web-flow", "avatar": "https://avatars.githubusercontent.com/u/19864447?v=4"}]}, "docs/integrations/mekanism/chemical.md": {"last_commit_date": "2023-02-05", "authors": [{"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}]}, "docs/integrations/mekanism/digital_miner.md": {"last_commit_date": "2024-02-03", "authors": [{"login": "ChlodAlejandro", "name": "ChlodAlejandro", "url": "https://github.com/ChlodAlejandro", "avatar": "https://avatars.githubusercontent.com/u/12129227?v=4"}, {"login": "web-flow", "name": "web-flow", "url": "https://github.com/web-flow", "avatar": "https://avatars.githubusercontent.com/u/19864447?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "TiphaineLAURENT", "name": "TiphaineLAURENT", "url": "https://github.com/TiphaineLAURENT", "avatar": "https://avatars.githubusercontent.com/u/25824254?v=4"}]}, "docs/integrations/mekanism/dynamic_tank.md": {"last_commit_date": "2023-02-05", "authors": [{"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}]}, "docs/integrations/mekanism/fission.md": {"last_commit_date": "2023-02-05", "authors": [{"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "web-flow", "name": "web-flow", "url": "https://github.com/web-flow", "avatar": "https://avatars.githubusercontent.com/u/19864447?v=4"}]}, "docs/integrations/mekanism/fluid_tank.md": {"last_commit_date": "2023-02-05", "authors": [{"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}]}, "docs/integrations/mekanism/fusion.md": {"last_commit_date": "2023-02-05", "authors": [{"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "web-flow", "name": "web-flow", "url": "https://github.com/web-flow", "avatar": "https://avatars.githubusercontent.com/u/19864447?v=4"}]}, "docs/integrations/mekanism/generic.md": {"last_commit_date": "2023-02-05", "authors": [{"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "web-flow", "name": "web-flow", "url": "https://github.com/web-flow", "avatar": "https://avatars.githubusercontent.com/u/19864447?v=4"}]}, "docs/integrations/mekanism/induction.md": {"last_commit_date": "2023-02-05", "authors": [{"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "web-flow", "name": "web-flow", "url": "https://github.com/web-flow", "avatar": "https://avatars.githubusercontent.com/u/19864447?v=4"}]}, "docs/integrations/mekanism/solar_evaporation.md": {"last_commit_date": "2023-02-05", "authors": [{"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}]}, "docs/integrations/mekanism/transmitter.md": {"last_commit_date": "2023-02-05", "authors": [{"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}]}, "docs/integrations/mekanism/turbine.md": {"last_commit_date": "2023-02-05", "authors": [{"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "web-flow", "name": "web-flow", "url": "https://github.com/web-flow", "avatar": "https://avatars.githubusercontent.com/u/19864447?v=4"}]}, "docs/integrations/mekanism/waste_barrel.md": {"last_commit_date": "2023-02-05", "authors": [{"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}]}, "docs/integrations/minecraft/beacon.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}]}, "docs/integrations/minecraft/noteblock.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}]}, "docs/integrations/powah/ender_cell.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "Apeopex", "name": "Apeopex", "url": "https://github.com/Apeopex", "avatar": "https://avatars.githubusercontent.com/u/3247540?v=4"}]}, "docs/integrations/powah/energy_cell.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "neoroutine", "name": "neoroutine", "url": "https://github.com/neoroutine", "avatar": "https://avatars.githubusercontent.com/u/22302666?v=4"}]}, "docs/integrations/powah/furnator.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "neoroutine", "name": "neoroutine", "url": "https://github.com/neoroutine", "avatar": "https://avatars.githubusercontent.com/u/22302666?v=4"}]}, "docs/integrations/powah/magmator.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "neoroutine", "name": "neoroutine", "url": "https://github.com/neoroutine", "avatar": "https://avatars.githubusercontent.com/u/22302666?v=4"}]}, "docs/integrations/powah/reactor.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "cyberbit", "name": "cyberbit", "url": "https://github.com/cyberbit", "avatar": "https://avatars.githubusercontent.com/u/7350183?v=4"}, {"login": "web-flow", "name": "web-flow", "url": "https://github.com/web-flow", "avatar": "https://avatars.githubusercontent.com/u/19864447?v=4"}, {"login": "neoroutine", "name": "neoroutine", "url": "https://github.com/neoroutine", "avatar": "https://avatars.githubusercontent.com/u/22302666?v=4"}]}, "docs/integrations/powah/solar_panel.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "neoroutine", "name": "neoroutine", "url": "https://github.com/neoroutine", "avatar": "https://avatars.githubusercontent.com/u/22302666?v=4"}]}, "docs/integrations/powah/thermo_generator.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "neoroutine", "name": "neoroutine", "url": "https://github.com/neoroutine", "avatar": "https://avatars.githubusercontent.com/u/22302666?v=4"}]}, "docs/integrations/storage_drawers/drawer.md": {"last_commit_date": "2025-02-25", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}]}, "docs/items/ar_goggles.md": {"last_commit_date": "2025-02-25", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "Olfi01", "name": "Olfi01", "url": "https://github.com/Olfi01", "avatar": "https://avatars.githubusercontent.com/u/22056746?v=4"}, {"login": "web-flow", "name": "web-flow", "url": "https://github.com/web-flow", "avatar": "https://avatars.githubusercontent.com/u/19864447?v=4"}]}, "docs/items/chunk_controller.md": {"last_commit_date": "2025-02-25", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "iammael", "name": "iammael", "url": "https://github.com/iammael", "avatar": "https://avatars.githubusercontent.com/u/7931135?v=4"}]}, "docs/items/computer_tool.md": {"last_commit_date": "2025-02-25", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "iammael", "name": "iammael", "url": "https://github.com/iammael", "avatar": "https://avatars.githubusercontent.com/u/7931135?v=4"}]}, "docs/items/memory_card.md": {"last_commit_date": "2025-02-25", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "BlueMoonJune", "name": "BlueMoonJune", "url": "https://github.com/BlueMoonJune", "avatar": "https://avatars.githubusercontent.com/u/45300174?v=4"}, {"login": "web-flow", "name": "web-flow", "url": "https://github.com/web-flow", "avatar": "https://avatars.githubusercontent.com/u/19864447?v=4"}, {"login": "iammael", "name": "iammael", "url": "https://github.com/iammael", "avatar": "https://avatars.githubusercontent.com/u/7931135?v=4"}]}, "docs/items/pocket_computer.md": {"last_commit_date": "2025-02-25", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "SirEdvin", "name": "SirEdvin", "url": "https://github.com/SirEdvin", "avatar": "https://avatars.githubusercontent.com/u/3713151?v=4"}, {"login": "iammael", "name": "iammael", "url": "https://github.com/iammael", "avatar": "https://avatars.githubusercontent.com/u/7931135?v=4"}]}, "docs/peripherals/ar_controller.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "FatalMerlin", "name": "FatalMerlin", "url": "https://github.com/FatalMerlin", "avatar": "https://avatars.githubusercontent.com/u/14237330?v=4"}, {"login": "iammael", "name": "iammael", "url": "https://github.com/iammael", "avatar": "https://avatars.githubusercontent.com/u/7931135?v=4"}, {"login": "Olfi01", "name": "Olfi01", "url": "https://github.com/Olfi01", "avatar": "https://avatars.githubusercontent.com/u/22056746?v=4"}, {"login": "web-flow", "name": "web-flow", "url": "https://github.com/web-flow", "avatar": "https://avatars.githubusercontent.com/u/19864447?v=4"}]}, "docs/peripherals/block_reader.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}]}, "docs/peripherals/chat_box.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "zyxkad", "name": "zyxkad", "url": "https://github.com/zyxkad", "avatar": "https://avatars.githubusercontent.com/u/91082411?v=4"}, {"login": "web-flow", "name": "web-flow", "url": "https://github.com/web-flow", "avatar": "https://avatars.githubusercontent.com/u/19864447?v=4"}, {"login": "dogboy21", "name": "dogboy21", "url": "https://github.com/dogboy21", "avatar": "https://avatars.githubusercontent.com/u/10376793?v=4"}, {"login": "Ashenguard", "name": "Ashenguard", "url": "https://github.com/Ashenguard", "avatar": "https://avatars.githubusercontent.com/u/52384236?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "FatalMerlin", "name": "FatalMerlin", "url": "https://github.com/FatalMerlin", "avatar": "https://avatars.githubusercontent.com/u/14237330?v=4"}, {"login": "iammael", "name": "iammael", "url": "https://github.com/iammael", "avatar": "https://avatars.githubusercontent.com/u/7931135?v=4"}, {"login": "SkyTheCodeMaster", "name": "SkyTheCodeMaster", "url": "https://github.com/SkyTheCodeMaster", "avatar": "https://avatars.githubusercontent.com/u/34724753?v=4"}]}, "docs/peripherals/colony_integrator.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "zydeco", "name": "zydeco", "url": "https://github.com/zydeco", "avatar": "https://avatars.githubusercontent.com/u/158216?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}]}, "docs/peripherals/energy_detector.md": {"last_commit_date": "2025-05-24", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "FatalMerlin", "name": "FatalMerlin", "url": "https://github.com/FatalMerlin", "avatar": "https://avatars.githubusercontent.com/u/14237330?v=4"}, {"login": "iammael", "name": "iammael", "url": "https://github.com/iammael", "avatar": "https://avatars.githubusercontent.com/u/7931135?v=4"}, {"login": "SkyTheCodeMaster", "name": "SkyTheCodeMaster", "url": "https://github.com/SkyTheCodeMaster", "avatar": "https://avatars.githubusercontent.com/u/34724753?v=4"}, {"login": "web-flow", "name": "web-flow", "url": "https://github.com/web-flow", "avatar": "https://avatars.githubusercontent.com/u/19864447?v=4"}]}, "docs/peripherals/environment_detector.md": {"last_commit_date": "2025-05-24", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "zyxkad", "name": "zyxkad", "url": "https://github.com/zyxkad", "avatar": "https://avatars.githubusercontent.com/u/91082411?v=4"}, {"login": "web-flow", "name": "web-flow", "url": "https://github.com/web-flow", "avatar": "https://avatars.githubusercontent.com/u/19864447?v=4"}, {"login": "scmcgowen", "name": "scmcgowen", "url": "https://github.com/scmcgowen", "avatar": "https://avatars.githubusercontent.com/u/34895975?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "FatalMerlin", "name": "FatalMerlin", "url": "https://github.com/FatalMerlin", "avatar": "https://avatars.githubusercontent.com/u/14237330?v=4"}, {"login": "iammael", "name": "iammael", "url": "https://github.com/iammael", "avatar": "https://avatars.githubusercontent.com/u/7931135?v=4"}, {"login": "SkyTheCodeMaster", "name": "SkyTheCodeMaster", "url": "https://github.com/SkyTheCodeMaster", "avatar": "https://avatars.githubusercontent.com/u/34724753?v=4"}]}, "docs/peripherals/geo_scanner.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "dogboy21", "name": "dogboy21", "url": "https://github.com/dogboy21", "avatar": "https://avatars.githubusercontent.com/u/10376793?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "SirEdvin", "name": "SirEdvin", "url": "https://github.com/SirEdvin", "avatar": "https://avatars.githubusercontent.com/u/3713151?v=4"}]}, "docs/peripherals/inventory_manager.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "zyxkad", "name": "zyxkad", "url": "https://github.com/zyxkad", "avatar": "https://avatars.githubusercontent.com/u/91082411?v=4"}, {"login": "web-flow", "name": "web-flow", "url": "https://github.com/web-flow", "avatar": "https://avatars.githubusercontent.com/u/19864447?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "FatalMerlin", "name": "FatalMerlin", "url": "https://github.com/FatalMerlin", "avatar": "https://avatars.githubusercontent.com/u/14237330?v=4"}, {"login": "iammael", "name": "iammael", "url": "https://github.com/iammael", "avatar": "https://avatars.githubusercontent.com/u/7931135?v=4"}]}, "docs/peripherals/me_bridge.md": {"last_commit_date": "2025-06-10", "authors": [{"login": "zyxkad", "name": "zyxkad", "url": "https://github.com/zyxkad", "avatar": "https://avatars.githubusercontent.com/u/91082411?v=4"}, {"login": "web-flow", "name": "web-flow", "url": "https://github.com/web-flow", "avatar": "https://avatars.githubusercontent.com/u/19864447?v=4"}, {"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "joeyjo33", "name": "joeyjo33", "url": "https://github.com/joeyjo33", "avatar": "https://avatars.githubusercontent.com/u/91799218?v=4"}, {"login": "starcatmeow", "name": "starcatmeow", "url": "https://github.com/starcatmeow", "avatar": "https://avatars.githubusercontent.com/u/19618963?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "FatalMerlin", "name": "FatalMerlin", "url": "https://github.com/FatalMerlin", "avatar": "https://avatars.githubusercontent.com/u/14237330?v=4"}, {"login": "iammael", "name": "iammael", "url": "https://github.com/iammael", "avatar": "https://avatars.githubusercontent.com/u/7931135?v=4"}, {"login": "SkyTheCodeMaster", "name": "SkyTheCodeMaster", "url": "https://github.com/SkyTheCodeMaster", "avatar": "https://avatars.githubusercontent.com/u/34724753?v=4"}]}, "docs/peripherals/nbt_storage.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "dogboy21", "name": "dogboy21", "url": "https://github.com/dogboy21", "avatar": "https://avatars.githubusercontent.com/u/10376793?v=4"}, {"login": "web-flow", "name": "web-flow", "url": "https://github.com/web-flow", "avatar": "https://avatars.githubusercontent.com/u/19864447?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "SirEdvin", "name": "SirEdvin", "url": "https://github.com/SirEdvin", "avatar": "https://avatars.githubusercontent.com/u/3713151?v=4"}]}, "docs/peripherals/player_detector.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "cyberbit", "name": "cyberbit", "url": "https://github.com/cyberbit", "avatar": "https://avatars.githubusercontent.com/u/7350183?v=4"}, {"login": "web-flow", "name": "web-flow", "url": "https://github.com/web-flow", "avatar": "https://avatars.githubusercontent.com/u/19864447?v=4"}, {"login": "JustinKolnick", "name": "JustinKolnick", "url": "https://github.com/JustinKolnick", "avatar": "https://avatars.githubusercontent.com/u/22639256?v=4"}, {"login": "zyxkad", "name": "zyxkad", "url": "https://github.com/zyxkad", "avatar": "https://avatars.githubusercontent.com/u/91082411?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "FatalMerlin", "name": "FatalMerlin", "url": "https://github.com/FatalMerlin", "avatar": "https://avatars.githubusercontent.com/u/14237330?v=4"}, {"login": "iammael", "name": "iammael", "url": "https://github.com/iammael", "avatar": "https://avatars.githubusercontent.com/u/7931135?v=4"}, {"login": "SkyTheCodeMaster", "name": "SkyTheCodeMaster", "url": "https://github.com/SkyTheCodeMaster", "avatar": "https://avatars.githubusercontent.com/u/34724753?v=4"}]}, "docs/peripherals/redstone_integrator.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "FatalMerlin", "name": "FatalMerlin", "url": "https://github.com/FatalMerlin", "avatar": "https://avatars.githubusercontent.com/u/14237330?v=4"}, {"login": "web-flow", "name": "web-flow", "url": "https://github.com/web-flow", "avatar": "https://avatars.githubusercontent.com/u/19864447?v=4"}, {"login": "iammael", "name": "iammael", "url": "https://github.com/iammael", "avatar": "https://avatars.githubusercontent.com/u/7931135?v=4"}]}, "docs/peripherals/rs_bridge.md": {"last_commit_date": "2025-06-10", "authors": [{"login": "zyxkad", "name": "zyxkad", "url": "https://github.com/zyxkad", "avatar": "https://avatars.githubusercontent.com/u/91082411?v=4"}, {"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "web-flow", "name": "web-flow", "url": "https://github.com/web-flow", "avatar": "https://avatars.githubusercontent.com/u/19864447?v=4"}, {"login": "456dev", "name": "456dev", "url": "https://github.com/456dev", "avatar": "https://avatars.githubusercontent.com/u/42748092?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "FatalMerlin", "name": "FatalMerlin", "url": "https://github.com/FatalMerlin", "avatar": "https://avatars.githubusercontent.com/u/14237330?v=4"}, {"login": "iammael", "name": "iammael", "url": "https://github.com/iammael", "avatar": "https://avatars.githubusercontent.com/u/7931135?v=4"}, {"login": "SkyTheCodeMaster", "name": "SkyTheCodeMaster", "url": "https://github.com/SkyTheCodeMaster", "avatar": "https://avatars.githubusercontent.com/u/34724753?v=4"}]}, "docs/turtles/chatty_turtle.md": {"last_commit_date": "2025-02-25", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "SirEdvin", "name": "SirEdvin", "url": "https://github.com/SirEdvin", "avatar": "https://avatars.githubusercontent.com/u/3713151?v=4"}, {"login": "iammael", "name": "iammael", "url": "https://github.com/iammael", "avatar": "https://avatars.githubusercontent.com/u/7931135?v=4"}]}, "docs/turtles/chunky_turtle.md": {"last_commit_date": "2025-02-25", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "SirEdvin", "name": "SirEdvin", "url": "https://github.com/SirEdvin", "avatar": "https://avatars.githubusercontent.com/u/3713151?v=4"}, {"login": "iammael", "name": "iammael", "url": "https://github.com/iammael", "avatar": "https://avatars.githubusercontent.com/u/7931135?v=4"}, {"login": "SkyTheCodeMaster", "name": "SkyTheCodeMaster", "url": "https://github.com/SkyTheCodeMaster", "avatar": "https://avatars.githubusercontent.com/u/34724753?v=4"}, {"login": "web-flow", "name": "web-flow", "url": "https://github.com/web-flow", "avatar": "https://avatars.githubusercontent.com/u/19864447?v=4"}]}, "docs/turtles/compass_turtle.md": {"last_commit_date": "2024-07-16", "authors": []}, "docs/turtles/environment_turtle.md": {"last_commit_date": "2025-02-25", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "SirEdvin", "name": "SirEdvin", "url": "https://github.com/SirEdvin", "avatar": "https://avatars.githubusercontent.com/u/3713151?v=4"}, {"login": "iammael", "name": "iammael", "url": "https://github.com/iammael", "avatar": "https://avatars.githubusercontent.com/u/7931135?v=4"}]}, "docs/turtles/geo_scanner_turtle.md": {"last_commit_date": "2025-02-25", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "SirEdvin", "name": "SirEdvin", "url": "https://github.com/SirEdvin", "avatar": "https://avatars.githubusercontent.com/u/3713151?v=4"}]}, "docs/turtles/player_turtle.md": {"last_commit_date": "2025-02-25", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}, {"login": "SirEdvin", "name": "SirEdvin", "url": "https://github.com/SirEdvin", "avatar": "https://avatars.githubusercontent.com/u/3713151?v=4"}, {"login": "iammael", "name": "iammael", "url": "https://github.com/iammael", "avatar": "https://avatars.githubusercontent.com/u/7931135?v=4"}]}, "docs/turtles/metaphysics/end_automata.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}]}, "docs/turtles/metaphysics/husbandry_automata.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}]}, "docs/turtles/metaphysics/overpowered_automata.md": {"last_commit_date": "2025-02-25", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}]}, "docs/turtles/metaphysics/weak_automata.md": {"last_commit_date": "2025-05-14", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}, {"login": "l3dotdev", "name": "l3dotdev", "url": "https://github.com/l3dotdev", "avatar": "https://avatars.githubusercontent.com/u/35655841?v=4"}]}, "docs/guides/storage_system_functions.md": {"last_commit_date": "2025-06-10", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}]}, "docs/guides/objects.md": {"last_commit_date": "2025-06-10", "authors": [{"login": "SirEndii", "name": "SirEndii", "url": "https://github.com/SirEndii", "avatar": "https://avatars.githubusercontent.com/u/67484093?v=4"}]}}} \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 4b420e24..910576f0 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,5 +1,5 @@ -blank_issues_enabled: false +blank_issues_enabled: true contact_links: - name: Mod issues - url: https://github.com/Seniorendi/AdvancedPeripherals/issues + url: https://github.com/IntelligenceModding/AdvancedPeripherals/issues about: Please report bugs at the advanced peripherals repository. This repository is for documentation only. diff --git a/docs/extra.css b/docs/extra.css index 913a220a..39268337 100644 --- a/docs/extra.css +++ b/docs/extra.css @@ -43,4 +43,14 @@ b.si { font-size: 1.5rem; padding-right: 0.3rem; vertical-align: 1rem; +} + +/* Center Markdown Tables (requires md_in_html extension) */ +.center-table { + text-align: center; +} + +.md-typeset .center-table :is(td,th):not([align]) { + /* Reset alignment for table cells */ + text-align: initial; } \ No newline at end of file diff --git a/docs/guides/disabled_peripherals.md b/docs/guides/disabled_peripherals.md new file mode 100644 index 00000000..cb0ab620 --- /dev/null +++ b/docs/guides/disabled_peripherals.md @@ -0,0 +1,27 @@ +--- +comments: true +--- + +# Disabled Peripherals + +!!! failure + Only available for 1.19.2-0.7.39r, 1.20.1-0.7.45r, 1.21.1-0.7.57b or newer + + +Peripherals can be disabled in the configuration file of AP in `{minecraft_folder}/config/Advancedperipherals/peripherals.toml`. + +When disabled, these peripherals can still be wrapped but all the functions throw a LuaException. Besides that, you can now find a new function called `peripheralDisabled`. +You can simply check in your script if a connected peripheral is disabled via the following example. + +```lua + box = peripheral.find("chat_box") -- (1) + if box.peripheralDisabled then -- (2) + error("Peripheral is Disabled", 0) + end + + print("Peripheral is not Disabled") + +``` + +1. Can be any peripheral, as long as it is from AP. +2. We just check if the function exists, we don't run it since the function does not exist when the peripheral is not disabled. diff --git a/docs/guides/filters.md b/docs/guides/filters.md index e5587b0c..ef249d2f 100644 --- a/docs/guides/filters.md +++ b/docs/guides/filters.md @@ -12,7 +12,7 @@ These can set the item, count, slots, tags, nbt or fingerprint values. ## Syntax -### Item/Fluid Name and Tag +### Item/Fluid/Chemical Name and Tag The item's/fluid's filter name or tag can be specified with the `name` field. If this field is not set, the filter will try to search for items with the right nbt values specified in the `nbt` field @@ -32,9 +32,36 @@ This can be a tag or a name. To filter for tags, place a `#` in front of the nam } ``` +### Types + +!!! success "Added in version 0.8 and 1.21.1-0.7" + +Some functions can be used with any type of filter to prevent the same functions with just a different name. These filters are called generic filters. +They automatically search if the `name` provided is an item, a fluid or a mekanism chemical - in this order. +If none could be found, it will return an empty filter with the message `NO_VALID_FILTER_TYPE`. + +A type can also be forced using the `type` key. +Depending on the AP version and the function, the following types can be used: `item`, `fluid` and `chemical`. + +```lua +{ + name = "minecraft:water" + type = "fluid" +} +``` + +The following example would return nil with the message `FLUID_NOT_FOUND` when used in a function. +```lua +{ + name = "minecraft:dirt" + type = "fluid" +} +``` + + ### Count -The item's/fluid's filter amout can be specified with the `count` field. +The item's/fluid's filter amount can be specified with the `count` field. Standard values are 64 or 1000 for fluids. ```lua diff --git a/docs/guides/objects.md b/docs/guides/objects.md new file mode 100644 index 00000000..4e894704 --- /dev/null +++ b/docs/guides/objects.md @@ -0,0 +1,118 @@ +# Common Lua Objects + +AP contains a lot of different objects based on in-game content, including Items, Item Stacks, Fluids, Entities and more. +This guide contains the most objects we have, including a description and every property with its type it can contain. + +## Item +Base ítem properties: + +| Property | Type | Description | +|----------|------|-------------| +| tags | table | List of item tags | +| name | string | Registry key of the item | + +## Item Stack +Represents a specific amount of an item with additional properties. Includes all Item properties plus: + +| Property | Type | Description | +|----------|------|-------------| +| count | number | Amount of items in the stack | +| displayName | string | Display name of the item | +| maxStackSize | number | Maximum stack size | +| components | table | NBT component data | +| fingerprint | string | Unique identifier for the stack | +| tags | table | List of item tags | +| name | string | Registry key of the item | +| slot | number | (Optional) Slot number when in inventory | + +## Fluid +Base fluid properties: + +| Property | Type | Description | +|----------|------|-------------| +| tags | table | List of fluid tags | +| name | string | Registry key of the fluid | + +## Fluid Stack +Represents a specific amount of fluid with additional properties. Includes all Fluid properties plus: + +| Property | Type | Description | +|----------|------|-------------| +| count | number | Amount of fluid | +| displayName | string | Display name of the fluid | +| fluidType | table | FluidType properties | +| components | table | NBT component data | +| fingerprint | string | Unique identifier for the stack | + +## Mekanism Chemical +Base chemical properties: + +| Property | Type | Description | +|----------|------|-------------| +| tags | table | List of chemical tags | +| name | string | Registry key of the chemical | +| isGaseous | boolean | Whether the chemical is gaseous | +| radioactivity | number | Radioactivity level of the chemical | + +## Mekanism Chemical Stack +Represents a specific amount of chemical with additional properties. Includes all Chemical properties plus: + +| Property | Type | Description | +|----------|------|-------------| +| count | number | Amount of chemical | +| displayName | string | Display name of the chemical | +| fingerprint | string | Unique identifier for the stack | + + +## Entity +| Property | Type | Description | +|----------|------|-------------| +| id | number | Entity ID | +| uuid | string | Entity UUID | +| name | string | Entity name | +| tags | table | Entity tags | +| canFreeze | boolean | Whether entity can freeze | +| isGlowing | boolean | Whether entity is glowing | +| isInWall | boolean | Whether entity is in a wall | + +## Living Entity +Inherits all properties from Entity, plus: + +| Property | Type | Description | +|----------|------|-------------| +| health | number | Current health | +| maxHealth | number | Maximum health | +| lastDamageSource | string | Last damage source (or nil) | + +## Animal +Inherits all properties from LivingEntity, plus: + +| Property | Type | Description | +|----------|------|-------------| +| baby | boolean | Whether the animal is a baby | +| inLove | boolean | Whether the animal is in love state | +| aggressive | boolean | Whether the animal is aggressive | +| shareable | boolean | Whether the animal can be sheared (if applicable) | + +## Position +Common block position object used for some filters and return values. + +| Property | Type | Description | +|----------|------|-------------| +| x | number | X coordinate | +| y | number | Y coordinate | +| z | number | Z coordinate | + +## Fluid Type +| Property | Type | Description | +|----------|------|-------------| +| viscosity | number | Fluid viscosity | +| density | number | Fluid density | +| canHydrate | boolean | Whether fluid can hydrate | +| canExtinguish | boolean | Whether fluid can extinguish | +| canDrownIn | boolean | Whether entities can drown in it | +| canSwim | boolean | Whether entities can swim in it | +| canPushEntity | boolean | Whether fluid can push entities | +| supportsBoating | boolean | Whether boats can float on it | +| canConvertToSource | boolean | Whether fluid can convert to source blocks | +| temperature | number | Fluid temperature | \ No newline at end of file diff --git a/docs/guides/storage_system_functions.md b/docs/guides/storage_system_functions.md new file mode 100644 index 00000000..b4440983 --- /dev/null +++ b/docs/guides/storage_system_functions.md @@ -0,0 +1,826 @@ +# Storage System Functions + +Starting from AP 0.8 and 0.7 for 1.21.1, the ME and RS Bridge both now share the same functionality along with the new +crafting system. +The following functions can be used for both the ME and RS Bridge + +!!! failure +

You need to place the inventory/tank you want to use to export/import stuff next to the ME/RS Bridge and * + *NOT** next to the computer!

+ +!!! tip + You can use the command `/advancedperipherals getHashItem` with an item in your hand to get the MD5 hash of the NBT tags + of the item. An MD5 Hash can look like this `-682649218295023`. + +## Common Functions + +!!! info + The item arguments(`filter: table`) accepts our item/fluid/chemical filters, you can check the syntax of these + filters [here](/../guides/filters). + +### isConnected + +``` +isConnected() -> boolean +``` + +Returns true if the block is currently connected to a grid + +--- + +### isOnline + +``` +isOnline() -> boolean +``` + +Returns true if the grid is currently online and available + +--- + +### getItem + +``` +getItem(filter: table) -> table | nil, string +``` + +Returns the first item that matches the filter. Or nil with a debug message if none could be found + +--- + +### getFluid + +``` +getFluid(filter: table) -> table | nil, string +``` + +Returns the first fluid that matches the filter. Or nil with a debug message if none could be found + +--- + +### getChemical + +``` +getChemical(filter: table) -> table | nil, string +``` + +Returns the first mekanism chemical that matches the filter. Or nil with a debug message if none could be found + +--- + +### getItems + +``` +getItems(filter: table) -> table | nil, string +``` + +Returns every item that matches the filter or an empty table if none could be found. +An empty filter can be provided to get every resource. +Returns nil if there was an issue parsing your table. + +--- + +### getFluids + +``` +getFluids(filter: table) -> table | nil, string +``` + +Returns every fluid that matches the filter or an empty table if none could be found. +An empty filter can be provided to get every resource. +Returns nil if there was an issue parsing your table. + +--- + +### getChemicals + +``` +getChemicals(filter: table) -> table | nil, string +``` + +Returns every mekanism chemical that matches the filter or an empty table if none could be found. +An empty filter can be provided to get every resource. +Returns nil if there was an issue parsing your table. + +--- + +### getCraftableItems + +``` +getCraftableItems(filter: table) -> table | nil, string +``` + +Returns every craftable item that matches the filter even if there is currently no item stored or an empty table if none +could be found. +An empty filter can be provided to get every resource. +Returns nil if there was an issue parsing your table. + +--- + +### getCraftableFluids + +``` +getCraftableFluids(filter: table) -> table | nil, string +``` + +Returns every craftable fluid that matches the filter even if there is currently no fluid stored or an empty table if +none could be found. +An empty filter can be provided to get every resource. +Returns nil if there was an issue parsing your table. + +--- + +### getCraftableChemicals + +``` +getCraftableChemicals(filter: table) -> table | nil, string +``` + +Returns every craftable mekanism chemical that matches the filter even if there is currently no chemical stored or an +empty table if none could be found. +An empty filter can be provided to get every resource. +Returns nil if there was an issue parsing your table. + +--- + +### getCells + +``` +getCells() -> table | nil, string +``` + +Returns every storage cell in the drives of the grid. Supports standard RS/ME cells and some third party cells. +Please open a feature request if some custom addon cells do not work + +--- + +### getDrives + +``` +getCells() -> table | nil, string +``` + +Returns every drive connected to the system with the cells in it. + +--- + +## Importing/Exporting functions + +You may are used to two different functions, `importItemFromPeripheral` and `importItem` +The functions now support both at the same time. It first tries to parse the given string `target` as a cardinal or +relative direction. +If that fails, it tries to search for a peripheral on the CC network which exposes an item handler or capability. + +### importItem + +``` +importItem(filter: table, target: string) -> table | nil, string +``` + +Imports an item from the specified target. The filter can be empty to import every item. +One call imports 64 of resources by default, can be set using the count filter key. + +--- + +### exportItem + +``` +exportItem(filter: table, target: string) -> table | nil, string +``` + +Exports an item to the specified target. The filter can be empty to export every item. +One call exports 64 of resources by default, can be set using the count filter key. + +--- + +### importFluid + +``` +importFluid(filter: table, target: string) -> table | nil, string +``` + +Imports a fluid from the specified target. The filter can be empty to import every fluid. +One call imports 1000mB of resources by default, can be set using the count filter key. + +--- + +### exportFluid + +``` +exportFluid(filter: table, target: string) -> table | nil, string +``` + +Exports a fluid to the specified target. The filter can be empty to export every fluid. +One call exports 1000mB of resources by default, can be set using the count filter key. + +--- + +### importChemical + +``` +importChemical(filter: table, target: string) -> table | nil, string +``` + +Imports a mekanism chemical from the specified target. The filter can be empty to import every chemical. +One call imports 1000mB of resources by default, can be set using the count filter key. + +--- + +### exportChemical + +``` +exportChemical(filter: table, target: string) -> table | nil, string +``` + +Exports a mekanism chemical to the specified target. The filter can be empty to export every chemical. +One call exports 1000Mb of resources by default, can be set using the count filter key. + +--- + +## Energy Related Functions + +### getStoredEnergy + +``` +getStoredEnergy() -> int +``` + +Returns the stored energy in the grid. + +--- + +### getEnergyCapacity + +``` +getEnergyCapacity() -> int +``` + +Returns the maximum energy capacity of the grid + +--- + +### getEnergyUsage + +``` +getEnergyUsage() -> int +``` + +Returns the energy usage of the grid + +--- + +!!! note + Currently only supported by the ME Bridge + +### getAvgPowerInjection + +``` +getAvgPowerInjection() -> int +``` + +Returns the average power that is injected into the system + +--- + +## Storage Related Functions + +!!! warning + The RS Bridge currently does not support Any external storage function, we will hopefully be able to support them when + RS2 is out of beta. + +### getTotalExternItemStorage + +``` +getTotalExternItemStorage() -> int +``` + +Returns the total amount of available external item storage. +External storage is available storage by either RS2's external storage bus or AE2's storage bus +This function returns the available storage in items even with the byte system from AE2 + +--- + +### getTotalExternFluidStorage + +``` +getTotalExternFluidStorage() -> int +``` + +Returns the total amount of available external fluid storage. +External storage is available storage by either RS2's external storage bus or AE2's storage bus +This function returns the available storage in millibuckets even with the byte system from AE2 + +--- + +### getTotalExternChemicalStorage + +``` +getTotalExternChemicalStorage() -> int +``` + +Returns the total amount of available external mekanism chemical storage. +External storage is available storage by either RS2's external storage bus or AE2's storage bus +This function returns the available storage in millibuckets even with the byte system from AE2 + +--- + +### getTotalItemStorage + +``` +getTotalItemStorage() -> int +``` + +Returns the total amount of available internal item storage. +This function returns the available storage in items for RS and in bytes for AE2 + +--- + +### getTotalFluidStorage + +``` +getTotalFluidStorage() -> int +``` + +Returns the total amount of available internal fluid storage. +This function returns the available storage in millibuckets for RS and in bytes for AE2 + +--- + +### getTotalChemicalStorage + +``` +getTotalChemicalStorage() -> int +``` + +Returns the total amount of available internal mekanism chemical storage. +This function returns the available storage in millibuckets for RS and in bytes for AE2 + +--- + +### getUsedExternItemStorage + +``` +getUsedExternItemStorage() -> int +``` + +Returns the total amount of used external item storage. +External storage is available storage by either RS2's external storage bus or AE2's storage bus +This function returns the used storage in items even with the byte system from AE2 + +--- + +### getUsedExternFluidStorage + +``` +getUsedExternFluidStorage() -> int +``` + +Returns the total amount of used external fluid storage. +External storage is available storage by either RS2's external storage bus or AE2's storage bus +This function returns the used storage in millibuckets even with the byte system from AE2 + +--- + +### getUsedExternChemicalStorage + +``` +getUsedExternChemicalStorage() -> int +``` + +Returns the total amount of used external mekanism chemical storage. +External storage is available storage by either RS2's external storage bus or AE2's storage bus +This function returns the used storage in millibuckets even with the byte system from AE2 + +--- + +### getUsedItemStorage + +``` +getUsedItemStorage() -> int +``` + +Returns the total amount of used internal item storage. +This function returns the used storage in items for RS and in bytes for AE2 + +--- + +### getUsedItemStorage + +``` +getUsedItemStorage() -> int +``` + +Returns the total amount of used internal fluid storage. +This function returns the used storage in millibuckets for RS and in bytes for AE2 + +--- + +### getUsedItemStorage + +``` +getUsedItemStorage() -> int +``` + +Returns the total amount of used internal mekanism chemical storage. +This function returns the used storage in millibuckets for RS and in bytes for AE2 + +--- + +### getAvailableExternItemStorage + +``` +getAvailableExternItemStorage() -> int +``` + +Returns the total amount of available and not used external item storage. +External storage is available storage by either RS2's external storage bus or AE2's storage bus +This function returns the available and not used storage in items even with the byte system from AE2 + +--- + +### getAvailableExternFluidStorage + +``` +getAvailableExternFluidStorage() -> int +``` + +Returns the total amount of available and not used external fluid storage. +External storage is available storage by either RS2's external storage bus or AE2's storage bus +This function returns the available and not used storage in millibuckets even with the byte system from AE2 + +--- + +### getAvailableExternChemicalStorage + +``` +getAvailableExternChemicalStorage() -> int +``` + +Returns the total amount of available and not used external mekanism chemical storage. +External storage is available storage by either RS2's external storage bus or AE2's storage bus +This function returns the available and not used storage in millibuckets even with the byte system from AE2 + +--- + +### getAvailableItemStorage + +``` +getAvailableItemStorage() -> int +``` + +Returns the total amount of available and not used internal item storage. +This function returns the available and not used storage in items for RS and in bytes for AE2 + +--- + +### getAvailableFluidStorage + +``` +getAvailableFluidStorage() -> int +``` + +Returns the total amount of available and not used internal fluid storage. +This function returns the available and not used storage in millibuckets for RS and in bytes for AE2 + +--- + +### getAvailableChemicalStorage + +``` +getAvailableChemicalStorage() -> int +``` + +Returns the total amount of available and not used internal mekanism chemical storage. +This function returns the available and not used storage in millibuckets for RS and in bytes for AE2 + +--- + +## Crafting System and functions + +Since 0.8 and beta 0.7 for 1.21.1 we created a new crafting system for both the ME and RS Bridge +The functionality is mostly the same but since the RS api is currently not as extensive as the AE2 api, the RS Craft Job +may miss some functions. + +The craft function now returns an object instead of a boolean. Using that object is optional. +That object contains information about the job, if it was canceled, what was requested, what items may miss if +calculation was not successful and much more. + +Crafting is in both RS and AE async. If you request a feature, it calculates the recipe in the background and if that +was successful it starts the task. +To support that in a simple way on a users end, we created that custom object. + +When you schedule a task, it firsts starts calculation in the background and sends an event that the item is either not +craftable or the calculation was started. +If calculation is done, there are several things that can happen. If the calculation was not successful and there were +missing items, it fires the crafting event with the message "MISSING_ITEMs". +The missing items can be retrieved using the object's function `getMissingItems`. +Depending on if you use RS or AE2, it also may return other debug messages if the calculation was nto successful like +overflow or cycle detected. + +If the calculation was successful, the event will fire with the message `CRAFTING_STARTED` and then starts the crafting. + +There are now two ways to track the progress. the `crafting` event will fire when the crafting is done, it was canceled +or if other things might happen that affects the task. +The event also gives you an id to get the crafting object you would also get from the initial `craftX` function. Simply +use `getCraftingJob` to get the object. + +The other way is to regularly check if the crafting is done or canceled by calling the objects `isDone` or `isCanceled` +function. +Using the event is more simple there. + +Every function and property is described in more details below. + +### Crafting Event + +The new crafting event will be fired when the state of a task will change. + +The name of the event is prefixed depending if you use the RS or ME Bridge. +Use `rs_crafting` for the RS Bridge and `me_crafting` for the ME Bridge. +**Values:** + +1. `error: boolean` If an error occurred and the calculation or crafting was not successful +2. `id: int` The id of the craft job. Can be used to get the craft object +3. `debug_message: string` A debug message describing the current task of the task + +```lua linenums="1" +local event, error, id, message = os.pullEvent("rs_crafting") +print("A crafting update occurred for Job #" .. id) +if error then + print("There was an error while calculating or crafting the resource with the message " .. message) +else + print("The new state of the task is " .. message) +end +``` + +### craftItem + +``` +craftItem(filter: table) -> table | nil, string +``` + +Schedules a craft job for items. Will fire the crafting event when changes occur. +Or nil if there was an issue with parsing the filter + +--- + +### craftFluid + +``` +craftFluid(filter: table) -> table | nil, string +``` + +Schedules a craft job for fluids. Will fire the crafting event when changes occur. +Or nil if there was an issue with parsing the filter + +--- + +### craftChemical + +``` +craftChemical(filter: table) -> table | nil, string +``` + +Schedules a craft job for mekanism chemicals. Will fire the crafting event when changes occur. +Or nil if there was an issue with parsing the filter + +--- + +### getCraftingTasks + +``` +getCraftingTasks() -> table +``` + +Returns every crafting task that is currently running. + +--- + +### getCraftingTask + +``` +getCraftingJob(id: int) -> table | nil, string +``` + +Returns the [Crafting Job Object](/../guides/storage_system_functions#crafting-job) with the id. Nil if no object could be found + +--- + +### cancelCraftingTasks + +``` +cancelCraftingTasks(filter: table) -> int +``` + +Cancels every crafting task where the output matches the filter + +--- + +### getPatterns + +``` +getPatterns(pattern_filter: table) -> table | nil, string +``` + +Returns every pattern available to the grid or nil if there was an issue with parsing one of the filters. +The filter of this function is a bit different + +You **can** specify filters for the output and input of patterns. If you don't provide any filter or just no argument at +all, it will return every pattern. + +To specify an input or output filter, you need to use an `input`/`output` key in the filters table. + +For example + +```lua linenums="1" +-- Filter for any patterns with sticks as an output +outputFilter = { + output = { + name="minecraft:stick" + } +} + +-- Filter for any patterns with sticks as an input +inputFilter = { + input = { + name="minecraft:stick" + } +} + +-- Filter for any patterns with sticks as an output and planks as an input +inputFilter = { + input = { + name = "minecraft:oak_planks" + }, + output = { + name="minecraft:stick" + } +} + +-- Or use the function without argument to get every pattern +patterns = bridge.getPatterns() +``` + +--- + +### isCraftable + +``` +isCraftable(filter: table) -> boolean +``` + +Returns true if there is a pattern for the provided filter or nil if there was an issue with parsing the filter. +The filter can be an item filter, a chemical filter or a fluid filter. See [filter types](/../guides/filters/#types) + +--- + +### isCrafting + +``` +isCrafting(filter: table) -> boolean +``` + +Returns true if there is a crafting job running for the provided filter or nil if there was an issue with parsing the +filter. +The filter can be an item filter, a chemical filter or a fluid filter. See [filter types](/../guides/filters/#types) + +## Objects + +Every object here is inherited from common lua objects, see [LuaObjects](/../guides/objects) +Please note that due to different natures of AE2 and RS that not every object is the same. + +### Item Stack + +| Property | Type | Description | +|-------------|---------|--------------------------------------------------| +| isCraftable | boolean | Whether the item is craftable (A pattern exists) | + +### Fluid Stack + +| Property | Type | Description | +|-------------|---------|--------------------------------------------------| +| isCraftable | boolean | Whether the item is craftable (A pattern exists) | + +### Chemical Stack + +| Property | Type | Description | +|-------------|---------|--------------------------------------------------| +| isCraftable | boolean | Whether the item is craftable (A pattern exists) | + +### Storage Disk + +AE2 and RS2 storage disks sadly have a bunch of different properties since AE2 works with types and bytes while RS does +not. + +#### Refined Storage Disk + +| Property | Type | Description | +|----------|--------|-----------------------------| +| used | number | Storage amount what is used | +| capacity | number | Total Capacity | +| state | string | RS Storage state[^1] | +| type | string | RS Storage type[^2] | + +#### Applied Energistics Disk + +| Property | Type | Description | +|--------------|----------------------------------------|----------------------------------| +| item | [Item Object](/../guides/objects#item) | Disk as an Item | +| usedBytes | number | Used Bytes | +| totalBytes | number | Types capacity (Usually 63) | +| bytes | number | Bytes capacity | +| bytesPerType | number | Amount of bytes used by one type | +| type | string | AE2 Storage Type[^3] | +| fuzzyMode | string | AE2 Fuzzy[^4] | + +#### DISK Drive disk + +Storage DISK Drive from AE2 Things inherit the same properties from the classic AE2 disk. + +### Pattern + +| Property | Type | Description | +|---------------|-------------------------------------------------------------------------------------------------------------------------|--------------------------------------------| +| primaryOutput | [Item/Fluid/Chem Stack Object](/../guides/storage_system_functions#objects) | Primary Output | +| outputs | Array of [Item/Fluid/Chem Stack Object](/../guides/storage_system_functions#objects).
Or AE2 Pattern Input object | Outputs | +| inputs | Array of [Item/Fluid/Chem Stack Object](/../guides/storage_system_functions#objects) | Inputs | +| patternType | string | Pattern Type, different for AE2 and RS[^5] | +| id | string | Pattern ID, only for RS | + +### AE2 Pattern Input + +| Property | Type | Description | +|----------------|--------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------| +| primaryInput | [Item/Fluid/Chem Stack Object](/../guides/storage_system_functions#objects) | Primary Input. | +| possibleInputs | Array of [Item/Fluid/Chem Stack Object](/../guides/storage_system_functions#objects) | Other possible Inputs | +| multiplier | number | How many possible inputs are necessary to craft this pattern | +| remaining | number | Remaining items like buckets when a water bucket was used. Nil for non crafting patterns | + +### AE2 Crafting CPU + +| Property | Type | Description | +|---------------|---------------------|---------------------------------------------------------| +| storage | number | Available storage in bytes | +| coProcessors | number | Available co processing unity | +| isBusy | boolean | Whether the CPU is currently performing a task | +| craftingJob | Crafting Job Object | The job it currently performs | +| name | string | Either "Unnamed" when not named for the name of the CPU | +| selectionMode | string | CPU Selection mode[^6] | + +### Crafting Job Details + +| Property | Type | Description | +|------------|---------------------------------------------------------------------------------|---------------------------------------------------------------| +| bridge_id | number | The ID of that task when scheduled via the bride or -1 if not | +| id | string | ID of the task | +| quantity | number | Amount scheduled | +| resource | [Item/Fluid/Chem Stack Object](/../guides/storage_system_functions#objects) | The scheduled resource | +| completion | floating number between 0 and 1 | Completion in percentage | +| crafted | number | Amount already crafted | +| cpu | [AE2 Crafting CPU Object](/../guides/storage_system_functions#ae2-crafting-cpu) | The crafting cpu, nil for RS | + +### Crafting Job + +With the new crafting system, we have a complete new crafting job object. While the basic crafting job only offers some simple details, the actual job that manages the crafting offers everything that RS or AE2 would offer. +Tho these are no properties/fields, these are functions since always pulling these information would be a waste of time. + +Represents a crafting job in the ME/RS system. Used for tracking crafting operations. + +| Function | Return Type | Description | +|------------------------------|-------------|---------------------------------------------------------------------| +| getId() | number | Returns the unique identifier of the crafting job | +| isDone() | boolean | Returns whether the crafting job is completed | +| isCanceled() | boolean | Returns whether the crafting job was canceled | +| isCraftingStarted() | boolean | Returns whether the crafting process has started | +| isCalculationStarted() | boolean | Returns whether the calculation process has started | +| isCalculationNotSuccessful() | boolean | Returns whether the calculation failed | +| hasErrorOccurred() | boolean | Returns whether an error occurred during the job | +| getDebugMessage() | string | Returns a debug message with additional information about the job | +| getRequestedItem() | object | Returns the requested item/fluid/chemical as an object | +| getElapsedTime() | number | Returns the elapsed time since the job was created | +| getTotalItems() | number | Returns the total number of items to be crafted | +| getItemProgress() | number | Returns the current progress of crafting (how many items completed) | +| getEmittedItems() | object | Returns an object representing the items already emitted by the job | +| getUsedItems() | object | Returns an object representing the items used in crafting | +| getMissingItems() | object | Returns an object representing items missing for crafting | +| hasMultiplePaths() | boolean | Returns whether there are multiple crafting paths available | +| getFinalOutput() | object | Returns the final output item/fluid/chemical | +| cancel() | boolean | Cancels the crafting job and returns whether it was successful | +| getUsedBytes() | number | Returns the used bytes for that job. AE2 only | + +[^1]: +Can be NONE, INACTIVE, NORMAL, NEAR_CAPACITY, FULL. + +[^2]: +Can be item, fluid, chemical, unknown (with an unknown addon). + +[^3]: +Can be ae2:f, ae2:i, ae2:chemical or storage types from other addons. + +[^4]: +Can be IGNORE_ALL, PERCENT_99, PERCENT_75, PERCENT_50, PERCENT_25. + +[^5]: +For RS: EXTERNAL, INTERNAL. For AE2: crafting, processing, smithing, stonecutting, unknown(for unknown third party patterns). + +[^6]: +Can be ANY, PLAYER_ONLY, MACHINE_ONLY. \ No newline at end of file diff --git a/docs/img/bridge_requester.png b/docs/img/bridge_requester.png new file mode 100644 index 00000000..5b7b94e4 Binary files /dev/null and b/docs/img/bridge_requester.png differ diff --git a/docs/index.md b/docs/index.md index 43406a70..61c0c3b7 100644 --- a/docs/index.md +++ b/docs/index.md @@ -17,7 +17,7 @@ With Advanced Peripherals you can control your base in Minecraft only with messa If you need help, join the [Discord](https://discord.intelligence-modding.de/) See the mod page on [Curseforge](https://www.curseforge.com/minecraft/mc-mods/advanced-peripherals) - Find the mod source code on [Github](https://github.com/SirEndii/AdvancedPeripherals) + Find the mod source code on [Github](https://github.com/IntelligenceModding/AdvancedPeripherals) #### Version support @@ -37,7 +37,7 @@ With Advanced Peripherals you can control your base in Minecraft only with messa #### Contribute -If you want to contribute to this documentation or fix any spelling mistakes, feel free to do so on the documentation [ Github](https://github.com/Seniorendi/Advanced-Peripherals-Documentation), checkout the **Contribute** section in the README for more info. +If you want to contribute to this documentation or fix any spelling mistakes, feel free to do so on the documentation [ Github](https://github.com/IntelligenceModding/Advanced-Peripherals-Documentation), checkout the **Contribute** section in the README for more info.
diff --git a/docs/integrations/botania/flowers.md b/docs/integrations/botania/flowers.md index 71ccabf4..dd7f7cb8 100644 --- a/docs/integrations/botania/flowers.md +++ b/docs/integrations/botania/flowers.md @@ -18,13 +18,13 @@ Mana generating flowers from botania can generate mana for other recipes or ritu --- -
+ | Peripheral Name | Interfaces with | Has events | Introduced in | | --------------- | --------------- | ---------- | ------------- | | manaFlower | Mana flowers | No | 0.6b | -
+ --- diff --git a/docs/integrations/botania/pool.md b/docs/integrations/botania/pool.md index 83e67a47..86b0fd2e 100644 --- a/docs/integrations/botania/pool.md +++ b/docs/integrations/botania/pool.md @@ -18,13 +18,13 @@ Mana Pools are used to store mana. They are also used to craft items. --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | --------------- | --------------- | ---------- | ------------- | | manaPool | Mana Pool block | No | 0.6b | -
+ --- diff --git a/docs/integrations/botania/spreader.md b/docs/integrations/botania/spreader.md index b1b03c79..2f6460d4 100644 --- a/docs/integrations/botania/spreader.md +++ b/docs/integrations/botania/spreader.md @@ -18,13 +18,13 @@ Mana Spreaders are used to transfer mana from one source to another. --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | --------------- | ------------------- | ---------- | ------------- | | manaSpreader | Mana Spreader block | No | 0.6b | -
+ --- diff --git a/docs/integrations/create/basin.md b/docs/integrations/create/basin.md index c9d65547..a53113d2 100644 --- a/docs/integrations/create/basin.md +++ b/docs/integrations/create/basin.md @@ -18,13 +18,13 @@ A Basin can hold items and fluids for many different crafting recipes. --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | --------------- | --------------- | ---------- | ------------- | | basin | Basin block | No | 0.7.16 | -
+ --- diff --git a/docs/integrations/create/blazeburner.md b/docs/integrations/create/blazeburner.md index f6dbe2c0..43842de0 100644 --- a/docs/integrations/create/blazeburner.md +++ b/docs/integrations/create/blazeburner.md @@ -18,13 +18,13 @@ A Blaze Burner uses different fuel types to heat up things above it like basins --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | --------------- | ------------------ | ---------- | ------------- | | blazeBurner | Blaze Burner block | No | 0.7.16 | -
+ --- diff --git a/docs/integrations/create/fluidtank.md b/docs/integrations/create/fluidtank.md index aa733cc7..d3909718 100644 --- a/docs/integrations/create/fluidtank.md +++ b/docs/integrations/create/fluidtank.md @@ -18,13 +18,13 @@ A Fluid Tank is a multiblock structure which can hold fluids. With each block be --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | --------------- | ---------------- | ---------- | ------------- | | fluidTank | Fluid Tank block | No | 0.7.16 | -
+ --- diff --git a/docs/integrations/create/mechanicalmixer.md b/docs/integrations/create/mechanicalmixer.md index 4bdca13e..0fd42f14 100644 --- a/docs/integrations/create/mechanicalmixer.md +++ b/docs/integrations/create/mechanicalmixer.md @@ -18,13 +18,13 @@ A Mechanical Mixer is used in combination with a Basin to process many shapeless --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | --------------- | ---------------------- | ---------- | ------------- | | mechanicalMixer | Mechanical Mixer block | No | 0.7.16 | -
+ --- diff --git a/docs/integrations/create/scrollbehaviour.md b/docs/integrations/create/scrollbehaviour.md index de9a68e6..8cf9e2d3 100644 --- a/docs/integrations/create/scrollbehaviour.md +++ b/docs/integrations/create/scrollbehaviour.md @@ -16,13 +16,13 @@ This integration works for all blocks with any type of scroll value behaviour. L --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | --------------------- | ----------------------------- | ---------- | ------------- | | scrollBehaviourEntity
speedController (1.16) | Scroll Value Behaviour blocks | No | 0.7.16 | -
+ --- diff --git a/docs/integrations/immersive_engineering/connector.md b/docs/integrations/immersive_engineering/connector.md index 873a77c8..7bab71de 100644 --- a/docs/integrations/immersive_engineering/connector.md +++ b/docs/integrations/immersive_engineering/connector.md @@ -18,13 +18,13 @@ The Redstone Wire Connector is a block from Immersive Engineering to connect red --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | ----------------- | ----------------------------- | ---------- | ------------- | | redstoneConnector | Redstone Wire Connector block | No | 0.6b | -
+ --- diff --git a/docs/integrations/immersive_engineering/probe.md b/docs/integrations/immersive_engineering/probe.md index f5437266..16d7252f 100644 --- a/docs/integrations/immersive_engineering/probe.md +++ b/docs/integrations/immersive_engineering/probe.md @@ -18,13 +18,13 @@ The Redstone Probe is a block from Immersive Engineering used to read and write --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | --------------- | -------------------- | ---------- | ------------- | | redstoneProbe | Redstone Probe block | No | 0.6b | -
+ --- diff --git a/docs/integrations/index.md b/docs/integrations/index.md index e18669db..6e81dd7d 100644 --- a/docs/integrations/index.md +++ b/docs/integrations/index.md @@ -21,7 +21,7 @@ print("Is on enchanted soul?: ".. flower.isOnEnchantedSoil()) --- ## Integration Requests -If you want to see more integrations, you can request a mod integration on [ Github](https://github.com/Seniorendi/AdvancedPeripherals/issues). +If you want to see more integrations, you can request a mod integration on [ Github](https://github.com/IntelligenceModding/AdvancedPeripherals/issues). --- diff --git a/docs/integrations/integrated_dynamics/variable_store.md b/docs/integrations/integrated_dynamics/variable_store.md index 4ec12543..d04ebaf6 100644 --- a/docs/integrations/integrated_dynamics/variable_store.md +++ b/docs/integrations/integrated_dynamics/variable_store.md @@ -18,13 +18,13 @@ The Variable Store is a block from Integrated Dynamics that can store variables --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | --------------- | -------------------- | ---------- | ------------- | | variableStore | Variable Store block | No | 0.7r | -
+ --- diff --git a/docs/integrations/minecraft/beacon.md b/docs/integrations/minecraft/beacon.md index 4c06875c..81eef704 100644 --- a/docs/integrations/minecraft/beacon.md +++ b/docs/integrations/minecraft/beacon.md @@ -13,13 +13,13 @@ A [Beacon](https://minecraft.fandom.com/wiki/Beacon) is a block that projects a --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | --------------- | --------------- | ---------- | ------------- | | beacon | Beacon block | No | 0.6b | -
+ --- diff --git a/docs/integrations/minecraft/noteblock.md b/docs/integrations/minecraft/noteblock.md index 4d444e12..62a4e0d3 100644 --- a/docs/integrations/minecraft/noteblock.md +++ b/docs/integrations/minecraft/noteblock.md @@ -13,13 +13,13 @@ A [Note Block](https://minecraft.fandom.com/wiki/Note_Block) is a musical block --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | --------------- | --------------- | ---------- | ------------- | | noteBlock | Note Block | No | 0.7.4r | -
+ --- diff --git a/docs/integrations/powah/ender_cell.md b/docs/integrations/powah/ender_cell.md index ed5ea5cb..2ecd49e7 100644 --- a/docs/integrations/powah/ender_cell.md +++ b/docs/integrations/powah/ender_cell.md @@ -15,13 +15,13 @@ The Ender Cell is a block from Powah to receive, store, and send energy on speci --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | ----------------- | ----------------------------------- | ---------- | ------------- | | enderCell | Every Ender Cell block (all tiers) | No | N/A | -
+ --- diff --git a/docs/integrations/powah/energy_cell.md b/docs/integrations/powah/energy_cell.md index db915495..8219d368 100644 --- a/docs/integrations/powah/energy_cell.md +++ b/docs/integrations/powah/energy_cell.md @@ -15,13 +15,13 @@ The Energy Cell is a block from Powah to receive, store and send energy. --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | ----------------- | ----------------------------------- | ---------- | ------------- | | energyCell | Every energy cell block (all tiers) | No | N/A | -
+ --- diff --git a/docs/integrations/powah/furnator.md b/docs/integrations/powah/furnator.md index 16c6aca5..0b52be27 100644 --- a/docs/integrations/powah/furnator.md +++ b/docs/integrations/powah/furnator.md @@ -15,13 +15,13 @@ The Furnator is a block from Powah to generate power given a fuel source. --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | ----------------- | ----------------------------------- | ---------- | ------------- | | furnator | Every furnator block (all tiers) | No | N/A | -
+ --- diff --git a/docs/integrations/powah/magmator.md b/docs/integrations/powah/magmator.md index 211f01d3..4aa486e6 100644 --- a/docs/integrations/powah/magmator.md +++ b/docs/integrations/powah/magmator.md @@ -16,13 +16,13 @@ The Magmator is a block from Powah to generate power from a fluid heat source (l --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | ----------------- | ----------------------------------- | ---------- | ------------- | | magmator | Every magmator block (all tiers) | No | N/A | -
+ --- diff --git a/docs/integrations/powah/reactor.md b/docs/integrations/powah/reactor.md index 2c6fabdc..36e73cd0 100644 --- a/docs/integrations/powah/reactor.md +++ b/docs/integrations/powah/reactor.md @@ -15,13 +15,13 @@ The Reactor is a block from Powah to generate power from uraninite. --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | ----------------- | ---------------------------------------------- | ---------- | ------------- | | uraniniteReactor | Every reactor multiblock structure (all tiers) | No | N/A | -
+ --- diff --git a/docs/integrations/powah/solar_panel.md b/docs/integrations/powah/solar_panel.md index 59f75c30..17c4f389 100644 --- a/docs/integrations/powah/solar_panel.md +++ b/docs/integrations/powah/solar_panel.md @@ -15,13 +15,13 @@ The Solar Panel is a block from Powah to generate power given direct exposure to --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | ----------------- | ----------------------------------- | ---------- | ------------- | | solarPanel | Every solar panel block (all tiers) | No | N/A | -
+ --- diff --git a/docs/integrations/powah/thermo_generator.md b/docs/integrations/powah/thermo_generator.md index 7aeaebbd..da209871 100644 --- a/docs/integrations/powah/thermo_generator.md +++ b/docs/integrations/powah/thermo_generator.md @@ -16,13 +16,13 @@ The Thermo Generator is block from Powah to generate power from an appropriate h --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | ----------------- | ---------------------------------------- | ---------- | ------------- | | thermo | Every thermo generator block (all tiers) | No | N/A | -
+ --- diff --git a/docs/peripherals/ar_controller.md b/docs/peripherals/ar_controller.md index b019fd60..229fabab 100644 --- a/docs/peripherals/ar_controller.md +++ b/docs/peripherals/ar_controller.md @@ -17,13 +17,13 @@ The AR Controller is used to control your [AR Goggles](../items/ar_goggles.md) w --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | --------------- | --------------- | ---------- | ------------- | | arController | AR Goggles | No | 0.5b | -
+ --- @@ -295,11 +295,11 @@ Olfi01 made another script to draw .nfp files, which you can draw with the paint First, we have a script with more adaptability. You can define x, y, width and height. -Script 1: [Github](https://gist.github.com/Seniorendi/ce4971245b20fb031ca9b65ec4fcb4d0) +Script 1: [Github](https://gist.github.com/SirEndii/ce4971245b20fb031ca9b65ec4fcb4d0) And we have another script which depends on the script above, but is simpler to use. -Script 2: [Github](https://gist.github.com/Seniorendi/954e9888fac01efe8f23e82d0ae06e92) +Script 2: [Github](https://gist.github.com/SirEndii/954e9888fac01efe8f23e82d0ae06e92) --- diff --git a/docs/peripherals/block_reader.md b/docs/peripherals/block_reader.md index 0814bc10..ec7a2cae 100644 --- a/docs/peripherals/block_reader.md +++ b/docs/peripherals/block_reader.md @@ -13,13 +13,13 @@ This block is able to read data about any blocks or tile entities in front of it --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | --------------- | --------------- | ---------- | ------------- | | blockReader | Blocks | No | 0.7r | -
+ --- @@ -51,7 +51,7 @@ Returns the block data of the block if block is a tile entity. local reader = peripheral.find("blockReader") --Prints the contents of the data -for k, v in ipairs(reader.getBlockData()) do +for k, v in pairs(reader.getBlockData()) do print(k, v) end ``` diff --git a/docs/peripherals/chat_box.md b/docs/peripherals/chat_box.md index 8140de75..a89d2f27 100644 --- a/docs/peripherals/chat_box.md +++ b/docs/peripherals/chat_box.md @@ -16,13 +16,13 @@ The Chat Box is able to read and write messages to the in-game chat. You can sen --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | --------------- | --------------- | ---------- | ------------- | | chatBox | Game Chat | Yes | 0.1b | -
+ --- @@ -34,10 +34,11 @@ Fires when a player sends a message into the chat. 1. `username: string` The username of the player who sent the message 2. `message: string` The message sent by the player 3. `uuid: string` The player's uuid -4. `isHidden: boolean` Whether the message is hidden or not +4. `isHidden: boolean` Whether the message is hidden or not +5. `messageUtf8: string` The message sent by the player, with utf characters. ```lua linenums="1" -local event, username, message, uuid, isHidden = os.pullEvent("chat") +local event, username, message, uuid, isHidden, messageUtf8 = os.pullEvent("chat") print("The 'chat' event was fired with the username " .. username .. " and the message " .. message) ``` @@ -50,7 +51,7 @@ print("The 'chat' event was fired with the username " .. username .. " and the m ### sendMessage ``` -sendMessage(message: string[, prefix: string, brackets: string, bracketColor: string, range: number]) -> true | nil, string +sendMessage(message: string[, prefix: string, brackets: string, bracketColor: string, range: number, utf8Support: boolean]) -> true | nil, string ``` Broadcasts a message to the global chat or if `range` is specified it is sent to all players in the range. The `prefix` will change the text that appears inside the brackets at the start of a message. Defaults to "AP". @@ -58,6 +59,8 @@ To change the `brackets` used around the prefix you must specify a string like s `"[]"`, `"()"`, `"<>"`, ... `bracketColor` specifies the color to use for the brackets, this must be in the [MOTD code format](https://www.digminecraft.com/lists/color_list_pc.php). +If `utf8Support` is `true`: `message`, `prefix`, `brackets`, and `bracketColor` are all expected to be UTF8 encoded, using the `utf8` standard library, unicode escape sequences, or similar. + Returns true if the message is successfully sent, or nil and an error message if it fails. ```lua linenums="1" @@ -67,6 +70,10 @@ chatBox.sendMessage("Hello world!") -- Sends "[AP] Hello world!" in chat os.sleep(1) -- We must account for the cooldown between messages, this is to prevent spam chatBox.sendMessage("I am dave", "Dave") -- Sends "[Dave] I am dave" os.sleep(1) +-- sends a smilely emoji to chat, +-- leaving all other parameters at their defaults. +chatBox.sendMessage("\u{1F600}", nil, nil, nil, nil, true) +os.sleep(1) -- Sends message "Welcome!" with cyan <> brackets around "" -- to players within 30 blocks of the chat box @@ -82,7 +89,7 @@ chatBox.sendMessage("Welcome!", "Box", "<>", "&b", 30) ### sendMessageToPlayer ``` -sendMessageToPlayer(message: string, username: string[, prefix: string, brackets: string, bracketColor: string, range: number]) -> true | nil, string +sendMessageToPlayer(message: string, username: string[, prefix: string, brackets: string, bracketColor: string, range: number, utf8Support: boolean]) -> true | nil, string ``` Similar to [`sendMessage()`](#sendmessage) this sends a message to one specific player. Specify the player to send the message to with the `username` parameter. @@ -94,7 +101,7 @@ chatBox.sendMessageToPlayer("Hello there.", "Player123") -- Sends "[AP] Hello th ### sendToastToPlayer ``` -sendToastToPlayer(message: string, title: string, username: string[, prefix: string, brackets: string, bracketColor: string, range: number]) -> true | nil, string +sendToastToPlayer(message: string, title: string, username: string[, prefix: string, brackets: string, bracketColor: string, range: number, utf8Support: boolean]) -> true | nil, string ``` Sends a toast to the specified player. The design of the toast is the classic notification design. It's planned to add a custom rendered design in the future. @@ -111,7 +118,7 @@ chatBox.sendToastToPlayer("I will chat box you", "Hello", "Dev", "&4&lBoxi", "() ### sendFormattedMessage ``` -sendFormattedMessage(json: string[, prefix: string, brackets: string, bracketColor: string, range: number]) -> true | nil, string +sendFormattedMessage(json: string[, prefix: string, brackets: string, bracketColor: string, range: number, utf8Support: boolean]) -> true | nil, string ``` This function is fundamentally the same as [`sendMessage()`](#sendmessage) except it takes a json text component as the first parameter. Find out more information on how the text component format works on the [minecraft wiki](https://minecraft.wiki/w/Text_component_format). @@ -145,7 +152,7 @@ chatBox.sendFormattedMessage(json) ### sendFormattedMessageToPlayer ``` -sendFormattedMessageToPlayer(json: string, username: string[, prefix: string, brackets: string, bracketColor: string, range: number]) -> true | nil, string +sendFormattedMessageToPlayer(json: string, username: string[, prefix: string, brackets: string, bracketColor: string, range: number, utf8Support: boolean]) -> true | nil, string ``` Similar to [`sendFormattedMessage()`](#sendformattedmessage) this sends a formatted message to one specific player. Specify the player to send the message to with the `username` parameter. @@ -153,7 +160,7 @@ Similar to [`sendFormattedMessage()`](#sendformattedmessage) this sends a format ### sendFormattedToastToPlayer ``` -sendFormattedToastToPlayer(messageJson: string, titleJson: string, username: string[, prefix: string, brackets: string, bracketColor: string, range: number]) -> true | nil, string +sendFormattedToastToPlayer(messageJson: string, titleJson: string, username: string[, prefix: string, brackets: string, bracketColor: string, range: number, utf8Support: boolean]) -> true | nil, string ``` This function is fundamentally the same as [`sendToast()`](#sendtoasttoplayer) except it takes a json text component as the first and second parameter. Find out more information on how the text component format works on the [minecraft wiki](https://minecraft.wiki/w/Text_component_format). @@ -185,6 +192,9 @@ successful, error = chatBox.sendFormattedToastToPlayer(messageJson, titleJson, " ## Changelog/Trivia +**TODO when merged?** +Added UTF-8 support, allowing sending/recieving any unicode character supported by minecraft. + **1.19.2-0.7.33r/1.20.1-0.7.37r** Added `sendToastToPlayer` and `sendFormattedToastToPlayer` diff --git a/docs/peripherals/colony_integrator.md b/docs/peripherals/colony_integrator.md index c49a2509..46257c74 100644 --- a/docs/peripherals/colony_integrator.md +++ b/docs/peripherals/colony_integrator.md @@ -16,13 +16,13 @@ The colony integrator can interact with a colony from MineColonies. --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | ---------------- | --------------- | ---------- | ------------- | | colonyIntegrator | Mine Colony | No | 0.7r | -
+ --- @@ -396,14 +396,14 @@ Returns the current number of active construction sites. We made a script to show every citizens and their gender on a monitor. -You can view and download the script on [Github](https://github.com/Seniorendi/Lua-Projects/blob/master/Examples/colony_integrator_list.lua) +You can view and download the script on [Github](https://github.com/SirEndii/Lua-Projects/blob/master/Examples/colony_integrator_list.lua) ![!Image of the citizen list program](../img/colony_integrator/citizen_list.png) ### Colony Stats And here we have a script made for a pocket computer to show statistics about a colony. -You can view and download the script on [Github](https://github.com/Seniorendi/Lua-Projects/blob/master/Examples/colony_integrator_status.lua) +You can view and download the script on [Github](https://github.com/SirEndii/Lua-Projects/blob/master/Examples/colony_integrator_status.lua) ![!Image of the colony info program](../img/colony_integrator/colony_info.png) --- diff --git a/docs/peripherals/energy_detector.md b/docs/peripherals/energy_detector.md index bc72c48b..f404b785 100644 --- a/docs/peripherals/energy_detector.md +++ b/docs/peripherals/energy_detector.md @@ -17,13 +17,13 @@ The Energy Detector can detect energy flow and acts as a resistor. You can defin --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | --------------- | --------------- | ---------- | ------------- | | energyDetector | Forge Energy | No | 0.4.1b | -
+ --- diff --git a/docs/peripherals/environment_detector.md b/docs/peripherals/environment_detector.md index bb6489c6..fdd7ca93 100644 --- a/docs/peripherals/environment_detector.md +++ b/docs/peripherals/environment_detector.md @@ -14,13 +14,13 @@ the light level of the block and many more. --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | ------------------- | --------------- | ---------- | ------------- | | environmentDetector | World | No | 0.1b | -
+ --- @@ -73,10 +73,10 @@ Returns the current sky light level from 0 to 15 (like a daylight sensor). --- -### getDimensionName +### getDimension ``` -getDimensionName() -> string +getDimension() -> string ``` Returns the name of the current dimension (ex. `overworld`, `the_nether` or `the_end`). @@ -85,7 +85,7 @@ Returns the name of the current dimension (ex. `overworld`, `the_nether` or `the local detector = peripheral.find("environmentDetector") -- e.g. prints "Dimension: the_nether" -print("Dimension: " .. detector.getDimensionName()) +print("Dimension: " .. detector.getDimension()) ``` --- diff --git a/docs/peripherals/geo_scanner.md b/docs/peripherals/geo_scanner.md index 6c952967..923b258d 100644 --- a/docs/peripherals/geo_scanner.md +++ b/docs/peripherals/geo_scanner.md @@ -15,13 +15,13 @@ The Geo scanner has a delay between scans, so you must wait until you can scan a --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | --------------- | --------------- | ---------- | ------------- | | geoScanner | Blocks | No | 0.7r | -
+ --- diff --git a/docs/peripherals/inventory_manager.md b/docs/peripherals/inventory_manager.md index fa3f33af..ddccdeaf 100644 --- a/docs/peripherals/inventory_manager.md +++ b/docs/peripherals/inventory_manager.md @@ -16,13 +16,13 @@ The Inventory Manager can communicate with the player's inventory. You need to a --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | ---------------- | ---------------- | ---------- | ------------- | | inventoryManager | Player Inventory | No | 0.5b | -
+ --- diff --git a/docs/peripherals/me_bridge.md b/docs/peripherals/me_bridge.md index 841fefdb..84d9ee10 100644 --- a/docs/peripherals/me_bridge.md +++ b/docs/peripherals/me_bridge.md @@ -17,397 +17,438 @@ You can retrieve items, craft items, get all items as a list and more. The ME Br --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | --------------- | --------------- | ---------- | ------------- | | meBridge | ME System | Yes | 0.3b | -
+ --- !!! failure

You need to place the inventory/tank you want to use to export/import stuff next to the ME Bridge and **NOT** next to the computer!

-## Events - -### crafting -Fires when a crafting job starts or fails. -**Values:** -1. `success: boolean` Indicates whether a crafting job has successfully started or not -2. `message: string` A message about the status of the crafting job -These values are equivalent to the return values of [`craftItem()`](#craftitem). - -```lua linenums="1" -local event, success, message = os.pullEvent("crafting") -if success then - print("A crafting job has successfully started") -else - print("A crafting job has failed to start") -end -``` - -!!! Warning +=== "1.20.1-0.7 and older" + + !!! info + If you are playing on 0.7 for the minecraft version 1.21.1 and newer, please use the content tab for "1.21.1-0.7 and newer". + The following documentation contains the legacy ME and RS bridge features which will be replaced with the next stable AP version. + + The new ME and RS Bridge systems will eventually be back ported to 1.20.1 and 1.19.2 with 0.8. + +
+ + ## Events + + ### crafting + Fires when a crafting job starts or fails. + **Values:** + 1. `success: boolean` Indicates whether a crafting job has successfully started or not + 2. `message: string` A message about the status of the crafting job + These values are equivalent to the return values of [`craftItem()`](#craftitem). + + ```lua linenums="1" + local event, success, message = os.pullEvent("crafting") + if success then + print("A crafting job has successfully started") + else + print("A crafting job has failed to start") + end + ``` + + !!! Warning The `crafting` event will fire when the ME Bridge is connected to an active ME System that is performing crafting operations. These operations **need** to be started by the bridge itself! - ---- - -!!! tip + + --- + + !!! tip You can use the command `/advancedperipherals getHashItem` with an item in your hand to get the MD5 hash of the NBT tags of the item. An MD5 Hash can look like this `ae70053c97f877de546b0248b9ddf525`. - -## Functions - -!!! info + + ## Functions + + !!! info The item arguments(`item: table`) accepts our item filters, you can check the syntax of these filters [here](/../guides/filters). - - -### craftItem -``` -craftItem(item: table[, craftingCpu: string]) -> boolean, err: string -``` - -Tries to craft the provided `item`. If a `craftingCpu`'s name is provided then it will use that cpu to craft the `item`. - -#### Item Properties - -Check the [item filters guide](/../guides/filters) for more info! - -| item | Description | -| ---------------- | ------------------------------------------- | -| name: `string` | The registry name of the item or a tag | -| count: `number?` | The amount of the item to craft | -| nbt: `string?` | NBT to match the item on | - -**OR** - -| item | Description | -| --------------------- | ------------------------------------------- | -| fingerprint: `string` | A unique fingerprint which identifies the
item to craft | -| count: `number?` | The amount of the item to craft | - ---- - -### craftFluid -``` -craftFluid(fluid: table[, craftingCpu: string]) -> boolean, err: string -``` - -Tries to craft the provided `fluid`. If a `craftingCpu`'s name is provided then it will use that cpu to craft the `fluid`. - -#### Fluid Properties - -Check the [fluid filters guide](/../guides/filters) for more info! - -| fluid | Description | -| ---------------- | ------------------------------------------- | -| name: `string` | The registry name of the fluid or a tag | -| count: `number?` | The amount of the fluid to craft | -| nbt: `string?` | NBT to match the fluid on | - -**OR** - -| fluid | Description | -| --------------------- | ------------------------------------------- | -| fingerprint: `string` | A unique fingerprint which identifies the
fluid to craft | -| count: `number?` | The amount of the fluid to craft | ---- - -### getItem -``` -getItem(item: table) -> table, err: string -``` - -Returns a table with information about the item type in the system. - -#### Properties - -| result | Description | -| ---------------------- | ------------------------------------------------------- | -| name: `string` | The registry name of the item | -| fingerprint: `string?` | A unique fingerprint which identifies the item to craft | -| amount: `number` | The amount of the item in the system | -| displayName: `string` | The display name for the item | -| isCraftable: `boolean` | Whether the item has a crafting pattern or not | -| nbt: `string?` | NBT to match the item on | -| tags: `table` | A list of all of the item tags | - ---- - -### importItem -``` -importItem(item: table, direction: string) -> number, err: string -``` - -Imports an `item` from a container in the `direction` to the ME System. -Returns the number of the `item` imported into the system. - -!!! tip "Since version 0.7r" - You can now use both relative (`right`, `left`, `front`, `back`, `top`, `bottom`) and cardinal (`north`, `south`, `east`, `west`, `up`, `down`) directions for the `direction` argument. - -```lua linenums="1" -local bridge = peripheral.find("meBridge") - --- Imports 32 dirt from the container above into the system -bridge.importItem({name="minecraft:dirt", count=1}, "up") -``` + + + ### craftItem + ``` + craftItem(item: table[, craftingCpu: string]) -> boolean, err: string + ``` + + Tries to craft the provided `item`. If a `craftingCpu`'s name is provided then it will use that cpu to craft the `item`. + + #### Item Properties + + Check the [item filters guide](/../guides/filters) for more info! + + | item | Description | + | ---------------- | ------------------------------------------- | + | name: `string` | The registry name of the item or a tag | + | count: `number?` | The amount of the item to craft | + | nbt: `string?` | NBT to match the item on | + + **OR** + + | item | Description | + | --------------------- | ------------------------------------------- | + | fingerprint: `string` | A unique fingerprint which identifies the
item to craft | + | count: `number?` | The amount of the item to craft | + + --- + + ### craftFluid + ``` + craftFluid(fluid: table[, craftingCpu: string]) -> boolean, err: string + ``` + + Tries to craft the provided `fluid`. If a `craftingCpu`'s name is provided then it will use that cpu to craft the `fluid`. + + #### Fluid Properties + + Check the [fluid filters guide](/../guides/filters) for more info! + + | fluid | Description | + | ---------------- | ------------------------------------------- | + | name: `string` | The registry name of the fluid or a tag | + | count: `number?` | The amount of the fluid to craft | + | nbt: `string?` | NBT to match the fluid on | + + **OR** + + | fluid | Description | + | --------------------- | ------------------------------------------- | + | fingerprint: `string` | A unique fingerprint which identifies the
fluid to craft | + | count: `number?` | The amount of the fluid to craft | + --- + + ### getItem + ``` + getItem(item: table) -> table, err: string + ``` + + Returns a table with information about the item type in the system. + + #### Properties + + | result | Description | + | ---------------------- | ------------------------------------------------------- | + | name: `string` | The registry name of the item | + | fingerprint: `string?` | A unique fingerprint which identifies the item to craft | + | amount: `number` | The amount of the item in the system | + | displayName: `string` | The display name for the item | + | isCraftable: `boolean` | Whether the item has a crafting pattern or not | + | nbt: `string?` | NBT to match the item on | + | tags: `table` | A list of all of the item tags | + + --- + + ### importItem + ``` + importItem(item: table, direction: string) -> number, err: string + ``` + + Imports an `item` from a container in the `direction` to the ME System. + Returns the number of the `item` imported into the system. + + !!! tip "Since version 0.7r" + You can now use both relative (`right`, `left`, `front`, `back`, `top`, `bottom`) and cardinal (`north`, `south`, `east`, `west`, `up`, `down`) directions for the `direction` argument. + + ```lua linenums="1" + local bridge = peripheral.find("meBridge") + + -- Imports 32 dirt from the container above into the system + bridge.importItem({name="minecraft:dirt", count=1}, "up") + ``` + + --- + + ### exportItem + ``` + exportItem(item: table, direction: string) -> number, err: string + ``` + + Exports an `item` to a container in the `direction` from the ME bridge block. + Returns the number of the `item` exported into the container. + + ```lua linenums="1" + local bridge = peripheral.find("meBridge") + + -- Exports 1 "Protection I" book into the container above + bridge.exportItem({name="minecraft:enchanted_book", count=1, nbt="ae70053c97f877de546b0248b9ddf525"}, "up") + ``` + + --- + + ### importItemFromPeripheral + ``` + importItemFromPeripheral(item: table, container: string) -> number, err: string + ``` + + Similar to [`importItem()`](#importitem) it imports an `item` from a container which is connected to the peripheral network. + `container` should be the exact name of the container peripheral on the network. + Returns the number of the `item` imported from the container. + + --- + + ### exportItemToPeripheral + ``` + exportItemToPeripheral(item: table, container: string) -> number, err: string + ``` + + Similar to [`exportItem()`](#exportitem) it exports an `item` to a container which is connected to the peripheral network. + `container` should be the exact name of the container peripheral on the network. + Returns the number of the `item` exported into the container. + + --- + + ### getEnergyStorage + ``` + getEnergyStorage() -> number, err: string + ``` + + Returns the stored energy of the whole ME System in AE. + + --- + + ### getMaxEnergyStorage + ``` + getMaxEnergyStorage() -> number, err: string + ``` + + Returns the maximum energy storage capacity of the whole ME system in AE. + + --- + + ### getEnergyUsage + ``` + getEnergyUsage() -> number, err: string + ``` + + Returns the energy usage of the whole ME System in AE/t. + + --- + + ### getCraftingCPUs + ``` + getCraftingCPUs() -> table, err: string + ``` + + Returns a list of all connected crafting cpus. + + #### CPU Properties + + | cpu | Description | + | ---------------------- | -------------------------------------- | + | storage: `number` | The amount of storage the CPU has | + | coProcessors: `number` | The number of coprocessors the CPU has | + | isBusy: `boolean` | If the cpu is currently crafting | + + --- + + ### isItemCrafting + ``` + isItemCrafting(item: table[, craftingCpu: string]) -> boolean, err: string + ``` + + Returns true if a crafting job for the `item` exists. If a `craftingCpu`'s name is provided then it will check only if that cpu is crafting the `item`. + + --- + + ### isItemCraftable + ``` + isItemCraftable(item: table) -> boolean, err: string + ``` + + Returns true if the `item` is craftable. + + --- + + ### listCraftableItems + ``` + listCraftableItems() -> table, err: string + ``` + + Returns a list of information about all craftable items + + #### Properties + + | item / fluid | Description | + | ---------------------- | ------------------------------------------------------- | + | name: `string` | The registry name of the item | + | fingerprint: `string?` | A unique fingerprint which identifies the item to craft | + | amount: `number` | The amount of the item in the system | + | displayName: `string` | The display name for the item | + | isCraftable: `boolean` | Whether the item has a crafting pattern or not | + | nbt: `string?` | NBT to match the item on | + | tags: `table` | A list of all of the item tags | + + ```lua linenums="1" + local bridge = peripheral.find("meBridge") + + -- print out all craftable items + craftableItems = bridge.listCraftableItems() + for _, item in pairs(craftableItems) do + print(item.name) + end + ``` + + --- + + ### listCraftableFluid + ``` + listCraftableFluid() -> table, err: string + ``` + + Returns a list of information about all craftable fluids + + --- + + ### listItems + ``` + listItems() -> table, err: string + ``` + + Returns a list of information about all items in the ME System. + + --- + + ### listFluid + ``` + listFluid() -> table, err: string + ``` + + Returns a list of information about all fluids in the ME System. + + --- + + ### listGas + ``` + listGas() -> table, err: string + ``` + + Returns a list of information about all gases (Applied Mekanistics) in the ME System. + + --- + + !!! success "Added in version 1.18.2-0.7.24r | 1.19.2-0.7.23b" + + ### listCells + ``` + listCells() -> table, err: string + ``` + + Returns a list of information about all cells in the disk drives of the ME System. + + + | cell | Description | + | ---------------------- | -------------------------------------- | + | item: `string` | The name of the cell. e.g. `ae2:64k_storage_cell | + | cellType: `string` | The type of the cell. `item` or `fluid`| + | bytesPerType: `int` | The bytes per type | + | totalBytes: `int` | Total available bytes of the cell | + + --- + + !!! success "Added in version 1.18.2-0.7.24r | 1.19.2-0.7.23b" + + ### getTotalItemStorage + ``` + getTotalItemStorage() -> int, err: string + ``` + + Returns how much total item storage the system offers + + --- + + !!! success "Added in version 1.18.2-0.7.24r | 1.19.2-0.7.23b" + + ### getTotalFluidStorage + ``` + getTotalFluidStorage() -> int, err: string + ``` + + Returns how much total fluid storage the system offers + + --- + + !!! success "Added in version 1.18.2-0.7.24r | 1.19.2-0.7.23b" + + ### getUsedItemStorage + ``` + getUsedItemStorage() -> int, err: string + ``` + + Returns how much item storage is used + + --- + + !!! success "Added in version 1.18.2-0.7.24r | 1.19.2-0.7.23b" + + ### getUsedFluidStorage + ``` + getUsedFluidStorage() -> int, err: string + ``` + + Returns how much fluid storage is used + + --- + + !!! success "Added in version 1.18.2-0.7.24r | 1.19.2-0.7.23b" + + ### getAvailableItemStorage + ``` + getAvailableItemStorage() -> int, err: string + ``` + + Returns how much item storage is available + + --- + + !!! success "Added in version 1.18.2-0.7.24r | 1.19.2-0.7.23b" + + ### getAvailableFluidStorage + ``` + getAvailableFluidStorage() -> int, err: string + ``` + + Returns how much fluid storage is available + + +
+ +=== "1.21.1-0.7 and newer" +
+ + !!! info + If you are playing on 0.7 for the minecraft version 1.20.1 and older, please use the content tab for "1.20.1-0.7 and older". + The following documentation also works for the canary 0.8 version. + + The new ME and RS Bridge systems will eventually be back ported to 1.20.1 and 1.19.2 with 0.8. + + ## Functionality + + The RS and ME Bridge now share the same functionality. Check [this Guide](../guides/storage_system_functions) for the whole documentation for every available feature. + +
--- -### exportItem -``` -exportItem(item: table, direction: string) -> number, err: string -``` - -Exports an `item` to a container in the `direction` from the ME bridge block. -Returns the number of the `item` exported into the container. - -```lua linenums="1" -local bridge = peripheral.find("meBridge") - --- Exports 1 "Protection I" book into the container above -bridge.exportItem({name="minecraft:enchanted_book", count=1, nbt="ae70053c97f877de546b0248b9ddf525"}, "up") -``` - ---- - -### importItemFromPeripheral -``` -importItemFromPeripheral(item: table, container: string) -> number, err: string -``` - -Similar to [`importItem()`](#importitem) it imports an `item` from a container which is connected to the peripheral network. -`container` should be the exact name of the container peripheral on the network. -Returns the number of the `item` imported from the container. - ---- - -### exportItemToPeripheral -``` -exportItemToPeripheral(item: table, container: string) -> number, err: string -``` - -Similar to [`exportItem()`](#exportitem) it exports an `item` to a container which is connected to the peripheral network. -`container` should be the exact name of the container peripheral on the network. -Returns the number of the `item` exported into the container. - ---- - -### getEnergyStorage -``` -getEnergyStorage() -> number, err: string -``` - -Returns the stored energy of the whole ME System in AE. - ---- - -### getMaxEnergyStorage -``` -getMaxEnergyStorage() -> number, err: string -``` - -Returns the maximum energy storage capacity of the whole ME system in AE. - ---- - -### getEnergyUsage -``` -getEnergyUsage() -> number, err: string -``` - -Returns the energy usage of the whole ME System in AE/t. - ---- - -### getCraftingCPUs -``` -getCraftingCPUs() -> table, err: string -``` - -Returns a list of all connected crafting cpus. - -#### CPU Properties - -| cpu | Description | -| ---------------------- | -------------------------------------- | -| storage: `number` | The amount of storage the CPU has | -| coProcessors: `number` | The number of coprocessors the CPU has | -| isBusy: `boolean` | If the cpu is currently crafting | - ---- - -### isItemCrafting -``` -isItemCrafting(item: table[, craftingCpu: string]) -> boolean, err: string -``` - -Returns true if a crafting job for the `item` exists. If a `craftingCpu`'s name is provided then it will check only if that cpu is crafting the `item`. - ---- - -### isItemCraftable -``` -isItemCraftable(item: table) -> boolean, err: string -``` - -Returns true if the `item` is craftable. - ---- - -### listCraftableItems -``` -listCraftableItems() -> table, err: string -``` - -Returns a list of information about all craftable items - -#### Properties - -| item / fluid | Description | -| ---------------------- | ------------------------------------------------------- | -| name: `string` | The registry name of the item | -| fingerprint: `string?` | A unique fingerprint which identifies the item to craft | -| amount: `number` | The amount of the item in the system | -| displayName: `string` | The display name for the item | -| isCraftable: `boolean` | Whether the item has a crafting pattern or not | -| nbt: `string?` | NBT to match the item on | -| tags: `table` | A list of all of the item tags | - -```lua linenums="1" -local bridge = peripheral.find("meBridge") - --- print out all craftable items -craftableItems = bridge.listCraftableItems() -for _, item in pairs(craftableItems) do - print(item.name) -end -``` - ---- - -### listCraftableFluid -``` -listCraftableFluid() -> table, err: string -``` - -Returns a list of information about all craftable fluids - ---- - -### listItems -``` -listItems() -> table, err: string -``` - -Returns a list of information about all items in the ME System. - ---- - -### listFluid -``` -listFluid() -> table, err: string -``` - -Returns a list of information about all fluids in the ME System. - ---- - -### listGas -``` -listGas() -> table, err: string -``` - -Returns a list of information about all gases (Applied Mekanistics) in the ME System. - ---- - -!!! success "Added in version 1.18.2-0.7.24r | 1.19.2-0.7.23b" - -### listCells -``` -listCells() -> table, err: string -``` - -Returns a list of information about all cells in the disk drives of the ME System. - - -| cell | Description | -| ---------------------- | -------------------------------------- | -| item: `string` | The name of the cell. e.g. `ae2:64k_storage_cell | -| cellType: `string` | The type of the cell. `item` or `fluid`| -| bytesPerType: `int` | The bytes per type | -| totalBytes: `int` | Total available bytes of the cell | - ---- - -!!! success "Added in version 1.18.2-0.7.24r | 1.19.2-0.7.23b" - -### getTotalItemStorage -``` -getTotalItemStorage() -> int, err: string -``` - -Returns how much total item storage the system offers - ---- - -!!! success "Added in version 1.18.2-0.7.24r | 1.19.2-0.7.23b" - -### getTotalFluidStorage -``` -getTotalFluidStorage() -> int, err: string -``` - -Returns how much total fluid storage the system offers - ---- - -!!! success "Added in version 1.18.2-0.7.24r | 1.19.2-0.7.23b" - -### getUsedItemStorage -``` -getUsedItemStorage() -> int, err: string -``` - -Returns how much item storage is used - ---- - -!!! success "Added in version 1.18.2-0.7.24r | 1.19.2-0.7.23b" - -### getUsedFluidStorage -``` -getUsedFluidStorage() -> int, err: string -``` - -Returns how much fluid storage is used - ---- - -!!! success "Added in version 1.18.2-0.7.24r | 1.19.2-0.7.23b" - -### getAvailableItemStorage -``` -getAvailableItemStorage() -> int, err: string -``` - -Returns how much item storage is available - ---- +## Examples -!!! success "Added in version 1.18.2-0.7.24r | 1.19.2-0.7.23b" +### Requester -### getAvailableFluidStorage -``` -getAvailableFluidStorage() -> int, err: string -``` +The requester is a successor for the old "Automatic Autocrafting" script which uses the old ME Bridge functions. +It currently only works with AP on 1.21.1 or on 1.19.2 0.8 and supports both the ME and the RS Bridge at the same time. -Returns how much fluid storage is available +This script automatically schedules crafting jobs for pre-defined items, fluids and mekanism chemicals +Do you want 500 glass in your me system at all times? Add glass to the list and the script will craft it for you. +No need for level emitters or crafting cards! ---- +You can find instructions on how to install the script [here](https://github.com/SirEndii/Lua-Projects/tree/master) -## Examples +![Requester example script preview](../img/bridge_requester.png) ### Automatic Autocrafting diff --git a/docs/peripherals/nbt_storage.md b/docs/peripherals/nbt_storage.md index 8e2389e2..7422a092 100644 --- a/docs/peripherals/nbt_storage.md +++ b/docs/peripherals/nbt_storage.md @@ -13,13 +13,13 @@ NBT Storage is a custom block that allows reading and writing of NBT data to the --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | --------------- | --------------- | ---------- | ------------- | | nbtStorage | NBT | No | 0.7r | -
+ --- diff --git a/docs/peripherals/player_detector.md b/docs/peripherals/player_detector.md index a4c78d0d..1c5b48cb 100644 --- a/docs/peripherals/player_detector.md +++ b/docs/peripherals/player_detector.md @@ -14,13 +14,13 @@ You can get a list of all online players and detect when a player clicks on the --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | |-----------------|-----------------|------------|---------------| | playerDetector | Players | Yes | 0.1b | -
+ --- diff --git a/docs/peripherals/redstone_integrator.md b/docs/peripherals/redstone_integrator.md index 19eded82..e56d5ca6 100644 --- a/docs/peripherals/redstone_integrator.md +++ b/docs/peripherals/redstone_integrator.md @@ -7,6 +7,10 @@ comments: true !!! picture inline end ![!Image of the Redstone Integrator block](../img/previews/redstone_integrator.png){ align=right } + +!!! warning + The redstone integrator got removed in 1.21.1-0.7.50b since it got superseded by the [redstone relay](https://tweaked.cc/peripheral/redstone_relay.html) from CC:T + The Redstone Integrator is able to interact with redstone. You can use the same code you would use for a computer on a Redstone Integrator. @@ -16,13 +20,13 @@ You may need this peripheral for cases where you need to output redstone signals --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | ------------------ | --------------- | ---------- | ------------- | | redstoneIntegrator | Redstone | No | 0.5.3b | -
+ --- diff --git a/docs/peripherals/rs_bridge.md b/docs/peripherals/rs_bridge.md index 83645f26..fcd84f5b 100644 --- a/docs/peripherals/rs_bridge.md +++ b/docs/peripherals/rs_bridge.md @@ -17,339 +17,378 @@ You can retrieve items, craft items, get all items as a list and more. --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | --------------- | --------------- | ---------- | ------------- | | rsBridge | Refined Storage | No | 0.3.6b | -
+ --- !!! failure

You need to place the inventory/tank you want to use to export/import stuff next to the RS Bridge and **NOT** next to the computer!

-!!! tip - You can use the command `/advancedperipherals getHashItem` with an item in your hand to get the MD5 hash of the NBT tags of the item. An MD5 Hash can look like this `ae70053c97f877de546b0248b9ddf525`. +=== "1.20.1-0.7 and older" -## Functions + !!! info + If you are playing on 0.7 for the minecraft version 1.21.1 and newer, please use the content tab for "1.21.1-0.7 and newer". + The following documentation contains the legacy ME and RS bridge features which will be replaced with the next stable AP version. -!!! info - The item arguments(`item: table`) accepts our item filters, you can check the syntax of these filters [here](/../guides/filters). - -### craftItem -``` -craftItem(item: table) -> boolean -``` - -Tries to craft the provided `item`, returns true if it successfully starts crafting. - -#### Item Properties - -Check the [item filters guide](/../guides/filters) for more info! - -| item | Description | -| ---------------- | ------------------------------------------- | -| name: `string` | The registry name of the item or a tag | -| count: `number?` | The amount of the item to craft | -| nbt: `string?` | NBT to match the item on | - -**OR** - -| item | Description | -| --------------------- | ------------------------------------------- | -| fingerprint: `string` | A unique fingerprint which identifies the
item to craft | -| count: `number?` | The amount of the item to craft | - ---- - -### craftFluid -``` -craftFluid(fluid: table, amount: number) -> boolean -``` - -Tries to craft the provided `fluid` of the given `amount`, returns true if it successfully starts crafting. - -#### Fluid Properties - -Check the [fluid filters guide](/../guides/filters) for more info! - -| fluid | Description | -| ---------------- | ------------------------------------------- | -| name: `string` | The registry name of the fluid or a tag | -| count: `number?` | The amount of the fluid to craft | -| nbt: `string?` | NBT to match the fluid on | - -**OR** - -| fluid | Description | -| --------------------- | ------------------------------------------- | -| fingerprint: `string` | A unique fingerprint which identifies the
fluid to craft | -| count: `number?` | The amount of the fluid to craft - ---- - -### getItem -``` -getItem(item: table) -> table -``` - -Returns a table with information about the item type in the system. - -#### Properties - -| result | Description | -| ---------------------- | ------------------------------------------------------- | -| name: `string` | The registry name of the item | -| fingerprint: `string?` | A unique fingerprint which identifies the item to craft | -| amount: `number` | The amount of the item in the system | -| displayName: `string` | The display name for the item | -| isCraftable: `boolean` | Whether the item has a crafting pattern or not | -| nbt: `string?` | NBT to match the item on | -| tags: `table` | A list of all of the item tags | - ---- - -### importItem -``` -importItem(item: table, direction: string) -> number -``` - -Imports an `item` from a container in the `direction` to the RS System. -Returns the number of the `item` imported into the system. - -!!! tip "Since version 0.7r" - You can now use both relative (`right`, `left`, `front`, `back`, `top`, `bottom`) and cardinal (`north`, `south`, `east`, `west`, `up`, `down`) directions for the `direction` argument. - -```lua linenums="1" -local bridge = peripheral.find("rsBridge") - --- Imports 32 dirt from the container above into the system -bridge.importItem({name="minecraft:dirt", count=1}, "up") -``` - ---- - -### exportItem -``` -exportItem(item: table, direction: string) -> number -``` - -Exports an `item` to a container in the `direction` from the RS bridge block. -Returns the number of the `item` exported into the container. - -```lua linenums="1" -local bridge = peripheral.find("rsBridge") - --- Exports 1 "Protection I" book into the container above -bridge.exportItem({name="minecraft:enchanted_book", count=1, nbt="ae70053c97f877de546b0248b9ddf525"}, "up") -``` - ---- - -### importItemFromPeripheral -``` -importItemFromPeripheral(item: table, container: string) -> number -``` - -Similar to [`importItem()`](#importitem) it imports an `item` from a container which is connected to the peripheral network. -`container` should be the exact name of the container peripheral on the network. -Returns the number of the `item` imported from the container. - ---- - -### exportItemToPeripheral -``` -exportItemToPeripheral(item: table, container: string) -> number -``` - -Similar to [`exportItem()`](#exportitem) it exports an `item` to a container which is connected to the peripheral network. -`container` should be the exact name of the container peripheral on the network. -Returns the number of the `item` exported into the container. - ---- - -### getMaxItemDiskStorage -``` -getMaxItemDiskStorage() -> number -``` - -!!! success "Added in version 0.7.3r" - -Returns the total amount of available item disk storage. - ---- - -### getMaxFluidDiskStorage -``` -getMaxItemDiskStorage() -> number -``` - -!!! success "Added in version 0.7.3r" - -Returns the total amount of available fluid disk storage. - ---- - -### getMaxItemExternalStorage -``` -getMaxItemExternalStorage() -> number -``` - -!!! success "Added in version 0.7.3r" - -Returns the total amount of available external item disk storage. - ---- - -### getMaxFluidExternalStorage -``` -getMaxFluidExternalStorage() -> number -``` - -!!! success "Added in version 0.7.3r" - -Returns the total amount of available external fluid disk storage. - ---- - -### getEnergyStorage -``` -getEnergyStorage() -> number -``` - -Returns the stored energy of the whole RS System in FE. - ---- - -### getMaxEnergyStorage -``` -getMaxEnergyStorage() -> number -``` - -Returns the maximum energy storage capacity of the whole RS system in FE. - ---- - -### getEnergyUsage -``` -getEnergyUsage() -> number -``` - -Returns the energy usage of the whole RS System in FE/t. + The newer ME and RS Bridge system will eventually be back ported to 1.20.1 and 1.19.2 with 0.8. ---- - -### getPattern -``` -getPattern(item: table) -> table | nil, string -``` - -!!! success "Added in version 0.7.3r" - -Returns the crafting pattern for the `item` if one exists. +
-#### Properties - -| pattern | Description | -| --------------------- | ------------------------------------------------------- | -| inputs: `table` | A list of all the input items | -| outputs: `table` | A list of all of the output items | -| byproducts: `table` | A list of any byproduct items | -| processing: `boolean` | If the pattern is currently being used in crafting | - ---- - -### isItemCrafting -``` -isItemCrafting(item: table) -> boolean -``` - -Returns true if a crafting job for the `item` exists. - ---- - -### isItemCraftable -``` -isItemCraftable(item: table) -> boolean -``` - -!!! success "Added in version 0.7.3r" - -Returns true if the `item` is craftable. - ---- - -### listCraftableItems -``` -listCraftableItems() -> table -``` - -!!! danger "Does not exist in versions >=0.7.3r, <0.7.10b" - -Returns a list of information about all craftable items - -#### Properties - -| item / fluid | Description | -| ---------------------- | ------------------------------------------------------- | -| name: `string` | The registry name of the item | -| fingerprint: `string?` | A unique fingerprint which identifies the item to craft | -| amount: `number` | The amount of the item in the system | -| displayName: `string` | The display name for the item | -| isCraftable: `boolean` | Whether the item has a crafting pattern or not | -| nbt: `string?` | NBT to match the item on | -| tags: `table` | A list of all of the item tags | - -```lua linenums="1" -local bridge = peripheral.find("rsBridge") - --- print out all craftable items -craftableItems = bridge.listCraftableItems() -for _, item in pairs(craftableItems) do - print(item.name) -end -``` - ---- - -### listCraftableFluids -``` -listCraftableFluids() -> table -``` - -!!! danger "Does not exist in versions >=0.7.3r, <0.7.10b" - -Returns a list of information about all craftable fluids + ## Functions + + !!! info + The item arguments(`item: table`) accepts our item filters, you can check the syntax of these filters [here](/../guides/filters). + + ### craftItem + ``` + craftItem(item: table) -> boolean + ``` + + Tries to craft the provided `item`, returns true if it successfully starts crafting. + + #### Item Properties + + Check the [item filters guide](/../guides/filters) for more info! + + | item | Description | + | ---------------- | ------------------------------------------- | + | name: `string` | The registry name of the item or a tag | + | count: `number?` | The amount of the item to craft | + | nbt: `string?` | NBT to match the item on | + + **OR** + + | item | Description | + | --------------------- | ------------------------------------------- | + | fingerprint: `string` | A unique fingerprint which identifies the
item to craft | + | count: `number?` | The amount of the item to craft | + + --- + + ### craftFluid + ``` + craftFluid(fluid: table, amount: number) -> boolean + ``` + + Tries to craft the provided `fluid` of the given `amount`, returns true if it successfully starts crafting. + + #### Fluid Properties + + Check the [fluid filters guide](/../guides/filters) for more info! + + | fluid | Description | + | ---------------- | ------------------------------------------- | + | name: `string` | The registry name of the fluid or a tag | + | count: `number?` | The amount of the fluid to craft | + | nbt: `string?` | NBT to match the fluid on | + + **OR** + + | fluid | Description | + | --------------------- | ------------------------------------------- | + | fingerprint: `string` | A unique fingerprint which identifies the
fluid to craft | + | count: `number?` | The amount of the fluid to craft + + --- + + ### getItem + ``` + getItem(item: table) -> table + ``` + + Returns a table with information about the item type in the system. + + #### Properties + + | result | Description | + | ---------------------- | ------------------------------------------------------- | + | name: `string` | The registry name of the item | + | fingerprint: `string?` | A unique fingerprint which identifies the item to craft | + | amount: `number` | The amount of the item in the system | + | displayName: `string` | The display name for the item | + | isCraftable: `boolean` | Whether the item has a crafting pattern or not | + | nbt: `string?` | NBT to match the item on | + | tags: `table` | A list of all of the item tags | + + --- + + ### importItem + ``` + importItem(item: table, direction: string) -> number + ``` + + Imports an `item` from a container in the `direction` to the RS System. + Returns the number of the `item` imported into the system. + + !!! tip "Since version 0.7r" + You can now use both relative (`right`, `left`, `front`, `back`, `top`, `bottom`) and cardinal (`north`, `south`, `east`, `west`, `up`, `down`) directions for the `direction` argument. + + ```lua linenums="1" + local bridge = peripheral.find("rsBridge") + + -- Imports 32 dirt from the container above into the system + bridge.importItem({name="minecraft:dirt", count=1}, "up") + ``` + + --- + + ### exportItem + ``` + exportItem(item: table, direction: string) -> number + ``` + + Exports an `item` to a container in the `direction` from the RS bridge block. + Returns the number of the `item` exported into the container. + + ```lua linenums="1" + local bridge = peripheral.find("rsBridge") + + -- Exports 1 "Protection I" book into the container above + bridge.exportItem({name="minecraft:enchanted_book", count=1, nbt="ae70053c97f877de546b0248b9ddf525"}, "up") + ``` + + --- + + ### importItemFromPeripheral + ``` + importItemFromPeripheral(item: table, container: string) -> number + ``` + + Similar to [`importItem()`](#importitem) it imports an `item` from a container which is connected to the peripheral network. + `container` should be the exact name of the container peripheral on the network. + Returns the number of the `item` imported from the container. + + --- + + ### exportItemToPeripheral + ``` + exportItemToPeripheral(item: table, container: string) -> number + ``` + + Similar to [`exportItem()`](#exportitem) it exports an `item` to a container which is connected to the peripheral network. + `container` should be the exact name of the container peripheral on the network. + Returns the number of the `item` exported into the container. + + --- + + ### getMaxItemDiskStorage + ``` + getMaxItemDiskStorage() -> number + ``` + + !!! success "Added in version 0.7.3r" + + Returns the total amount of available item disk storage. + + --- + + ### getMaxFluidDiskStorage + ``` + getMaxItemDiskStorage() -> number + ``` + + !!! success "Added in version 0.7.3r" + + Returns the total amount of available fluid disk storage. + + --- + + ### getMaxItemExternalStorage + ``` + getMaxItemExternalStorage() -> number + ``` + + !!! success "Added in version 0.7.3r" + + Returns the total amount of available external item disk storage. + + --- + + ### getMaxFluidExternalStorage + ``` + getMaxFluidExternalStorage() -> number + ``` + + !!! success "Added in version 0.7.3r" + + Returns the total amount of available external fluid disk storage. + + --- + + ### getEnergyStorage + ``` + getEnergyStorage() -> number + ``` + + Returns the stored energy of the whole RS System in FE. + + --- + + ### getMaxEnergyStorage + ``` + getMaxEnergyStorage() -> number + ``` + + Returns the maximum energy storage capacity of the whole RS system in FE. + + --- + + ### getEnergyUsage + ``` + getEnergyUsage() -> number + ``` + + Returns the energy usage of the whole RS System in FE/t. + + --- + + ### getPattern + ``` + getPattern(item: table) -> table | nil, string + ``` + + !!! success "Added in version 0.7.3r" + + Returns the crafting pattern for the `item` if one exists. + + #### Properties + + | pattern | Description | + | --------------------- | ------------------------------------------------------- | + | inputs: `table` | A list of all the input items | + | outputs: `table` | A list of all of the output items | + | byproducts: `table` | A list of any byproduct items | + | processing: `boolean` | If the pattern is currently being used in crafting | + + --- + + ### isItemCrafting + ``` + isItemCrafting(item: table) -> boolean + ``` + + Returns true if a crafting job for the `item` exists. + + --- + + ### isItemCraftable + ``` + isItemCraftable(item: table) -> boolean + ``` + + !!! success "Added in version 0.7.3r" + + Returns true if the `item` is craftable. + + --- + + ### listCraftableItems + ``` + listCraftableItems() -> table + ``` + + !!! danger "Does not exist in versions >=0.7.3r, <0.7.10b" + + Returns a list of information about all craftable items + + #### Properties + + | item / fluid | Description | + | ---------------------- | ------------------------------------------------------- | + | name: `string` | The registry name of the item | + | fingerprint: `string?` | A unique fingerprint which identifies the item to craft | + | amount: `number` | The amount of the item in the system | + | displayName: `string` | The display name for the item | + | isCraftable: `boolean` | Whether the item has a crafting pattern or not | + | nbt: `string?` | NBT to match the item on | + | tags: `table` | A list of all of the item tags | + + ```lua linenums="1" + local bridge = peripheral.find("rsBridge") + + -- print out all craftable items + craftableItems = bridge.listCraftableItems() + for _, item in pairs(craftableItems) do + print(item.name) + end + ``` + + --- + + ### listCraftableFluids + ``` + listCraftableFluids() -> table + ``` + + !!! danger "Does not exist in versions >=0.7.3r, <0.7.10b" + + Returns a list of information about all craftable fluids + + --- + + ### listItems + ``` + listItems() -> table + ``` + + Returns a list of information about all items in the RS System. + + --- + + ### listFluids + ``` + listFluids() -> table + ``` + + Returns a list of information about all fluids in the RS System. + + --- + +
+ +=== "1.21.1-0.7 and newer" +
+ + !!! info + If you are playing on 0.7 for the minecraft version 1.20.1 and older, please use the content tab for "1.20.1-0.7 and older". + The following documentation also works for the canary 0.8 version. + + The new ME and RS Bridge systems will eventually be back ported to 1.20.1 and 1.19.2 with 0.8. + + ## Functionality + + The RS and ME Bridge now share the same functionality. Check [this Guide](../guides/storage_system_functions.md) for the whole documentation for every available feature. + +
--- -### listItems -``` -listItems() -> table -``` - -Returns a list of information about all items in the RS System. +## Examples ---- +### Requester -### listFluids -``` -listFluids() -> table -``` +The requester is a successor for the old "Autocrafting script" script which uses the old RS Bridge functions. +It currently only works with AP on 1.21.1 or on 1.19.2 0.8 and supports both the ME and the RS Bridge at the same time. -Returns a list of information about all fluids in the RS System. +This script automatically schedules crafting jobs for pre-defined items, fluids and mekanism chemicals +Do you want 500 glass in your me system at all times? Add glass to the list and the script will craft it for you. +No need for level emitters or crafting cards! ---- +You can find instructions on how to install the script [here](https://github.com/SirEndii/Lua-Projects/tree/master) -## Examples +![Requester example script preview](../img/bridge_requester.png) ### Autocrafting script Here is a script to craft items, the computer will re-craft every item needed (a specified amount) in the RS system. Everything is adjustable. -[Click here](https://gist.github.com/Seniorendi/26bd8ecaec400146f2e38790faceead8) to view the script +[Click here](https://gist.github.com/SirEndii/26bd8ecaec400146f2e38790faceead8) to view the script !!! bug This script does not work on versions above 0.4b diff --git a/docs/turtles/metaphysics/end_automata.md b/docs/turtles/metaphysics/end_automata.md index f2a46cfe..426006de 100644 --- a/docs/turtles/metaphysics/end_automata.md +++ b/docs/turtles/metaphysics/end_automata.md @@ -15,13 +15,13 @@ End automata is a turtle with an End Mechanic Soul upgrade. This upgrade has all --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | --------------- | --------------- | ---------- | ------------- | | endAutomata | World | No | 0.7r | -
+ --- @@ -72,6 +72,15 @@ Returns true if the location is successfully saved, or nil and an error message. --- +### deletePoint +``` +deletePoint(name: string) -> true | nil, string +``` +This deletes a point with the given `name`. +Returns true if the location is successfully deleted, nor nil and an error message. + +--- + ### distanceToPoint ``` distanceToPoint(name: string) -> number | nil, string diff --git a/docs/turtles/metaphysics/husbandry_automata.md b/docs/turtles/metaphysics/husbandry_automata.md index d4b02062..82bca1b0 100644 --- a/docs/turtles/metaphysics/husbandry_automata.md +++ b/docs/turtles/metaphysics/husbandry_automata.md @@ -17,13 +17,13 @@ Husbandry automata is a turtle with a Husbandry Mechanic Soul upgrade. This upgr --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | ----------------- | --------------- | ---------- | ------------- | | husbandryAutomata | World | No | 0.7r | -
+ --- diff --git a/docs/turtles/metaphysics/weak_automata.md b/docs/turtles/metaphysics/weak_automata.md index 61c97794..999e745a 100644 --- a/docs/turtles/metaphysics/weak_automata.md +++ b/docs/turtles/metaphysics/weak_automata.md @@ -19,13 +19,13 @@ Weak automata is a turtle with a Weak Mechanic Soul upgrade. It has several diff --- -
+
| Peripheral Name | Interfaces with | Has events | Introduced in | | --------------- | --------------- | ---------- | ------------- | | weakAutomata | World | No | 0.7r | -
+ --- diff --git a/docs/turtles/pattern_turtle.md b/docs/turtles/pattern_turtle.md new file mode 100644 index 00000000..c3945134 --- /dev/null +++ b/docs/turtles/pattern_turtle.md @@ -0,0 +1,96 @@ +# Pattern Grid Turtle + +!!! picture inline end +![!Image of the Pattern Grid Turtle](../img/previews/chunky_turtle.png){ align=right } + +The Pattern Grid turtle allows you to inspect and craft Refined Storage patterns. + +

+ +--- + +## Functions + +--- + +### getDetails +``` +getDetails([, slot: number]) -> table | false, string +``` + +Gets information about a pattern in a given slot, or the currently selected slot if none is provided. + +Returns information about the pattern in the same structure as is returned by [getPatterns](/../guides/storage_system_functions#getPatterns), including the pattern's input items and outputs. + +--- + +### buildCrafting +``` +buildCrafting(recipe: table[, fuzzy: boolean]) -> table | false, string +``` + +Writes a crafting recipe to the pattern item in the selected slot. + +The input structure is a Lua array, where the keys represent slot number (1-9) in the crafting grid, and the values are item names as strings. For example, the recipe for a stone pickaxe: +``` +{ + [1] = "minecraft:cobblestone", + [2] = "minecraft:cobblestone", + [3] = "minecraft:cobblestone", + [5] = "minecraft:stick", + [8] = "minecraft:stick", +} +``` +Optionally, a boolean can be passed to enable *fuzzy mode* for the pattern. + +Returns the output of getDetails() on the newly built pattern, or *false* and the error as a string. + +--- + +### buildProcessing +``` +buildProcessing(recipe: table) -> table | false, string +``` + +Writes a processing recipe to the pattern item in the selected slot. + +The input structure is a Lua table containing two arrays, one for *inputs* and the other for *outputs*. The basic format for an input/output resource is a table with its resource *name* as a string and an integer *count*; inputs can optionally include an array of *alts*, or alternate tags to match against. Item resources are counted as individual items, while fluid resources are counted in milliBuckets. +``` +{ + inputs = { + [1] = { name = "", count = }, + [2] = { name = "", alts = { [1] = "", ... }, count = }, + ... + }, + outputs = { + [1] = { name = "", count = }, + ... + } +} +``` + +Returns the output of getDetails() on the newly built pattern, or *false* and the error as a string. + +--- + +### Errors + +| Error | Description | +|--------------------------|------------------------------------------------------------------------------------| +| `No room in destination` | The turtle is full, and cannot put the built pattern in its inventory. | +| `Bad recipe` | The pattern didn't build; usually, this means your recipe is unknown to Minecraft. | +| `No pattern available` | Your turtle doesn't have any patterns to write to. +| `Not a pattern` | You're trying to read a recipe from something that isn't a pattern. | +|`Pattern is empty`| This pattern is blank. | +|`Couldn't parse item or fluid x`| You provided a resource name that Minecraft didn't recognize. | +|`Couldn't parse item in slot n`| The given slot has an unknown resource in it. | +|`Recipe is malformed`| Your processing recipe is broken; did you structure the recipe table correctly? | +|`Pattern couldn't be built`| Refined Storage wouldn't build the pattern; something is wrong. | + + +--- + +## Changelog/Trivia + +**0.7.7r** +Added the Pattern Grid Turtle diff --git a/mkdocs.yml b/mkdocs.yml index 93270ca8..b7787fb3 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -6,9 +6,12 @@ nav: - 'Blog': - blog/index.md - 'Guides': - - 'How to: report a bug or request a feature': 'guides/how_to_report.md' + - 'Disabled Peripherals': 'guides/disabled_peripherals.md' + - 'Lua Objects': 'guides/objects.md' - 'Item and Fluid Filters': 'guides/filters.md' - 'Cooldowns and Fuel consumption': 'guides/cooldowns_and_fuel_consumption.md' + - 'Storage System Functions': 'guides/storage_system_functions.md' + - 'How to: report a bug or request a feature': 'guides/how_to_report.md' - 'Peripherals': - 'Chat Box': 'peripherals/chat_box.md' - 'Energy Detector': 'peripherals/energy_detector.md' @@ -109,6 +112,7 @@ theme: - content.code.copy - content.action.edit - content.action.view + - content.tabs.link icon: edit: material/file-edit-outline view: material/file-eye-outline @@ -163,9 +167,11 @@ extra: repo_url: https://github.com/IntelligenceModding/Advanced-Peripherals-Documentation repo_name: IntelligenceModding/Advanced-Peripherals-Documentation -edit_uri: edit/0.7/docs/ +edit_uri: edit/0.7-bridges/docs/ markdown_extensions: + - tables + - md_in_html - mdx_math - def_list - attr_list @@ -178,6 +184,9 @@ markdown_extensions: permalink: true - admonition - pymdownx.superfences + - pymdownx.tabbed: + alternate_style: true - pymdownx.emoji: emoji_index: !!python/name:material.extensions.emoji.twemoji emoji_generator: !!python/name:material.extensions.emoji.to_svg + - footnotes diff --git a/netlify.toml b/netlify.toml index e6a8fdc4..31d17e89 100644 --- a/netlify.toml +++ b/netlify.toml @@ -5,6 +5,10 @@ git config user.email "netlifybot@example.com" git remote set-url origin https://${GITHUB_TOKEN}@github.com/SirEndii/Advanced-Peripherals-Documentation.git git config pull.rebase true + git switch ${BRANCH} + git commit -m "cache updates" --all + git pull origin ${BRANCH} + git push origin 0.7 git switch gh-pages git pull origin gh-pages git switch ${BRANCH} diff --git a/poetry.lock b/poetry.lock index 87335217..b118f156 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 2.1.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 2.1.3 and should not be changed by hand. [[package]] name = "babel" @@ -36,128 +36,128 @@ extras = ["regex"] [[package]] name = "certifi" -version = "2025.1.31" +version = "2025.4.26" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" groups = ["main"] files = [ - {file = "certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe"}, - {file = "certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651"}, + {file = "certifi-2025.4.26-py3-none-any.whl", hash = "sha256:30350364dfe371162649852c63336a15c70c6510c2ad5015b21c2345311805f3"}, + {file = "certifi-2025.4.26.tar.gz", hash = "sha256:0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6"}, ] [[package]] name = "charset-normalizer" -version = "3.4.1" +version = "3.4.2" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." optional = false python-versions = ">=3.7" groups = ["main"] files = [ - {file = "charset_normalizer-3.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-win32.whl", hash = "sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f30bf9fd9be89ecb2360c7d94a711f00c09b976258846efe40db3d05828e8089"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:97f68b8d6831127e4787ad15e6757232e14e12060bec17091b85eb1486b91d8d"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7974a0b5ecd505609e3b19742b60cee7aa2aa2fb3151bc917e6e2646d7667dcf"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc54db6c8593ef7d4b2a331b58653356cf04f67c960f584edb7c3d8c97e8f39e"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:311f30128d7d333eebd7896965bfcfbd0065f1716ec92bd5638d7748eb6f936a"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:7d053096f67cd1241601111b698f5cad775f97ab25d81567d3f59219b5f1adbd"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:807f52c1f798eef6cf26beb819eeb8819b1622ddfeef9d0977a8502d4db6d534"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:dccbe65bd2f7f7ec22c4ff99ed56faa1e9f785482b9bbd7c717e26fd723a1d1e"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:2fb9bd477fdea8684f78791a6de97a953c51831ee2981f8e4f583ff3b9d9687e"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:01732659ba9b5b873fc117534143e4feefecf3b2078b0a6a2e925271bb6f4cfa"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-win32.whl", hash = "sha256:7a4f97a081603d2050bfaffdefa5b02a9ec823f8348a572e39032caa8404a487"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:7b1bef6280950ee6c177b326508f86cad7ad4dff12454483b51d8b7d673a2c5d"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ecddf25bee22fe4fe3737a399d0d177d72bc22be6913acfab364b40bce1ba83c"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c60ca7339acd497a55b0ea5d506b2a2612afb2826560416f6894e8b5770d4a9"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b7b2d86dd06bfc2ade3312a83a5c364c7ec2e3498f8734282c6c3d4b07b346b8"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd78cfcda14a1ef52584dbb008f7ac81c1328c0f58184bf9a84c49c605002da6"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e27f48bcd0957c6d4cb9d6fa6b61d192d0b13d5ef563e5f2ae35feafc0d179c"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01ad647cdd609225c5350561d084b42ddf732f4eeefe6e678765636791e78b9a"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:619a609aa74ae43d90ed2e89bdd784765de0a25ca761b93e196d938b8fd1dbbd"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:89149166622f4db9b4b6a449256291dc87a99ee53151c74cbd82a53c8c2f6ccd"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:7709f51f5f7c853f0fb938bcd3bc59cdfdc5203635ffd18bf354f6967ea0f824"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:345b0426edd4e18138d6528aed636de7a9ed169b4aaf9d61a8c19e39d26838ca"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0907f11d019260cdc3f94fbdb23ff9125f6b5d1039b76003b5b0ac9d6a6c9d5b"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-win32.whl", hash = "sha256:ea0d8d539afa5eb2728aa1932a988a9a7af94f18582ffae4bc10b3fbdad0626e"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:329ce159e82018d646c7ac45b01a430369d526569ec08516081727a20e9e4af4"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-win32.whl", hash = "sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765"}, - {file = "charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85"}, - {file = "charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7c48ed483eb946e6c04ccbe02c6b4d1d48e51944b6db70f697e089c193404941"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2d318c11350e10662026ad0eb71bb51c7812fc8590825304ae0bdd4ac283acd"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9cbfacf36cb0ec2897ce0ebc5d08ca44213af24265bd56eca54bee7923c48fd6"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18dd2e350387c87dabe711b86f83c9c78af772c748904d372ade190b5c7c9d4d"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8075c35cd58273fee266c58c0c9b670947c19df5fb98e7b66710e04ad4e9ff86"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5bf4545e3b962767e5c06fe1738f951f77d27967cb2caa64c28be7c4563e162c"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a6ab32f7210554a96cd9e33abe3ddd86732beeafc7a28e9955cdf22ffadbab0"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b33de11b92e9f75a2b545d6e9b6f37e398d86c3e9e9653c4864eb7e89c5773ef"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8755483f3c00d6c9a77f490c17e6ab0c8729e39e6390328e42521ef175380ae6"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:68a328e5f55ec37c57f19ebb1fdc56a248db2e3e9ad769919a58672958e8f366"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:21b2899062867b0e1fde9b724f8aecb1af14f2778d69aacd1a5a1853a597a5db"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-win32.whl", hash = "sha256:e8082b26888e2f8b36a042a58307d5b917ef2b1cacab921ad3323ef91901c71a"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-win_amd64.whl", hash = "sha256:f69a27e45c43520f5487f27627059b64aaf160415589230992cec34c5e18a509"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:be1e352acbe3c78727a16a455126d9ff83ea2dfdcbc83148d2982305a04714c2"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa88ca0b1932e93f2d961bf3addbb2db902198dca337d88c89e1559e066e7645"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d524ba3f1581b35c03cb42beebab4a13e6cdad7b36246bd22541fa585a56cccd"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28a1005facc94196e1fb3e82a3d442a9d9110b8434fc1ded7a24a2983c9888d8"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fdb20a30fe1175ecabed17cbf7812f7b804b8a315a25f24678bcdf120a90077f"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0f5d9ed7f254402c9e7d35d2f5972c9bbea9040e99cd2861bd77dc68263277c7"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:efd387a49825780ff861998cd959767800d54f8308936b21025326de4b5a42b9"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f0aa37f3c979cf2546b73e8222bbfa3dc07a641585340179d768068e3455e544"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e70e990b2137b29dc5564715de1e12701815dacc1d056308e2b17e9095372a82"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0c8c57f84ccfc871a48a47321cfa49ae1df56cd1d965a09abe84066f6853b9c0"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6b66f92b17849b85cad91259efc341dce9c1af48e2173bf38a85c6329f1033e5"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-win32.whl", hash = "sha256:daac4765328a919a805fa5e2720f3e94767abd632ae410a9062dff5412bae65a"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-win_amd64.whl", hash = "sha256:e53efc7c7cee4c1e70661e2e112ca46a575f90ed9ae3fef200f2a25e954f4b28"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-win32.whl", hash = "sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1cad5f45b3146325bb38d6855642f6fd609c3f7cad4dbaf75549bf3b904d3184"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b2680962a4848b3c4f155dc2ee64505a9c57186d0d56b43123b17ca3de18f0fa"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:36b31da18b8890a76ec181c3cf44326bf2c48e36d393ca1b72b3f484113ea344"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f4074c5a429281bf056ddd4c5d3b740ebca4d43ffffe2ef4bf4d2d05114299da"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c9e36a97bee9b86ef9a1cf7bb96747eb7a15c2f22bdb5b516434b00f2a599f02"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:1b1bde144d98e446b056ef98e59c256e9294f6b74d7af6846bf5ffdafd687a7d"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:915f3849a011c1f593ab99092f3cecfcb4d65d8feb4a64cf1bf2d22074dc0ec4"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:fb707f3e15060adf5b7ada797624a6c6e0138e2a26baa089df64c68ee98e040f"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:25a23ea5c7edc53e0f29bae2c44fcb5a1aa10591aae107f2a2b2583a9c5cbc64"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:770cab594ecf99ae64c236bc9ee3439c3f46be49796e265ce0cc8bc17b10294f"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-win32.whl", hash = "sha256:6a0289e4589e8bdfef02a80478f1dfcb14f0ab696b5a00e1f4b8a14a307a3c58"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6fc1f5b51fa4cecaa18f2bd7a003f3dd039dd615cd69a2afd6d3b19aed6775f2"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:76af085e67e56c8816c3ccf256ebd136def2ed9654525348cfa744b6802b69eb"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e45ba65510e2647721e35323d6ef54c7974959f6081b58d4ef5d87c60c84919a"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:046595208aae0120559a67693ecc65dd75d46f7bf687f159127046628178dc45"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75d10d37a47afee94919c4fab4c22b9bc2a8bf7d4f46f87363bcf0573f3ff4f5"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6333b3aa5a12c26b2a4d4e7335a28f1475e0e5e17d69d55141ee3cab736f66d1"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e8323a9b031aa0393768b87f04b4164a40037fb2a3c11ac06a03ffecd3618027"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:24498ba8ed6c2e0b56d4acbf83f2d989720a93b41d712ebd4f4979660db4417b"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:844da2b5728b5ce0e32d863af26f32b5ce61bc4273a9c720a9f3aa9df73b1455"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:65c981bdbd3f57670af8b59777cbfae75364b483fa8a9f420f08094531d54a01"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:3c21d4fca343c805a52c0c78edc01e3477f6dd1ad7c47653241cf2a206d4fc58"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:dc7039885fa1baf9be153a0626e337aa7ec8bf96b0128605fb0d77788ddc1681"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-win32.whl", hash = "sha256:8272b73e1c5603666618805fe821edba66892e2870058c94c53147602eab29c7"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-win_amd64.whl", hash = "sha256:70f7172939fdf8790425ba31915bfbe8335030f05b9913d7ae00a87d4395620a"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:005fa3432484527f9732ebd315da8da8001593e2cf46a3d817669f062c3d9ed4"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e92fca20c46e9f5e1bb485887d074918b13543b1c2a1185e69bb8d17ab6236a7"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:50bf98d5e563b83cc29471fa114366e6806bc06bc7a25fd59641e41445327836"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:721c76e84fe669be19c5791da68232ca2e05ba5185575086e384352e2c309597"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82d8fd25b7f4675d0c47cf95b594d4e7b158aca33b76aa63d07186e13c0e0ab7"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3daeac64d5b371dea99714f08ffc2c208522ec6b06fbc7866a450dd446f5c0f"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dccab8d5fa1ef9bfba0590ecf4d46df048d18ffe3eec01eeb73a42e0d9e7a8ba"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:aaf27faa992bfee0264dc1f03f4c75e9fcdda66a519db6b957a3f826e285cf12"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:eb30abc20df9ab0814b5a2524f23d75dcf83cde762c161917a2b4b7b55b1e518"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:c72fbbe68c6f32f251bdc08b8611c7b3060612236e960ef848e0a517ddbe76c5"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:982bb1e8b4ffda883b3d0a521e23abcd6fd17418f6d2c4118d257a10199c0ce3"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-win32.whl", hash = "sha256:43e0933a0eff183ee85833f341ec567c0980dae57c464d8a508e1b2ceb336471"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-win_amd64.whl", hash = "sha256:d11b54acf878eef558599658b0ffca78138c8c3655cf4f3a4a673c437e67732e"}, + {file = "charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0"}, + {file = "charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63"}, ] [[package]] name = "click" -version = "8.1.8" +version = "8.2.1" description = "Composable command line interface toolkit" optional = false -python-versions = ">=3.7" +python-versions = ">=3.10" groups = ["main"] files = [ - {file = "click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2"}, - {file = "click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"}, + {file = "click-8.2.1-py3-none-any.whl", hash = "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b"}, + {file = "click-8.2.1.tar.gz", hash = "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202"}, ] [package.dependencies] @@ -244,14 +244,14 @@ all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2 [[package]] name = "importlib-metadata" -version = "8.6.1" +version = "8.7.0" description = "Read metadata from Python packages" optional = false python-versions = ">=3.9" groups = ["main"] files = [ - {file = "importlib_metadata-8.6.1-py3-none-any.whl", hash = "sha256:02a89390c1e15fdfdc0d7c6b25cb3e62650d0494005c97d6f148bf5b9787525e"}, - {file = "importlib_metadata-8.6.1.tar.gz", hash = "sha256:310b41d755445d74569f993ccfc22838295d9fe005425094fad953d7f15c8580"}, + {file = "importlib_metadata-8.7.0-py3-none-any.whl", hash = "sha256:e5dd1551894c77868a30651cef00984d50e1002d06942a7101d34870c5f02afd"}, + {file = "importlib_metadata-8.7.0.tar.gz", hash = "sha256:d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000"}, ] [package.dependencies] @@ -288,14 +288,14 @@ type = ["pytest-mypy"] [[package]] name = "jinja2" -version = "3.1.5" +version = "3.1.6" description = "A very fast and expressive template engine." optional = false python-versions = ">=3.7" groups = ["main"] files = [ - {file = "jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb"}, - {file = "jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb"}, + {file = "jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67"}, + {file = "jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d"}, ] [package.dependencies] @@ -306,18 +306,18 @@ i18n = ["Babel (>=2.7)"] [[package]] name = "markdown" -version = "3.7" +version = "3.8" description = "Python implementation of John Gruber's Markdown." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" groups = ["main"] files = [ - {file = "Markdown-3.7-py3-none-any.whl", hash = "sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803"}, - {file = "markdown-3.7.tar.gz", hash = "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2"}, + {file = "markdown-3.8-py3-none-any.whl", hash = "sha256:794a929b79c5af141ef5ab0f2f642d0f7b1872981250230e72682346f7cc90dc"}, + {file = "markdown-3.8.tar.gz", hash = "sha256:7df81e63f0df5c4b24b7d156eb81e4690595239b7d70937d0409f1b0de319c6f"}, ] [package.extras] -docs = ["mdx-gh-links (>=0.2)", "mkdocs (>=1.5)", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-nature (>=0.6)", "mkdocs-section-index", "mkdocstrings[python]"] +docs = ["mdx_gh_links (>=0.2)", "mkdocs (>=1.6)", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-nature (>=0.6)", "mkdocs-section-index", "mkdocstrings[python]"] testing = ["coverage", "pyyaml"] [[package]] @@ -496,26 +496,21 @@ requests = "*" [[package]] name = "mkdocs-git-revision-date-localized-plugin" -version = "1.3.0" +version = "1.4.7" description = "Mkdocs plugin that enables displaying the localized date of the last git modification of a markdown file." optional = false python-versions = ">=3.8" groups = ["main"] files = [ - {file = "mkdocs_git_revision_date_localized_plugin-1.3.0-py3-none-any.whl", hash = "sha256:c99377ee119372d57a9e47cff4e68f04cce634a74831c06bc89b33e456e840a1"}, - {file = "mkdocs_git_revision_date_localized_plugin-1.3.0.tar.gz", hash = "sha256:439e2f14582204050a664c258861c325064d97cdc848c541e48bb034a6c4d0cb"}, + {file = "mkdocs_git_revision_date_localized_plugin-1.4.7-py3-none-any.whl", hash = "sha256:056c0a90242409148f1dc94d5c9d2c25b5b8ddd8de45489fa38f7fa7ccad2bc4"}, + {file = "mkdocs_git_revision_date_localized_plugin-1.4.7.tar.gz", hash = "sha256:10a49eff1e1c3cb766e054b9d8360c904ce4fe8c33ac3f6cc083ac6459c91953"}, ] [package.dependencies] babel = ">=2.7.0" -GitPython = "*" +gitpython = ">=3.1.44" mkdocs = ">=1.0" -pytz = "*" - -[package.extras] -all = ["GitPython", "babel (>=2.7.0)", "click", "codecov", "mkdocs (>=1.0)", "mkdocs-gen-files", "mkdocs-git-authors-plugin", "mkdocs-material", "mkdocs-static-i18n", "pytest", "pytest-cov", "pytz"] -base = ["GitPython", "babel (>=2.7.0)", "mkdocs (>=1.0)", "pytz"] -dev = ["click", "codecov", "mkdocs-gen-files", "mkdocs-git-authors-plugin", "mkdocs-material", "mkdocs-static-i18n", "pytest", "pytest-cov"] +pytz = ">=2025.1" [[package]] name = "mkdocs-glightbox" @@ -531,21 +526,21 @@ files = [ [[package]] name = "mkdocs-material" -version = "9.6.7" +version = "9.6.14" description = "Documentation that simply works" optional = false python-versions = ">=3.8" groups = ["main"] files = [ - {file = "mkdocs_material-9.6.7-py3-none-any.whl", hash = "sha256:8a159e45e80fcaadd9fbeef62cbf928569b93df954d4dc5ba76d46820caf7b47"}, - {file = "mkdocs_material-9.6.7.tar.gz", hash = "sha256:3e2c1fceb9410056c2d91f334a00cdea3215c28750e00c691c1e46b2a33309b4"}, + {file = "mkdocs_material-9.6.14-py3-none-any.whl", hash = "sha256:3b9cee6d3688551bf7a8e8f41afda97a3c39a12f0325436d76c86706114b721b"}, + {file = "mkdocs_material-9.6.14.tar.gz", hash = "sha256:39d795e90dce6b531387c255bd07e866e027828b7346d3eba5ac3de265053754"}, ] [package.dependencies] babel = ">=2.10,<3.0" backrefs = ">=5.7.post1,<6.0" colorama = ">=0.4,<1.0" -jinja2 = ">=3.0,<4.0" +jinja2 = ">=3.1,<4.0" markdown = ">=3.2,<4.0" mkdocs = ">=1.6,<2.0" mkdocs-material-extensions = ">=1.3,<2.0" @@ -573,14 +568,14 @@ files = [ [[package]] name = "packaging" -version = "24.2" +version = "25.0" description = "Core utilities for Python packages" optional = false python-versions = ">=3.8" groups = ["main"] files = [ - {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"}, - {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, + {file = "packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484"}, + {file = "packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f"}, ] [[package]] @@ -613,20 +608,20 @@ files = [ [[package]] name = "platformdirs" -version = "4.3.6" +version = "4.3.8" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" groups = ["main"] files = [ - {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, - {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, + {file = "platformdirs-4.3.8-py3-none-any.whl", hash = "sha256:ff7059bb7eb1179e2685604f4aaf157cfd9535242bd23742eadc3c13542139b4"}, + {file = "platformdirs-4.3.8.tar.gz", hash = "sha256:3d512d96e16bcb959a814c9f348431070822a6496326a4be0911c40b5a74c2bc"}, ] [package.extras] -docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"] -type = ["mypy (>=1.11.2)"] +docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.1.3)", "sphinx-autodoc-typehints (>=3)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.4)", "pytest-cov (>=6)", "pytest-mock (>=3.14)"] +type = ["mypy (>=1.14.1)"] [[package]] name = "pygments" @@ -645,14 +640,14 @@ windows-terminal = ["colorama (>=0.4.6)"] [[package]] name = "pymdown-extensions" -version = "10.14.3" +version = "10.15" description = "Extension pack for Python Markdown." optional = false python-versions = ">=3.8" groups = ["main"] files = [ - {file = "pymdown_extensions-10.14.3-py3-none-any.whl", hash = "sha256:05e0bee73d64b9c71a4ae17c72abc2f700e8bc8403755a00580b49a4e9f189e9"}, - {file = "pymdown_extensions-10.14.3.tar.gz", hash = "sha256:41e576ce3f5d650be59e900e4ceff231e0aed2a88cf30acaee41e02f063a061b"}, + {file = "pymdown_extensions-10.15-py3-none-any.whl", hash = "sha256:46e99bb272612b0de3b7e7caf6da8dd5f4ca5212c0b273feb9304e236c484e5f"}, + {file = "pymdown_extensions-10.15.tar.gz", hash = "sha256:0e5994e32155f4b03504f939e501b981d306daf7ec2aa1cd2eb6bd300784f8f7"}, ] [package.dependencies] @@ -664,14 +659,14 @@ extra = ["pygments (>=2.19.1)"] [[package]] name = "pyparsing" -version = "3.2.1" +version = "3.2.3" description = "pyparsing module - Classes and methods to define and execute parsing grammars" optional = false python-versions = ">=3.9" groups = ["main"] files = [ - {file = "pyparsing-3.2.1-py3-none-any.whl", hash = "sha256:506ff4f4386c4cec0590ec19e6302d3aedb992fdc02c761e90416f158dacf8e1"}, - {file = "pyparsing-3.2.1.tar.gz", hash = "sha256:61980854fd66de3a90028d679a954d5f2623e83144b5afe5ee86f43d762e5f0a"}, + {file = "pyparsing-3.2.3-py3-none-any.whl", hash = "sha256:a749938e02d6fd0b59b356ca504a24982314bb090c383e3cf201c95ef7e2bfcf"}, + {file = "pyparsing-3.2.3.tar.gz", hash = "sha256:b9c13f1ab8b3b542f72e28f634bad4de758ab3ce4546e4301970ad6fa77c38be"}, ] [package.extras] @@ -709,14 +704,14 @@ Markdown = ">=3.0" [[package]] name = "pytz" -version = "2025.1" +version = "2025.2" description = "World timezone definitions, modern and historical" optional = false python-versions = "*" groups = ["main"] files = [ - {file = "pytz-2025.1-py2.py3-none-any.whl", hash = "sha256:89dd22dca55b46eac6eda23b2d72721bf1bdfef212645d81513ef5d03038de57"}, - {file = "pytz-2025.1.tar.gz", hash = "sha256:c2db42be2a2518b28e65f9207c4d05e6ff547d1efa4086469ef855e4ab70178e"}, + {file = "pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00"}, + {file = "pytz-2025.2.tar.gz", hash = "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3"}, ] [[package]] @@ -784,14 +779,14 @@ files = [ [[package]] name = "pyyaml-env-tag" -version = "0.1" -description = "A custom YAML tag for referencing environment variables in YAML files. " +version = "1.1" +description = "A custom YAML tag for referencing environment variables in YAML files." optional = false -python-versions = ">=3.6" +python-versions = ">=3.9" groups = ["main"] files = [ - {file = "pyyaml_env_tag-0.1-py3-none-any.whl", hash = "sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069"}, - {file = "pyyaml_env_tag-0.1.tar.gz", hash = "sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb"}, + {file = "pyyaml_env_tag-1.1-py3-none-any.whl", hash = "sha256:17109e1a528561e32f026364712fee1264bc2ea6715120891174ed1b980d2e04"}, + {file = "pyyaml_env_tag-1.1.tar.gz", hash = "sha256:2eb38b75a2d21ee0475d6d97ec19c63287a7e140231e4214969d0eac923cd7ff"}, ] [package.dependencies] @@ -845,14 +840,14 @@ files = [ [[package]] name = "urllib3" -version = "2.3.0" +version = "2.4.0" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=3.9" groups = ["main"] files = [ - {file = "urllib3-2.3.0-py3-none-any.whl", hash = "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df"}, - {file = "urllib3-2.3.0.tar.gz", hash = "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d"}, + {file = "urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813"}, + {file = "urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466"}, ] [package.extras] @@ -921,14 +916,14 @@ watchmedo = ["PyYAML (>=3.10)"] [[package]] name = "zipp" -version = "3.21.0" +version = "3.22.0" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false python-versions = ">=3.9" groups = ["main"] files = [ - {file = "zipp-3.21.0-py3-none-any.whl", hash = "sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931"}, - {file = "zipp-3.21.0.tar.gz", hash = "sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4"}, + {file = "zipp-3.22.0-py3-none-any.whl", hash = "sha256:fe208f65f2aca48b81f9e6fd8cf7b8b32c26375266b009b413d45306b6148343"}, + {file = "zipp-3.22.0.tar.gz", hash = "sha256:dd2f28c3ce4bc67507bfd3781d21b7bb2be31103b51a4553ad7d90b84e57ace5"}, ] [package.extras] @@ -936,7 +931,7 @@ check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \" cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] enabler = ["pytest-enabler (>=2.2)"] -test = ["big-O", "importlib-resources ; python_version < \"3.9\"", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] +test = ["big-O", "importlib_resources ; python_version < \"3.9\"", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more_itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] type = ["pytest-mypy"] [metadata] diff --git a/requirements.txt b/requirements.txt index 44ca9bc3..dc6d52c9 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,43 @@ -mkdocs -mkdocs-material -python-markdown-math -mkdocs-glightbox -mkdocs-git-revision-date-localized-plugin -mkdocs-git-committers-plugin-2 -mike \ No newline at end of file +babel==2.17.0 ; python_version >= "3.12" and python_version < "4" +backrefs==5.8 ; python_version >= "3.12" and python_version < "4" +certifi==2025.4.26 ; python_version >= "3.12" and python_version < "4" +charset-normalizer==3.4.2 ; python_version >= "3.12" and python_version < "4" +click==8.2.1 ; python_version >= "3.12" and python_version < "4" +colorama==0.4.6 ; python_version >= "3.12" and python_version < "4" +ghp-import==2.1.0 ; python_version >= "3.12" and python_version < "4" +gitdb==4.0.12 ; python_version >= "3.12" and python_version < "4" +gitpython==3.1.44 ; python_version >= "3.12" and python_version < "4" +idna==3.10 ; python_version >= "3.12" and python_version < "4" +importlib-metadata==8.7.0 ; python_version >= "3.12" and python_version < "4" +importlib-resources==6.5.2 ; python_version >= "3.12" and python_version < "4" +jinja2==3.1.6 ; python_version >= "3.12" and python_version < "4" +markdown==3.8 ; python_version >= "3.12" and python_version < "4" +markupsafe==3.0.2 ; python_version >= "3.12" and python_version < "4" +mergedeep==1.3.4 ; python_version >= "3.12" and python_version < "4" +mike==2.1.3 ; python_version >= "3.12" and python_version < "4" +mkdocs-get-deps==0.2.0 ; python_version >= "3.12" and python_version < "4" +mkdocs-git-committers-plugin-2==2.5.0 ; python_version >= "3.12" and python_version < "4" +mkdocs-git-revision-date-localized-plugin==1.4.7 ; python_version >= "3.12" and python_version < "4" +mkdocs-glightbox==0.3.7 ; python_version >= "3.12" and python_version < "4" +mkdocs-material-extensions==1.3.1 ; python_version >= "3.12" and python_version < "4" +mkdocs-material==9.6.14 ; python_version >= "3.12" and python_version < "4" +mkdocs==1.6.1 ; python_version >= "3.12" and python_version < "4" +packaging==25.0 ; python_version >= "3.12" and python_version < "4" +paginate==0.5.7 ; python_version >= "3.12" and python_version < "4" +pathspec==0.12.1 ; python_version >= "3.12" and python_version < "4" +platformdirs==4.3.8 ; python_version >= "3.12" and python_version < "4" +pygments==2.19.1 ; python_version >= "3.12" and python_version < "4" +pymdown-extensions==10.15 ; python_version >= "3.12" and python_version < "4" +pyparsing==3.2.3 ; python_version >= "3.12" and python_version < "4" +python-dateutil==2.9.0.post0 ; python_version >= "3.12" and python_version < "4" +python-markdown-math==0.8 ; python_version >= "3.12" and python_version < "4" +pytz==2025.2 ; python_version >= "3.12" and python_version < "4" +pyyaml-env-tag==1.1 ; python_version >= "3.12" and python_version < "4" +pyyaml==6.0.2 ; python_version >= "3.12" and python_version < "4" +requests==2.32.3 ; python_version >= "3.12" and python_version < "4" +six==1.17.0 ; python_version >= "3.12" and python_version < "4" +smmap==5.0.2 ; python_version >= "3.12" and python_version < "4" +urllib3==2.4.0 ; python_version >= "3.12" and python_version < "4" +verspec==0.1.0 ; python_version >= "3.12" and python_version < "4" +watchdog==6.0.0 ; python_version >= "3.12" and python_version < "4" +zipp==3.22.0 ; python_version >= "3.12" and python_version < "4"