├── .cache └── plugin │ └── git-committers │ └── page-authors.json ├── .devcontainer └── devcontainer.json ├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ ├── config.yml │ └── doc_report.yml └── workflows │ └── main.yml ├── .gitignore ├── .vscode └── settings.json ├── CODE_OF_CONDUCT.md ├── LICENSE ├── README.md ├── docs ├── blog │ ├── .authors.yml │ ├── index.md │ └── posts │ │ └── first_post.md ├── changelogs │ ├── 0.7.24r.md │ └── 0.7r.md ├── extra.css ├── guides │ ├── cooldowns_and_fuel_consumption.md │ ├── filters.md │ ├── how_to_report.md │ ├── objects.md │ └── storage_system_functions.md ├── img │ ├── bridge_requester.png │ ├── chat_box │ │ ├── toast.png │ │ └── toast_formatted.png │ ├── colony_integrator │ │ ├── citizen_list.png │ │ └── colony_info.png │ ├── me_bridge │ │ ├── autocraft_example.png │ │ └── mecpus_example.png │ └── previews │ │ ├── ar_controller.png │ │ ├── ar_goggles.png │ │ ├── basin.png │ │ ├── beacon.png │ │ ├── blaze_burner.png │ │ ├── block_reader.png │ │ ├── botania_flowers.gif │ │ ├── capacitor.png │ │ ├── chat_box.png │ │ ├── chatty_turtle.png │ │ ├── chunk_controller.png │ │ ├── chunky_turtle.png │ │ ├── colony_integrator.png │ │ ├── computer_tool.png │ │ ├── end_automata.png │ │ ├── energy_detector.png │ │ ├── environment_detector.png │ │ ├── environment_turtle.png │ │ ├── fluid_tank.png │ │ ├── geo_scanner.png │ │ ├── geo_scanner_turtle.png │ │ ├── husbandry_automata.png │ │ ├── inventory_manager.png │ │ ├── mana_pool.png │ │ ├── mana_spreader.png │ │ ├── me_bridge.png │ │ ├── mechanical_mixer.png │ │ ├── memory_card.png │ │ ├── nbt_storage.png │ │ ├── noteblock.png │ │ ├── overpowered_automata.gif │ │ ├── player_detector.png │ │ ├── player_turtle.png │ │ ├── pocket_computer.png │ │ ├── redstone_connector.png │ │ ├── redstone_integrator.png │ │ ├── redstone_probe.png │ │ ├── rs_bridge.png │ │ ├── storage_drawer.gif │ │ ├── variable_store.png │ │ └── weak_automata.png ├── index.md ├── integrations │ ├── botania │ │ ├── flowers.md │ │ ├── pool.md │ │ └── spreader.md │ ├── create │ │ ├── basin.md │ │ ├── blazeburner.md │ │ ├── fluidtank.md │ │ ├── mechanicalmixer.md │ │ └── scrollbehaviour.md │ ├── draconic_evolution │ │ ├── energy_core.md │ │ ├── index.md │ │ └── reactor.md │ ├── immersive_engineering │ │ ├── connector.md │ │ └── probe.md │ ├── index.md │ ├── integrated_dynamics │ │ └── variable_store.md │ ├── mekanism │ │ ├── boiler.md │ │ ├── chemical.md │ │ ├── digital_miner.md │ │ ├── dynamic_tank.md │ │ ├── fission.md │ │ ├── fluid_tank.md │ │ ├── fusion.md │ │ ├── generic.md │ │ ├── index.md │ │ ├── induction.md │ │ ├── solar_evaporation.md │ │ ├── transmitter.md │ │ ├── turbine.md │ │ └── waste_barrel.md │ ├── minecraft │ │ ├── beacon.md │ │ └── noteblock.md │ ├── powah │ │ ├── ender_cell.md │ │ ├── energy_cell.md │ │ ├── furnator.md │ │ ├── magmator.md │ │ ├── reactor.md │ │ ├── solar_panel.md │ │ └── thermo_generator.md │ └── storage_drawers │ │ └── drawer.md ├── items │ ├── ar_goggles.md │ ├── chunk_controller.md │ ├── computer_tool.md │ ├── memory_card.md │ └── pocket_computer.md ├── peripherals │ ├── ar_controller.md │ ├── block_reader.md │ ├── chat_box.md │ ├── colony_integrator.md │ ├── energy_detector.md │ ├── environment_detector.md │ ├── geo_scanner.md │ ├── inventory_manager.md │ ├── me_bridge.md │ ├── nbt_storage.md │ ├── player_detector.md │ ├── redstone_integrator.md │ └── rs_bridge.md └── turtles │ ├── chatty_turtle.md │ ├── chunky_turtle.md │ ├── environment_turtle.md │ ├── geo_scanner_turtle.md │ ├── metaphysics │ ├── end_automata.md │ ├── husbandry_automata.md │ ├── overpowered_automata.md │ └── weak_automata.md │ └── player_turtle.md ├── mike.yml ├── mkdocs.yml ├── netlify.toml ├── overrides ├── img │ └── loading.gif └── partials │ └── comments.html ├── poetry.lock ├── pyproject.toml └── requirements.txt /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Python 3.13.2 with MkDocs", 3 | "image": "python:3.13.2", 4 | "postStartCommand": "pip install poetry && poetry install", 5 | "forwardPorts": [ 6 | 8000 7 | ] 8 | } -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: true 2 | contact_links: 3 | - name: Mod issues 4 | url: https://github.com/Seniorendi/AdvancedPeripherals/issues 5 | about: Please report bugs at the advanced peripherals repository. This repository is for documentation only. 6 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/doc_report.yml: -------------------------------------------------------------------------------- 1 | name: Documentation issue report 2 | description: Report issues with the documentation like typos or missing entries 3 | body: 4 | - type: markdown 5 | attributes: 6 | value: "Please use the search function before submitting an issue!" 7 | - type: textarea 8 | attributes: 9 | label: Describe 10 | description: Clearly describe the issue you found 11 | placeholder: A clear description of what the issue is 12 | validations: 13 | required: true 14 | - type: textarea 15 | attributes: 16 | label: Steps to reproduce 17 | description: Steps to reproduce the behavior. Feel free to remove or add steps. 18 | placeholder: 19 | 1. Do this... 20 | 2. Then hit this... 21 | 3. Then... 22 | validations: 23 | required: true 24 | - type: input 25 | attributes: 26 | label: Direct URL 27 | description: A direct URL to the site of the issue 28 | placeholder: "https://docs.intelligence-modding.de/1.19/peripherals/chat_box/" 29 | validations: 30 | required: true 31 | - type: input 32 | attributes: 33 | label: Screenshots or Videos 34 | description: If applicable, add screenshots or videos to help explain your problem. 35 | -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: Publish docs via GitHub Pages 2 | on: 3 | workflow_dispatch: 4 | push: 5 | branches: 6 | - main 7 | 8 | jobs: 9 | build: 10 | name: Deploy docs 11 | runs-on: self-hosted 12 | steps: 13 | - name: Checkout master 14 | uses: actions/checkout@v1 15 | 16 | - name: Deploy docs 17 | uses: mhausenblas/mkdocs-deploy-gh-pages@2833747909e0fab61db67a60e8d6e91a871f60aa 18 | env: 19 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 20 | REQUIREMENTS: requirements.txt 21 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | site/ 2 | .idea -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "oxcYamlHelper.rulesetDocumentationSettings": 0 3 | } -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | We as members, contributors, and leaders pledge to make participation in our 6 | community a harassment-free experience for everyone, regardless of age, body 7 | size, visible or invisible disability, ethnicity, sex characteristics, gender 8 | identity and expression, level of experience, education, socio-economic status, 9 | nationality, personal appearance, race, religion, or sexual identity 10 | and orientation. 11 | 12 | We pledge to act and interact in ways that contribute to an open, welcoming, 13 | diverse, inclusive, and healthy community. 14 | 15 | ## Our Standards 16 | 17 | Examples of behavior that contributes to a positive environment for our 18 | community include: 19 | 20 | * Demonstrating empathy and kindness toward other people 21 | * Being respectful of differing opinions, viewpoints, and experiences 22 | * Giving and gracefully accepting constructive feedback 23 | * Accepting responsibility and apologizing to those affected by our mistakes, 24 | and learning from the experience 25 | * Focusing on what is best not just for us as individuals, but for the 26 | overall community 27 | 28 | Examples of unacceptable behavior include: 29 | 30 | * The use of sexualized language or imagery, and sexual attention or 31 | advances of any kind 32 | * Trolling, insulting or derogatory comments, and personal or political attacks 33 | * Public or private harassment 34 | * Publishing others' private information, such as a physical or email 35 | address, without their explicit permission 36 | * Other conduct which could reasonably be considered inappropriate in a 37 | professional setting 38 | 39 | ## Enforcement Responsibilities 40 | 41 | Community leaders are responsible for clarifying and enforcing our standards of 42 | acceptable behavior and will take appropriate and fair corrective action in 43 | response to any behavior that they deem inappropriate, threatening, offensive, 44 | or harmful. 45 | 46 | Community leaders have the right and responsibility to remove, edit, or reject 47 | comments, commits, code, wiki edits, issues, and other contributions that are 48 | not aligned to this Code of Conduct, and will communicate reasons for moderation 49 | decisions when appropriate. 50 | 51 | ## Scope 52 | 53 | This Code of Conduct applies within all community spaces, and also applies when 54 | an individual is officially representing the community in public spaces. 55 | Examples of representing our community include using an official e-mail address, 56 | posting via an official social media account, or acting as an appointed 57 | representative at an online or offline event. 58 | 59 | ## Enforcement 60 | 61 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 62 | reported to the community leaders responsible for enforcement via our email (report AT intelligence-modding DOT de). 63 | All complaints will be reviewed and investigated promptly and fairly. 64 | 65 | All community leaders are obligated to respect the privacy and security of the 66 | reporter of any incident. 67 | 68 | ## Enforcement Guidelines 69 | 70 | Community leaders will follow these Community Impact Guidelines in determining 71 | the consequences for any action they deem in violation of this Code of Conduct: 72 | 73 | ### 1. Correction 74 | 75 | **Community Impact**: Use of inappropriate language or other behavior deemed 76 | unprofessional or unwelcome in the community. 77 | 78 | **Consequence**: A private, written warning from community leaders, providing 79 | clarity around the nature of the violation and an explanation of why the 80 | behavior was inappropriate. A public apology may be requested. 81 | 82 | ### 2. Warning 83 | 84 | **Community Impact**: A violation through a single incident or series 85 | of actions. 86 | 87 | **Consequence**: A warning with consequences for continued behavior. No 88 | interaction with the people involved, including unsolicited interaction with 89 | those enforcing the Code of Conduct, for a specified period of time. This 90 | includes avoiding interactions in community spaces as well as external channels 91 | like social media. Violating these terms may lead to a temporary or 92 | permanent ban. 93 | 94 | ### 3. Temporary Ban 95 | 96 | **Community Impact**: A serious violation of community standards, including 97 | sustained inappropriate behavior. 98 | 99 | **Consequence**: A temporary ban from any sort of interaction or public 100 | communication with the community for a specified period of time. No public or 101 | private interaction with the people involved, including unsolicited interaction 102 | with those enforcing the Code of Conduct, is allowed during this period. 103 | Violating these terms may lead to a permanent ban. 104 | 105 | ### 4. Permanent Ban 106 | 107 | **Community Impact**: Demonstrating a pattern of violation of community 108 | standards, including sustained inappropriate behavior, harassment of an 109 | individual, or aggression toward or disparagement of classes of individuals. 110 | 111 | **Consequence**: A permanent ban from any sort of public interaction within 112 | the community. 113 | 114 | ## Attribution 115 | 116 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], 117 | version 2.0, available at 118 | https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. 119 | 120 | Community Impact Guidelines were inspired by [Mozilla's code of conduct 121 | enforcement ladder](https://github.com/mozilla/diversity). 122 | 123 | [homepage]: https://www.contributor-covenant.org 124 | 125 | For answers to common questions about this code of conduct, see the FAQ at 126 | https://www.contributor-covenant.org/faq. Translations are available at 127 | https://www.contributor-covenant.org/translations. 128 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 SirEndii 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Advanced Peripherals Documentation 2 | 3 |
4 | 5 | [![Project](https://img.shields.io/badge/Project-2E9CFF?style=for-the-badge&logoColor=white&logo=Github)](https://github.com/SirEndii/AdvancedPeripherals) 6 | ![Netlify Status](https://img.shields.io/website?down_color=red&down_message=offline&label=Netlify%28Host%29&style=for-the-badge&up_color=green&up_message=online&url=https%3A%2F%2Fadvancedperipherals.netlify.app&logoColor=white&logo=Netlify) 7 | [![Discord](https://img.shields.io/discord/734726882058174486?label=Discord&style=for-the-badge&color=7289da&logoColor=white&logo=Discord)](https://discord.intelligence-modding.de/) 8 | 9 |
10 | 11 | This is the source of the documentation for Advanced Peripherals. 12 | The documentation is built with [mkdocs](https://www.mkdocs.org). 13 | I recommend using mkdocs if you want to contribute, but you do not need to. 14 | 15 | ## Site 16 | The docs can be viewed at any of the below: 17 | https://docs.intelligence-modding.de/ 18 | https://advancedperipherals.madefor.cc/ 19 | https://advancedperipherals.netlify.app/ 20 | 21 | # Contributing 22 | 23 | If you want to contribute, fork this repository then in your fork make changes to the file you want to edit or add new files. Once you have made the changes make a pull request to contribute your changes to this repository. You can use mkdocs if you want to see your changes live, you will need [Material for Mkdocs](https://squidfunk.github.io/mkdocs-material/) and [Python](https://www.python.org/downloads/) to get it running. 24 | 25 | ## Setup with Poetry 26 | You will need to install [Poetry for Python](https://python-poetry.org/docs/) to use this setup. 27 | Install mkdocs dependencies by running: 28 | ~~~zsh 29 | poetry install 30 | ~~~ 31 | :warning: *Make sure you are in the folder with the `pyproject.toml` file* 32 | 33 | Once dependencies have been installed you can now serve with mkdocs to view your changes: 34 | ~~~zsh 35 | poetry run mkdocs serve 36 | ~~~ 37 | Click the url in your terminal to open the docs in your browser. 38 | 39 | --- 40 | 41 | ## Setup with Pip 42 | If you have python installed on your machine you will have pip installed. 43 | Install the necessary dependencies by running: 44 | ~~~zsh 45 | pip install -r requirements.txt 46 | ~~~ 47 | :warning: *Make sure you are in the folder with the `requirements.txt` file* 48 | 49 | Once dependencies have been installed you can now serve with mkdocs to view your changes: 50 | ~~~zsh 51 | python -m mkdocs serve 52 | ~~~ 53 | Click the url in your terminal to open the docs in your browser. -------------------------------------------------------------------------------- /docs/blog/.authors.yml: -------------------------------------------------------------------------------- 1 | authors: 2 | endi: 3 | name: SirEndi 4 | description: AP Author 5 | avatar: https://avatars.githubusercontent.com/u/67484093 6 | url: https://github.com/SirEndii -------------------------------------------------------------------------------- /docs/blog/index.md: -------------------------------------------------------------------------------- 1 | # Advanced Peripherals Blog 2 | -------------------------------------------------------------------------------- /docs/blog/posts/first_post.md: -------------------------------------------------------------------------------- 1 | --- 2 | authors: [endi] 3 | date: 2025-01-19 4 | readtime: 2 5 | categories: 6 | - General 7 | pin: true 8 | comments: true 9 | --- 10 | 11 | # AP has a blog now! 12 | 13 | Greetings party people! So, we've just launched a brand new blog where we'll be sharing all sorts of stuff - from updates on Advanced Peripherals (Especially for the upcoming major release) to some really cool examples of what you can do with it. We're also planning to create more detailed guides as time goes on, so you can get the 14 | most out of AP. 15 | 16 | Think of it like a behind-the-scenes look at how we're constantly improving Advanced Peripherals while we prepare the 0.8/1.0 update. We'll be sharing tips and tricks, as well as showcasing some amazing projects that have been built with it. It's going to be a great resource for anyone looking to get more out of Advanced 17 | Peripherals, so keep an eye on it! 18 | 19 | ### Discord 20 | 21 | Everytime we make a new post, we will make an announcement in our [:fontawesome-brands-discord:Discord](https://discord.intelligence-modding.de/) - if you want to get notified, subscribe for the @News role! -------------------------------------------------------------------------------- /docs/changelogs/0.7.24r.md: -------------------------------------------------------------------------------- 1 | --- 2 | hide: 3 | - toc 4 | --- 5 | 6 | # Changelog 1.18.2-0.7.24r / 1.19.3-0.7.23b 7 | 8 | ## Table of Contents 9 | 10 | 1. [Item/Fluid Filter](#itemfluid-filter) 11 | 2. [Inventory manager](#inventory-manager) 12 | 3. [ME and RS Bridge](#me-and-rs-bridge) 13 | 14 |
15 | 16 | The 0.7.24r update brings some changes to our inventory system. 17 | All major and breaking changes are listed here to help with updating your scripts. 18 | 19 | ### Item/Fluid Filter 20 | 21 | You may know that we use tables to filter for items for some of our inventory transferring functions. This system got a rework and is now used for more functions but also got some syntax changes. 22 | 23 | Fluids also now use a filter system. 24 | 25 | The following keys got removed: 26 | - `json` 27 | - `tag` 28 | 29 | The `nbt` key now uses json typed nbt values like `{nbt="{StoredEnchantments: [{lvl: 2s, id: \"minecraft:blast_protection\"}]}"}` 30 | 31 | The `name` key can now search for tags. 32 | ``` lua 33 | { 34 | name="#minecraft:wool" -- searches for the wool tag 35 | -- OR 36 | name="#forge:ores/gold" -- searches for the forge gold tag 37 | -- OR 38 | name="minecraft:white_wool" -- searches for white wool 39 | } 40 | ``` 41 | 42 | You CAN NOT search for multiple items/tags at once. 43 | 44 | Item Filters can filter for slots with `toSlot` and `fromSlot`. 45 | 46 | You can find the new filter documentation [here](/guides/filters) 47 | 48 |
49 | 50 | ### Inventory manager 51 | 52 | The following functions got deprecated: 53 | 54 | - `removeItemFromPlayer(direction: string, count: int[, slot: int, item: string])` 55 | 56 | - `addItemToPlayer(direction: string, count: int[, slot: int, item: string])` 57 | 58 | - `removeItemFromPlayerNBT(direction: string, count: int[, slot: int, item: table])` 59 | 60 | - `addItemToPlayerNBT(direction: string, count: int[, slot: int, item: table])` 61 | 62 | These will be replaced in the next major update with the following two functions: 63 | 64 | - `removeItemFromPlayer(direction: direction, string: table)` 65 | 66 | - `addItemToPlayer(direction: string, item: table)` 67 | 68 | The following functions now use the new [filter](/guides/filters) system: 69 | 70 | - `removeItemFromPlayerNBT(direction: string, count: int[, slot: int, item: filter])` 71 | 72 | - `addItemToPlayerNBT(direction: string, count: int[, slot: int, item: filter]))` 73 | 74 |
75 | 76 | ### ME and RS Bridge 77 | 78 | Added the following functions to the me bridge: 79 | 80 | - `getTotalItemStorage` 81 | - `getTotalFluidStorage` 82 | - `getUsedItemStorage` 83 | - `getUsedFluidStorage` 84 | - `getAvailableItemStorage` 85 | - `getAvailableFluidStorage` 86 | - `listCells` 87 | - `isConnected` 88 | 89 | More functions now return a Method Result. This means they're capable to report errors if something wrong. For more information, refer to the documentation of the specific function. 90 | This is not a breaking change. 91 | 92 | 93 | 94 | -------------------------------------------------------------------------------- /docs/changelogs/0.7r.md: -------------------------------------------------------------------------------- 1 | --- 2 | hide: 3 | - toc 4 | --- 5 | 6 | # Changelog 0.7r 7 | 8 | ## Table of Contents 9 | 10 | 1. [Update Video](#video) 11 | 2. [New Features](#features) 12 | 1. [Integrated Dynamics Integration](#integrated-dynamics-integration-116) 13 | 2. [Storage Drawer Integration](#storage-drawer-integration-116) 14 | 3. [Colony Integrator](#colony-integrator) 15 | 4. [Geo Scanner](#geo-scanner) 16 | 5. [Block Reader](#block-reader) 17 | 6. [NBT Storage](#nbt-storage) 18 | 7. [New Turtles Upgrades](#new-turtles-upgrades) 19 | 8. [New Ingame Documentation](#new-ingame-documentation) 20 | 3. [Small features and improvements](#small-features-and-improvements) 21 | 1. [Breaking changes](#breaking-changes) 22 | 2. [New functions, events and translations!](#new-functions-events-and-translations) 23 | 3. [Improved mod integration](#improved-mod-integration) 24 | 4. [Support for relative and cardinal directions](#support-for-relative-and-cardinal-directions) 25 | 4. [Bug fixes](#bug-fixes) 26 | 27 |
28 | 29 | ## First of all 30 | 31 | First of all, big thanks to SirEdvin and FatalMerlin! These awesome hoomans helped a lot with this update! 32 | 33 | --- 34 | 35 | ### Video 36 | 37 | If you don't want to read, you can watch this wonderful short video! 38 | 39 | 40 | 41 |
42 | 43 | ## Features 44 | 45 | ### New Integrations 46 | 47 | - #### Integrated Dynamics Integration 48 | We added a peripheral to the "Variable Store" Block from [Integrated Dynamics](https://www.curseforge.com/minecraft/mc-mods/integrated-dynamics) to read variables from integrated dynamics. 49 | 50 | ##### [View here](../integrations/integrated_dynamics/variable_store.md) 51 | 52 | - #### Storage Drawer Integration 53 | You can now access [Storage Drawers](https://www.curseforge.com/minecraft/mc-mods/storage-drawers). Store items, push and pull items or do whatever you want to do with items. This new feature is a mod integration. 54 | 55 | ##### [View here](../integrations/storage_drawers/drawer.md) 56 | 57 | ### New Peripherals 58 | 59 | - #### Colony Integrator 60 | We added the **Colony Integrator** that interacts with [MineColonies](https://www.curseforge.com/minecraft/mc-mods/minecolonies). You can use this peripheral to get information about your colony. It can be used as a [pocket upgrade](../items/pocket_computer.md) or as a block. 61 | 62 | ##### [View here](../peripherals/colony_integrator.md) 63 | 64 | - #### Geo Scanner 65 | The **Geo Scanner** provides information about blocks around it and information about the current chunk. You could use it to search the current chunk and nearby blocks for ores. 66 | 67 | ##### [View here](../peripherals/geo_scanner.md) 68 | 69 | - #### Block Reader 70 | With the **Block Reader** you can read the data of neighboring blocks and tile entites. 71 | 72 | ##### [View here](../peripherals/block_reader.md) 73 | 74 | - #### NBT Storage 75 | With the **NBT Storage** peripheral you are able to store tables or other values into a block as NBT data. You can read and write values to the block with the peripheral functions. 76 | 77 | ##### [View here](../peripherals/nbt_storage.md) 78 | 79 | ### New Turtles Upgrades 80 | New powerful turtle upgrades! 81 | With these small upgrades you finally can use any tools just from turtle inventories, perform right click on blocks, collect items in a small range, transport animals and much more! But be aware, the new abilities require fuel and most of them have a cooldown. Big thanks to SirEdvin who made these upgrades. 82 | 83 | ### New Ingame Documentation 84 | Advanced Peripherals now uses [Patchouli](https://www.curseforge.com/minecraft/mc-mods/patchouli) to generate ingame documentation. You can now get quick information about the mod in-game, without the need for internet access! 85 | 86 |
87 | 88 | ## Small features and improvements 89 | 90 | This update also provides a lot of small features and improvements. 91 | 92 | --- 93 | 94 | #### Breaking changes 95 | 96 | - We changed some function names of the ME Bridge and RS Bridge peripherals. 97 | - Removed the Peripheral Proxy 98 | 99 | --- 100 | 101 | #### New functions, events and translations 102 | 103 | - Added the slot parameter to the functions of the [Inventory Manager](../peripherals/inventory_manager.md). 104 | - Added `uuid` and `isHidden` return values to the chat event. 105 | - Added a lot of new functions to the [Player Detector](../peripherals/player_detector.md). 106 | - Added the `sendFormattedMessage` function to the chat box. 107 | - Added russian translations by DrHesperus. 108 | 109 | --- 110 | 111 | #### Improved mod integration 112 | You can now connect supported blocks directly with a modem. We completely removed the Peripheral Proxy. 113 | 114 | --- 115 | 116 | #### Support for relative and cardinal directions 117 | You can now use relative directions (`right`, `left`, `front`, `back`, `top` `bottom`) and cardinal directions (`north`, `south`, `east`, `west`, `up`, `down`) at the same time. 118 | **Example:** 119 | ```lua linenums="1" 120 | -- Both of these will work 121 | redstoneIntegrator.setOutput("north", true) 122 | redstoneIntegrator.setOutput("right", true) 123 | ``` 124 | 125 |
126 | 127 | ## Bug fixes 128 | 129 | *\* Not all fixed bugs are listed here* 130 | 131 | - Fixed server crashes with the RS Bridge 132 | - Fixed chunky turtle performance issues 133 | - Fixed that the redstone integrators lets pass redstone signal through it 134 | - Fixed that the redstone integrator does not update blocks around it 135 | - Improved chat event performance 136 | -------------------------------------------------------------------------------- /docs/extra.css: -------------------------------------------------------------------------------- 1 | @import url(https://unpkg.com/simple-icons-font@v5/font/simple-icons.min.css); 2 | 3 | h2 { 4 | position: relative; 5 | } 6 | 7 | h2::after { 8 | display: block; 9 | content: ''; 10 | width: 1rem; 11 | height: 5px; 12 | background: var(--md-primary-fg-color--light); 13 | position: absolute; 14 | bottom: -2px; 15 | left: 0; 16 | border-radius: 2px; 17 | } 18 | 19 | [data-md-color-scheme="slate"] h2::after { 20 | background: var(--md-primary-fg-color--dark); 21 | } 22 | 23 | .picture-spacing { 24 | height: var(--ps); 25 | display: none; 26 | visibility: hidden; 27 | } 28 | 29 | @media screen and (min-width: 45em) { 30 | .picture-spacing { 31 | display: block; 32 | visibility: unset; 33 | } 34 | } 35 | 36 | .si { 37 | text-align: center; 38 | vertical-align: middle; 39 | } 40 | 41 | b.si { 42 | font-weight: normal; 43 | font-size: 1.5rem; 44 | padding-right: 0.3rem; 45 | vertical-align: 1rem; 46 | } 47 | 48 | /* Center Markdown Tables (requires md_in_html extension) */ 49 | .center-table { 50 | text-align: center; 51 | } 52 | 53 | .md-typeset .center-table :is(td,th):not([align]) { 54 | /* Reset alignment for table cells */ 55 | text-align: initial; 56 | } -------------------------------------------------------------------------------- /docs/guides/cooldowns_and_fuel_consumption.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Turtles: Cooldowns and Fuel consumption 6 | 7 | For information on the different types of cooldowns and operations that a turtle may have see the Automatas: 8 | 9 | - [Weak Automata](../turtles/metaphysics/weak_automata.md) 10 | - [Husbandry Automata](../turtles/metaphysics/husbandry_automata.md) 11 | - [End Automata](../turtles/metaphysics/end_automata.md) 12 | - [Overpowered Automata](../turtles/metaphysics/overpowered_automata.md) 13 | 14 | --- 15 | 16 | All world changing operations will consume turtle fuel (unless it is disabled in the CC:Tweaked configuration). Most of these operations have cooldowns, so you should consider this in your code. Hopefully, every active cooldown can be retrieved via peripheral methods. 17 | 18 | ## Consumption vs Cooldowns 19 | 20 | Higher fuel consumption rate will reduce operation cooldowns, but obviously will increase the consumption of fuel. For example, if a click operation required 1 fuel point to perform and has a 5 second cooldown; with a fuel consumption rate of 2 you can perform a click operation every 2.5 seconds, but at the cost of 2 fuel points. 21 | 22 | ## Maximum fuel consumption 23 | 24 | However, fuel consumption rate is not so simple! Every mechanic soul has a max fuel consumption limitation, that can be retrieved via the [`getConfiguration()`](../turtles/metaphysics/weak_automata.md#getconfiguration) method. 25 | 26 | ## Fuel point usage 27 | 28 | Also, the number of required fuel points increases faster than fuel consumption for every reduction in cooldowns. Fuel consumption 3 requires 4 fuel points, fuel consumption 4 requires 6 fuel points, etc. 29 | 30 |
31 | 32 | $$ 33 | \operatorname{cost} C = \operatorname{consumption} f + \max\{0, f - 2\} 34 | $$ 35 | 36 |
37 |
-------------------------------------------------------------------------------- /docs/guides/filters.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Filters 6 | 7 | !!! success "Added in version 1.18.2-0.7.24r and 1.19.3-0.7.23b" 8 | 9 | The tables which are added to one of our item/fluid transferring functions are called Item/Fluid Filters. The functions 10 | use these to find the item you're looking for. 11 | These can set the item, count, slots, tags, nbt or fingerprint values. 12 | 13 | ## Syntax 14 | 15 | ### Item/Fluid/Chemical Name and Tag 16 | 17 | The item's/fluid's filter name or tag can be specified with the `name` field. 18 | If this field is not set, the filter will try to search for items with the right nbt values specified in the `nbt` field 19 | or fingerprints. 20 | 21 | This can be a tag or a name. To filter for tags, place a `#` in front of the name. 22 | 23 | ```lua 24 | { 25 | name = "minecraft:enchanted_book" -- Will just search for an enchanted book, nbt values are ginored 26 | } 27 | ``` 28 | 29 | ```lua 30 | { 31 | name = "#forge:ores/gold" -- Will search for the gold ore tag, nbt values are ignored 32 | } 33 | ``` 34 | 35 | ### Types 36 | 37 | !!! success "Added in version 0.8 and 1.21.1-0.7" 38 | 39 | 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. 40 | They automatically search if the `name` provided is an item, a fluid or a mekanism chemical - in this order. 41 | If none could be found, it will return an empty filter with the message `NO_VALID_FILTER_TYPE`. 42 | 43 | A type can also be forced using the `type` key. 44 | Depending on the AP version and the function, the following types can be used: `item`, `fluid` and `chemical`. 45 | 46 | ```lua 47 | { 48 | name = "minecraft:water" 49 | type = "fluid" 50 | } 51 | ``` 52 | 53 | The following example would return nil with the message `FLUID_NOT_FOUND` when used in a function. 54 | ```lua 55 | { 56 | name = "minecraft:dirt" 57 | type = "fluid" 58 | } 59 | ``` 60 | 61 | 62 | ### Count 63 | 64 | The item's/fluid's filter amount can be specified with the `count` field. 65 | Standard values are 64 or 1000 for fluids. 66 | 67 | ```lua 68 | { 69 | name = "minecraft:cobblestone", 70 | count = 128000 -- Will try to export 128000 cobblestone to the target inventory. It will transfer less if there is not enough space in the target inventory or if there aren't enough items in the source inventory 71 | } 72 | ``` 73 | 74 | ### NBT Values 75 | 76 | !!! warning "Only for MC versions 1.20.4 and older!" 77 | 78 | [NBT Values](https://minecraft.fandom.com/wiki/NBT_format) are specified with the `nbt` field. The field needs to be a 79 | string which contains a json which can be parsed to a nbt tag. 80 | 81 | ```lua 82 | { 83 | name = "minecraft:enchanted_book" 84 | nbt="{StoredEnchantments: [{lvl: 2s, id: \"minecraft:blast_protection\"}]}"} -- Will search for an enchanted book with the blast protection enchantment level 2 85 | } 86 | ``` 87 | 88 | Any strings inside the nbt value needs to be prefixed with a \\ 89 | 90 | ### Data Components 91 | 92 | !!! warning "Only for MC versions 1.20.5 and newer!" 93 | 94 | Since 1.20.5, mojang moved to a new data component system to store data for items and other things instead of using NBT. 95 | To use that new filter, you need to provide a `components` key instead of the old `nbt` key. 96 | 97 | ```lua 98 | { 99 | name = "minecraft:enchanted_book" 100 | components= { 101 | ["minecraft:stored_enchantments"] = { 102 | levels = { 103 | ["minecraft:aqua_affinity"] = 1 104 | } 105 | } 106 | } -- Will search for an enchanted book with the aqua affinity enchantment level 1 107 | } 108 | ``` 109 | 110 | Other AP features also return a `components` key for items which you can directly use as a filter. 111 | 112 | ### Slots 113 | 114 | !!! danger "Only available for item filters" 115 | 116 | Slots can be specified with the `toSlot` or `fromSlot` field. 117 | The inventory manager uses `103-100` for the armor slots helmet to boots and 36 for the offhand. 118 | 119 | Storage systems like the rs or me bridge will ignore these fields if they are used to specify the slot of the system. 120 | Like `toSlot` if you use it for `importItem` 121 | 122 | If the slot can't be found or if the slot can't accept this item, the item will not be transferred. 123 | 124 | ```lua 125 | { 126 | toSlot = 6, -- Tries to move the item to this slot of the target inventory 127 | fromSlot = 36, -- Tries to remove the item from the offhand 128 | } 129 | ``` 130 | 131 | ### Fingerprints 132 | 133 | The `fingerprint` is a MD5 hash calculated of the nbt tag, the registry name and the display name. 134 | 135 | This can be useful if you want to only filter for one very specific item. 136 | Also helpful if you don't want to copy the nbt tag for an item into the filter. 137 | 138 | A `fingerprint` can be generated with the `/advancedperipherals getHashItem` command while holding the item in your main 139 | hand. 140 | 141 | If the `fingerprint` field is specified, the `nbt` and `name` field will be ignored. 142 | 143 | ```lua 144 | { 145 | fingerprint = "227FCCBE693942047DD04AA96F735F2E" -- The hash for a protection 4 enchanted book 146 | count = 5 -- Try to move 5 protection 4 books to the target inventory 147 | } 148 | ``` 149 | -------------------------------------------------------------------------------- /docs/guides/how_to_report.md: -------------------------------------------------------------------------------- 1 | ### How to report an issue or request a feature 2 | 3 | 4 | We appreciate your dedication to making the project better by helping us squash those pesky bugs and suggesting exciting new features. The process of reporting a bug or requesting a new feature is straightforward and user-friendly. Here's how to do it: 5 | 6 | 7 | ## Reporting a Bug 8 | 9 | **Expected Behavior:** Start by describing what you expected to happen when you encountered the bug. This helps us understand the issue better. 10 | 11 | **Steps to Reproduce:** Provide a clear, step-by-step guide on how to reproduce the bug. Include every detail, like which items you used, where you were, and what actions you took. 12 | 13 | **Logs:** If the bug is critical, or you're not sure what's causing it, including logs can be a game-changer. Share any error messages or log files related to the issue. 14 | 15 | **Pictures:** A picture is worth a thousand words! If you can, add screenshots to visually demonstrate the problem. 16 | 17 | **Optional - Video:** Want to be an awesome bug hunter? Record a short video showing the bug in action. It can make the bug-hunting process even smoother! 18 | 19 | ## Requesting a Feature 20 | 21 | **Clear Description:** Tell us exactly what you want to see in the mod. Be specific and clear about the new features purpose. 22 | 23 | **API Functions:** If your feature request involves changes or additions to the Lua functions, let us know which functions or methods you'd like to see added or modified. 24 | 25 | **Use Cases:** Explain how this new feature would enhance your gameplay. Share scenarios where it would come in handy. 26 | 27 |
28 | Remember, our modding community is built on collaboration and a love for Minecraft. Be friendly and respectful in your reports and requests. 29 | 30 | To report a bug or request a feature, head over to our [github repository](https://github.com/SirEndii/AdvancedPeripherals/issues). Your feedback is important to us, and it makes the project what it is today! 31 | 32 | If you need assistance or want to discuss a feature or something else, head out to our [discord](https://discord.intelligence-modding.de/) -------------------------------------------------------------------------------- /docs/guides/objects.md: -------------------------------------------------------------------------------- 1 | # Common Lua Objects 2 | 3 | AP contains a lot of different objects based on in-game content, including Items, Item Stacks, Fluids, Entities and more. 4 | This guide contains the most objects we have, including a description and every property with its type it can contain. 5 | 6 | ## Item 7 | Base ítem properties: 8 | 9 | | Property | Type | Description | 10 | |----------|------|-------------| 11 | | tags | table | List of item tags | 12 | | name | string | Registry key of the item | 13 | 14 | ## Item Stack 15 | Represents a specific amount of an item with additional properties. Includes all Item properties plus: 16 | 17 | | Property | Type | Description | 18 | |----------|------|-------------| 19 | | count | number | Amount of items in the stack | 20 | | displayName | string | Display name of the item | 21 | | maxStackSize | number | Maximum stack size | 22 | | components | table | NBT component data | 23 | | fingerprint | string | Unique identifier for the stack | 24 | | tags | table | List of item tags | 25 | | name | string | Registry key of the item | 26 | | slot | number | (Optional) Slot number when in inventory | 27 | 28 | ## Fluid 29 | Base fluid properties: 30 | 31 | | Property | Type | Description | 32 | |----------|------|-------------| 33 | | tags | table | List of fluid tags | 34 | | name | string | Registry key of the fluid | 35 | 36 | ## Fluid Stack 37 | Represents a specific amount of fluid with additional properties. Includes all Fluid properties plus: 38 | 39 | | Property | Type | Description | 40 | |----------|------|-------------| 41 | | count | number | Amount of fluid | 42 | | displayName | string | Display name of the fluid | 43 | | fluidType | table | FluidType properties | 44 | | components | table | NBT component data | 45 | | fingerprint | string | Unique identifier for the stack | 46 | 47 | ## Mekanism Chemical 48 | Base chemical properties: 49 | 50 | | Property | Type | Description | 51 | |----------|------|-------------| 52 | | tags | table | List of chemical tags | 53 | | name | string | Registry key of the chemical | 54 | | isGaseous | boolean | Whether the chemical is gaseous | 55 | | radioactivity | number | Radioactivity level of the chemical | 56 | 57 | ## Mekanism Chemical Stack 58 | Represents a specific amount of chemical with additional properties. Includes all Chemical properties plus: 59 | 60 | | Property | Type | Description | 61 | |----------|------|-------------| 62 | | count | number | Amount of chemical | 63 | | displayName | string | Display name of the chemical | 64 | | fingerprint | string | Unique identifier for the stack | 65 | 66 | 67 | ## Entity 68 | | Property | Type | Description | 69 | |----------|------|-------------| 70 | | id | number | Entity ID | 71 | | uuid | string | Entity UUID | 72 | | name | string | Entity name | 73 | | tags | table | Entity tags | 74 | | canFreeze | boolean | Whether entity can freeze | 75 | | isGlowing | boolean | Whether entity is glowing | 76 | | isInWall | boolean | Whether entity is in a wall | 77 | 78 | ## Living Entity 79 | Inherits all properties from Entity, plus: 80 | 81 | | Property | Type | Description | 82 | |----------|------|-------------| 83 | | health | number | Current health | 84 | | maxHealth | number | Maximum health | 85 | | lastDamageSource | string | Last damage source (or nil) | 86 | 87 | ## Animal 88 | Inherits all properties from LivingEntity, plus: 89 | 90 | | Property | Type | Description | 91 | |----------|------|-------------| 92 | | baby | boolean | Whether the animal is a baby | 93 | | inLove | boolean | Whether the animal is in love state | 94 | | aggressive | boolean | Whether the animal is aggressive | 95 | | shareable | boolean | Whether the animal can be sheared (if applicable) | 96 | 97 | ## Position 98 | Common block position object used for some filters and return values. 99 | 100 | | Property | Type | Description | 101 | |----------|------|-------------| 102 | | x | number | X coordinate | 103 | | y | number | Y coordinate | 104 | | z | number | Z coordinate | 105 | 106 | ## Fluid Type 107 | | Property | Type | Description | 108 | |----------|------|-------------| 109 | | viscosity | number | Fluid viscosity | 110 | | density | number | Fluid density | 111 | | canHydrate | boolean | Whether fluid can hydrate | 112 | | canExtinguish | boolean | Whether fluid can extinguish | 113 | | canDrownIn | boolean | Whether entities can drown in it | 114 | | canSwim | boolean | Whether entities can swim in it | 115 | | canPushEntity | boolean | Whether fluid can push entities | 116 | | supportsBoating | boolean | Whether boats can float on it | 117 | | canConvertToSource | boolean | Whether fluid can convert to source blocks | 118 | | temperature | number | Fluid temperature | -------------------------------------------------------------------------------- /docs/img/bridge_requester.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/bridge_requester.png -------------------------------------------------------------------------------- /docs/img/chat_box/toast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/chat_box/toast.png -------------------------------------------------------------------------------- /docs/img/chat_box/toast_formatted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/chat_box/toast_formatted.png -------------------------------------------------------------------------------- /docs/img/colony_integrator/citizen_list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/colony_integrator/citizen_list.png -------------------------------------------------------------------------------- /docs/img/colony_integrator/colony_info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/colony_integrator/colony_info.png -------------------------------------------------------------------------------- /docs/img/me_bridge/autocraft_example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/me_bridge/autocraft_example.png -------------------------------------------------------------------------------- /docs/img/me_bridge/mecpus_example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/me_bridge/mecpus_example.png -------------------------------------------------------------------------------- /docs/img/previews/ar_controller.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/ar_controller.png -------------------------------------------------------------------------------- /docs/img/previews/ar_goggles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/ar_goggles.png -------------------------------------------------------------------------------- /docs/img/previews/basin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/basin.png -------------------------------------------------------------------------------- /docs/img/previews/beacon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/beacon.png -------------------------------------------------------------------------------- /docs/img/previews/blaze_burner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/blaze_burner.png -------------------------------------------------------------------------------- /docs/img/previews/block_reader.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/block_reader.png -------------------------------------------------------------------------------- /docs/img/previews/botania_flowers.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/botania_flowers.gif -------------------------------------------------------------------------------- /docs/img/previews/capacitor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/capacitor.png -------------------------------------------------------------------------------- /docs/img/previews/chat_box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/chat_box.png -------------------------------------------------------------------------------- /docs/img/previews/chatty_turtle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/chatty_turtle.png -------------------------------------------------------------------------------- /docs/img/previews/chunk_controller.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/chunk_controller.png -------------------------------------------------------------------------------- /docs/img/previews/chunky_turtle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/chunky_turtle.png -------------------------------------------------------------------------------- /docs/img/previews/colony_integrator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/colony_integrator.png -------------------------------------------------------------------------------- /docs/img/previews/computer_tool.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/computer_tool.png -------------------------------------------------------------------------------- /docs/img/previews/end_automata.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/end_automata.png -------------------------------------------------------------------------------- /docs/img/previews/energy_detector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/energy_detector.png -------------------------------------------------------------------------------- /docs/img/previews/environment_detector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/environment_detector.png -------------------------------------------------------------------------------- /docs/img/previews/environment_turtle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/environment_turtle.png -------------------------------------------------------------------------------- /docs/img/previews/fluid_tank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/fluid_tank.png -------------------------------------------------------------------------------- /docs/img/previews/geo_scanner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/geo_scanner.png -------------------------------------------------------------------------------- /docs/img/previews/geo_scanner_turtle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/geo_scanner_turtle.png -------------------------------------------------------------------------------- /docs/img/previews/husbandry_automata.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/husbandry_automata.png -------------------------------------------------------------------------------- /docs/img/previews/inventory_manager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/inventory_manager.png -------------------------------------------------------------------------------- /docs/img/previews/mana_pool.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/mana_pool.png -------------------------------------------------------------------------------- /docs/img/previews/mana_spreader.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/mana_spreader.png -------------------------------------------------------------------------------- /docs/img/previews/me_bridge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/me_bridge.png -------------------------------------------------------------------------------- /docs/img/previews/mechanical_mixer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/mechanical_mixer.png -------------------------------------------------------------------------------- /docs/img/previews/memory_card.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/memory_card.png -------------------------------------------------------------------------------- /docs/img/previews/nbt_storage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/nbt_storage.png -------------------------------------------------------------------------------- /docs/img/previews/noteblock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/noteblock.png -------------------------------------------------------------------------------- /docs/img/previews/overpowered_automata.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/overpowered_automata.gif -------------------------------------------------------------------------------- /docs/img/previews/player_detector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/player_detector.png -------------------------------------------------------------------------------- /docs/img/previews/player_turtle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/player_turtle.png -------------------------------------------------------------------------------- /docs/img/previews/pocket_computer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/pocket_computer.png -------------------------------------------------------------------------------- /docs/img/previews/redstone_connector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/redstone_connector.png -------------------------------------------------------------------------------- /docs/img/previews/redstone_integrator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/redstone_integrator.png -------------------------------------------------------------------------------- /docs/img/previews/redstone_probe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/redstone_probe.png -------------------------------------------------------------------------------- /docs/img/previews/rs_bridge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/rs_bridge.png -------------------------------------------------------------------------------- /docs/img/previews/storage_drawer.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/storage_drawer.gif -------------------------------------------------------------------------------- /docs/img/previews/variable_store.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/variable_store.png -------------------------------------------------------------------------------- /docs/img/previews/weak_automata.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/docs/img/previews/weak_automata.png -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | hide: 3 | - navigation 4 | - toc 5 | --- 6 | 7 | # Advanced Peripherals 8 | 9 | [![Header](https://www.bisecthosting.com/images/CF/Advanced_Peripherals/BH_AP_Header.png)](https://www.curseforge.com/minecraft/mc-mods/advanced-peripherals) 10 | 11 | **Advanced Peripherals** is a mod that adds many useful extensions for [CC:Tweaked](https://tweaked.cc). 12 | You can communicate with Refined Storage, Applied Energistics 2 or with the whole Minecraft world. 13 | 14 | With Advanced Peripherals you can control your base in Minecraft only with messages in the chat, you can develop an AI that controls your farms - there really is no limit to what you can create with **CC:Tweaked** and **Advanced Peripherals**. 15 | 16 | #### Links 17 | 18 | If you need help, join the [Discord](https://discord.intelligence-modding.de/) 19 | See the mod page on [Curseforge](https://www.curseforge.com/minecraft/mc-mods/advanced-peripherals) 20 | Find the mod source code on [Github](https://github.com/SirEndii/AdvancedPeripherals) 21 | 22 | #### Version support 23 | 24 | | Supported Version | 1.16.5 | 1.17.1 | 1.18.2 | 1.19.2 | 1.19.3 | 1.20.1 | 1.20.4 | 1.21.1 | 25 | |-------------------|--------------------|--------------------|--------------------|--------------------|--------------------|--------------------|--------------------|--------------------| 26 | | Security patches | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | 27 | | Critical fixes | :x: | :x: | :white_check_mark: | :white_check_mark: | :x: | :white_check_mark: | :white_check_mark: | :white_check_mark: | 28 | | Minor fixes | :x: | :x: | :x: | :white_check_mark: | :x: | :white_check_mark: | :white_check_mark: | :white_check_mark: | 29 | | Minor features | :x: | :x: | :x: | :white_check_mark: | :x: | :white_check_mark: | :white_check_mark: | :white_check_mark: | 30 | | Fully supported | :x: | :x: | :x: | :white_check_mark: | :x: | :white_check_mark: | :white_check_mark: | :white_check_mark: | 31 | | Will be supported | :x: | :x: | :o: | :o: | :o: | :o: | :o: | :o: | 32 | 33 | 34 | #### Netlify 35 | 36 | [Netlify](https://www.netlify.com) is a cloud computing company that offers a development platform for web applications and dynamic websites. It provides a unified workflow that integrates build tools, web frameworks, APIs, and various web technologies. The platform is designed to support the development, deployment, and scaling of websites whose source files are stored in Git and then generated into static web content files 37 | 38 | #### Contribute 39 | 40 | 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. 41 | 42 |
43 |
44 | Documentation rewrite and overhaul by [ SyntheticDev](https://github.com/Synthetic-Dev) 45 |
-------------------------------------------------------------------------------- /docs/integrations/botania/flowers.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Mana Generating Flowers 6 | 7 | !!! success "Available in all versions" 8 | 9 | !!! picture inline end 10 | ![!Images of the Flower blocks](../img/previews/botania_flowers.gif){ align=right } 11 | 12 | Mana generating flowers from botania can generate mana for other recipes or rituals. 13 | 14 | !!! warning "Requirement" 15 | Requires the [Botania](https://www.curseforge.com/minecraft/mc-mods/botania) mod to be installed 16 | 17 |

18 | 19 | --- 20 | 21 | 22 | 23 | | Peripheral Name | Interfaces with | Has events | Introduced in | 24 | | --------------- | --------------- | ---------- | ------------- | 25 | | manaFlower | Mana flowers | No | 0.6b | 26 | 27 | 28 | 29 | --- 30 | 31 | ## Functions 32 | 33 | ### getMana 34 | ``` 35 | getMana() -> number 36 | ``` 37 | Returns the amount of mana stored in the flower. 38 | 39 | --- 40 | 41 | ### getMaxMana 42 | ``` 43 | getMaxMana() -> number 44 | ``` 45 | Returns the maximum amount of mana that the flower can hold. 46 | 47 | --- 48 | 49 | ### isFloating 50 | ``` 51 | isFloating() -> boolean 52 | ``` 53 | Returns true if the flower is a floating flower. 54 | 55 | --- 56 | 57 | ### isOnEnchantedSoil 58 | ``` 59 | isOnEnchantedSoil() -> boolean 60 | ``` 61 | Returns true if the flower is placed on enchanted soil. 62 | 63 | --- 64 | 65 | !!! success "Available in versions >=1.20.1-0.7.39r" 66 | 67 | ### isEmpty 68 | ``` 69 | isEmpty() -> boolean 70 | ``` 71 | Returns true if the Flower is empty. 72 | 73 | --- 74 | 75 | !!! success "Available in versions >=1.20.1-0.7.39r" 76 | 77 | ### isFull 78 | ``` 79 | isFull() -> boolean 80 | ``` 81 | Returns true if the Flower is full. 82 | 83 | --- 84 | 85 | ## Changelog/Trivia 86 | 87 | **1.20.1-0.7.39r** 88 | Ported Botania integration to 1.20.1 89 | Added `isFull()` and `isEmpty()` 90 | 91 | **0.7.16** 92 | Ported Botania integration to 1.18 93 | 94 | **0.6b** 95 | Added integration for Botania 96 | -------------------------------------------------------------------------------- /docs/integrations/botania/pool.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Mana Pool 6 | 7 | !!! success "Available in all versions" 8 | 9 | !!! picture inline end 10 | ![!Image of the Mana Pool block](../img/previews/mana_pool.png){ align=right } 11 | 12 | Mana Pools are used to store mana. They are also used to craft items. 13 | 14 | !!! warning "Requirement" 15 | Requires the [Botania](https://www.curseforge.com/minecraft/mc-mods/botania) mod to be installed 16 | 17 |

18 | 19 | --- 20 | 21 |
22 | 23 | | Peripheral Name | Interfaces with | Has events | Introduced in | 24 | | --------------- | --------------- | ---------- | ------------- | 25 | | manaPool | Mana Pool block | No | 0.6b | 26 | 27 |
28 | 29 | --- 30 | 31 | ## Functions 32 | 33 | ### getMana 34 | ``` 35 | getMana() -> number 36 | ``` 37 | Returns the amount of mana stored in the pool. 38 | 39 | --- 40 | 41 | ### getMaxMana 42 | ``` 43 | getMaxMana() -> number 44 | ``` 45 | Returns the maximum amount of mana that the pool can hold. 46 | 47 | --- 48 | 49 | !!! success "Added in version 0.7.4r" 50 | 51 | ### getManaNeeded 52 | ``` 53 | getManaNeeded() -> number 54 | ``` 55 | 56 | Returns the amount of mana needed to fill the pool. Equivalent to `getMaxMana() - getMana()`. 57 | 58 | --- 59 | 60 | ### isEmpty 61 | ``` 62 | isEmpty() -> boolean 63 | ``` 64 | Returns true if the Mana Pool is empty. 65 | 66 | --- 67 | 68 | ### isFull 69 | ``` 70 | isFull() -> boolean 71 | ``` 72 | Returns true if the Mana Pool is full. 73 | 74 | --- 75 | 76 | !!! success "Available in versions >=1.20.1-0.7.39r" 77 | 78 | ### canChargeItem 79 | ``` 80 | canChargeItem() -> boolean 81 | ``` 82 | Returns true if mode of the Mana Pool is set to charge the items on it. 83 | 84 | --- 85 | 86 | !!! success "Available in versions >=1.20.1-0.7.39r" 87 | 88 | ### hasItems 89 | ``` 90 | hasItems() -> boolean 91 | ``` 92 | Returns true if the Mana Pool has at least one item on it. 93 | 94 | --- 95 | 96 | !!! success "Available in versions >=1.20.1-0.7.39r" 97 | 98 | ### getItems 99 | ``` 100 | getItems() -> table 101 | ``` 102 | Returns a table with the items lying on the Mana Pool. 103 | 104 | --- 105 | 106 | ## Changelog/Trivia 107 | 108 | **1.20.1-0.7.39r** 109 | Ported Botania integration to 1.20.1 110 | Added `getItems()`, `hasItems()` and `canChargeItem()` 111 | 112 | **0.7.16** 113 | Ported Botania integration to 1.18 114 | 115 | **0.7.4r** 116 | Added `getManaNeeded` to the Mana Pool integration 117 | 118 | **0.6b** 119 | Added integration for Botania 120 | -------------------------------------------------------------------------------- /docs/integrations/botania/spreader.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Mana Spreader 6 | 7 | !!! success "Available in all versions" 8 | 9 | !!! picture inline end 10 | ![!Image of the Mana Spreader block](../img/previews/mana_spreader.png){ align=right } 11 | 12 | Mana Spreaders are used to transfer mana from one source to another. 13 | 14 | !!! warning "Requirement" 15 | Requires the [Botania](https://www.curseforge.com/minecraft/mc-mods/botania) mod to be installed 16 | 17 |

18 | 19 | --- 20 | 21 |
22 | 23 | | Peripheral Name | Interfaces with | Has events | Introduced in | 24 | | --------------- | ------------------- | ---------- | ------------- | 25 | | manaSpreader | Mana Spreader block | No | 0.6b | 26 | 27 |
28 | 29 | --- 30 | 31 | ## Functions 32 | 33 | ### getMana 34 | ``` 35 | getMana() -> number 36 | ``` 37 | Returns the amount of mana stored in the spreader. 38 | 39 | --- 40 | 41 | ### getMaxMana 42 | ``` 43 | getMaxMana() -> number 44 | ``` 45 | Returns the maximum amount of mana that the spreader can hold. 46 | 47 | --- 48 | 49 | ### isEmpty 50 | ``` 51 | isEmpty() -> boolean 52 | ``` 53 | Returns true if the Mana Spreader is empty. 54 | 55 | --- 56 | 57 | ### isFull 58 | ``` 59 | isFull() -> boolean 60 | ``` 61 | Returns true if the Mana Spreader is full. 62 | 63 | --- 64 | 65 | ### getVariant 66 | ``` 67 | getVariant() -> string 68 | ``` 69 | Returns the variant of the Mana Spreader. 70 | 71 | --- 72 | 73 | ### getBounding 74 | ``` 75 | getBounding() -> table 76 | ``` 77 | Returns the coordinates of the Mana Spreader's target. 78 | 79 | #### Properties 80 | 81 | | table | Description | 82 | | ----------- | ------------------------------------------- | 83 | | x: `number` | The x coordinate | 84 | | y: `number` | The y coordinate | 85 | | z: `number` | The z coordinate | 86 | 87 | --- 88 | 89 | !!! success "Available in versions >=1.20.1-0.7.39r" 90 | 91 | ### hasLens 92 | ``` 93 | hasLens() -> boolean 94 | ``` 95 | Returns true if the Spreader has a lens. 96 | 97 | --- 98 | 99 | !!! success "Available in versions >=1.20.1-0.7.39r" 100 | 101 | ### getLens 102 | ``` 103 | getLens() -> table 104 | ``` 105 | Returns the current lens item as a table. 106 | 107 | --- 108 | 109 | ## Changelog/Trivia 110 | 111 | **1.20.1-0.7.39r** 112 | Ported Botania integration to 1.20.1 113 | Added `getLens()` and `hasLens()` 114 | 115 | **0.7.16** 116 | Ported Botania integration to 1.18 117 | 118 | **0.6b** 119 | Added integration for Botania 120 | -------------------------------------------------------------------------------- /docs/integrations/create/basin.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Basin 6 | 7 | !!! success "Available in versions 1.18+" 8 | 9 | !!! picture inline end 10 | ![!Image of the Basin block](../img/previews/basin.png){ align=right } 11 | 12 | A Basin can hold items and fluids for many different crafting recipes. 13 | 14 | !!! warning "Requirement" 15 | Requires the [Create](https://www.curseforge.com/minecraft/mc-mods/create) mod to be installed 16 | 17 |

18 | 19 | --- 20 | 21 |
22 | 23 | | Peripheral Name | Interfaces with | Has events | Introduced in | 24 | | --------------- | --------------- | ---------- | ------------- | 25 | | basin | Basin block | No | 0.7.16 | 26 | 27 |
28 | 29 | --- 30 | 31 | ## Functions 32 | 33 | ### getInputFluids 34 | ``` 35 | getInputFluids() -> table 36 | ``` 37 | Returns a list of information about all of the fluids in the input tank of the Basin. 38 | 39 | --- 40 | 41 | ### getOutputFluids 42 | ``` 43 | getOutputFluids() -> table 44 | ``` 45 | Returns a list of information about all of the fluids in the output tank of the Basin. 46 | 47 | --- 48 | 49 | ### getFilter 50 | ``` 51 | getFilter() -> table 52 | ``` 53 | Returns the Basin's filter item. 54 | 55 | --- 56 | 57 | ### getInventory 58 | ``` 59 | getInventory() -> table 60 | ``` 61 | Returns a list of information about all of the items in the Basin. 62 | 63 | --- 64 | 65 | ## Changelog/Trivia 66 | 67 | **0.7.16** 68 | Added Create integration 69 | -------------------------------------------------------------------------------- /docs/integrations/create/blazeburner.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Blaze Burner 6 | 7 | !!! success "Available in all versions" 8 | 9 | !!! picture inline end 10 | ![!Image of the Blaze Burner block](../img/previews/blaze_burner.png){ align=right } 11 | 12 | A Blaze Burner uses different fuel types to heat up things above it like basins and fluid tanks. 13 | 14 | !!! warning "Requirement" 15 | Requires the [Create](https://www.curseforge.com/minecraft/mc-mods/create) mod to be installed 16 | 17 |

18 | 19 | --- 20 | 21 |
22 | 23 | | Peripheral Name | Interfaces with | Has events | Introduced in | 24 | | --------------- | ------------------ | ---------- | ------------- | 25 | | blazeBurner | Blaze Burner block | No | 0.7.16 | 26 | 27 |
28 | 29 | --- 30 | 31 | ## Functions 32 | 33 | ### getInfo 34 | ``` 35 | getInfo() -> table 36 | ``` 37 | Returns a table with information about the Blaze Burner. 38 | 39 | #### Properties 40 | 41 | | info | Description | 42 | | --------------------------- | ------------------------------------------------- | 43 | | fuelType: `string` | The type of fuel in the burner | 44 | | heatLevel: `string` | The blaze burner heat level | 45 | | remainingBurnTime: `number` | The amount of burn time left for the current fuel | 46 | | isCreative: `boolean` | If the burner is using creative fuel | 47 | 48 | --- 49 | 50 | ## Changelog/Trivia 51 | 52 | **0.7.16** 53 | Added Create integration 54 | -------------------------------------------------------------------------------- /docs/integrations/create/fluidtank.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Fluid Tank 6 | 7 | !!! success "Available in versions 1.18+" 8 | 9 | !!! picture inline end 10 | ![!Image of the Fluid Tank block](../img/previews/fluid_tank.png){ align=right } 11 | 12 | A Fluid Tank is a multiblock structure which can hold fluids. With each block being able to hold 8 buckets worth. 13 | 14 | !!! warning "Requirement" 15 | Requires the [Create](https://www.curseforge.com/minecraft/mc-mods/create) mod to be installed 16 | 17 |

18 | 19 | --- 20 | 21 |
22 | 23 | | Peripheral Name | Interfaces with | Has events | Introduced in | 24 | | --------------- | ---------------- | ---------- | ------------- | 25 | | fluidTank | Fluid Tank block | No | 0.7.16 | 26 | 27 |
28 | 29 | --- 30 | 31 | ## Functions 32 | 33 | ### getInfo 34 | ``` 35 | getInfo() -> table 36 | ``` 37 | Returns a table with information about the Blaze Burner. 38 | 39 | #### Properties 40 | 41 | | info | Description | 42 | | ------------------- | ---------------------------------------------- | 43 | | capacity: `number` | The maximum amount of fluid the tank can hold | 44 | | amount: `number` | The amount of fluid in the tank | 45 | | fluid: `string` | The registry name for the tank's current fluid | 46 | | isBoiler: `boolean` | If the tank is part of a boiler | 47 | 48 | --- 49 | 50 | ## Changelog/Trivia 51 | 52 | **0.7.16** 53 | Added Create integration 54 | -------------------------------------------------------------------------------- /docs/integrations/create/mechanicalmixer.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Mechanical Mixer 6 | 7 | !!! success "Available in versions 1.18+" 8 | 9 | !!! picture inline end 10 | ![!Image of the Mechanical Mixer block](../img/previews/mechanical_mixer.png){ align=right } 11 | 12 | A Mechanical Mixer is used in combination with a Basin to process many shapeless recipes with items and fluid. 13 | 14 | !!! warning "Requirement" 15 | Requires the [Create](https://www.curseforge.com/minecraft/mc-mods/create) mod to be installed 16 | 17 |

18 | 19 | --- 20 | 21 |
22 | 23 | | Peripheral Name | Interfaces with | Has events | Introduced in | 24 | | --------------- | ---------------------- | ---------- | ------------- | 25 | | mechanicalMixer | Mechanical Mixer block | No | 0.7.16 | 26 | 27 |
28 | 29 | --- 30 | 31 | ## Functions 32 | 33 | ### isRunning 34 | ``` 35 | isRunning() -> boolean 36 | ``` 37 | Returns true if the mixer is currently running. 38 | 39 | --- 40 | 41 | ### hasBasin 42 | ``` 43 | hasBasin() -> boolean 44 | ``` 45 | Returns true if the mixer has a basin below it. 46 | 47 | --- 48 | 49 | ## Changelog/Trivia 50 | 51 | **0.7.16** 52 | Added Create integration 53 | -------------------------------------------------------------------------------- /docs/integrations/create/scrollbehaviour.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Blocks with Scroll Value Behaviours 6 | 7 | !!! success "Available in all versions" 8 | 9 | This integration works for all blocks with any type of scroll value behaviour. Like the Speed Controller and Creative Motor. 10 | 11 | !!! info 12 | This integration only works for Speed based scroll value behaviour blocks. So this will not work for blocks like the Smart Funnel. 13 | 14 | !!! warning "Requirement" 15 | Requires the [Create](https://www.curseforge.com/minecraft/mc-mods/create) mod to be installed 16 | 17 | --- 18 | 19 |
20 | 21 | | Peripheral Name | Interfaces with | Has events | Introduced in | 22 | | --------------------- | ----------------------------- | ---------- | ------------- | 23 | | scrollBehaviourEntity
speedController (1.16) | Scroll Value Behaviour blocks | No | 0.7.16 | 24 | 25 |
26 | 27 | --- 28 | 29 | ## Functions 30 | 31 | ### getTargetSpeed 32 | ``` 33 | getTargetSpeed() -> number 34 | ``` 35 | Returns the target behaviour value of the block. 36 | 37 | --- 38 | 39 | ### setTargetSpeed 40 | ``` 41 | setTargetSpeed(value: number) -> boolean 42 | ``` 43 | Sets the target behavious value of the block to the given `value`. 44 | Returns whether or not the value was successfully set. 45 | 46 | --- 47 | 48 | ## Changelog/Trivia 49 | 50 | **0.7.16** 51 | Added Create integration 52 | -------------------------------------------------------------------------------- /docs/integrations/draconic_evolution/energy_core.md: -------------------------------------------------------------------------------- 1 |

Go Back

2 | 3 | # Draconic Energy Core 4 | 5 | !!! danger "Only available in versions =>1.16-0.7.4r, <1.16-0.7.7r" 6 | 7 | !!! picture inline end 8 | ![Image of the Energy Pylon block](){ align=right } 9 | 10 | The Draconic Energy Core is a multiblock structure which can store massive amounts of energy. 11 | 12 | !!! warning "Requirement" 13 | Requires the [Draconic Evolution](https://www.curseforge.com/minecraft/mc-mods/draconic-evolution) mod to be installed 14 | 15 | 16 | 17 | ## Functions 18 | 19 | ### getEnergyStored 20 | ``` 21 | getEnergyStored() -> number 22 | ``` 23 | Returns the amount of energy stored in the energy core in FE. 24 | 25 | --- 26 | 27 | ### getMaxEnergyStored 28 | ``` 29 | getMaxEnergyStored() -> number 30 | ``` 31 | Returns the maximum amount of energy that the energy core can hold in FE. 32 | 33 | --- 34 | 35 | ### getTransferPerTick 36 | ``` 37 | getTransferPerTick() -> number 38 | ``` 39 | Returns the amount of energy being transferred in/out of the core per tick in FE. 40 | 41 | --- 42 | 43 | ### getTier 44 | ``` 45 | getTier() -> number 46 | ``` 47 | Returns the energy core's tier. A number from 1 to 8. 48 | 49 | --- 50 | 51 | ## Changelog/Trivia 52 | 53 | **0.7.4r** 54 | Added Draconic Evolution integration 55 | -------------------------------------------------------------------------------- /docs/integrations/draconic_evolution/index.md: -------------------------------------------------------------------------------- 1 | # Draconic Evolution 2 | 3 | !!! danger "Only available in versions =>1.16-0.7.4r, <1.16-0.7.7r" 4 | 5 | The Draconic Evolution integration was only briefly available in the mod. Hence the documentation for the mod's integrations have been excluded from the side navigation. 6 | However, if needed they can still be accessed using the links below: 7 | 8 | ## Docs 9 | 10 | - [Draconic Energy Core](./energy_core.md) 11 | - [Draconic Reactor](./reactor.md) 12 | 13 | --- 14 | 15 | ## Changelog/Trivia 16 | 17 | **0.7.7r** 18 | Removed Draconic Evolution integration 19 | 20 | **0.7.4r** 21 | Added Draconic Evolution integration -------------------------------------------------------------------------------- /docs/integrations/draconic_evolution/reactor.md: -------------------------------------------------------------------------------- 1 |

Go Back

2 | 3 | # Draconic Reactor 4 | 5 | !!! danger "Only available in versions =>1.16-0.7.4r, <1.16-0.7.7r" 6 | 7 | !!! picture inline end 8 | ![Image of the Reactor Stabilizer block](){ align=right } 9 | 10 | The Draconic Reactor is a powerful reactor used to create a massive amount of energy. 11 | 12 | !!! warning "Requirement" 13 | Requires the [Draconic Evolution](https://www.curseforge.com/minecraft/mc-mods/draconic-evolution) mod to be installed 14 | 15 | 16 | 17 | ## Functions 18 | 19 | ### getReactorInfo 20 | ``` 21 | getReactorInfo() -> table 22 | ``` 23 | Returns a table with information about the reactor. 24 | 25 | --- 26 | 27 | ### chargeReactor 28 | ``` 29 | chargeReactor() -> boolean 30 | ``` 31 | This initiates a disabled reactor and beings the reactor charging. 32 | Returns true if the reactor successfully begins charging. 33 | 34 | --- 35 | 36 | ### activateReactor 37 | ``` 38 | activateReactor() -> boolean 39 | ``` 40 | Turns on the reactor and will being producing energy. 41 | Returns true if the reactor successfully activates. 42 | 43 | --- 44 | 45 | ### stopReactor 46 | ``` 47 | stopReactor() -> boolean 48 | ``` 49 | Turns off the reactor. 50 | Returns true if the reactor successfully deactivates. 51 | 52 | --- 53 | 54 | ### setFailSafe 55 | ``` 56 | setFailSafe(enabled: boolean) -> void 57 | ``` 58 | Enables and disables the reactor's fail safe. 59 | 60 | --- 61 | 62 | ## Changelog/Trivia 63 | 64 | **0.7.4r** 65 | Added Draconic Evolution integration 66 | -------------------------------------------------------------------------------- /docs/integrations/immersive_engineering/connector.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Redstone Wire Connector 6 | 7 | !!! danger "Only available in version 1.16" 8 | 9 | !!! picture inline end 10 | ![!Image of the Redstone Connector block](../img/previews/redstone_connector.png){ align=right } 11 | 12 | The Redstone Wire Connector is a block from Immersive Engineering to connect redstone wire over big distances. 13 | 14 | !!! warning "Requirement" 15 | Requires the [Immersive Engineering](https://www.curseforge.com/minecraft/mc-mods/immersive-engineering) mod to be installed 16 | 17 |

18 | 19 | --- 20 | 21 |
22 | 23 | | Peripheral Name | Interfaces with | Has events | Introduced in | 24 | | ----------------- | ----------------------------- | ---------- | ------------- | 25 | | redstoneConnector | Redstone Wire Connector block | No | 0.6b | 26 | 27 |
28 | 29 | --- 30 | 31 | ## Functions 32 | 33 | ### getRedstoneChannel 34 | ``` 35 | getRedstoneChannel() -> string 36 | ``` 37 | Returns the current redstone channel. 38 | 39 | --- 40 | 41 | ### setRedstoneChannel 42 | ``` 43 | setRedstoneChannel(color: string) -> void 44 | ``` 45 | Sets the current redstone `color` channel for the connector. 46 | 47 | --- 48 | 49 | ### getRedstoneForChannel 50 | ``` 51 | getRedstoneForChannel(color: string) -> number 52 | ``` 53 | Returns the redstone signal strength for the given `color` channel. A number from 0 to 15. 54 | 55 | --- 56 | 57 | ### getOutput 58 | ``` 59 | getOutput() -> number 60 | ``` 61 | Returns the redstone signal stength for the current channel. 62 | 63 | --- 64 | 65 | ### isInputMode 66 | ``` 67 | isInputMode() -> boolean 68 | ``` 69 | Returns true if the Redstone Wire Connector is being used as an input. 70 | 71 | --- 72 | 73 | ## Changelog/Trivia 74 | 75 | **0.6b** 76 | Added integration for Immersive Engineering 77 | -------------------------------------------------------------------------------- /docs/integrations/immersive_engineering/probe.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Redstone Probe 6 | 7 | !!! danger "Only available in version 1.16" 8 | 9 | !!! picture inline end 10 | ![!Image of the Redstone Probe block](../img/previews/redstone_probe.png){ align=right } 11 | 12 | The Redstone Probe is a block from Immersive Engineering used to read and write data to a specific redstone channel. 13 | 14 | !!! warning "Requirement" 15 | Requires the [Immersive Engineering](https://www.curseforge.com/minecraft/mc-mods/immersive-engineering) mod to be installed 16 | 17 |

18 | 19 | --- 20 | 21 |
22 | 23 | | Peripheral Name | Interfaces with | Has events | Introduced in | 24 | | --------------- | -------------------- | ---------- | ------------- | 25 | | redstoneProbe | Redstone Probe block | No | 0.6b | 26 | 27 |
28 | 29 | --- 30 | 31 | ## Functions 32 | 33 | ### getSendingChannel 34 | ``` 35 | getSendingChannel() -> string 36 | ``` 37 | Returns the current sending channel for the probe. 38 | 39 | --- 40 | 41 | ### setSendingChannel 42 | ``` 43 | setSendingChannel(color: string) -> void 44 | ``` 45 | Sets the sending channel for the probe to the given `color` channel. 46 | 47 | --- 48 | 49 | ### getReceivingChannel 50 | ``` 51 | getReceivingChannel() -> string 52 | ``` 53 | Returns the current receiving channel for the probe. 54 | 55 | --- 56 | 57 | ### setReceivingChannel 58 | ``` 59 | setReceivingChannel(color: string) -> void 60 | ``` 61 | Sets the receiving channel for the probe to the given `color` channel. 62 | 63 | --- 64 | 65 | ### getRedstoneForChannel 66 | ``` 67 | getRedstoneForChannel(color: string) -> number 68 | ``` 69 | Returns the redstone signal strength for the given `color` channel. A number from 0 to 15. 70 | 71 | --- 72 | 73 | ## Changelog/Trivia 74 | 75 | **0.6b** 76 | Added integration for Immersive Engineering 77 | -------------------------------------------------------------------------------- /docs/integrations/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Mod Integrations 6 | 7 | ## How do they work? 8 | 9 | To use our third party integrations you can simply place your computer or a modem next to a supported block and wrap it. 10 | If the block is supported, you can use the functions it'll provide, see the block's specific page for more information. 11 | 12 | Example with a botania mana flower: 13 | ```lua linenums="1" 14 | local flower = peripheral.find("manaFlower") 15 | 16 | print("Stored mana: ".. flower.getMana()) 17 | print("Mana capacity: ".. flower.getMaxMana()) 18 | print("Is on enchanted soul?: ".. flower.isOnEnchantedSoil()) 19 | ``` 20 | 21 | --- 22 | 23 | ## Integration Requests 24 | If you want to see more integrations, you can request a mod integration on [ Github](https://github.com/Seniorendi/AdvancedPeripherals/issues). 25 | 26 | --- 27 | 28 | ## Changelog/Trivia 29 | 30 | **0.7.16** 31 | Added Create and Botania integrations 32 | 33 | **0.7.7r** 34 | Removed Draconic Evolution integration 35 | 36 | **0.7.4r** 37 | Added Draconic Evolution integration 38 | 39 | **0.7r** 40 | Removed the Peripheral Proxy, you can now connect your computer with any supported block directly. 41 | Added Integrated Dynamics integration 42 | Added Storage Drawers integration 43 | 44 | **0.6b** 45 | Added mod integrations with the Peripheral Proxy 46 | -------------------------------------------------------------------------------- /docs/integrations/integrated_dynamics/variable_store.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Variable Store 6 | 7 | !!! danger "Only available in version 1.16" 8 | 9 | !!! picture inline end 10 | ![!Image of the Variable Store block](../img/previews/variable_store.png){ align=right } 11 | 12 | The Variable Store is a block from Integrated Dynamics that can store variables for future use. 13 | 14 | !!! warning "Requirement" 15 | Requires the [Integrated Dynamics](https://www.curseforge.com/minecraft/mc-mods/integrated-dynamics) mod to be installed 16 | 17 |

18 | 19 | --- 20 | 21 |
22 | 23 | | Peripheral Name | Interfaces with | Has events | Introduced in | 24 | | --------------- | -------------------- | ---------- | ------------- | 25 | | variableStore | Variable Store block | No | 0.7r | 26 | 27 |
28 | 29 | --- 30 | 31 | ## Functions 32 | 33 | ### list 34 | ``` 35 | list() -> table 36 | ``` 37 | Returns a list of information about all of the variables stored inside the Variable Store block. 38 | 39 | #### Properties 40 | 41 | | variable | Description | 42 | | ------------------ | ------------------------------- | 43 | | id: `string` | The variable's id | 44 | | label: `string` | The label name for the variable | 45 | | type: `string` | The type of the variable | 46 | | dynamic: `boolean` | If the variable is dynamic | 47 | 48 | --- 49 | 50 | ### read 51 | ``` 52 | read(slot: number) -> table | nil, string 53 | ``` 54 | Returns a table containing information about the variable at the given `slot`. Or nil and an error message. 55 | 56 | #### Properties 57 | 58 | | variable | Description | 59 | | ------------------ | ------------------------------------------ | 60 | | id: `string` | The variable's id | 61 | | label: `string` | The label name for the variable | 62 | | type: `string` | The type of the variable | 63 | | value: `string` | The NBT representation of the stored value | 64 | | dynamic: `boolean` | If the variable is dynamic | 65 | 66 | --- 67 | 68 | ## Changelog/Trivia 69 | 70 | **0.7r** 71 | Added integration for Integrated Dynamics 72 | -------------------------------------------------------------------------------- /docs/integrations/mekanism/boiler.md: -------------------------------------------------------------------------------- 1 |

Go Back

2 | 3 | # Boiler 4 | 5 | !!! picture inline end 6 | ![Header](https://intelligence-modding.de/wp-content/uploads/2021/05/Boiler-Valve.png){ align=right } 7 | Mod: Mekanism

8 | Block: Boiler Valve 9 | The [Themoelectric Boiler](https://wiki.aidancbrady.com/wiki/Thermoelectric_Boiler) is a multiblock structure from mekanism to generate steam or other gases. 10 | 11 |

12 |

13 |

14 | 15 | !!! info 16 | Energy functions will always return in FE. If you want it in joules, multiply the value with 2.5 17 | 18 | The functions which returns a value in percent, will return a number between 1-0. (50% would be 0.5) 19 | 20 | ##Functions 21 | | Function | Returns | Description | 22 | |----------|---------|-------------| 23 | | getCoolant() | table | Returns the type of coolant and the amount. | 24 | | getCoolantCapacity() | int | Returns capacity of the coolant tank. | 25 | | getCoolantNeeded() | int | Returns the coolant that is needed the tank is full. | 26 | | getCoolantFilledPercentage() | int | Returns the amount of the coolant in percent. | 27 | | getHeatedCoolant() | table | Returns the type of heated coolant and the amount. | 28 | | getHeatedCoolantCapacity() | int | Returns capacity of the heated coolant tank. | 29 | | getHeatedCoolantNeeded() | int | Returns the amount of heated coolant that is needed to fill the tank. | 30 | | getHeatedCoolantFilledPercentage() | int | Returns the amount of the heated coolant in percent. | 31 | | getWater() | int | Returns the amount of the water. | 32 | | getWaterCapacity() | int | Returns the capacity of the water. | 33 | | getWaterNeeded() | int | Returns the amount of water that is needed to fill the tank. | 34 | | getWaterFilledPercentage() | int | Returns the amount of the water in percent. | 35 | | getSteam() | int | Returns the stored amount of the water. | 36 | | getSteamCapacity() | int | Returns the capacity of the steam. | 37 | | getSteamNeeded() | int | Returns the amount of steam that is needed to fill the tank. | 38 | | getSteamFilledPercentage() | int | Returns the amount of the steam in percent. | 39 | | getEnvironmentalLoss() | int | Returns the environmental loss. | 40 | | getTemperature() | int | Returns the temperature of the reactor. | 41 | | getBoilRate() | int | Returns the boil rate. | 42 | | getMaxBoilRate() | int | Returns the max boil rate. | 43 | | getSuperheaters() | int | Returns the amount of superheating elements. | 44 | | getBoilCapacity() | int | Returns the capacity of the boiler. | 45 | 46 | ##Changelog/Trivia 47 | 48 | 0.6b 49 | Added integration for Mekanism 50 | -------------------------------------------------------------------------------- /docs/integrations/mekanism/chemical.md: -------------------------------------------------------------------------------- 1 |

Go Back

2 | 3 | # Chemical Tank 4 | 5 | !!! picture inline end 6 | ![Header](https://intelligence-modding.de/wp-content/uploads/2021/06/Ultimate-Chemical-Tank.png){ align=right } 7 | Mod: Mekanism

8 | Block: Chemical Tank 9 | [Chemical Tanks](https://wiki.aidancbrady.com/wiki/Chemical_Tanks) are used to store Gases. They can be placed as a block and can interact with Pressurized Tubes. They come in the four tiers, each tier being double the capacity and output rate of its predecessor. It can store the following gases: 10 | 11 |

12 |

13 |

14 | 15 | !!! info 16 | The functions which returns a value in percent, will return a number between 1-0. (50% would be 0.5) 17 | 18 | ##Functions 19 | | Function | Returns | Description | 20 | |----------|---------|-------------| 21 | | getStored() | table | Returns the type and the amount of the chemical. | 22 | | getCapacity() | int | Returns the capacity. | 23 | | getFilledPercentage() | int | Returns the amount of the stored chemical in percent. | 24 | | getNeeded() | int | Returns the amount of chemicals that is needed to fill the tank. | 25 | 26 | ##Changelog/Trivia 27 | 28 | 0.6.6b 29 | Added integration for the chemical tank 30 | -------------------------------------------------------------------------------- /docs/integrations/mekanism/digital_miner.md: -------------------------------------------------------------------------------- 1 |

Go Back

2 | 3 | # Digital Miner 4 | 5 | !!! picture inline end 6 | ![Header](https://intelligence-modding.de/wp-content/uploads/2021/05/Digital-Miner.png){ align=right } 7 | Mod: Mekanism

8 | Block: Digital Miner 9 | The [Digital Miner](https://wiki.aidancbrady.com/wiki/Digital_Miner) is the scale mining machine of Mekanism. However, this machine is like no other as it "magically-teleports" mined blocks to its inventory. 10 | 11 |

12 |

13 |

14 |

15 |

16 |

17 | 18 | !!! info 19 | Energy functions will always return in FE. If you want it in joules, multiply the value with 2.5 20 | 21 | The functions which returns a value in percent, will return a number between 1-0. (50% would be 0.5) 22 | 23 | ##Functions 24 | | Function | Returns | Description | 25 | |----------|---------|-------------| 26 | | getDelay() | int | Returns the delay between two mining operations. | 27 | | getRadius() | int | Returns the radius. | 28 | | setRadius(int radius) | | Set the radius. | 29 | | getMinY() | int | Returns the minium mining high. | 30 | | setMinY(int high) | | Set the minium mining high. | 31 | | getMaxY() | int | Returns the maximum mining high. | 32 | | setMaxY(int high) | | Set the maximum mining high. | 33 | | toggleSilkTouch() | | Toggles the silk touch mode. | 34 | | toggleInverse() | | Toggles the inverse mode. | 35 | | toggleAutoEject() | | Toggles the auto eject mode. | 36 | | toggleAutoPull() | | Toggles the auto pull mode. | 37 | | start() | | Starts the miner. | 38 | | stop() | | Stops the miner. | 39 | | reset() | | Resets the miner. | 40 | | getTotalEnergyFilledPercentage() | int | Returns the amount of the energy in percent. | 41 | 42 | ##Changelog/Trivia 43 | 44 | 0.6.5b 45 | Added the digital miner integration 46 | -------------------------------------------------------------------------------- /docs/integrations/mekanism/dynamic_tank.md: -------------------------------------------------------------------------------- 1 |

Go Back

2 | 3 | # Dynamic Tank 4 | 5 | !!! picture inline end 6 | ![Header](https://intelligence-modding.de/wp-content/uploads/2021/10/mekanism_dynamic_valve.png){ align=right } 7 | Mod: Mekanism

8 | Block: Dynamic Tank Valve 9 | The [Dynamic tank](https://wiki.aidancbrady.com/wiki/Dynamic_Tank) is a multiblock structure from mekanism to store fluids, gases and more. 10 | 11 |

12 |

13 |

14 | 15 | !!! info 16 | Energy functions will always return in FE. If you want it in joules, multiply the value with 2.5 17 | 18 | The functions which returns a value in percent, will return a number between 1-0. (50% would be 0.5) 19 | 20 | ##Functions 21 | | Function | Returns | Description | 22 | |----------|---------|-------------| 23 | | getStored() | table | Returns a table with the amount, the name of the stored type and the current type(fluid, gas, ...). | 24 | | getCapacity() | int | Returns the capacity of the tank. | 25 | | getFilledPercentage | int | Returns the amount in percent. | 26 | | getNeeded() | int | Returns the amount that is needed to fill the tank. | 27 | | isEmpty() | boolean | Returns true if the tank is empty. | 28 | 29 | 30 | ##Changelog/Trivia 31 | 32 | 0.7.3r 33 | Added dynamic tank integration 34 | 35 | 0.6b 36 | Added integration for Mekanism 37 | -------------------------------------------------------------------------------- /docs/integrations/mekanism/fission.md: -------------------------------------------------------------------------------- 1 |

Go Back

2 | 3 | # Fission Reactor 4 | 5 | !!! picture inline end 6 | ![Header](https://intelligence-modding.de/wp-content/uploads/2021/05/Fission-Reactor-Logic-Adapter.png){ align=right } 7 | Mod: Mekanism

8 | Block: Fission Reactor Logic Adapter 9 | The [Fission Reactor](https://wiki.aidancbrady.com/wiki/Fission_Reactor) is a reactor from Mekanism. 10 | 11 |

12 |

13 |

14 | 15 | !!! info 16 | Energy functions will always return in FE. If you want it in joules, multiply the value with 2.5 17 | 18 | The functions which returns a value in percent, will return a number between 1-0. (50% would be 0.5) 19 | 20 | ##Functions 21 | | Function | Returns | Description | 22 | |----------|---------|-------------| 23 | | getCoolant() | table | Returns the type of coolant and the amount. | 24 | | getCoolantCapacity() | int | Returns capacity of the coolant tank. | 25 | | getCoolantNeeded() | int | Returns the coolant that is needed the tank is full. | 26 | | getCoolantFilledPercentage() | int | Returns the amount of the coolant in percent. | 27 | | getHeatedCoolant() | table | Returns the type of heated coolant and the amount. | 28 | | getHeatedCoolantCapacity() | int | Returns capacity of the heated coolant tank. | 29 | | getHeatedCoolantNeeded() | int | Returns the amount of heated coolant that is needed to fill the tank. | 30 | | getHeatedCoolantFilledPercentage() | int | Returns the amount of the heated coolant in percent. | 31 | | getFuel() | int | Returns the amount of fuel. | 32 | | getFuelCapacity() | int | Returns capacity of the fuel tank. | 33 | | getFuelNeeded() | int | Returns the amount of fuel that is needed to fill the tank. | 34 | | getFuelFilledPercentage() | int | Returns the amount of the fuel in percent. | 35 | | getWaste() | int | Returns the amount of waste. | 36 | | getWasteCapacity() | int | Returns capacity of the waste tank. | 37 | | getWasteNeeded() | int | Returns the waste that is needed to fill the tank. | 38 | | getWasteFilledPercentage() | int | Returns the amount of the waste in percent. | 39 | | getStatus() | booleans | Returns true if the reactor is active false if not. | 40 | | scram() | | Deactivates the reactor. | 41 | | activate() | | Activates the reactor. | 42 | | getBurnRate() | int | Returns the burn rate of the reactor that is set. | 43 | | setBurnRate(int rate) | | Set the burn rate. | 44 | | getActualBurnRate() | int | Actual burn rate as it may be lower if say there is not enough fuel . | 45 | | getMaxBurnRate() | int | Returns the max burn rate. | 46 | | getDamagePercent() | int | Returns the damage in percent. | 47 | | getHeatingRate() | int | Returns the heating rate. | 48 | | getEnvironmentalLoss() | int | Returns the environmental loss. | 49 | | getTemperature() | int | Returns the temperature of the reactor. | 50 | | getHeatCapacity() | int | Returns the max temperature. | 51 | | getFuelAssemblies() | int | Returns the amount of fuel assemblies. | 52 | | getFuelSurfaceArea() | int | Returns the surface area of the fuel. | 53 | | getBoilEfficiency() | int | | 54 | | getActualBurnRate() | int | Actual burn rate as it may be lower if say there is not enough fuel . | 55 | | getMaxBurnRate() | int | Returns the max burn rate. | 56 | | getDamagePercent() | int | Returns the damage in percent. | 57 | | getHeatingRate() | int | Returns the heating rate. | 58 | | getEnvironmentalLoss() | int | Returns the environmental loss. | getTemperature 59 | 60 | ##Changelog/Trivia 61 | 62 | 0.6b 63 | Added integration for Mekanism 64 | -------------------------------------------------------------------------------- /docs/integrations/mekanism/fluid_tank.md: -------------------------------------------------------------------------------- 1 |

Go Back

2 | 3 | # Fluid Tank 4 | 5 | !!! picture inline end 6 | ![Header](https://intelligence-modding.de/wp-content/uploads/2021/10/mekanism_creative_fluid_tank_29.png){ align=right } 7 | Mod: Mekanism

8 | Block: Fluid Tanks 9 | [Fluid Tanks](https://wiki.aidancbrady.com/wiki/Fluid_Tanks) are tanks from mekanism to store fluids, obviously. 10 | 11 |

12 |

13 |

14 | 15 | !!! info 16 | Energy functions will always return in FE. If you want it in joules, multiply the value with 2.5 17 | 18 | The functions which returns a value in percent, will return a number between 1-0. (50% would be 0.5) 19 | 20 | ##Functions 21 | | Function | Returns | Description | 22 | |----------|---------|-------------| 23 | | getStored() | table | Returns a table with the amount and the name of the stored type. | 24 | | getTier() | string | Returns the tier of the tank(Basic, Advanced, ...). | 25 | | getCapacity() | int | Returns the capacity of the tank. | 26 | | getFilledPercentage | int | Returns the amount in percent. | 27 | | getNeeded() | int | Returns the amount that is needed to fill the tank. | 28 | 29 | ##Changelog/Trivia 30 | 31 | 0.7.2r 32 | Added fluid tank integration 33 | 34 | 0.6b 35 | Added integration for Mekanism 36 | -------------------------------------------------------------------------------- /docs/integrations/mekanism/fusion.md: -------------------------------------------------------------------------------- 1 |

Go Back

2 | 3 | # Fusion Reactor 4 | 5 | !!! picture inline end 6 | ![Header](https://intelligence-modding.de/wp-content/uploads/2021/05/Fusion-Reactor-Logic-Adapter.png){ align=right } 7 | Mod: Mekanism

8 | Block: Fusion Reactor Logic Adapter 9 | The [Fusion Reactor](https://wiki.aidancbrady.com/wiki/Fusion_Reactor) is a reactor from Mekanism. 10 | 11 |

12 |

13 |

14 | 15 | !!! info 16 | Energy functions will always return in FE. If you want it in joules, multiply the value with 2.5 17 | 18 | The functions which returns a value in percent, will return a number between 1-0. (50% would be 0.5) 19 | 20 | ##Functions 21 | | Function | Returns | Description | 22 | |----------|---------|-------------| 23 | | getHohlraum() | table | Returns the item stack of the hohlraum. | 24 | | getPlasmaTemperature() | int | Returns the temperature of the plasma. | 25 | | getCaseTemperature() | int | Returns the temperature of the case. | 26 | | getWater() | int | Returns the amount of the water. | 27 | | getWaterCapacity() | int | Returns the capacity of the water. | 28 | | getWaterNeeded() | int | Returns the amount of water that is needed to fill the tank. | 29 | | getWaterFilledPercentage() | int | Returns the amount of the water in percent. | 30 | | getSteam() | int | Returns the stored amount of the water. | 31 | | getSteamCapacity() | int | Returns the capacity of the steam. | 32 | | getSteamNeeded() | int | Returns the amount of steam that is needed to fill the tank. | 33 | | getSteamFilledPercentage() | int | Returns the amount of the steam in percent. | 34 | | getTritium() | int | Returns the amount of the tritium. | 35 | | getTritiumCapacity() | int | Returns the capacity of the tritium. | 36 | | getTritiumNeeded() | int | Returns the amount of tritium that is needed to fill the tank. | 37 | | getTritiumFilledPercentage() | int | Returns the amount of the tritium in percent. | 38 | | getDeuterium() | int | Returns the stored amount of the deuterium. | 39 | | getDeuteriumCapacity() | int | Returns the capacity of the deuterium. | 40 | | getDeuteriumNeeded() | int | Returns the amount of deuterium that is needed to fill the tank. | 41 | | getDeuteriumFilledPercentage() | int | Returns the amount of the deuterium in percent. | 42 | | getDTFuel() | int | Returns the stored amount of the dt-fuel. | 43 | | getDTFuelCapacity() | int | Returns the capacity of the dt-fuel. | 44 | | getDTFuelNeeded() | int | Returns the amount of dt-fuel that is needed to fill the tank. | 45 | | getDTFuelFilledPercentage() | int | Returns the amount of the dt-fuel in percent. | 46 | | getProduction() | int | Returns the energy production. | 47 | | getInjectionRate() | int | Returns the injection rate. | 48 | | setInjectionRate(int rate) | | Set the injection rate. | 49 | | getPassiveGeneration(boolean isWaterCooled) | int | Returns the passive generation. | 50 | 51 | ##Changelog/Trivia 52 | 53 | 0.6b 54 | Added integration for Mekanism 55 | -------------------------------------------------------------------------------- /docs/integrations/mekanism/generic.md: -------------------------------------------------------------------------------- 1 |

Go Back

2 | 3 | # Generic Mekanism Machine 4 | 5 | !!! picture inline end 6 | ![Header](https://intelligence-modding.de/wp-content/uploads/2021/05/Steel-Casing.png){ align=right } 7 | Mod: Mekanism

8 | Block: Any energy supporting block 9 | This proxy integration will add a integration for every energy supporting machine from Mekanism. 10 | 11 |

12 |

13 |

14 | 15 | !!! info 16 | Energy functions will always return in FE. If you want it in joules, multiply the value with 2.5 17 | 18 | The functions which returns a value in percent, will return a number between 1-0. (50% would be 0.5) 19 | 20 | ##Functions 21 | | Function | Returns | Description | 22 | |----------|---------|-------------| 23 | | getTotalEnergy() | int | Returns the amount of stored energy. | 24 | | getTotalEnergyNeeded() | int | Returns the amount of energy that is needed to fill the block. | 25 | | getTotalEnergyFilledPercentage() | int | Returns the amount of the energy in percent. | 26 | | getTotalMaxEnergy() | int | Returns the capacity of the machine. | 27 | 28 | ##Changelog/Trivia 29 | 30 | 0.6b 31 | Added integration for Mekanism 32 | -------------------------------------------------------------------------------- /docs/integrations/mekanism/index.md: -------------------------------------------------------------------------------- 1 | # Mekanism 2 | 3 | !!! danger "Only available in versions =>1.16-0.6b, <1.16-0.7.7r" 4 | 5 | The Mekanism integration was removed from the mod due to mekanism adding CC:Tweaked support internally. Hence the documentation for the mod's integrations have been excluded from the side navigation. 6 | For updated documentation on mekanism integration see the [Mekanism wiki](https://mekanism.github.io). 7 | If needed the old docs can still be accessed using the links below: 8 | 9 | ## Docs 10 | 11 | - [Boiler Valve](./boiler.md) 12 | - [Induction Valve](./induction.md) 13 | - [Chemical Tank](./chemical.md) 14 | - [Dynamic Tank](./dynamic_tank.md) 15 | - [Fluid Tank](./fluid_tank.md) 16 | - [Digital Miner](./digital_miner.md) 17 | - [Fission](./fission.md) 18 | - [Fusion](./fusion.md) 19 | - [Solar Evaporation](./solar_evaporation.md) 20 | - [Transmitter](./transmitter.md) 21 | - [Turbine](./turbine.md) 22 | - [Waste Barrel](./waste_barrel.md) 23 | - [Energy Blocks](./generic.md) 24 | 25 | --- 26 | 27 | ## Changelog/Trivia 28 | 29 | **0.7.7r** 30 | Removed Mekanism integration 31 | 32 | **0.6b** 33 | Added integration for Mekanism -------------------------------------------------------------------------------- /docs/integrations/mekanism/induction.md: -------------------------------------------------------------------------------- 1 |

Go Back

2 | 3 | # Induction Matrix 4 | 5 | !!! picture inline end 6 | ![Header](https://intelligence-modding.de/wp-content/uploads/2021/05/Induction-Port.png){ align=right } 7 | Mod: Mekanism

8 | Block: Induction Valve 9 | The [Induction Matrix](https://wiki.aidancbrady.com/wiki/Induction_Matrix) is a multiblock structure from mekanism made to store large amounts of energy. 10 | 11 |

12 |

13 |

14 | 15 | !!! info 16 | Energy functions will always return in FE. If you want it in joules, multiply the value with 2.5 17 | 18 | The functions which returns a value in percent, will return a number between 1-0. (50% would be 0.5) 19 | 20 | ##Functions 21 | | Function | Returns | Description | 22 | |----------|---------|-------------| 23 | | getEnergy() | int | Returns the amount of stored energy. | 24 | | getLastInput() | int | Returns the input rate per tick. | 25 | | getLastOutput() | int | Returns the output rate per tick. | 26 | | getEnergyNeeded() | int | Returns the amount of energy that is needed to fill the matrix. | 27 | | getEnergyFilledPercentage() | int | Returns the amount of the energy in percent. | 28 | | getTransferCap() | table | Returns the max transfer rate per tick. This is defined by the amount of [induction providers](https://wiki.aidancbrady.com/wiki/Induction_Providers) | 29 | | getInstalledCells() | int | Returns the amount of the installed [induction cells](https://wiki.aidancbrady.com/wiki/Induction_Cells). | 30 | | getInstalledProviders() | int | Returns the amount of the installed induction providers. | 31 | | getMaxEnergy() | int | Returns the capacity of the induction matrix. | 32 | 33 | ##Changelog/Trivia 34 | 35 | 0.6b 36 | Added integration for Mekanism 37 | -------------------------------------------------------------------------------- /docs/integrations/mekanism/solar_evaporation.md: -------------------------------------------------------------------------------- 1 |

Go Back

2 | 3 | # Solar Evaporation Plant 4 | 5 | !!! picture inline end 6 | ![Header](https://intelligence-modding.de/wp-content/uploads/2021/10/mekanism_thermal_evaporation_valve.png){ align=right } 7 | Mod: Mekanism

8 | Block: Thermal Evaporation Valve 9 | A [Solar Evaporation Plant](https://wiki.aidancbrady.com/wiki/Thermal_Evaporation_Plant) is a multiblock structure from mekanism to create brine or lithium. 10 | 11 |

12 |

13 |

14 | 15 | !!! info 16 | Energy functions will always return in FE. If you want it in joules, multiply the value with 2.5 17 | 18 | The functions which returns a value in percent, will return a number between 1-0. (50% would be 0.5) 19 | 20 | ##Functions 21 | | Function | Returns | Description | 22 | |----------|---------|-------------| 23 | | getInputTank() | table | Returns the name and the amount of the stored fluid of the input tank(left). | 24 | | getInputTank() | table | Returns the name and the amount of the stored fluid of the output tank(right). | 25 | | getHeat() | int | Returns the amount heat. | 26 | | getHeight() | int | Returns the height of the tower. | 27 | | getProduction() | int | Returns the production rate of the tower. | 28 | 29 | 30 | ##Changelog/Trivia 31 | 32 | 0.7.1r 33 | Added evaporation tower integration 34 | 35 | 0.6b 36 | Added integration for Mekanism 37 | -------------------------------------------------------------------------------- /docs/integrations/mekanism/transmitter.md: -------------------------------------------------------------------------------- 1 |

Go Back

2 | 3 | # Transmitters 4 | 5 | !!! picture inline end 6 | ![Header](https://intelligence-modding.de/wp-content/uploads/2021/12/ezgif-2-08f84c976683.gif){ align=right } 7 | Mod: Mekanism

8 | Block: Any transmitter. See full list below 9 | Transmitters from mekanism are blocks which can transport various types of things like gases, fluids, energy or more. 10 | 11 |

12 |

13 |

14 | 15 | !!! info 16 | Energy functions will always return in FE. If you want it in joules, multiply the value with 2.5 17 | 18 | The functions which returns a value in percent, will return a number between 1-0. (50% would be 0.5) 19 | 20 | ### Supported transmitters 21 | Supporte transmitters are 22 | 23 | - Universal Cable 24 | - Thermodynamic Conductor 25 | - Pressurized Tube 26 | - Mechanical Pipe 27 | - Logistical Transporter 28 | 29 | ##Functions 30 | 31 | Functions for every transmitter 32 | 33 | | Function | Returns | Description | 34 | |----------|---------|-------------| 35 | | getTransmitters | int | Returns the amount of transmitters. (Amount of cables) | 36 | | getAcceptors | int | Returns the amount of acceptors. (Amount of cables which are connected) | 37 | | getThroughput | int | Returns how much the cable can transfer at ones.(Use `getPull()` for the logistical transporter) | 38 | | getTier | string | Returns the tier of the transporter. (Basic to ultimate) | 39 | | getCapacity | int | Returns the capacity of the cable. (Not available for: logistical transporter) | 40 | | getStored | int | Returns the amount of stored things in the cable. (Not available for: logistical transporter) | 41 | | getNetworkCapacity | int | Returns the capacity of the network. (Not available for: logistical transporter, thermodynamic conductor) | 42 | | getNetworkStored | int | Returns the amount of stored things in the network. (Not available for: logistical transporter, thermodynamic conductor) | 43 | 44 | ### Logistical Transporter 45 | 46 | | Function | Returns | Description | 47 | |----------|---------|-------------| 48 | | getBaseSpeed | int | Returns the base speed(blocks per second) of the transmitter. | 49 | | getBasePull | int | Returns the base pull speed(items per second) of the transmitter. | 50 | | getSpeed | int | Returns the base speed (blocks per second) of the transmitter based on the configuration. | 51 | | getPull | int | Returns the base pull speed(items per second) of the transmitter based on the configuration. | 52 | 53 | ##Changelog/Trivia 54 | 55 | 0.7.6r 56 | Added transmitter integration 57 | 58 | 0.6b 59 | Added integration for Mekanism 60 | -------------------------------------------------------------------------------- /docs/integrations/mekanism/turbine.md: -------------------------------------------------------------------------------- 1 |

Go Back

2 | 3 | # Industrial Turbine 4 | 5 | !!! picture inline end 6 | ![Header](https://intelligence-modding.de/wp-content/uploads/2021/05/Turbine-Valve.png){ align=right } 7 | Mod: Mekanism

8 | Block: Turbine Valve 9 | The [Industrial Turbine](https://wiki.aidancbrady.com/wiki/Industrial_Turbine) is a multiblock structure from mekanism to generate energy with steam. 10 | 11 |

12 |

13 |

14 | 15 | !!! info 16 | Energy functions will always return in FE. If you want it in joules, multiply the value with 2.5 17 | 18 | The functions which returns a value in percent, will return a number between 1-0. (50% would be 0.5) 19 | 20 | ##Functions 21 | | Function | Returns | Description | 22 | |----------|---------|-------------| 23 | | getSteam() | int | Returns the stored amount of the water. | 24 | | getSteamCapacity() | int | Returns the capacity of the steam. | 25 | | getSteamNeeded() | int | Returns the amount of steam that is needed to fill the tank. | 26 | | getSteamFilledPercentage() | int | Returns the amount of the steam in percent. | 27 | | getLastSteamInputRate() | int | Returns the amount of steam that is imported to the turbine. | 28 | | getDumpingMode() | string | Returns the gas dumping mode. | 29 | | getProductionRate() | int | Returns the energy production per tick. | 30 | | getMaxProduction() | int | Returns the max possible energy production per tic. | 31 | | getFlowRate() | int | Returns the current flow rate per tick. | 32 | | getMaxFlowRate() | int | Returns the current max possible flow rate per tick. | 33 | | getMaxWaterOutput() | int | Returns the max possible water output. | 34 | | getDispersers() | int | Returns the amount of dispersers. | 35 | | getVents() | int | Returns the amount of vents. | 36 | | getBlades() | int | Returns the amount of blades. | 37 | | getCoils() | int | Returns the amount of coils. | 38 | | getCondensers() | int | Returns the amount of condensers. | 39 | 40 | ##Changelog/Trivia 41 | 42 | 0.6b 43 | Added integration for Mekanism 44 | -------------------------------------------------------------------------------- /docs/integrations/mekanism/waste_barrel.md: -------------------------------------------------------------------------------- 1 |

Go Back

2 | 3 | # Waste Barrel 4 | 5 | !!! picture inline end 6 | ![Header](https://intelligence-modding.de/wp-content/uploads/2021/10/mekanism_radioactive_waste_barrel.png){ align=right } 7 | Mod: Mekanism

8 | Block: Waste Barrel 9 | [Waste Barrels](https://wiki.aidancbrady.com/wiki/Radioactive_Waste_Barrel) are blocks from mekanism to store nuclear waste. 10 | 11 |

12 |

13 |

14 | 15 | !!! info 16 | Energy functions will always return in FE. If you want it in joules, multiply the value with 2.5 17 | 18 | The functions which returns a value in percent, will return a number between 1-0. (50% would be 0.5) 19 | 20 | ##Functions 21 | | Function | Returns | Description | 22 | |----------|---------|-------------| 23 | | getStored() | int | Returns the amount of stored waste. | 24 | | getCapacity() | string | Returns the capacity of the barrel. | 25 | | getFilledPercentage | int | Returns the amount of waste in percent. | 26 | 27 | ##Changelog/Trivia 28 | 29 | 0.7.2r 30 | Added waste barrel integration 31 | 32 | 0.6b 33 | Added integration for Mekanism 34 | -------------------------------------------------------------------------------- /docs/integrations/minecraft/beacon.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Beacon 6 | 7 | !!! picture inline end 8 | ![!Image of the Beacon block](../img/previews/beacon.png){ align=right } 9 | 10 | A [Beacon](https://minecraft.fandom.com/wiki/Beacon) is a block that projects a light beam skyward and can provide status effects such as Speed, Jump Boost, Haste, Regeneration, Resistance, or Strength to nearby players. 11 | 12 |

13 | 14 | --- 15 | 16 |
17 | 18 | | Peripheral Name | Interfaces with | Has events | Introduced in | 19 | | --------------- | --------------- | ---------- | ------------- | 20 | | beacon | Beacon block | No | 0.6b | 21 | 22 |
23 | 24 | --- 25 | 26 | ## Functions 27 | 28 | ### getLevel 29 | ``` 30 | getLevel() -> number 31 | ``` 32 | Returns the level of the Beacon. 33 | 34 | --- 35 | 36 | ### getPrimaryEffect 37 | ``` 38 | getPrimaryEffect() -> string 39 | ``` 40 | Returns the registry name of the beacon's primary effect. 41 | 42 | --- 43 | 44 | ### getSecondaryEffect 45 | ``` 46 | getSecondaryEffect() -> string 47 | ``` 48 | Returns the registry name of the beacon's secondary effect. 49 | 50 | --- 51 | 52 | ## Changelog/Trivia 53 | 54 | **0.6b** 55 | Added integration for Minecraft 56 | -------------------------------------------------------------------------------- /docs/integrations/minecraft/noteblock.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Note Block 6 | 7 | !!! picture inline end 8 | ![!Image of the Noteblock block](../img/previews/noteblock.png){ align=right } 9 | 10 | A [Note Block](https://minecraft.fandom.com/wiki/Note_Block) is a musical block that emits sounds when punched or powered with redstone. 11 | 12 |

13 | 14 | --- 15 | 16 |
17 | 18 | | Peripheral Name | Interfaces with | Has events | Introduced in | 19 | | --------------- | --------------- | ---------- | ------------- | 20 | | noteBlock | Note Block | No | 0.7.4r | 21 | 22 |
23 | 24 | --- 25 | 26 | ## Functions 27 | 28 | ### playNote 29 | ``` 30 | playNote() -> void 31 | ``` 32 | Plays the Note Block's current note sound. 33 | 34 | --- 35 | 36 | ### getNote 37 | ``` 38 | getNote() -> number 39 | ``` 40 | Returns the index for the Note Block's current note. A number from 0 to 24. 41 | 42 | --- 43 | 44 | ### changeNoteBy 45 | ``` 46 | changeNoteBy(note: number) -> number 47 | ``` 48 | Changes the Note Block's note to the given `note`. `note` must be a number from 0 to 24. 49 | Returns the `note` if successful or -1 if not successful. 50 | 51 | --- 52 | 53 | ### changeNote 54 | ``` 55 | changeNote() -> number 56 | ``` 57 | Increments the Note Block's note to the next available note. 58 | Returns the new note if successful or -1 if not successful. 59 | 60 | --- 61 | 62 | ## Changelog/Trivia 63 | 64 | **0.7.4r** 65 | Added the Note Block integration 66 | 67 | **0.6b** 68 | Added integration for Minecraft 69 | -------------------------------------------------------------------------------- /docs/integrations/powah/ender_cell.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Ender Cell 6 | 7 | !!! danger "Only available in version 1.19.2" 8 | 9 | The Ender Cell is a block from Powah to receive, store, and send energy on specific channels of the owner. You can access the energy from anywhere. 10 | 11 | !!! warning "Requirement" 12 | Requires the [Powah](https://www.curseforge.com/minecraft/mc-mods/powah-rearchitected) mod to be installed 13 | 14 |

15 | 16 | --- 17 | 18 |
19 | 20 | | Peripheral Name | Interfaces with | Has events | Introduced in | 21 | | ----------------- | ----------------------------------- | ---------- | ------------- | 22 | | enderCell | Every Ender Cell block (all tiers) | No | N/A | 23 | 24 |
25 | 26 | --- 27 | 28 | ## Functions 29 | 30 | ### getName 31 | ``` 32 | getName() -> string 33 | ``` 34 | Returns the name of the peripheral 35 | 36 | --- 37 | 38 | ### getEnergy 39 | ``` 40 | getEnergy() -> number 41 | ``` 42 | Returns the quantity of stored energy inside the cell. 43 | 44 | --- 45 | 46 | ### getMaxEnergy 47 | ``` 48 | getMaxEnergy() -> number 49 | ``` 50 | Returns the maximum quantity of storable energy inside the cell. 51 | 52 | --- 53 | 54 | ### getChannel() 55 | ``` 56 | getChannel() -> number 57 | ``` 58 | Returns the channel the Ender Cell is set to. A number from 1 to `getMaxChannels()`. 59 | 60 | --- 61 | 62 | ### getMaxChannels() 63 | ``` 64 | getMaxChannels() -> number 65 | ``` 66 | Returns the maximum number of channels of the Ender Cell set in the Powah config file. 67 | 68 | --- 69 | 70 | ### setChannel() 71 | ``` 72 | setChannel(channel: number) -> void 73 | ``` 74 | Sets the channel of the Ender cell to `channel`. `channel` must be a number between 1 to `getMaxChannels()`. Does not change the channel if `channel` is invalid. 75 | 76 | --- 77 | 78 | 79 | ## Changelog/Trivia 80 | 81 | **1.19.2-0.X.XX.X** 82 | Added integration for Powah's Ender Cell 83 | -------------------------------------------------------------------------------- /docs/integrations/powah/energy_cell.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Energy Cell 6 | 7 | !!! danger "Only available in version 1.19.2" 8 | 9 | The Energy Cell is a block from Powah to receive, store and send energy. 10 | 11 | !!! warning "Requirement" 12 | Requires the [Powah](https://www.curseforge.com/minecraft/mc-mods/powah-rearchitected) mod to be installed 13 | 14 |

15 | 16 | --- 17 | 18 |
19 | 20 | | Peripheral Name | Interfaces with | Has events | Introduced in | 21 | | ----------------- | ----------------------------------- | ---------- | ------------- | 22 | | energyCell | Every energy cell block (all tiers) | No | N/A | 23 | 24 |
25 | 26 | --- 27 | 28 | ## Functions 29 | 30 | ### getName 31 | ``` 32 | getName() -> string 33 | ``` 34 | Returns the name of the peripheral 35 | 36 | --- 37 | 38 | ### getEnergy 39 | ``` 40 | getEnergy() -> number 41 | ``` 42 | Returns the quantity of stored energy inside the cell. 43 | 44 | --- 45 | 46 | ### getMaxEnergy 47 | ``` 48 | getMaxEnergy() -> number 49 | ``` 50 | Returns the maximum quantity of storable energy inside the cell. 51 | 52 | --- 53 | 54 | 55 | ## Changelog/Trivia 56 | 57 | **1.19.2-0.7.26.r** 58 | Added integration for Powah 59 | -------------------------------------------------------------------------------- /docs/integrations/powah/furnator.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Furnator 6 | 7 | !!! danger "Only available in version 1.19.2" 8 | 9 | The Furnator is a block from Powah to generate power given a fuel source. 10 | 11 | !!! warning "Requirement" 12 | Requires the [Powah](https://www.curseforge.com/minecraft/mc-mods/powah-rearchitected) mod to be installed 13 | 14 |

15 | 16 | --- 17 | 18 |
19 | 20 | | Peripheral Name | Interfaces with | Has events | Introduced in | 21 | | ----------------- | ----------------------------------- | ---------- | ------------- | 22 | | furnator | Every furnator block (all tiers) | No | N/A | 23 | 24 |
25 | 26 | --- 27 | 28 | ## Functions 29 | 30 | ### getName 31 | ``` 32 | getName() -> string 33 | ``` 34 | Returns the name of the peripheral 35 | 36 | --- 37 | 38 | ### getEnergy 39 | ``` 40 | getEnergy() -> number 41 | ``` 42 | Returns the quantity of stored energy inside the Furnator. 43 | 44 | --- 45 | 46 | ### getMaxEnergy 47 | ``` 48 | getMaxEnergy() -> number 49 | ``` 50 | Returns the maximum quantity of storable energy inside the Furnator. 51 | 52 | --- 53 | 54 | ### isBurning 55 | ``` 56 | isBurning() -> boolean 57 | ``` 58 | Returns true if the Furnator is currently burning (generating energy from a fuel source). 59 | 60 | --- 61 | 62 | ### getCarbon 63 | ``` 64 | getCarbon() -> number 65 | ``` 66 | Returns the percentage of stored carbon (fuel) inside the Furnator. 67 | 68 | --- 69 | 70 | ### getInventory 71 | ``` 72 | getInventory() -> table 73 | ``` 74 | Returns a table containing the ItemStack infos of the item inside the Furnator. 75 | 76 | --- 77 | 78 | ## Changelog/Trivia 79 | 80 | **1.19.2-0.7.26.r** 81 | Added integration for Powah 82 | -------------------------------------------------------------------------------- /docs/integrations/powah/magmator.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Magmator 6 | 7 | !!! danger "Only available in version 1.19.2" 8 | 9 | 10 | The Magmator is a block from Powah to generate power from a fluid heat source (lava) 11 | 12 | !!! warning "Requirement" 13 | Requires the [Powah](https://www.curseforge.com/minecraft/mc-mods/powah-rearchitected) mod to be installed 14 | 15 |

16 | 17 | --- 18 | 19 |
20 | 21 | | Peripheral Name | Interfaces with | Has events | Introduced in | 22 | | ----------------- | ----------------------------------- | ---------- | ------------- | 23 | | magmator | Every magmator block (all tiers) | No | N/A | 24 | 25 |
26 | 27 | --- 28 | 29 | ## Functions 30 | 31 | ### getName 32 | ``` 33 | getName() -> string 34 | ``` 35 | Returns the name of the peripheral 36 | 37 | --- 38 | 39 | ### getEnergy 40 | ``` 41 | getEnergy() -> number 42 | ``` 43 | Returns the quantity of stored energy inside the Magmator. 44 | 45 | --- 46 | 47 | ### getMaxEnergy 48 | ``` 49 | getMaxEnergy() -> number 50 | ``` 51 | Returns the maximum quantity of storable energy inside the Magmator. 52 | 53 | --- 54 | 55 | ### isBurning 56 | ``` 57 | isBurning() -> boolean 58 | ``` 59 | Returns true if the Magmator is currently burning (generating energy from the fluid heat source). 60 | 61 | --- 62 | 63 | ### getTankCapacity 64 | ``` 65 | getTankCapacity() -> number 66 | ``` 67 | Returns the overall capacity of the Magmator tank. 68 | 69 | --- 70 | 71 | ### getFluidInTank 72 | ``` 73 | getFluidInTank() -> number 74 | ``` 75 | Returns the stored volume (mb) of fluid inside the Magmator tank. 76 | 77 | --- 78 | 79 | ## Changelog/Trivia 80 | 81 | **1.19.2-0.7.26.r** 82 | Added integration for Powah 83 | -------------------------------------------------------------------------------- /docs/integrations/powah/reactor.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Reactor 6 | 7 | !!! danger "Only available in version 1.19.2" 8 | 9 | The Reactor is a block from Powah to generate power from uraninite. 10 | 11 | !!! warning "Requirement" 12 | Requires the [Powah](https://www.curseforge.com/minecraft/mc-mods/powah-rearchitected) mod to be installed 13 | 14 |

15 | 16 | --- 17 | 18 |
19 | 20 | | Peripheral Name | Interfaces with | Has events | Introduced in | 21 | | ----------------- | ---------------------------------------------- | ---------- | ------------- | 22 | | uraniniteReactor | Every reactor multiblock structure (all tiers) | No | N/A | 23 | 24 |
25 | 26 | --- 27 | 28 | ## Functions 29 | 30 | ### getName 31 | ``` 32 | getName() -> string 33 | ``` 34 | Returns the name of the peripheral 35 | 36 | --- 37 | 38 | ### getEnergy 39 | ``` 40 | getEnergy() -> number 41 | ``` 42 | Returns the quantity of stored energy inside the cell. 43 | 44 | --- 45 | 46 | ### getMaxEnergy 47 | ``` 48 | getMaxEnergy() -> number 49 | ``` 50 | Returns the maximum quantity of storable energy inside the Reactor. 51 | 52 | --- 53 | 54 | ### isRunning 55 | ``` 56 | isRunning() -> boolean 57 | ``` 58 | Returns true if the Reactor is currently running. 59 | 60 | --- 61 | 62 | ### getFuel 63 | ``` 64 | getFuel() -> number 65 | ``` 66 | Returns the stored quantity fuel in percentage. 67 | 68 | --- 69 | 70 | ### getCarbon 71 | ``` 72 | getCarbon() -> number 73 | ``` 74 | Returns the stored quantity of carbon in percentage. 75 | 76 | --- 77 | 78 | ### getRedstone 79 | ``` 80 | getRedstone() -> number 81 | ``` 82 | Returns the stored quantity of redstone in percentage. 83 | 84 | --- 85 | 86 | ### getTemperature 87 | ``` 88 | getTemperature() -> number 89 | ``` 90 | Returns the current temperature of the Reactor. 91 | 92 | --- 93 | 94 | ### getInventoryUraninite 95 | ``` 96 | getInventoryUraninite() -> table 97 | ``` 98 | Returns a table containing the ItemStack infos of the item inside the uraninite slot of the Reactor. 99 | 100 | --- 101 | 102 | 103 | ### getInventoryRedstone 104 | ``` 105 | getInventoryRedstone() -> table 106 | ``` 107 | Returns a table containing the ItemStack infos of the item inside the redstone slot of the Reactor. 108 | 109 | --- 110 | 111 | 112 | ### getInventoryCarbon 113 | ``` 114 | getInventoryCarbon() -> table 115 | ``` 116 | Returns a table containing the ItemStack infos of the item inside the carbon slot of the Reactor. 117 | 118 | --- 119 | 120 | 121 | 122 | ## Changelog/Trivia 123 | 124 | **1.19.2-0.7.26.r** 125 | Added integration for Powah 126 | -------------------------------------------------------------------------------- /docs/integrations/powah/solar_panel.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Solar Panel 6 | 7 | !!! danger "Only available in version 1.19.2" 8 | 9 | The Solar Panel is a block from Powah to generate power given direct exposure to the sky. 10 | 11 | !!! warning "Requirement" 12 | Requires the [Powah](https://www.curseforge.com/minecraft/mc-mods/powah-rearchitected) mod to be installed 13 | 14 |

15 | 16 | --- 17 | 18 |
19 | 20 | | Peripheral Name | Interfaces with | Has events | Introduced in | 21 | | ----------------- | ----------------------------------- | ---------- | ------------- | 22 | | solarPanel | Every solar panel block (all tiers) | No | N/A | 23 | 24 |
25 | 26 | --- 27 | 28 | ## Functions 29 | 30 | ### getName 31 | ``` 32 | getName() -> string 33 | ``` 34 | Returns the name of the peripheral 35 | 36 | --- 37 | 38 | ### getEnergy 39 | ``` 40 | getEnergy() -> number 41 | ``` 42 | Returns the quantity of stored energy inside the Solar Panel. 43 | 44 | --- 45 | 46 | ### getMaxEnergy 47 | ``` 48 | getMaxEnergy() -> number 49 | ``` 50 | Returns the maximum quantity of storable energy inside the Solar Panel. 51 | 52 | --- 53 | 54 | ### canSeeSky 55 | ``` 56 | canSeeSky() -> boolean 57 | ``` 58 | Returns true if the Solar Panel can directly see the sky without any block blocking inbetween. 59 | 60 | --- 61 | 62 | ## Changelog/Trivia 63 | 64 | **1.19.2-0.7.26.r** 65 | Added integration for Powah -------------------------------------------------------------------------------- /docs/integrations/powah/thermo_generator.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Thermo Generator 6 | 7 | !!! danger "Only available in version 1.19.2" 8 | 9 | 10 | The Thermo Generator is block from Powah to generate power from an appropriate heat source block beneath it (magma block, lava) 11 | 12 | !!! warning "Requirement" 13 | Requires the [Powah](https://www.curseforge.com/minecraft/mc-mods/powah-rearchitected) mod to be installed 14 | 15 |

16 | 17 | --- 18 | 19 |
20 | 21 | | Peripheral Name | Interfaces with | Has events | Introduced in | 22 | | ----------------- | ---------------------------------------- | ---------- | ------------- | 23 | | thermo | Every thermo generator block (all tiers) | No | N/A | 24 | 25 |
26 | 27 | --- 28 | 29 | ## Functions 30 | 31 | ### getName 32 | ``` 33 | getName() -> string 34 | ``` 35 | Returns the name of the peripheral 36 | 37 | --- 38 | 39 | ### getEnergy 40 | ``` 41 | getEnergy() -> number 42 | ``` 43 | Returns the quantity of stored energy inside the Thermo Generator. 44 | 45 | --- 46 | 47 | ### getMaxEnergy 48 | ``` 49 | getMaxEnergy() -> number 50 | ``` 51 | Returns the maximum quantity of storable energy inside the Thermo Generator. 52 | 53 | --- 54 | 55 | ### getCoolantInTank 56 | ``` 57 | getCoolantInTank() -> number 58 | ``` 59 | Returns the stored quantity of coolant inside the Thermo Generator tank. 60 | 61 | --- 62 | 63 | ## Changelog/Trivia 64 | 65 | **1.19.2-0.7.26.r** 66 | Added integration for Powah 67 | -------------------------------------------------------------------------------- /docs/integrations/storage_drawers/drawer.md: -------------------------------------------------------------------------------- 1 | # Drawer 2 | 3 | !!! danger "Only available in version 1.16" 4 | 5 | !!! picture inline end 6 | ![!Images of Drawer blocks](../img/previews/storage_drawer.gif){ align=right } 7 | 8 | Drawers are a storage block from the Storage Drawer mod. This integration fixes weird interactions between the generic CC:Tweaked inventory integration and Storage Drawer logic. 9 | 10 | !!! warning "Requirement" 11 | Requires the [Storage Drawers](https://www.curseforge.com/minecraft/mc-mods/storage-drawers) mod to be installed 12 | 13 |

14 | 15 | --- 16 | 17 | ## Functions 18 | 19 | See the [generic inventory](https://tweaked.cc/generic_peripheral/inventory.html) peripheral from CC:Tweaked for details. 20 | 21 | --- 22 | 23 | ## Changelog/Trivia 24 | 25 | **0.7r** 26 | Added integration for Storage Drawers 27 | -------------------------------------------------------------------------------- /docs/items/ar_goggles.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # AR Goggles 6 | 7 | !!! picture inline end 8 | ![!Image of the AR Goggles item](../img/previews/ar_goggles.png){ align=right } 9 | 10 | The AR Goggles can be used in combination with the AR Controller to have a customizable overlay wherever you go. Fun! 11 | See the documenation for the [AR Controller](../peripherals/ar_controller.md) to learn more. 12 | 13 | !!! hint 14 | To link your goggles to an AR Controller, right click it with them in your hand. Multiple Goggles can be linked to one Controller. 15 | 16 | !!! bug 17 | The AR Goggles are slightly buggy in 1.18x and completely disabled in 1.19x. We work on a rework of the AR Goggles system with a bunch of new features for 0.8/1.0 18 | 19 | --- 20 | 21 | ## Changelog/Trivia 22 | 23 | **0.5b** 24 | Added the AR Controller and AR Goggles, made by Olfi01#6413 25 | -------------------------------------------------------------------------------- /docs/items/chunk_controller.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Chunk Controller 6 | 7 | !!! picture inline end 8 | ![!Image of the Chunk Controller item](../img/previews/chunk_controller.png){ align=right } 9 | 10 | The Chunk Controller is a crafting ingredient for the [Chunky Turtle](../turtles/chunky_turtle.md). 11 | 12 |

13 | 14 | --- 15 | 16 | ## Changelog/Trivia 17 | 18 | **0.4b** 19 | Added as the crafting ingredient for the chunky turtle. 20 | -------------------------------------------------------------------------------- /docs/items/computer_tool.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Computer Tool 6 | 7 | !!! picture inline end 8 | ![!Image of the Chunk Controller item](../img/previews/computer_tool.png){ align=right } 9 | 10 | The Computer Tool is a tool to open GUI's from the mod blocks. 11 | 12 | !!! note 13 | Currently the Computer Tool is useless. 14 | 15 |

16 | 17 | --- 18 | 19 | ## Changelog/Trivia 20 | 21 | **0.5b** 22 | Added the Computer Tool -------------------------------------------------------------------------------- /docs/items/memory_card.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Memory Card 6 | 7 | !!! picture inline end 8 | ![!Image of the Chunk Controller item](../img/previews/memory_card.png){ align=right } 9 | 10 | The Memory Card can be used in combination with the Inventory Manager to manipulate with the player's inventory. 11 | See the [Inventory Manager](../peripherals/inventory_manager.md) documenation for more info. 12 | 13 | !!! hint 14 | Right click with the Memory Card in your hand to assign it to yourself to the card. 15 | 16 |

17 | 18 | --- 19 | 20 | ## Changelog/Trivia 21 | 22 | **0.5b** 23 | Added the Inventory Manager and Memory Card 24 | -------------------------------------------------------------------------------- /docs/items/pocket_computer.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Pocket Computers 6 | 7 | !!! picture inline end 8 | ![!Image of a Pocket Computer](../img/previews/pocket_computer.png){ align=right } 9 | 10 | There are Pocket Computer versions of the following peripherals: 11 | 12 | * [Environment Detector](../peripherals/environment_detector.md) ➜ Environment .. 13 | * [Player Detector](../peripherals/player_detector.md) ➜ Player .. 14 | * [Chat Box](../peripherals/chat_box.md) ➜ Chatty .. 15 | * [Geo Scanner](../peripherals/geo_scanner.md) ➜ Geoscanning .. 16 | * [Colony Integrator](../peripherals/colony_integrator.md) ➜ Colony .. 17 | 18 | !!! failure "Events" 19 | The pocket computer versions of the peripherals do not receive the peripheral events. 20 | 21 | --- 22 | 23 | ## Changelog/Trivia 24 | 25 | **0.7r** 26 | Added Geo Scanner pocket computer. 27 | 28 | **0.4.3b** 29 | Added the Player Detector and Chat Box pocket computers. 30 | 31 | **0.4.1b** 32 | Added the Environment Detector pocket computer. 33 | -------------------------------------------------------------------------------- /docs/peripherals/ar_controller.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # AR Controller 6 | 7 | !!! picture inline end 8 | ![!Image of the AR Controller block](../img/previews/ar_controller.png){ align=right } 9 | 10 | The AR Controller is used to control your [AR Goggles](../items/ar_goggles.md) wirelessly. You can draw anything you wish into an overlay that will be visible as long as you're wearing the goggles. 11 | 12 | !!! hint 13 | To link your goggles to an AR Controller, right click it with them in your hand. Multiple Goggles can be linked to one Controller. 14 | 15 | !!! bug 16 | The AR Goggles are currently slightly buggy. Sometimes, they just don't do what they should do. We will rework the AR System in 0.8r/1.0r 17 | 18 | --- 19 | 20 |
21 | 22 | | Peripheral Name | Interfaces with | Has events | Introduced in | 23 | | --------------- | --------------- | ---------- | ------------- | 24 | | arController | AR Goggles | No | 0.5b | 25 | 26 |
27 | 28 | --- 29 | 30 | While the Controller is in relative mode, it interprets all coordinates as if they were on a virtual screen of the size you specified, and then scales them according to your screen size. 31 | 32 | All color values are hexadecimal color codes (for example `0xff00ff`) 33 | 34 | Everything that is painted onto the canvas remains there until `clear()` or if the element is removed using `clearElement(id)`, however, it might be repositioned if relative mode is toggled on or off. 35 | 36 | ## Functions 37 | 38 | ### clear 39 | ``` 40 | clear() -> void 41 | ``` 42 | 43 | Clears the entire canvas. 44 | 45 | --- 46 | 47 | ### clearElement 48 | ``` 49 | clearElement(id: string) -> void 50 | ``` 51 | 52 | Clears the element with the given `id`. 53 | 54 | --- 55 | 56 | ### horizontalLine 57 | ``` 58 | horizontalLine(minX: number, maxX: number, y: number, color: number) -> void 59 | ``` 60 | 61 | Draws a horizontal line in the given color from minX to maxX at vertical y. 62 | 63 | --- 64 | 65 | ### horizontalLineWithId 66 | ``` 67 | horizontalLineWithId(id: string, minX: number, maxX: number, y: number, color: number) -> void 68 | ``` 69 | 70 | The same as [`horizontalLine()`](#horizontalline), but has an id so it can be overridden later on or can be completely cleared. 71 | 72 | --- 73 | 74 | ### verticalLine 75 | ``` 76 | verticalLine(x: number, minY: number, maxY: number, color: number) -> void 77 | ``` 78 | 79 | Draws a vertical line in the given color from minY to maxY at horizontal x. 80 | 81 | --- 82 | 83 | ### verticalLineWithId 84 | ``` 85 | verticalLineWithId(id: string, x: number, minY: number, maxY: number, color: number) -> void 86 | ``` 87 | 88 | The same as [`verticalLine()`](#verticalline), but has an id so it can be overridden later on or can be completely cleared. 89 | 90 | --- 91 | 92 | ### drawString 93 | ``` 94 | drawString(text: string, x: number, y: number, color: number) -> void 95 | ``` 96 | 97 | Draws the given string to the specified position with the specified text color. 98 | 99 | --- 100 | 101 | ### drawStringWithId 102 | ``` 103 | drawStringWithId(id: string, text: string, x: number, y: number, color: number) -> void 104 | ``` 105 | 106 | The same as [`drawString()`](#drawstring), but has an id so it can be overridden later on or can be completely cleared. 107 | 108 | --- 109 | 110 | ### drawCenteredString 111 | ``` 112 | drawCenteredString(text: string, x: number, y: number, color: number) -> void 113 | ``` 114 | 115 | The same as [`drawString()`](#drawstring), but centers the string horizontally around the specified position. 116 | 117 | --- 118 | 119 | ### drawCenteredStringWithId 120 | ``` 121 | drawCenteredStringWithId(id: string, text: string, x: number, y: number, color: number) -> void 122 | ``` 123 | 124 | The same as [`drawCenteredString()`](#drawcenteredstring), but has an id so it can be overridden later on or can be completely cleared. 125 | 126 | --- 127 | 128 | ### drawRightboundString 129 | ``` 130 | drawRightboundString(text: string, x: number, y: number, color: number) -> void 131 | ``` 132 | 133 | The same as [`drawString()`](#drawstring), but the string is positioned with its right end at the specified position. 134 | 135 | --- 136 | 137 | ### drawRightboundStringWithId 138 | ``` 139 | drawRightboundStringWithId(id: string, text: string, x: number, y: number, color: number) -> void 140 | ``` 141 | 142 | The same as [`drawRightboundString()`](#drawrightboundstring), but has an id so it can be overridden later on or can be completely cleared. 143 | 144 | --- 145 | 146 | ### drawItemIcon 147 | ``` 148 | drawItemIcon(itemId: string, x: number, y: number) -> void 149 | ``` 150 | 151 | !!! success "Added in version 0.5.2b" 152 | 153 | Draws the given item to the specified position. 154 | 155 | --- 156 | 157 | ### drawItemIconWithId 158 | ``` 159 | drawItemIconWithId(id: string, itemId: string, x: number, y: number) -> void 160 | ``` 161 | 162 | !!! success "Added in version 0.5.2b" 163 | 164 | The same as [`drawItemIcon()`](#drawitemicon), but has an id so it can be overridden later on or can be completely cleared. 165 | 166 | --- 167 | 168 | ### drawCircle 169 | ``` 170 | drawCircle(x: number, y: number, radius: number, color: number) -> void 171 | ``` 172 | 173 | !!! success "Added in version 0.5.2b" 174 | 175 | Draws a circle without filling it. 176 | 177 | --- 178 | 179 | ### drawCircleWithId 180 | ``` 181 | drawCircleWithId(id: string, x: number, y: number, radius: number, color: number) -> void 182 | ``` 183 | 184 | !!! success "Added in version 0.5.2b" 185 | 186 | The same as [`drawCircle()`](#drawcircle), but has an id so it can be overridden later on or can be completely cleared. 187 | 188 | --- 189 | 190 | ### fill 191 | ``` 192 | fill(minX: number, minY: number, maxX: number, maxY: number, color: number) 193 | ``` 194 | 195 | Fills a rectangle with the given color from the corner minX, minY to maxX, maxY. 196 | 197 | --- 198 | 199 | ### fillWithId 200 | ``` 201 | fill(id: string, minX: number, minY: number, maxX: number, maxY: number, color: number) 202 | ``` 203 | 204 | The same as [`fill()`](#fill), but has an id so it can be overridden later on or can be completely cleared. 205 | 206 | --- 207 | 208 | ### fillCircle 209 | ``` 210 | fillCircle(x: number, y: number, radius: number, color: number) -> void 211 | ``` 212 | 213 | !!! success "Added in version 0.5.2b" 214 | 215 | Draws a full circle. 216 | 217 | --- 218 | 219 | ### fillCircleWithId 220 | ``` 221 | fillCircleWithId(id: string, x: number, y: number, radius: number, color: number) -> void 222 | ``` 223 | 224 | !!! success "Added in version 0.5.2b" 225 | 226 | The same as [`fillCircle()`](#fillcircle), but has an id so it can be overridden later on or can be completely cleared. 227 | 228 | --- 229 | 230 | ### fillGradient 231 | ``` 232 | fillGradient(minX: number, minY: number, maxX: number, maxY: number, colorFrom: number, colorTo: number) -> void 233 | ``` 234 | 235 | Draws a rectangular gradient from colorFrom to colorTo with the given corners. 236 | 237 | --- 238 | 239 | ### fillGradientWithId 240 | ``` 241 | fillGradientWithId(id: string, minX: number, minY: number, maxX: number, maxY: number, colorFrom: number, colorTo: number) -> void 242 | ``` 243 | 244 | The same as [`fillGradient()`](#fillgradient), but has an id so it can be overridden later on or can be completely cleared. 245 | 246 | --- 247 | 248 | ### isRelativeMode 249 | ``` 250 | isRelativeMode(): true, number, number | false 251 | ``` 252 | 253 | Returns true and the size of the virtual screen if relative mode is active, or just false if it isn't. 254 | 255 | --- 256 | 257 | ### setRelativeMode 258 | ``` 259 | setRelativeMode(enabled: boolean, virtualScreenWidth?: number, virtualScreenHeight?: number) -> void 260 | ``` 261 | 262 | Activates or deactivates relative mode. Requires virtual screen width and height if it is being enabled. 263 | 264 | --- 265 | 266 | !!! hint 267 | Use negative coordinates to specify an x value from the right end of the screen or a y value from the bottom! 268 | 269 | ## Examples 270 | 271 | ### Example 1 272 | 273 | Olfi01 made a simple script that shows the current date and time in the top right corner of the screen and updates every second. 274 | 275 | ```lua linenums="1" 276 | local controller = peripheral.find("arController") -- Finds the peripheral if one is connected 277 | 278 | if controller == nil then error("arController not found") end 279 | 280 | controller.setRelativeMode(true, 1600, 900) -- Convenient Aspect ratio for most screens 281 | while true do 282 | local timer = os.startTimer(1) 283 | local event, id 284 | repeat 285 | event, id = os.pullEvent("timer") 286 | until id == timer 287 | controller.clear() -- If you don't do this, the texts will draw over each other 288 | controller.drawRightboundString(os.date(), -10, 10, 0xffffff) 289 | end 290 | ``` 291 | 292 | ### Example 2 293 | 294 | Olfi01 made another script to draw .nfp files, which you can draw with the paint program, in cc in your HUD. 295 | 296 | First, we have a script with more adaptability. You can define x, y, width and height. 297 | 298 | Script 1: [Github](https://gist.github.com/Seniorendi/ce4971245b20fb031ca9b65ec4fcb4d0) 299 | 300 | And we have another script which depends on the script above, but is simpler to use. 301 | 302 | Script 2: [Github](https://gist.github.com/Seniorendi/954e9888fac01efe8f23e82d0ae06e92) 303 | 304 | --- 305 | 306 | ## Changelog/Trivia 307 | 308 | **0.5.2b** 309 | Added `fillCircle`, `drawCircle` and `drawItemIcon`. 310 | 311 | **0.5b** 312 | Added the AR Controller and Goggles, made by Olfi01#6413 313 | -------------------------------------------------------------------------------- /docs/peripherals/block_reader.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Block Reader 6 | 7 | !!! picture inline end 8 | ![!Image of the Block Reader block](../img/previews/block_reader.png){ align=right } 9 | 10 | This block is able to read data about any blocks or tile entities in front of it. 11 | 12 |

13 | 14 | --- 15 | 16 |
17 | 18 | | Peripheral Name | Interfaces with | Has events | Introduced in | 19 | | --------------- | --------------- | ---------- | ------------- | 20 | | blockReader | Blocks | No | 0.7r | 21 | 22 |
23 | 24 | --- 25 | 26 | ## Functions 27 | 28 | ### getBlockName 29 | ``` 30 | getBlockName() -> string 31 | ``` 32 | 33 | Returns the registry name of the block (ex. `minecraft:dirt`) 34 | 35 | ```lua linenums="1" 36 | local reader = peripheral.find("blockReader") 37 | 38 | print("There is a " .. read.getBlockName() .. " in front.") 39 | ``` 40 | 41 | --- 42 | 43 | ### getBlockData 44 | ``` 45 | getBlockData() -> table | nil 46 | ``` 47 | 48 | Returns the block data of the block if block is a tile entity. 49 | 50 | ```lua linenums="1" 51 | local reader = peripheral.find("blockReader") 52 | 53 | --Prints the contents of the data 54 | for k, v in ipairs(reader.getBlockData()) do 55 | print(k, v) 56 | end 57 | ``` 58 | 59 | --- 60 | 61 | !!! success "Added in version 1.19.2-0.7.33r | 1.20.1-0.7.37r" 62 | 63 | ### getBlockStates 64 | ``` 65 | getBlockStates() -> table | nil 66 | ``` 67 | 68 | Returns the properties of a block and its state 69 | 70 | --- 71 | 72 | !!! success "Added in version 1.19.2-0.7.33r | 1.20.1-0.7.37r" 73 | 74 | ### isTileEntity 75 | ``` 76 | isTileEntity() -> boolean | nil 77 | ``` 78 | 79 | Returns true whether the block is a tile entity or not 80 | 81 | ## Changelog/Trivia 82 | 83 | **1.19.2-0.7.33r/1.20.1-0.7.37r** 84 | Added `getBlockStates` and `isTileEntity` 85 | 86 | **0.7r** 87 | Added the Block Reader peripheral. 88 | -------------------------------------------------------------------------------- /docs/peripherals/chat_box.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Chat Box 6 | 7 | !!! picture inline end 8 | ![!Image of the Chat Box block](../img/previews/chat_box.png){ align=right } 9 | 10 | The Chat Box is able to read and write messages to the in-game chat. You can send messages to just one player or to everyone. 11 | 12 | !!! hint 13 | If you prefix your message with a $ the message will not be sent to the global chat but it will still fire the chat event. 14 | Example: 15 | `$this message is hidden!` 16 | 17 | --- 18 | 19 |
20 | 21 | | Peripheral Name | Interfaces with | Has events | Introduced in | 22 | | --------------- | --------------- | ---------- | ------------- | 23 | | chatBox | Game Chat | Yes | 0.1b | 24 | 25 |
26 | 27 | --- 28 | 29 | ## Events 30 | 31 | ### chat 32 | Fires when a player sends a message into the chat. 33 | **Values:** 34 | 1. `username: string` The username of the player who sent the message 35 | 2. `message: string` The message sent by the player 36 | 3. `uuid: string` The player's uuid 37 | 4. `isHidden: boolean` Whether the message is hidden or not 38 | 39 | ```lua linenums="1" 40 | local event, username, message, uuid, isHidden = os.pullEvent("chat") 41 | print("The 'chat' event was fired with the username " .. username .. " and the message " .. message) 42 | ``` 43 | 44 | !!! info 45 | The `chat` event will fire when a chatbox has been connected to a computer. You don't have to `.wrap()` or `.find()` the peripheral (unless you intend to send messages). 46 | 47 | --- 48 | 49 | ## Functions 50 | 51 | ### sendMessage 52 | ``` 53 | sendMessage(message: string[, prefix: string, brackets: string, bracketColor: string, range: number]) -> true | nil, string 54 | ``` 55 | Broadcasts a message to the global chat or if `range` is specified it is sent to all players in the range. 56 | The `prefix` will change the text that appears inside the brackets at the start of a message. Defaults to "AP". 57 | To change the `brackets` used around the prefix you must specify a string like so: 58 | `"[]"`, `"()"`, `"<>"`, ... 59 | `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). 60 | 61 | Returns true if the message is successfully sent, or nil and an error message if it fails. 62 | 63 | ```lua linenums="1" 64 | local chatBox = peripheral.find("chatBox") 65 | 66 | chatBox.sendMessage("Hello world!") -- Sends "[AP] Hello world!" in chat 67 | os.sleep(1) -- We must account for the cooldown between messages, this is to prevent spam 68 | chatBox.sendMessage("I am dave", "Dave") -- Sends "[Dave] I am dave" 69 | os.sleep(1) 70 | 71 | -- Sends message "Welcome!" with cyan <> brackets around "" 72 | -- to players within 30 blocks of the chat box 73 | chatBox.sendMessage("Welcome!", "Box", "<>", "&b", 30) 74 | ``` 75 | 76 | !!! tip 77 | Just like the `bracketColor` argument you can add colors to the `message` and `prefix` arguments using the same [MOTD color code format](https://www.digminecraft.com/lists/color_list_pc.php). 78 | Since CC doesn't accept non-ascii charactor `§`, you should replace it with `&`. 79 | If you want to send colored message but not only colored brackets, please use [`sendFormattedMessage()`](#sendformattedmessage) instead. 80 | 81 | --- 82 | 83 | ### sendMessageToPlayer 84 | ``` 85 | sendMessageToPlayer(message: string, username: string[, prefix: string, brackets: string, bracketColor: string, range: number]) -> true | nil, string 86 | ``` 87 | Similar to [`sendMessage()`](#sendmessage) this sends a message to one specific player. Specify the player to send the message to with the `username` parameter. 88 | 89 | ```lua linenums="1" 90 | local chatBox = peripheral.find("chatBox") 91 | 92 | chatBox.sendMessageToPlayer("Hello there.", "Player123") -- Sends "[AP] Hello there." to Player123 in chat 93 | ``` 94 | 95 | ### sendToastToPlayer 96 | ``` 97 | sendToastToPlayer(message: string, title: string, username: string[, prefix: string, brackets: string, bracketColor: string, range: number]) -> true | nil, string 98 | ``` 99 | 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. 100 | 101 | ![!Image of the toast](../img/chat_box/toast.png) 102 | 103 | 104 | ```lua linenums="1" 105 | local chatBox = peripheral.find("chatBox") 106 | 107 | chatBox.sendToastToPlayer("I will chat box you", "Hello", "Dev", "&4&lBoxi", "()", "&c&l") 108 | ``` 109 | 110 | --- 111 | 112 | ### sendFormattedMessage 113 | ``` 114 | sendFormattedMessage(json: string[, prefix: string, brackets: string, bracketColor: string, range: number]) -> true | nil, string 115 | ``` 116 | This function is fundamentally the same as [`sendMessage()`](#sendmessage) except it takes a json text component as the first parameter. 117 | Find out more information on how the text component format works on the [minecraft wiki](https://minecraft.wiki/w/Text_component_format). 118 | You can generate the json at [minecraft.tools](https://minecraft.tools/en/json_text.php?json=Welcome%20to%20Minecraft%20Tools). 119 | 120 | ```lua linenums="1" 121 | local chatBox = peripheral.find("chatBox") 122 | 123 | local message = { 124 | {text = "Click "}, 125 | { 126 | text = "here", 127 | underlined = true, 128 | color = "aqua", 129 | clickEvent = { 130 | action = "open_url", 131 | value = "https://advancedperipherals.madefor.cc/" 132 | } 133 | }, 134 | {text = " for the AP "}, 135 | {text = "documentation", color = "red"}, 136 | {text = "!"} 137 | } 138 | 139 | local json = textutils.serialiseJSON(message) 140 | 141 | chatBox.sendFormattedMessage(json) 142 | ``` 143 | 144 | --- 145 | 146 | ### sendFormattedMessageToPlayer 147 | ``` 148 | sendFormattedMessageToPlayer(json: string, username: string[, prefix: string, brackets: string, bracketColor: string, range: number]) -> true | nil, string 149 | ``` 150 | 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. 151 | 152 | --- 153 | 154 | ### sendFormattedToastToPlayer 155 | ``` 156 | sendFormattedToastToPlayer(messageJson: string, titleJson: string, username: string[, prefix: string, brackets: string, bracketColor: string, range: number]) -> true | nil, string 157 | ``` 158 | This function is fundamentally the same as [`sendToast()`](#sendtoasttoplayer) except it takes a json text component as the first and second parameter. 159 | Find out more information on how the text component format works on the [minecraft wiki](https://minecraft.wiki/w/Text_component_format). 160 | You can generate the json at [minecraft.tools](https://minecraft.tools/en/json_text.php?json=Welcome%20to%20Minecraft%20Tools). 161 | 162 | ![!Image of the formatted toast](../img/chat_box/toast_formatted.png) 163 | 164 | ```lua linenums="1" 165 | local chatBox = peripheral.find("chatBox") 166 | 167 | 168 | local title = { 169 | { text = "Hello", color = "dark_purple"} 170 | } 171 | 172 | local message = { 173 | { text = "I will chat "}, 174 | { text = "box ", color = "red"}, 175 | { text = "you"} 176 | } 177 | 178 | local titleJson = textutils.serializeJSON(title) 179 | local messageJson = textutils.serialiseJSON(message) 180 | 181 | successful, error = chatBox.sendFormattedToastToPlayer(messageJson, titleJson, "Dev", "&4&lBoxi", "()", "&c&l") 182 | ``` 183 | 184 | --- 185 | 186 | ## Changelog/Trivia 187 | 188 | **1.19.2-0.7.33r/1.20.1-0.7.37r** 189 | Added `sendToastToPlayer` and `sendFormattedToastToPlayer` 190 | 191 | **0.7r** 192 | Added the `uuid` and `isHidden` parameter to the **chat** event. Also added the `sendFormattedMessage` function. 193 | 194 | **4.0b** 195 | Fixed the chat box so that is should now work in LAN worlds 196 | 197 | **0.1b** 198 | Added the chat box. This was the first feature of the mod. 199 | -------------------------------------------------------------------------------- /docs/peripherals/energy_detector.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Energy Detector 6 | 7 | !!! picture inline end 8 | ![!Image of the Energy Detector block](../img/previews/energy_detector.png){ align=right } 9 | 10 | The Energy Detector can detect energy flow and acts as a resistor. You can define the max flow rate to use it as a resistor. 11 | 12 | !!! bug 13 | The Energy Detector does not work on versions below 0.4.5b. 14 | It is recommended that you always use the latest version. 15 | 16 |

17 | 18 | --- 19 | 20 |
21 | 22 | | Peripheral Name | Interfaces with | Has events | Introduced in | 23 | | --------------- | --------------- | ---------- | ------------- | 24 | | energyDetector | Forge Energy | No | 0.4.1b | 25 | 26 |
27 | 28 | --- 29 | 30 | ## Functions 31 | 32 | ### getTransferRate 33 | 34 | ``` 35 | getTransferRate() -> int 36 | ``` 37 | 38 | Returns the current energy that is going through the block. 39 | 40 | ```lua linenums="1" 41 | local detector = peripheral.find("energyDetector") 42 | 43 | -- prints "Current transfer rate: xxx FE/t" 44 | -- where 'xxx' is the current energy flowing through the block 45 | print("Current transfer rate: " .. detector.getTransferRate() .. " FE/t") 46 | ``` 47 | 48 | --- 49 | 50 | ### getTransferRateLimit 51 | 52 | ``` 53 | getTransferRateLimit() -> int 54 | ``` 55 | 56 | Returns the max rate limit of energy through the block which has been set using [`setTransferRateLimit`](#settransferratelimit). 57 | 58 | --- 59 | 60 | ### setTransferRateLimit 61 | 62 | ``` 63 | setTransferRateLimit(limit: int) -> void 64 | ``` 65 | 66 | Set the max energy rate that will go through the block. 67 | 68 | ```lua linenums="1" 69 | local detector = peripheral.find("energyDetector") 70 | 71 | detector.setTransferRateLimit(512) -- Only 512 FE/t can go through the block 72 | ``` 73 | 74 | --- 75 | 76 | ## Changelog/Trivia 77 | 78 | The Energy Detector had some weird problems in versions before 0.4.6b 79 | The block was able to store infinite amounts of energy or it creates an limitless amount of energy. 80 | 81 | **0.4.6b** 82 | The energy detector is now bug free. _hopefully_ 83 | 84 | **0.4.5b** 85 | Completely changed the system of the energy detector, but the energy detector was able to drain energy without any reason. 86 | 87 | **0.4.3b** 88 | Created a crafting recipe for the detector. 89 | 90 | **0.4.2b** 91 | The energy detector is now able to send energy automatically. 92 | 93 | **0.4.1b** 94 | Added the lovely bugged energy detector. 95 | -------------------------------------------------------------------------------- /docs/peripherals/environment_detector.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Environment Detector 6 | 7 | !!! picture inline end 8 | ![!Image of the Environment Detector block](../img/previews/environment_detector.png){ align=right } 9 | 10 | The Environment Detector provides current information from the environment like the current time, the current moon phase, 11 | the light level of the block and many more. 12 | 13 |

14 | 15 | --- 16 | 17 |
18 | 19 | | Peripheral Name | Interfaces with | Has events | Introduced in | 20 | | ------------------- | --------------- | ---------- | ------------- | 21 | | environmentDetector | World | No | 0.1b | 22 | 23 |
24 | 25 | --- 26 | 27 | ## Functions 28 | 29 | ### getBiome 30 | 31 | ``` 32 | getBiome() -> string 33 | ``` 34 | 35 | Returns the current biome the block is in. 36 | 37 | ```lua linenums="1" 38 | local detector = peripheral.find("environmentDetector") 39 | 40 | -- e.g. prints "Biome: minecraft:plains" 41 | print("Biome: " .. detector.getBiome()) 42 | ``` 43 | 44 | --- 45 | 46 | ### getBlockLightLevel 47 | 48 | ``` 49 | getBlockLightLevel() -> number 50 | ``` 51 | 52 | Returns the block light level (0 to 15) at the detector block, this can be influenced by light sources 53 | 54 | --- 55 | 56 | ### getDayLightLevel 57 | 58 | ``` 59 | getDayLightLevel() -> number 60 | ``` 61 | 62 | Returns the day light level of the current world from 0 to 15. This is uneffected by blocks covering the peripheral. 63 | 64 | --- 65 | 66 | ### getSkyLightLevel 67 | 68 | ``` 69 | getSkyLightLevel() -> number 70 | ``` 71 | 72 | Returns the current sky light level from 0 to 15 (like a daylight sensor). 73 | 74 | --- 75 | 76 | ### getDimension 77 | 78 | ``` 79 | getDimension() -> string 80 | ``` 81 | 82 | Returns the name of the current dimension (ex. `overworld`, `the_nether` or `the_end`). 83 | 84 | ```lua linenums="1" 85 | local detector = peripheral.find("environmentDetector") 86 | 87 | -- e.g. prints "Dimension: the_nether" 88 | print("Dimension: " .. detector.getDimension()) 89 | ``` 90 | 91 | --- 92 | 93 | ### getDimensionPaN 94 | 95 | ``` 96 | getDimensionPaN() -> string 97 | ``` 98 | 99 | Similar to [`getDimensionName`](#getdimensionname) it returns the name of the dimension prefixed with the provider name (ex. `minecraft:overworld`). 100 | 101 | --- 102 | 103 | ### getDimensionProvider 104 | 105 | ``` 106 | getDimensionProvider() -> string 107 | ``` 108 | 109 | Returns the provider of the dimension (ex. `minecraft`). 110 | 111 | --- 112 | 113 | ### getMoonId 114 | 115 | ``` 116 | getMoonId() -> number 117 | ``` 118 | 119 | Returns the current moon phase's id. 120 | 121 | !!! info 122 | There are 8 different moon phases, see below a list of their names and ids 123 | 124 | `0 = Full moon`, `1 = Waning gibbous`, `2 = Third quarter`, `3 = Waning crescent`, `4 = New moon`, `5 = Waxing crescent`, `6 = First quarter`, `7 = Waxing gibbous` 125 | 126 | ### getMoonName 127 | 128 | ``` 129 | getMoonName() -> string 130 | ``` 131 | 132 | Returns the current moon phase's name. 133 | 134 | --- 135 | 136 | ### getTime 137 | 138 | ``` 139 | getTime() -> number 140 | ``` 141 | 142 | !!! warning "WIP" 143 | 144 | Returns the daytime of the current world. 145 | 146 | --- 147 | 148 | ### getRadiation 149 | 150 | ``` 151 | getRadiation() -> table 152 | ``` 153 | 154 | !!! success "Added in version 0.6.1b" 155 | 156 | !!! warning "Requirement" 157 | Requires the [Mekanism](https://www.curseforge.com/minecraft/mc-mods/mekanism) mod to be installed 158 | 159 | Returns the current radiation level from the Mekanism mod with the radiation unit. 160 | 161 | #### Properties 162 | 163 | | table | Description | 164 | | ------------------- | --------------------------------------- | 165 | | radiation: `string` | The current radiation level as a string | 166 | | unit: `string` | The radiation unit | 167 | 168 | --- 169 | 170 | ### getRadiationRaw 171 | 172 | ``` 173 | getRadiationRaw() -> number 174 | ``` 175 | 176 | !!! success "Added in version 0.6.5b" 177 | 178 | !!! warning "Requirement" 179 | Requires the [Mekanism](https://www.curseforge.com/minecraft/mc-mods/mekanism) mod to be installed 180 | 181 | Returns the current raw radiation level in Sv/h. 182 | 183 | --- 184 | 185 | ### isDimension 186 | 187 | ``` 188 | isDimension(dimension: string) -> boolean 189 | ``` 190 | 191 | Returns true if the current dimension matches the `dimension` parameter. 192 | 193 | --- 194 | 195 | ### isMoon 196 | 197 | ``` 198 | isMoon(moonPhaseId: number) -> boolean 199 | ``` 200 | 201 | Returns true if the current moon phase matches the `moonPhaseId` parameter. 202 | 203 | --- 204 | 205 | ### isRaining 206 | 207 | ``` 208 | isRaining() -> boolean 209 | ``` 210 | 211 | Returns true if it is raining. 212 | 213 | --- 214 | 215 | ### isSunny 216 | 217 | ``` 218 | isSunny() -> boolean 219 | ``` 220 | 221 | Returns true if it is sunny. 222 | 223 | --- 224 | 225 | ### isThunder 226 | 227 | ``` 228 | isThunder() -> boolean 229 | ``` 230 | 231 | Returns true if it is thundering. 232 | 233 | --- 234 | 235 | ### isSlimeChunk 236 | 237 | ``` 238 | isSlimeChunk() -> boolean 239 | ``` 240 | 241 | Returns true if the current chunk is a slime chunk. 242 | 243 | --- 244 | 245 | ### listDimensions 246 | 247 | ``` 248 | listDimensions() -> table 249 | ``` 250 | 251 | Returns a table with all of the registered dimensions for the current world, this includes modded dimensions. 252 | 253 | !!! example 254 | As an example `listDimensions` might return a table like so: 255 | ``` 256 | {"minecraft:overworld", "minecraft:the_nether", "minecraft:the_end", "twilightforest:twilight_forest"} 257 | ``` 258 | 259 | --- 260 | 261 | ### scanEntities 262 | 263 | ``` 264 | scanEntities(range: number) -> table 265 | ``` 266 | 267 | Returns a table with all entities in the given range 268 | Coordinates are relativ and not absolute 269 | 270 | !!! example 271 | Example output for an entity: 272 | ```lua 273 | { 274 | { 275 | canFreeze = true, 276 | uuid = "380df991-f603-344c-a090-369bad2a924a", 277 | tags = {}, 278 | id = 158, 279 | y = 0.99835407917146, 280 | x = 2.3657836835311, 281 | name = "Dev", 282 | isGlowing = false, 283 | z = 1.2416321248782, 284 | isInWall = false, 285 | maxHealth = 20, 286 | health = 20, 287 | }, 288 | } 289 | ``` 290 | 291 | 292 | ## Changelog/Trivia 293 | 294 | **0.6.5b** 295 | Added `getRadiationRaw` 296 | 297 | **0.6.1b** 298 | Added `getRadiation` 299 | 300 | **0.3.3b** 301 | Added many more functions to the environment detector. The environment detector was a useless block before this update. 302 | 303 | **0.1b** 304 | Added the block. It was the second feature of the mod. 305 | -------------------------------------------------------------------------------- /docs/peripherals/geo_scanner.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Geo Scanner 6 | 7 | !!! picture inline end 8 | ![!Image of the Geo Scanner block](../img/previews/geo_scanner.png){ align=right } 9 | 10 | The Geo Scanner provides information about blocks around it and the chunk of that it is in. 11 | 12 | The Geo scanner has a delay between scans, so you must wait until you can scan again. 13 | 14 |

15 | 16 | --- 17 | 18 |
19 | 20 | | Peripheral Name | Interfaces with | Has events | Introduced in | 21 | | --------------- | --------------- | ---------- | ------------- | 22 | | geoScanner | Blocks | No | 0.7r | 23 | 24 |
25 | 26 | --- 27 | 28 | ## Functions 29 | 30 | ### getFuelLevel 31 | ``` 32 | getFuelLevel() -> number 33 | ``` 34 | 35 | Returns the amount of stored fuel. 36 | 37 | --- 38 | 39 | ### getMaxFuelLevel 40 | ``` 41 | getMaxFuelLevel() -> number 42 | ``` 43 | 44 | Returns the maximum amount of possible stored fuel. 45 | 46 | --- 47 | 48 | ### cost 49 | ``` 50 | cost(radius: number) -> number 51 | ``` 52 | 53 | Returns the cost in FE for a scan with the given `radius`. 54 | 55 | --- 56 | 57 | ### scan 58 | ``` 59 | scan(radius: number) -> table | nil, string 60 | ``` 61 | 62 | Returns a list of data about all blocks in the radius. Or if the scan fails it returns nil and an error message. 63 | 64 | #### Block Properties 65 | 66 | | block | Description | 67 | | ---------------------- | --------------------------------------- | 68 | | name: `string` | The registry name of the block | 69 | | tags: `table` | A list of block tags | 70 | | x: `number` | The block's x coordinate | 71 | | y: `number` | The block's y coordinate | 72 | | z: `number` | The block's z coordinate | 73 | 74 | --- 75 | 76 | ### getScanCooldown 77 | ``` 78 | getScanCooldown() -> number 79 | ``` 80 | 81 | Returns the current time remaining until then next `scan()` can be ran. 82 | 83 | --- 84 | 85 | ### chunkAnalyze 86 | ``` 87 | chunkAnalyze() -> table | nil, reason 88 | ``` 89 | 90 | Returns a table of data about how many of each ore type is in the block's chunk. Or if the analyze fails it returns nil and an error message. 91 | 92 | --- 93 | 94 | ## Changelog/Trivia 95 | 96 | **0.7r** 97 | Added Geo Scanner peripheral. 98 | -------------------------------------------------------------------------------- /docs/peripherals/inventory_manager.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Inventory Manager 6 | 7 | !!! picture inline end 8 | ![!Image of the Inventory Manager block](../img/previews/inventory_manager.png){ align=right } 9 | 10 | The Inventory Manager can communicate with the player's inventory. You need to assign yourself to a [Memory Card](../items/memory_card.md) and put the card into the manager to use it. 11 | 12 | !!! note 13 | Only one Memory Card can be used per Inventory Manager. 14 | 15 |

16 | 17 | --- 18 | 19 |
20 | 21 | | Peripheral Name | Interfaces with | Has events | Introduced in | 22 | | ---------------- | ---------------- | ---------- | ------------- | 23 | | inventoryManager | Player Inventory | No | 0.5b | 24 | 25 |
26 | 27 | --- 28 | 29 | !!! failure 30 |

You need to place the inventory you want to use next to the inventory manager and **NOT** next to the computer!

31 | 32 | ## Functions 33 | 34 | ### addItemToPlayer 35 | ``` 36 | addItemToPlayer(direction: string, item: table) -> number 37 | ``` 38 | 39 | Adds an item to the player's inventory and returns the amount of the item added. 40 | The `direction` is the direction of the container relative to the peripheral. 41 | The `slot` is the slot to take items from in the container. 42 | The Inventory Manager will add a random item to the player's inventory if the `item` or `slot` argument are not provided. 43 | 44 | !!! tip "Since version 0.7r" 45 | 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. 46 | 47 | ```lua linenums="1" 48 | local manager = peripheral.find("inventoryManager") 49 | 50 | -- Add 32 cobblestone to the players offhand slot from the block above 51 | manager.addItemToPlayer("up", {name="minecraft:cobblestone", toSlot=36, count=32}) 52 | ``` 53 | 54 | --- 55 | 56 | ### removeItemFromPlayer 57 | ``` 58 | removeItemFromPlayer(direction: string item: table) -> number 59 | ``` 60 | 61 | Removes an item from the player's inventory and returns the amount of the item removed. 62 | The `direction` is the direction of the container relative to the peripheral to put the item into. 63 | The `slot` is the slot to take items from in the player's inventory. 64 | The Inventory Manager will remove a random item from the player's inventory if the `item` or `slot` argument are not provided. 65 | The `slot` and `count` are overwritten if `fromSlot` or `count` is specified in the `item` filter 66 | if the `item` argument is empty, the manager will move any item. 67 | 68 | ```lua linenums="1" 69 | local manager = peripheral.find("inventoryManager") 70 | 71 | -- Remove up to 5 of the item in slot 1 of the player's inventory 72 | -- and place it in the block above 73 | manager.removeItemFromPlayer("up", {name="minecraft:cobblestone", toSlot=3, fromSlot=1, count=5}) 74 | ``` 75 | 76 | --- 77 | 78 | ### getArmor 79 | ``` 80 | getArmor() -> table 81 | ``` 82 | 83 | Returns a list of the player's current armor slots 84 | 85 | #### Item Properties 86 | 87 | | item | Description | 88 | | ---------------------- | --------------------------------------- | 89 | | name: `string` | The registry name of the item | 90 | | count: `number` | The amount of the item | 91 | | maxStackSize: `number` | Maximum stack size for the item type | 92 | | displayName: `string` | The item's display name | 93 | | slot: `number` | The slot that the item stack is in | 94 | | tags: `table` | A list of item tags | 95 | | nbt: `table` | The item's nbt data | 96 | 97 | ```lua linenums="1" 98 | local manager = peripheral.find("inventoryManager") 99 | 100 | local armor = manager.getArmor() 101 | print("First armor piece is: " .. armor[1].displayName) 102 | ``` 103 | 104 | --- 105 | 106 | ### getItems 107 | ``` 108 | getItems() -> table 109 | ``` 110 | 111 | Returns the contents of the player's inventory as a list of items 112 | 113 | #### Item Properties 114 | 115 | | item | Description | 116 | | ---------------------- | --------------------------------------- | 117 | | name: `string` | The registry name of the item | 118 | | count: `number` | The amount of the item | 119 | | maxStackSize: `number` | Maximum stack size for the item type | 120 | | slot: `number` | The slot that the item stack is in | 121 | | displayName: `string` | The item's display name | 122 | | tags: `table` | A list of item tags | 123 | | nbt: `table` | The item's nbt data | 124 | 125 | --- 126 | 127 | ### getOwner 128 | ``` 129 | getOwner() -> string | nil 130 | ``` 131 | 132 | Returns the username of the owner of the memory card in the manager or nil if there is no memory card or owner. 133 | 134 | --- 135 | 136 | ### isPlayerEquipped 137 | ``` 138 | isPlayerEquipped() -> boolean 139 | ``` 140 | 141 | Returns true if the player is wearing atleast one piece of armor. 142 | 143 | --- 144 | 145 | ### isWearing 146 | ``` 147 | isWearing(slot: number) -> boolean 148 | ``` 149 | 150 | Returns true if the player is wearing a armor piece on the given slot. 151 | Slots: `103`(Helmet) - `100`(Boots). 152 | 153 | --- 154 | 155 | ### getItemInHand 156 | ``` 157 | getItemInHand() -> table 158 | ``` 159 | 160 | !!! success "Added in version 0.7.4r" 161 | 162 | Returns the item in the player's main hand. 163 | 164 | #### Item Properties 165 | 166 | | item | Description | 167 | | ---------------------- | --------------------------------------- | 168 | | name: `string` | The registry name of the item | 169 | | count: `number` | The amount of the item | 170 | | maxStackSize: `number` | Maximum stack size for the item type | 171 | | displayName: `string` | The item's display name | 172 | | tags: `table` | A list of item tags | 173 | | nbt: `table` | The item's nbt data | 174 | 175 | --- 176 | 177 | ### getItemInOffHand 178 | ``` 179 | getItemInOffHand() -> table 180 | ``` 181 | 182 | !!! success "Added in version 0.7.4r" 183 | 184 | Returns the item in the player's off hand. 185 | 186 | #### Item Properties 187 | 188 | | item | Description | 189 | | ---------------------- | --------------------------------------- | 190 | | name: `string` | The registry name of the item | 191 | | count: `number` | The amount of the item | 192 | | maxStackSize: `number` | Maximum stack size for the item type | 193 | | displayName: `string` | The item's display name | 194 | | tags: `table` | A list of item tags | 195 | | nbt: `table` | The item's nbt data | 196 | 197 | --- 198 | 199 | ### getFreeSlot 200 | ``` 201 | getFreeSlot() -> number 202 | ``` 203 | 204 | !!! success "Added in version 0.7.4r" 205 | 206 | Returns the next free slot in the player's inventory. Or -1 if their inventory is full. 207 | 208 | --- 209 | 210 | ### isSpaceAvailable 211 | ``` 212 | isSpaceAvailable() -> boolean 213 | ``` 214 | 215 | !!! success "Added in version 0.7.4r" 216 | 217 | Returns true if space is available in the player's inventory. 218 | 219 | --- 220 | 221 | ### getEmptySpace 222 | ``` 223 | getEmptySpace() -> number 224 | ``` 225 | 226 | !!! success "Added in version 0.7.4r" 227 | 228 | Returns the number of empty slots in the player's inventory. 229 | 230 | --- 231 | 232 | ## Changelog/Trivia 233 | 234 | **0.7.4r** 235 | Added `getItemInHand`, `getItemInOffHand`, `getFreeSlot`, `isSpaceAvailable` and `getEmptySpace` to the inventory manager. 236 | Added support for armor items, you can use the slots `100 - 103` to access armor items. 237 | 238 | **0.7r** 239 | Added the `slot` parameter. 240 | Also changed the direction parameter to computercraft directions. 241 | 242 | **0.5.2b** 243 | Fixed the bug where the inventory manager does not drop its contents. 244 | 245 | **0.5b** 246 | Added the Inventory Manager and Memory Card 247 | -------------------------------------------------------------------------------- /docs/peripherals/nbt_storage.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # NBT Storage 6 | 7 | !!! picture inline end 8 | ![!Image of the NBT Storage block](../img/previews/nbt_storage.png){ align=right } 9 | 10 | NBT Storage is a custom block that allows reading and writing of NBT data to the block for later use. 11 | 12 |

13 | 14 | --- 15 | 16 |
17 | 18 | | Peripheral Name | Interfaces with | Has events | Introduced in | 19 | | --------------- | --------------- | ---------- | ------------- | 20 | | nbtStorage | NBT | No | 0.7r | 21 | 22 |
23 | 24 | --- 25 | 26 | ## Functions 27 | 28 | ### read 29 | ``` 30 | read() -> table 31 | ``` 32 | 33 | Returns the NBT data stored in the block. 34 | 35 | --- 36 | 37 | ### writeJson 38 | ``` 39 | writeJson(json: string) -> boolean | nil, string 40 | ``` 41 | 42 | Writes the json as NBT data into the block and returns true if the json is valid and the data is successfully written. Otherwise it returns nil and an error message. 43 | 44 | --- 45 | 46 | ### writeTable 47 | ``` 48 | writeTable(nbt: table) -> boolean | nil, string 49 | ``` 50 | 51 | Writes NBT data into the block and returns true if the data is successfully written. Otherwise it returns nil and an error message. 52 | 53 | ```lua linenums="1" 54 | local storage = peripheral.find("nbtStorage") 55 | 56 | storage.writeTable({ 57 | specialString = "A super special string" 58 | }) 59 | 60 | local nbt = storage.read() 61 | -- prints "A super special string" 62 | print(nbt.specialString) 63 | ``` 64 | 65 | --- 66 | 67 | ## Changelog/Trivia 68 | 69 | **0.7r** 70 | Added NBT Storage block. 71 | -------------------------------------------------------------------------------- /docs/peripherals/player_detector.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Player Detector 6 | 7 | !!! picture inline end 8 | ![!Image of the Player Detector block](../img/previews/player_detector.png){ align=right } 9 | 10 | The Player Detector is a useful peripheral that allows you to detect players within a certain range, position and area. 11 | You can get a list of all online players and detect when a player clicks on the block. 12 | 13 |

14 | 15 | --- 16 | 17 |
18 | 19 | | Peripheral Name | Interfaces with | Has events | Introduced in | 20 | |-----------------|-----------------|------------|---------------| 21 | | playerDetector | Players | Yes | 0.1b | 22 | 23 |
24 | 25 | --- 26 | 27 | ## Events 28 | 29 | ### playerClick 30 | 31 | Fires when a player clicks on the block. 32 | **Values:** 33 | 34 | 1. `username: string` The username of the player who clicked the block 35 | 2. `devicename: string` Th name of the peripheral like `playerDetector_4` 36 | 37 | ```lua linenums="1" 38 | local event, username, device = os.pullEvent("playerClick") 39 | print("The detector ".. device .." was clicked by " .. username) 40 | ``` 41 | 42 | ### playerJoin 43 | 44 | Fires when a player joins the world/a server. 45 | **Values:** 46 | 47 | 1. `username: string` The username of the player who clicked the block 48 | 2. `dimension: string` The resource id of the dimension the player is in 49 | 50 | ```lua linenums="1" 51 | local event, username, dimension = os.pullEvent("playerJoin") 52 | print("Player " .. username .. " joined the server in the dimension " .. dimension) 53 | ``` 54 | 55 | ### playerLeave 56 | 57 | Fires when a player leaves the world/a server. 58 | **Values:** 59 | 60 | 1. `username: string` The username of the player who clicked the block 61 | 2. `dimension: string` The resource id of the dimension the player was in 62 | 63 | ```lua linenums="1" 64 | local event, username, dimension = os.pullEvent("playerLeave") 65 | print("Player " .. username .. " left the server in the dimension " .. dimension) 66 | ``` 67 | 68 | ### playerChangedDimension 69 | 70 | Fires when a player changes dimensions. 71 | **Values:** 72 | 73 | 1. `username: string` The username of the player who clicked the block 74 | 2. `fromDim: string` The resource id of the dimension the player was in 75 | 2. `toDim: string` The resource id of the dimension the player is in 76 | 77 | ```lua linenums="1" 78 | local event, username, fromDim, toDim = os.pullEvent("playerChangedDimension") 79 | print("Player " .. username .. " left the dimension " .. fromDim .. " and is now in " .. toDim) 80 | ``` 81 | 82 | !!! info 83 | The events will fire when a player detector has been connected to a computer. You don't have to `.wrap()` or `.find()` the peripheral (unless you intend to send messages). 84 | 85 | 86 | --- 87 | 88 | ## Functions 89 | 90 | !!! info 91 | The player detector supports multidimensional spying(Since 1.19.2-0.7.30r & 1.20.1-0.7.32a). This only works if the config option `playerDetMultiDimensional` is set to true and the option `playerDetMaxRange` is set to -1(infinite) 92 | 93 | ### getPlayerPos / getPlayer 94 | 95 | ``` 96 | getPlayerPos(username: string) -> table | nil 97 | ``` 98 | 99 | Returns information about the player with the `username` passed. 100 | 101 | #### Properties 102 | 103 | !!! success "Added more properties in version 0.7.4r" 104 | 105 | | table | Description | 106 | |----------------------------|--------------------------------------------| 107 | | dimension: `string` | The dimension the player is in | 108 | | eyeHeight: `number` | The height of the player's eyes | 109 | | pitch: `number` | The pitch of the player's head | 110 | | health: `number` | The health of the player | 111 | | maxHealth: `number` | The max health of the player | 112 | | airSupply: `number` | The air supply of the player | 113 | | respawnPosition: `number` | The respawn position of the player | 114 | | respawnDimension: `number` | The respawn dimension of the player | 115 | | respawnAngle: `number` | The respawn angle of the player in degrees | 116 | | yaw: `number` | The yaw of the player's head | 117 | | x: `number` | The x coordinate | 118 | | y: `number` | The y coordinate | 119 | | z: `number` | The z coordinate | 120 | 121 | ```lua linenums="1" 122 | local detector = peripheral.find("playerDetector") 123 | 124 | -- Get the position of Player123 and print their coordinates 125 | local pos = detector.getPlayerPos("Player123") 126 | print("Position: " .. pos.x .. "," .. pos.y .. "," .. pos.z) 127 | ``` 128 | 129 | --- 130 | 131 | ### getOnlinePlayers 132 | 133 | ``` 134 | getOnlinePlayers() -> table 135 | ``` 136 | 137 | !!! success "Added in version 0.7r" 138 | 139 | Returns a list of all online players. 140 | 141 | --- 142 | 143 | ### getPlayersInRange 144 | 145 | ``` 146 | getPlayersInRange(range: number) -> table 147 | ``` 148 | 149 | Returns a list of players within the given `range` of the peripheral. 150 | 151 | !!! note 152 | The center of the `range` is the Player Detector peripheral and not the Computer. 153 | 154 | --- 155 | 156 | ### getPlayersInCoords 157 | 158 | ``` 159 | getPlayersInCoords(posOne: table, posTwo: table) -> table 160 | ``` 161 | 162 | !!! success "Added in version 0.7r" 163 | 164 | Returns a list of players within the 2 positions `posOne` and `posTwo`. 165 | 166 | The `posOne` and `posTwo` tables must contain: 167 | 168 | - x: `number` 169 | - y: `number` 170 | - z: `number` 171 | 172 | !!! note 173 | The area the detector going to detect is \[x1, x2), \[y1, y2), \[z1, z2). 174 | Which means call `getPlayersInCoords({x=x, y=y, z=z}, {x=x, y=y, z=z})` will always return nothing 175 | 176 | --- 177 | 178 | ### getPlayersInCubic 179 | 180 | ``` 181 | getPlayersInCubic(w: number, h: number, d: number) -> table 182 | ``` 183 | 184 | !!! success "Added in version 0.7r" 185 | 186 | Returns a list of players within a cuboid centered at the peripheral. 187 | Where `w`, `h`, `d` correspond to the x, y, z axes and are the width, height and depth of the cuboid. 188 | 189 | --- 190 | 191 | ### isPlayerInRange 192 | 193 | ``` 194 | isPlayerInRange(range: number, username: string) -> boolean 195 | ``` 196 | 197 | Returns true if the player whose username matches the provided `username` is within the given `range` of the peripheral. 198 | 199 | --- 200 | 201 | ### isPlayerInCoords 202 | 203 | ``` 204 | isPlayerInCoords(posOne: table, posTwo: table, username: string) -> boolean 205 | ``` 206 | 207 | !!! success "Added in version 0.7r" 208 | 209 | Returns true if the player is within the 2 positions. 210 | 211 | The `posOne` and `posTwo` tables must contain: 212 | 213 | - x: `number` 214 | - y: `number` 215 | - z: `number` 216 | 217 | --- 218 | 219 | ### isPlayerInCubic 220 | 221 | ``` 222 | isPlayerInCubic(w: number, h: number, d: number) 223 | ``` 224 | 225 | !!! success "Added in version 0.7r" 226 | 227 | Returns true if the player is within the cuboid centered at the peripheral. 228 | Where `w`, `h`, `d` correspond to the x, y, z axes and are the width, height and depth of the cuboid. 229 | 230 | --- 231 | 232 | ### isPlayersInRange 233 | 234 | ``` 235 | isPlayersInRange(range: number) -> boolean 236 | ``` 237 | 238 | Returns true if there is any player in the given `range`. 239 | 240 | --- 241 | 242 | ### isPlayersInCoords 243 | 244 | ``` 245 | isPlayersInCoords(posOne: table, posTwo: table) -> boolean 246 | ``` 247 | 248 | !!! success "Added in version 0.7r" 249 | 250 | Returns true if any player is within the 2 positions. 251 | 252 | The `posOne` and `posTwo` tables must contain: 253 | 254 | - x: `number` 255 | - y: `number` 256 | - z: `number` 257 | 258 | --- 259 | 260 | ### isPlayersInCubic 261 | 262 | ``` 263 | isPlayersInCubic(w: number, h: number, d: number) 264 | ``` 265 | 266 | !!! success "Added in version 0.7r" 267 | 268 | Returns true if any player is within the cuboid centered at the peripheral. 269 | Where `w`, `h`, `d` correspond to the x, y, z axes and are the width, height and depth of the cuboid. 270 | 271 | --- 272 | 273 | ## Changelog/Trivia 274 | 275 | In early versions the player detector was also a buggy block, like the energy detector. 276 | We had bugs where the block used completely wrong coordinates or the range parameters did not work. 277 | 278 | **0.7.4r** 279 | Added more information to the `getPlayerPos` function. (Configurable) 280 | 281 | **0.7r** 282 | Added more functions to the player detector. One to define the range in every 3 axes, one to define 2 positions. 283 | Also added `getOnlinePlayers`. 284 | 285 | **0.4.2b** 286 | Added a max range config value. 287 | 288 | **0.3b** 289 | Added the functions `isPlayersInRange` and `isPlayerinRange`. 290 | 291 | **0.2.6b** 292 | Added the function `getPlayersInRange`. 293 | 294 | **0.1b** 295 | Added the player detector, it was the third feature of the mod. 296 | -------------------------------------------------------------------------------- /docs/peripherals/redstone_integrator.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Redstone Integrator 6 | 7 | !!! picture inline end 8 | ![!Image of the Redstone Integrator block](../img/previews/redstone_integrator.png){ align=right } 9 | 10 | 11 | !!! warning 12 | 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 13 | 14 | The Redstone Integrator is able to interact with redstone. 15 | You can use the same code you would use for a computer on a Redstone Integrator. 16 | 17 | You may need this peripheral for cases where you need to output redstone signals on more sides than a regular computer has to offer. 18 | 19 |

20 | 21 | --- 22 | 23 |
24 | 25 | | Peripheral Name | Interfaces with | Has events | Introduced in | 26 | | ------------------ | --------------- | ---------- | ------------- | 27 | | redstoneIntegrator | Redstone | No | 0.5.3b | 28 | 29 |
30 | 31 | --- 32 | 33 | 34 | ## Functions 35 | 36 | ### getInput 37 | ``` 38 | getInput(side: string) -> boolean 39 | ``` 40 | 41 | Returns true or false depending on if the redstone at the given `side` is on. 42 | 43 | !!! tip "Since version 0.7r" 44 | You can now use both relative (`right`, `left`, `front`, `back`, `top`, `bottom`) and cardinal (`north`, `south`, `east`, `west`, `up`, `down`) directions for the `side` argument. 45 | 46 | --- 47 | 48 | ### getOutput 49 | ``` 50 | getOutput(side: string) -> boolean 51 | ``` 52 | 53 | Returns true or false depending on if the Redstone Integrator is sending a signal to the given `side`. 54 | 55 | --- 56 | 57 | ### getAnalogInput 58 | ``` 59 | getAnalogInput(side: string) -> number 60 | ``` 61 | 62 | Returns the redstone level input on the given `side`. 63 | 64 | !!! tip 65 | You can also use `Analogue` instead of `Analog` (ex. `getAnalogueInput`) both work exactly the same. 66 | 67 | --- 68 | 69 | ### getAnalogOutput 70 | ``` 71 | getAnalogOutput(side: string) -> number 72 | ``` 73 | 74 | Returns the redstone level being output by the Redstone Integrator on the given `side`. 75 | 76 | --- 77 | 78 | ### setOutput 79 | ``` 80 | setOutput(side: string, powered: boolean) -> void 81 | ``` 82 | 83 | Sets the redstone level output to 0 or 15 on the given `side` depending on `powered`. 84 | 85 | ```lua linenums="1" 86 | local integrator = peripheral.find("redstoneIntegrator") 87 | 88 | print("Left redstone level: ".. integrator.getAnalogInput("left")) -- prints the level of the redstone at the left side. 89 | print("Right redstone: ".. integrator.getOutput("right")) -- prints whether there is a redstone output on the right side. 90 | integrator.setOutput("top", true) -- Sets the redstone level to 15 for the top side. 91 | ``` 92 | 93 | --- 94 | 95 | ### setAnalogOutput 96 | ``` 97 | setAnalogOutput(side: string, power: number) -> void 98 | ``` 99 | 100 | Sets the redstone level output on the given `side` to the given `power` level. 101 | 102 | --- 103 | 104 | ## Changelog/Trivia 105 | 106 | **0.5.3b** 107 | Added the lovely Redstone Integrator. 108 | -------------------------------------------------------------------------------- /docs/turtles/chatty_turtle.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Chatty Turtle 6 | 7 | !!! picture inline end 8 | ![!Image of the Chatty Turtle](../img/previews/chatty_turtle.png){ align=right } 9 | 10 | The Chatty Turtle is the turtle version of the [Chat Box](../peripherals/chat_box.md) peripheral. See its documentation for more information. 11 | 12 |

13 | 14 | --- 15 | 16 | ## Changelog/Trivia 17 | 18 | **0.4b** 19 | Added the Chatty Turtle 20 | -------------------------------------------------------------------------------- /docs/turtles/chunky_turtle.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Chunky Turtle 6 | 7 | !!! picture inline end 8 | ![!Image of the Chunky Turtle](../img/previews/chunky_turtle.png){ align=right } 9 | 10 | The Chunky Turtle actively loads the current turtle's chunk. This turtle can be disabled in the mod's configuration file. This turtle has no functions or events. 11 | 12 |

13 | 14 | --- 15 | 16 | ## Changelog/Trivia 17 | 18 | **0.4b** 19 | Added the Chunky Turtle 20 | -------------------------------------------------------------------------------- /docs/turtles/environment_turtle.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Environment Turtle 6 | 7 | !!! picture inline end 8 | ![!Image of the Environment Turtle](../img/previews/environment_turtle.png){ align=right } 9 | 10 | The Environment Turtle is the turtle version of the [Environment Detector](../peripherals/environment_detector.md) peripheral. See its documenation for more information. 11 | 12 |

13 | 14 | --- 15 | 16 | ## Changelog/Trivia 17 | 18 | **0.4b** 19 | Added the Environment Turtle 20 | -------------------------------------------------------------------------------- /docs/turtles/geo_scanner_turtle.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Geoscanning Turtle 6 | 7 | !!! picture inline end 8 | ![!Image of the Geoscanning Turtle](../img/previews/geo_scanner_turtle.png){ align=right } 9 | 10 | The Geoscanning Turtle is the turtle version of the [Geo Scanner](../peripherals/geo_scanner.md) peripheral. See its documenation for more information. 11 | 12 |

13 | 14 | --- 15 | 16 | ## Changelog/Trivia 17 | 18 | **0.7r** 19 | Added the Geoscanning Turtle 20 | -------------------------------------------------------------------------------- /docs/turtles/metaphysics/end_automata.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # End Automata 6 | 7 | !!! picture inline end 8 | ![!Image of the Husbandry Automata Upgrade](../img/previews/end_automata.png){ align=right } 9 | 10 | End automata is a turtle with an End Mechanic Soul upgrade. This upgrade has all of the abilities of a [Weak Automata](./weak_automata.md) plus its own additional abilites: 11 | • Teleport between saved locations 12 | • Save a location as a warp point 13 | 14 |

15 | 16 | --- 17 | 18 |
19 | 20 | | Peripheral Name | Interfaces with | Has events | Introduced in | 21 | | --------------- | --------------- | ---------- | ------------- | 22 | | endAutomata | World | No | 0.7r | 23 | 24 |
25 | 26 | --- 27 | 28 | ## How to craft 29 | 30 | To create an end soul, you need to feed 10 endermans via the [feedSoul](weak_automata.md#feedsoul) function to a weak automata core. 31 | The core needs to be placed inside the turtle into the current active slot(Usually the first one). 32 | 33 | The turtle needs 10 endermans in total: 34 | 35 | | Mob | Amount | 36 | |----------|--------| 37 | | Enderman | 10 | 38 | 39 | Step by Step: 40 | 41 | - Create a weak automata turtle(A normal turtle with a weak automata core as upgrade) 42 | - Place another weak automata core in the current active slot of the turtle 43 | - run `weakAutomata#feedSoul()` for every enderman while the enderman is in front of the turtle 44 | 45 | Example 46 | ```lua 47 | core = peripheral.find("weak_automata") 48 | 49 | successful, message = core.feedSoul() 50 | print(successful) 51 | print(message) 52 | ``` 53 | 54 | --- 55 | 56 | ## Functions 57 | 58 | ### points 59 | ``` 60 | points() -> table | nil, string 61 | ``` 62 | Returns a list of all saved points and their names 63 | 64 | --- 65 | 66 | ### savePoint 67 | ``` 68 | savePoint(name: string) -> true | nil, string 69 | ``` 70 | This saves the turtle's current location as a warp point with the given `name` which can be teleported to at a future point in time. 71 | Returns true if the location is successfully saved, or nil and an error message. 72 | 73 | --- 74 | 75 | ### deletePoint 76 | ``` 77 | deletePoint(name: string) -> true | nil, string 78 | ``` 79 | This deletes a point with the given `name`. 80 | Returns true if the location is successfully deleted, nor nil and an error message. 81 | 82 | --- 83 | 84 | ### distanceToPoint 85 | ``` 86 | distanceToPoint(name: string) -> number | nil, string 87 | ``` 88 | Returns the distance from the turtle's current location to the location of the point using the [Manhattan distance formula](https://en.wikipedia.org/wiki/Taxicab_geometry). If the operation fails or the point does not exist then nil and an error message will be returned. 89 | 90 | --- 91 | 92 | ### getWarpCooldown 93 | ``` 94 | getWarpCooldown() -> number 95 | ``` 96 | Returns the current cooldown for warp operations. 97 | 98 | --- 99 | 100 | ### estimateWarpCost 101 | ``` 102 | estimateWarpCost(name: string) -> number | nil, string 103 | ``` 104 | Returns the fuel point cost to warp from the current location to the point with the given `name`. Or nil and an error message. 105 | 106 | --- 107 | 108 | ### warpToPoint 109 | ``` 110 | warpToPoint(name: string) -> true | nil, string 111 | ``` 112 | Teleports the turtle from the current location to the location of the point with the given `name`. 113 | Returns true if the turtle is successfully teleported or nil and an error message. 114 | 115 | --- 116 | 117 | ## Changelog/Trivia 118 | 119 | **0.7r** 120 | Added the End Automata 121 | -------------------------------------------------------------------------------- /docs/turtles/metaphysics/husbandry_automata.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Husbandry Automata 6 | 7 | !!! picture inline end 8 | ![!Image of the Husbandry Automata Upgrade](../img/previews/husbandry_automata.png){ align=right } 9 | 10 | Husbandry automata is a turtle with a Husbandry Mechanic Soul upgrade. This upgrade has all of the abilities of a [Weak Automata](./weak_automata.md) plus some additional abilites: 11 | • Use items on animals 12 | • Get information about an animal 13 | • Scan for nearby animals 14 | • Capture and release animals 15 | 16 |

17 | 18 | --- 19 | 20 |
21 | 22 | | Peripheral Name | Interfaces with | Has events | Introduced in | 23 | | ----------------- | --------------- | ---------- | ------------- | 24 | | husbandryAutomata | World | No | 0.7r | 25 | 26 |
27 | 28 | --- 29 | 30 | ## How to craft 31 | 32 | To create a husbandry soul, you need to feed 3 different types of animals via the [feedSoul](weak_automata.md#feedsoul) function to a weak automata core. 33 | The core needs to be placed inside the turtle into the current active slot(Usually the first one). 34 | 35 | The turtle needs 9 animals in total: 36 | 37 | | Animal | Amount | 38 | | ------ | ------ | 39 | | Cow | 3 | 40 | | Sheep | 3 | 41 | | Chicken | 3 | 42 | 43 | Step by Step: 44 | 45 | - Create a weak automata turtle(A normal turtle with a weak automata core as upgrade) 46 | - Place another weak automata core in the current active slot of the turtle 47 | - run `weakAutomata#feedSoul()` for every animal while the animal is in front of the turtle 48 | 49 | Example 50 | ```lua 51 | core = peripheral.find("weak_automata") 52 | 53 | successful, message = core.feedSoul() 54 | print(successful) 55 | print(message) 56 | ``` 57 | 58 | --- 59 | 60 | ## Functions 61 | 62 | ### useOnAnimal 63 | ``` 64 | useOnAnimal() -> (true | nil), string 65 | ``` 66 | Tries to use the currently selected item on the animal in front of the turtle. 67 | Returns true and the interaction result as a string or if it fails it returns nil and an error message. 68 | 69 | --- 70 | 71 | ### inspectAnimal 72 | ``` 73 | inspectAnimal() -> table | nil, string 74 | ``` 75 | Returns information about the animal that is in front of the turtle or nil and an error message. 76 | 77 | --- 78 | 79 | ### searchAnimals 80 | ``` 81 | searchAnimals() -> table | nil, string 82 | ``` 83 | Returns a list of the animals around the turtle or nil and an error message. 84 | 85 | --- 86 | 87 | ### captureAnimal 88 | ``` 89 | captureAnimal() -> true | nil, string 90 | ``` 91 | If an animal is in front of the turtle that animal will be captured and stored in the turtle. 92 | Returns true if an animal is captured or nil and an error message. 93 | 94 | --- 95 | 96 | ### releaseAnimal 97 | ``` 98 | releaseAnimal() -> true | nil, string 99 | ``` 100 | Returns true if it releases the stored animal or nil and an error message. 101 | 102 | --- 103 | 104 | ### getCapturedAnimal 105 | ``` 106 | getCapturedAnimal() -> table | nil, string 107 | ``` 108 | Returns a table of information about the stored animal or nil and an error message. 109 | 110 | --- 111 | 112 | ## Changelog/Trivia 113 | 114 | **0.7r** 115 | Added the Husbandry Automata 116 | -------------------------------------------------------------------------------- /docs/turtles/metaphysics/overpowered_automata.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Overpowered Automata 6 | 7 | !!! picture inline end 8 | ![!Image of the Overpowered Automata Upgrade](../img/previews/overpowered_automata.gif){ align=right } 9 | 10 | Overpowered automata is a turtle with an Overpowered Mechanic Soul upgrade. This upgrade has all of the abilities of the original automata. 11 | 12 | This automata will not use any item durability, however there is a very small chance that with every automata operation that the Mechanic Soul upgrade will just break- Forever. Once the upgrade has broken it can not be used again. 13 | 14 |

15 | 16 | --- 17 | 18 | | Peripheral Name | Interfaces with | Has events | Introduced in | 19 | | ---------------------------- | --------------- | ---------- | ------------- | 20 | | overpoweredWeakAutomata
overpoweredHusbandryAutomata
overpoweredEndAutomata | World | No | 0.7r | 21 | 22 | --- 23 | 24 | ## Changelog/Trivia 25 | 26 | **0.7r** 27 | Added the Overpowered Automata 28 | -------------------------------------------------------------------------------- /docs/turtles/metaphysics/weak_automata.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Weak Automata 6 | 7 | !!! picture inline end 8 | ![!Image of the Weak Automata Upgrade](../img/previews/weak_automata.png){ align=right } 9 | 10 | Weak automata is a turtle with a Weak Mechanic Soul upgrade. It has several different abilities: 11 | • Digging blocks with tools 12 | • Interact with blocks with an item or empty hand 13 | • Collect all or specific nearby items 14 | • Detect nearby items 15 | • Detect blocks and entities in front of the turtle 16 | • Charge the turtle with an energy cell in the turtle's inventory 17 | 18 |

19 | 20 | --- 21 | 22 |
23 | 24 | | Peripheral Name | Interfaces with | Has events | Introduced in | 25 | | --------------- | --------------- | ---------- | ------------- | 26 | | weakAutomata | World | No | 0.7r | 27 | 28 |
29 | 30 | --- 31 | 32 | ## Functions 33 | 34 | ### getFuelLevel 35 | ``` 36 | getFuelLevel() -> number 37 | ``` 38 | Returns the number of fuel points stored in the turtle. 39 | 40 | --- 41 | 42 | ### getFuelMaxLevel 43 | ``` 44 | getFuelMaxLevel() -> number 45 | ``` 46 | Returns the maximum amount of fuel points that the turtle can store. 47 | 48 | --- 49 | 50 | ### getFuelConsumptionRate 51 | ``` 52 | getFuelConsumptionRate() -> number 53 | ``` 54 | Returns the turtle's current fuel consumption rate. 55 | 56 | --- 57 | 58 | ### setFuelConsumptionRate 59 | ``` 60 | setFuelConsumptionRate(rate: number) -> true | nil, string 61 | ``` 62 | Allows you to control the fuel consumption `rate` of the turtle. See [Cooldowns and Fuel consumption](../../guides/cooldowns_and_fuel_consumption.md) to learn about how fuel consumption affects fuel cost and operation cooldowns. 63 | 64 | Returns true if the consumption rate was successfully set, or nil and an error message. 65 | 66 | --- 67 | 68 | ### getDigCooldown 69 | ``` 70 | getDigCooldown() -> number 71 | ``` 72 | Returns the current cooldown for dig operations. 73 | 74 | --- 75 | 76 | ### getSuckCooldown 77 | ``` 78 | getSuckCooldown() -> number 79 | ``` 80 | Returns the current cooldown for item collection operations. 81 | 82 | --- 83 | 84 | ### getUseOnBlockCooldown 85 | ``` 86 | getUseOnBlockCooldown() -> number 87 | ``` 88 | Returns the current cooldown for block interaction operations. 89 | 90 | --- 91 | 92 | ### getConfiguration 93 | ``` 94 | getConfiguration() -> table 95 | ``` 96 | Returns the configuration values for this automata. 97 | 98 | --- 99 | 100 | ### lookAtBlock 101 | ``` 102 | lookAtBlock() -> table | nil, string 103 | ``` 104 | Returns a table containing information about the block infront of the turtle or if the operation fails it will return nil and an error message. 105 | 106 | --- 107 | 108 | ### lookAtEntity 109 | ``` 110 | lookAtEntity() -> table | nil, string 111 | ``` 112 | Returns a table containing information about the entity infront of the turtle or if the operation fails it will return nil and an error message. 113 | 114 | --- 115 | 116 | ### digBlock 117 | ``` 118 | digBlock() -> true | nil, string 119 | ``` 120 | Tries to dig the block that the turtle is looking at with the current item. It returns true if it successfully mines the block or nil and an error message. 121 | 122 | --- 123 | 124 | ### useOnBlock 125 | ``` 126 | useOnBlock() -> true | nil, string 127 | ``` 128 | Tries to interact with the block that the turtle is looking at with the current item. It returns true if it successfully interacts with the block or nil and an error message. 129 | 130 | --- 131 | 132 | ### scanItems 133 | ``` 134 | scanItems() -> table | nil, string 135 | ``` 136 | Returns a list of items that are around the turtle or nil and an error message if it fails. 137 | 138 | --- 139 | 140 | ### collectItems 141 | ``` 142 | collectItems([count: number]) -> true | nil, string 143 | ``` 144 | Tries to collect all items or a specific amount if `count` is given around the turtle. 145 | Returns true if it successfully collects items or nil and an error message. 146 | 147 | --- 148 | 149 | ### collectSpecificItem 150 | ``` 151 | collectSpecificItem(item: string[, count: number]) -> true | nil, string 152 | ``` 153 | Tries to collect all items or a specific amount if `count` is given of the given `item` type that are around the turtle. 154 | Returns true if it successfully collects items or nil and an error message. 155 | 156 | --- 157 | 158 | ### feedSoul 159 | ``` 160 | feedSoul() -> (true | nil), string 161 | ``` 162 | Tries to feed the entity that is in front of the turtle to the mechanic soul upgrade in the the turtle's selected slot. 163 | Returns true and the interaction result as a string or if it fails nil and an error message. 164 | 165 | --- 166 | 167 | ### chargeTurtle 168 | ``` 169 | chargeTurtle([fuel: number]) -> number | nil, string 170 | ``` 171 | Tries to fuel the turtle using an energy cell in the turtle's inventory. The `fuel` argument limits the amount of fuel it will try to gain. 172 | Returns the amount of fuel points gained or nil and an error message. 173 | 174 | --- 175 | 176 | ## Changelog/Trivia 177 | 178 | **0.7r** 179 | Added the Weak Automata 180 | -------------------------------------------------------------------------------- /docs/turtles/player_turtle.md: -------------------------------------------------------------------------------- 1 | --- 2 | comments: true 3 | --- 4 | 5 | # Player Turtle 6 | 7 | !!! picture inline end 8 | ![!Image of the Player Turtle](../img/previews/player_turtle.png){ align=right } 9 | 10 | The Player Turtle is the turtle version of the [Player Detector](../peripherals/player_detector.md) peripheral. See its documenation for more information. 11 | 12 |

13 | 14 | --- 15 | 16 | ## Changelog/Trivia 17 | 18 | **0.4b** 19 | Added the Player Turtle 20 | -------------------------------------------------------------------------------- /mike.yml: -------------------------------------------------------------------------------- 1 | { 2 | "default": "0.7" 3 | } -------------------------------------------------------------------------------- /mkdocs.yml: -------------------------------------------------------------------------------- 1 | site_name: Advanced Peripherals 2 | site_url: 'https://docs.advanced-peripherals.de/' 3 | 4 | nav: 5 | - 'Home': 'index.md' 6 | - 'Blog': 7 | - blog/index.md 8 | - 'Guides': 9 | - 'Lua Objects': 'guides/objects.md' 10 | - 'Item and Fluid Filters': 'guides/filters.md' 11 | - 'Cooldowns and Fuel consumption': 'guides/cooldowns_and_fuel_consumption.md' 12 | - 'Storage System Functions': 'guides/storage_system_functions.md' 13 | - 'How to: report a bug or request a feature': 'guides/how_to_report.md' 14 | - 'Peripherals': 15 | - 'Chat Box': 'peripherals/chat_box.md' 16 | - 'Energy Detector': 'peripherals/energy_detector.md' 17 | - 'Environment Detector': 'peripherals/environment_detector.md' 18 | - 'Player Detector': 'peripherals/player_detector.md' 19 | - 'Inventory Manager': 'peripherals/inventory_manager.md' 20 | - 'NBT Storage': 'peripherals/nbt_storage.md' 21 | - 'Block Reader': 'peripherals/block_reader.md' 22 | - 'Geo Scanner': 'peripherals/geo_scanner.md' 23 | - 'Redstone Integrator': 'peripherals/redstone_integrator.md' 24 | - 'AR Controller': 'peripherals/ar_controller.md' 25 | - 'ME Bridge': 'peripherals/me_bridge.md' 26 | - 'RS Bridge': 'peripherals/rs_bridge.md' 27 | - 'Colony Integrator': 'peripherals/colony_integrator.md' 28 | - 'Turtles': 29 | - 'Chatty Turtle': 'turtles/chatty_turtle.md' 30 | - 'Chunky Turtle': 'turtles/chunky_turtle.md' 31 | - 'Environment Turtle': 'turtles/environment_turtle.md' 32 | - 'Player Turtle': 'turtles/player_turtle.md' 33 | - 'Geoscanning Turtle': 'turtles/geo_scanner_turtle.md' 34 | - 'Metaphysics': 35 | - 'Weak Automata': 'turtles/metaphysics/weak_automata.md' 36 | - 'Husbandry Automata': 'turtles/metaphysics/husbandry_automata.md' 37 | - 'End Automata': 'turtles/metaphysics/end_automata.md' 38 | - 'Overpowered Automata': 'turtles/metaphysics/overpowered_automata.md' 39 | - 'Items': 40 | - 'AR Goggles': 'items/ar_goggles.md' 41 | - 'Chunk Controller': 'items/chunk_controller.md' 42 | - 'Computer Tool': 'items/computer_tool.md' 43 | - 'Memory Card': 'items/memory_card.md' 44 | - 'Pocket Computers': 'items/pocket_computer.md' 45 | - 'Mod Integrations': 46 | - 'integrations/index.md' 47 | - 'Minecraft': 48 | - 'Beacon': 'integrations/minecraft/beacon.md' 49 | - 'Note Block': 'integrations/minecraft/noteblock.md' 50 | - 'Botania': 51 | - 'Flowers': 'integrations/botania/flowers.md' 52 | - 'Mana Pool': 'integrations/botania/pool.md' 53 | - 'Mana Spreader': 'integrations/botania/spreader.md' 54 | - 'Create': 55 | - 'Basin': 'integrations/create/basin.md' 56 | - 'Blaze Burner': 'integrations/create/blazeburner.md' 57 | - 'Fluid Tank': 'integrations/create/fluidtank.md' 58 | - 'Mechanical Mixer': 'integrations/create/mechanicalmixer.md' 59 | - 'Blocks with Scroll Behaviour': 'integrations/create/scrollbehaviour.md' 60 | - 'Draconic Evolution': 61 | - 'integrations/draconic_evolution/index.md' 62 | # - 'Energy Core': 'integrations/draconic_evolution/energy_core.md' 63 | # - 'Reactor': 'integrations/draconic_evolution/reactor.md' 64 | - 'Immersive Engineering': 65 | - 'Redstone Wire Connector': 'integrations/immersive_engineering/connector.md' 66 | - 'Redstone Probe': 'integrations/immersive_engineering/probe.md' 67 | - 'Integrated Dynamics': 68 | - 'Variable Store': 'integrations/integrated_dynamics/variable_store.md' 69 | - 'Mekanism': 70 | - 'integrations/mekanism/index.md' 71 | # - 'Boiler Valve': '' 72 | # - 'Induction Valve': '' 73 | # - 'Chemical Tank': '' 74 | # - 'Dynamic Tank': '' 75 | # - 'Fluid Tank': '' 76 | # - 'Digital Miner': '' 77 | # - 'Fission': '' 78 | # - 'Fusion': '' 79 | # - 'Solar Evaporation': '' 80 | # - 'Transmitter': '' 81 | # - 'Turbine': '' 82 | # - 'Waste Barrel': '' 83 | # - 'Energy Blocks': '' 84 | - 'Powah': 85 | - 'Energy cell': 'integrations/powah/energy_cell.md' 86 | - 'Furnator': 'integrations/powah/furnator.md' 87 | - 'Magmator': 'integrations/powah/magmator.md' 88 | - 'Reactor': 'integrations/powah/reactor.md' 89 | - 'Solar panel': 'integrations/powah/solar_panel.md' 90 | - 'Thermo generator': 'integrations/powah/thermo_generator.md' 91 | - 'Storage Drawers': 92 | - 'Drawer': 'integrations/storage_drawers/drawer.md' 93 | - 'Changelogs': 94 | - 'Changelog 0.7.24r': 'changelogs/0.7.24r.md' 95 | - 'Changelog 0.7r': 'changelogs/0.7r.md' 96 | 97 | watch: 98 | - overrides 99 | 100 | theme: 101 | name: material 102 | custom_dir: overrides 103 | features: 104 | - navigation.top 105 | # - navigation.instant # Breaks 'lightgallery' extension 106 | - navigation.indexes 107 | - navigation.tabs 108 | - navigation.footer 109 | # - navigation.sections # Makes navigation too long 110 | - content.code.annotate 111 | - content.code.copy 112 | - content.action.edit 113 | - content.action.view 114 | - content.tabs.link 115 | icon: 116 | edit: material/file-edit-outline 117 | view: material/file-eye-outline 118 | palette: 119 | - scheme: slate 120 | primary: blue 121 | toggle: 122 | icon: material/weather-sunny 123 | name: Switch to dark mode 124 | - scheme: default 125 | primary: blue 126 | toggle: 127 | icon: material/weather-night 128 | name: Switch to light mode 129 | 130 | plugins: 131 | - search: 132 | lang: en 133 | - glightbox 134 | - blog: 135 | post_date_format: long 136 | archive_date_format: MMMM yyyy 137 | archive_url_date_format: yyyy/MM 138 | - git-revision-date-localized: 139 | enable_creation_date: true 140 | type: date 141 | fallback_to_build_date: true 142 | enabled: !ENV [CI, false] 143 | - git-committers: 144 | repository: IntelligenceModding/Advanced-Peripherals-Documentation 145 | branch: "0.7-bridges" 146 | token: !ENV GITHUB_TOKEN 147 | enabled: !ENV [CI, false] 148 | 149 | extra_css: 150 | - extra.css 151 | 152 | extra_javascript: 153 | - https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML 154 | 155 | extra: 156 | version: 157 | default: 0.7 158 | provider: mike 159 | social: 160 | - icon: material/github 161 | link: https://github.com/IntelligenceModding/AdvancedPeripherals 162 | - icon: material/youtube 163 | link: https://www.youtube.com/@intelligencemodding4093 164 | - icon: fontawesome/brands/discord 165 | link: https://discord.intelligence-modding.de/ 166 | 167 | repo_url: https://github.com/IntelligenceModding/Advanced-Peripherals-Documentation 168 | repo_name: IntelligenceModding/Advanced-Peripherals-Documentation 169 | edit_uri: edit/0.7-bridges/docs/ 170 | 171 | markdown_extensions: 172 | - tables 173 | - md_in_html 174 | - mdx_math 175 | - def_list 176 | - attr_list 177 | - md_in_html 178 | - pymdownx.tasklist: 179 | custom_checkbox: true 180 | - codehilite: 181 | guess_lang: false 182 | - toc: 183 | permalink: true 184 | - admonition 185 | - pymdownx.superfences 186 | - pymdownx.tabbed: 187 | alternate_style: true 188 | - pymdownx.emoji: 189 | emoji_index: !!python/name:material.extensions.emoji.twemoji 190 | emoji_generator: !!python/name:material.extensions.emoji.to_svg 191 | - footnotes 192 | -------------------------------------------------------------------------------- /netlify.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | command = """ 3 | mkdocs build 4 | git config user.name "Version Deployment" 5 | git config user.email "netlifybot@example.com" 6 | git remote set-url origin https://${GITHUB_TOKEN}@github.com/SirEndii/Advanced-Peripherals-Documentation.git 7 | git config pull.rebase true 8 | git switch ${BRANCH} 9 | git commit -m "cache updates" --all 10 | git pull origin ${BRANCH} 11 | git push origin 0.7 12 | git switch gh-pages 13 | git pull origin gh-pages 14 | git switch ${BRANCH} 15 | echo "Trying to deploy $BRANCH ..." 16 | if [ "$BRANCH" = "0.8" ]; then 17 | echo "Deploying $BRANCH" 18 | mike deploy --push --update-aliases --ignore-remote-status --allow-empty 0.8 canary 19 | elif [ "$BRANCH" = "0.7" ]; then 20 | echo "Deploying $BRANCH" 21 | mike deploy --push --update-aliases --ignore-remote-status --allow-empty 0.7 latest 22 | else 23 | echo "Deploying $BRANCH" 24 | mike deploy --push --ignore-remote-status --allow-empty "$BRANCH" 25 | fi 26 | """ 27 | publish = "site" # The directory where your built MkDocs site resides 28 | 29 | [context.deploy-preview] 30 | command = "mkdocs build" #build the preview, but don't deploy with mike. 31 | publish = "site" -------------------------------------------------------------------------------- /overrides/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntelligenceModding/Advanced-Peripherals-Documentation/b49b7957c7688e4f04cfe106de2b53a7a62e40a2/overrides/img/loading.gif -------------------------------------------------------------------------------- /overrides/partials/comments.html: -------------------------------------------------------------------------------- 1 | {% if page.meta.comments %} 2 |

{{ lang.t("meta.comments") }}

3 | 4 | 20 | 21 | 55 | {% endif %} -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "advanced-peripherals-documentation" 3 | version = "0.1.0" 4 | description = "" 5 | authors = ["Srendi"] 6 | readme = "README.md" 7 | package-mode = false 8 | 9 | [tool.poetry.dependencies] 10 | python = ">=3.12,<4" 11 | mkdocs = "^1.6.1" 12 | mkdocs-material = "^9.5.50" 13 | python-markdown-math = "^0.8" 14 | pyyaml = "^6.0.2" 15 | mkdocs-glightbox = "^0.3.7" 16 | mkdocs-git-committers-plugin-2 = "^2.4.1" 17 | mkdocs-git-revision-date-localized-plugin = "^1.3.0" 18 | mike = "^2.1.0" 19 | 20 | [build-system] 21 | requires = ["poetry-core"] 22 | build-backend = "poetry.core.masonry.api" 23 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | babel==2.17.0 ; python_version >= "3.12" and python_version < "4" 2 | backrefs==5.8 ; python_version >= "3.12" and python_version < "4" 3 | certifi==2025.4.26 ; python_version >= "3.12" and python_version < "4" 4 | charset-normalizer==3.4.2 ; python_version >= "3.12" and python_version < "4" 5 | click==8.2.1 ; python_version >= "3.12" and python_version < "4" 6 | colorama==0.4.6 ; python_version >= "3.12" and python_version < "4" 7 | ghp-import==2.1.0 ; python_version >= "3.12" and python_version < "4" 8 | gitdb==4.0.12 ; python_version >= "3.12" and python_version < "4" 9 | gitpython==3.1.44 ; python_version >= "3.12" and python_version < "4" 10 | idna==3.10 ; python_version >= "3.12" and python_version < "4" 11 | importlib-metadata==8.7.0 ; python_version >= "3.12" and python_version < "4" 12 | importlib-resources==6.5.2 ; python_version >= "3.12" and python_version < "4" 13 | jinja2==3.1.6 ; python_version >= "3.12" and python_version < "4" 14 | markdown==3.8 ; python_version >= "3.12" and python_version < "4" 15 | markupsafe==3.0.2 ; python_version >= "3.12" and python_version < "4" 16 | mergedeep==1.3.4 ; python_version >= "3.12" and python_version < "4" 17 | mike==2.1.3 ; python_version >= "3.12" and python_version < "4" 18 | mkdocs-get-deps==0.2.0 ; python_version >= "3.12" and python_version < "4" 19 | mkdocs-git-committers-plugin-2==2.5.0 ; python_version >= "3.12" and python_version < "4" 20 | mkdocs-git-revision-date-localized-plugin==1.4.7 ; python_version >= "3.12" and python_version < "4" 21 | mkdocs-glightbox==0.3.7 ; python_version >= "3.12" and python_version < "4" 22 | mkdocs-material-extensions==1.3.1 ; python_version >= "3.12" and python_version < "4" 23 | mkdocs-material==9.6.14 ; python_version >= "3.12" and python_version < "4" 24 | mkdocs==1.6.1 ; python_version >= "3.12" and python_version < "4" 25 | packaging==25.0 ; python_version >= "3.12" and python_version < "4" 26 | paginate==0.5.7 ; python_version >= "3.12" and python_version < "4" 27 | pathspec==0.12.1 ; python_version >= "3.12" and python_version < "4" 28 | platformdirs==4.3.8 ; python_version >= "3.12" and python_version < "4" 29 | pygments==2.19.1 ; python_version >= "3.12" and python_version < "4" 30 | pymdown-extensions==10.15 ; python_version >= "3.12" and python_version < "4" 31 | pyparsing==3.2.3 ; python_version >= "3.12" and python_version < "4" 32 | python-dateutil==2.9.0.post0 ; python_version >= "3.12" and python_version < "4" 33 | python-markdown-math==0.8 ; python_version >= "3.12" and python_version < "4" 34 | pytz==2025.2 ; python_version >= "3.12" and python_version < "4" 35 | pyyaml-env-tag==1.1 ; python_version >= "3.12" and python_version < "4" 36 | pyyaml==6.0.2 ; python_version >= "3.12" and python_version < "4" 37 | requests==2.32.3 ; python_version >= "3.12" and python_version < "4" 38 | six==1.17.0 ; python_version >= "3.12" and python_version < "4" 39 | smmap==5.0.2 ; python_version >= "3.12" and python_version < "4" 40 | urllib3==2.4.0 ; python_version >= "3.12" and python_version < "4" 41 | verspec==0.1.0 ; python_version >= "3.12" and python_version < "4" 42 | watchdog==6.0.0 ; python_version >= "3.12" and python_version < "4" 43 | zipp==3.22.0 ; python_version >= "3.12" and python_version < "4" 44 | --------------------------------------------------------------------------------