diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 9514139d..2bc40155 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,6 +1,6 @@ { "name": "Advanced Peripherals Docs Dev", - "image": "mcr.microsoft.com/devcontainers/python:3.12-bookworm", + "image": "mcr.microsoft.com/devcontainers/python:3.14-trixie", "features": { "ghcr.io/devcontainers/features/github-cli:1": {}, diff --git a/docs/changelogs/0.7.24r.md b/docs/changelogs/0.7.24r.md new file mode 100644 index 00000000..c1a805ba --- /dev/null +++ b/docs/changelogs/0.7.24r.md @@ -0,0 +1,93 @@ +--- +hide: + - toc +--- + +# Changelog 1.18.2-0.7.24r / 1.19.3-0.7.23b + +## Table of Contents + +1. [Item/Fluid Filter](#itemfluid-filter) +2. [Inventory manager](#inventory-manager) +3. [ME and RS Bridge](#me-and-rs-bridge) + +
+ +The 0.7.24r update brings some changes to our inventory system. +All major and breaking changes are listed here to help with updating your scripts. + +### Item/Fluid Filter + +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. + +Fluids also now use a filter system. + +The following keys got removed: +- `json` +- `tag` + +The `nbt` key now uses json typed nbt values like `{nbt="{StoredEnchantments: [{lvl: 2s, id: \"minecraft:blast_protection\"}]}"}` + +The `name` key can now search for tags. +``` lua +{ + name="#minecraft:wool" -- searches for the wool tag + -- OR + name="#forge:ores/gold" -- searches for the forge gold tag + -- OR + name="minecraft:white_wool" -- searches for white wool +} +``` + +You CAN NOT search for multiple items/tags at once. + +Item Filters can filter for slots with `toSlot` and `fromSlot`. + +You can find the new filter documentation [here](/guides/filters) + +
+ +### Inventory manager + +The following functions got deprecated: + +- `removeItemFromPlayer(direction: string, count: int[, slot: int, item: string])` + +- `addItemToPlayer(direction: string, count: int[, slot: int, item: string])` + +- `removeItemFromPlayerNBT(direction: string, count: int[, slot: int, item: table])` + +- `addItemToPlayerNBT(direction: string, count: int[, slot: int, item: table])` + +These will be replaced in the next major update with the following two functions: + +- `removeItemFromPlayer(direction: direction, string: table)` + +- `addItemToPlayer(direction: string, item: table)` + +The following functions now use the new [filter](/guides/filters) system: + +- `removeItemFromPlayerNBT(direction: string, count: int[, slot: int, item: filter])` + +- `addItemToPlayerNBT(direction: string, count: int[, slot: int, item: filter]))` + +
+ +### ME and RS Bridge + +Added the following functions to the me bridge: + +- `getTotalItemStorage` +- `getTotalFluidStorage` +- `getUsedItemStorage` +- `getUsedFluidStorage` +- `getAvailableItemStorage` +- `getAvailableFluidStorage` +- `listCells` +- `isConnected` + +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. +This is not a breaking change. + + + diff --git a/docs/changelogs/0.7r.md b/docs/changelogs/0.7r.md new file mode 100644 index 00000000..95ee2a99 --- /dev/null +++ b/docs/changelogs/0.7r.md @@ -0,0 +1,135 @@ +--- +hide: + - toc +--- + +# Changelog 0.7r + +## Table of Contents + +1. [Update Video](#video) +2. [New Features](#features) + 1. [Integrated Dynamics Integration](#integrated-dynamics-integration-116) + 2. [Storage Drawer Integration](#storage-drawer-integration-116) + 3. [Colony Integrator](#colony-integrator) + 4. [Geo Scanner](#geo-scanner) + 5. [Block Reader](#block-reader) + 6. [NBT Storage](#nbt-storage) + 7. [New Turtles Upgrades](#new-turtles-upgrades) + 8. [New Ingame Documentation](#new-ingame-documentation) +3. [Small features and improvements](#small-features-and-improvements) + 1. [Breaking changes](#breaking-changes) + 2. [New functions, events and translations!](#new-functions-events-and-translations) + 3. [Improved mod integration](#improved-mod-integration) + 4. [Support for relative and cardinal directions](#support-for-relative-and-cardinal-directions) +4. [Bug fixes](#bug-fixes) + +
+ +## First of all + +First of all, big thanks to SirEdvin and FatalMerlin! These awesome hoomans helped a lot with this update! + +--- + +### Video + +If you don't want to read, you can watch this wonderful short video! + + + +
+ +## Features + +### New Integrations + +- #### Integrated Dynamics Integration +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. + + ##### [View here](../integrations/integrated_dynamics/variable_store.md) + +- #### Storage Drawer Integration +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. + + ##### [View here](../integrations/storage_drawers/drawer.md) + +### New Peripherals + +- #### Colony Integrator +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. + + ##### [View here](../peripherals/colony_integrator.md) + +- #### Geo Scanner +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. + + ##### [View here](../peripherals/geo_scanner.md) + +- #### Block Reader +With the **Block Reader** you can read the data of neighboring blocks and tile entites. + + ##### [View here](../peripherals/block_reader.md) + +- #### NBT Storage +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. + + ##### [View here](../peripherals/nbt_storage.md) + +### New Turtles Upgrades +New powerful turtle upgrades! +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. + +### New Ingame Documentation +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! + +
+ +## Small features and improvements + +This update also provides a lot of small features and improvements. + +--- + +#### Breaking changes + +- We changed some function names of the ME Bridge and RS Bridge peripherals. +- Removed the Peripheral Proxy + +--- + +#### New functions, events and translations + +- Added the slot parameter to the functions of the [Inventory Manager](../peripherals/inventory_manager.md). +- Added `uuid` and `isHidden` return values to the chat event. +- Added a lot of new functions to the [Player Detector](../peripherals/player_detector.md). +- Added the `sendFormattedMessage` function to the chat box. +- Added russian translations by DrHesperus. + +--- + +#### Improved mod integration +You can now connect supported blocks directly with a modem. We completely removed the Peripheral Proxy. + +--- + +#### Support for relative and cardinal directions +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. +**Example:** +```lua linenums="1" +-- Both of these will work +redstoneIntegrator.setOutput("north", true) +redstoneIntegrator.setOutput("right", true) +``` + +
+ +## Bug fixes + +*\* Not all fixed bugs are listed here* + +- Fixed server crashes with the RS Bridge +- Fixed chunky turtle performance issues +- Fixed that the redstone integrators lets pass redstone signal through it +- Fixed that the redstone integrator does not update blocks around it +- Improved chat event performance diff --git a/docs/changelogs/0.8.md b/docs/changelogs/0.8.md new file mode 100644 index 00000000..0e39641b --- /dev/null +++ b/docs/changelogs/0.8.md @@ -0,0 +1,175 @@ +# Changelog 0.8 + +!!! warning + 0.8 is currently in alpha. Any implementation or function can change before we hit beta! + We will post any changes for the upcoming patches here and on our discord. + Any feedback is welcome! The more, the better. Report any issues on GitHub. + + +## Table of Contents + +1. [Update Video](#video) +2. [New Features](#features) + 1. [Smart Glasses](#fresh-new-smart-glasses) + 2. [AE2 P2P Tunnel](#ae2-p2p-Tunnel) + 3. [Dimensional Chest](#dimensional-chest) + 4. [Distance Detector](#distance-detector) + 5. [Fluid Detector](#fluid-detector) + 6. [Gas Detector](#gas-detector) + 7. [Smart Rail](#smart-rail) + 8. [Saddle Turtle](#saddle-turtle) + 9. [Portal Automata](#portal-crossing-end-automata) +3. [Breaking Changes and Improvements](#breaking-changes-and-improvements) + + + +
+ +## First of all + +Firstly, big thanks to @zyxkad and all the other contributors and team members who worked on this release! +Also a huge thanks to ridanisaurus rid for the new textures! + +--- + +### Video + +No need to read if you don't want to, you can watch this video *when we finally release it* + +ETA: In the future + +In the meantime, feel free to watch the 0.7r changelog. + + + +
+ +## Features + +### Fresh New Smart glasses +We have been working on our new smart glasses for a while now. +Since we disabled the old AR goggles and controller due to some issues, we got constant feedback and requests to bring them back. +And we finally did. + +The smart glasses are like a pocket computer but with an inventory. They offer 5 peripheral slots and 6 slots for modules. +You can insert any peripheral that would also work as a pocket upgrade. + +#### [View here](../items/smart_glasses.md) + +We currently offer 4 modules. + +- #### Overlay Module +This is the module that actually allows the player to render anything. We currently implemented 2D rendering and 3D rendering. +The logic is different from with the old AR glasses. Instead of rendering something and clearing when you want to change it, we created objects. +
+So instead of creating, clearing, and doing that a dozen times a frame, you create an object and don't touch it until you need to change something. +But instead of deleting the object and recreating it, which in the end results in some nasty flickering, you can change attributes of that object. +That attribute gets sent to the client and applied to the object without removing it first. This allows for smoother animations, UI, and interactions. + + ##### [View here](../modules/overlay.md) + +- #### Keyboard +While the keyboard has its own logic and use case, it can also be used as a module. +This basically allows anyone to create their own UIs. Forwarding any keystrokes and mouse movements to the glasses. + + ##### [View here](../modules/keyboard.md) + +- #### Hotkey Module +This module is the primitive younger brother of the keyboard module. It fires an event when the keybind that is set in the controls setting gets pressed. + + ##### [View here](../modules/hotkey.md) + +- #### Night Vision +Just a small night vision upgrade for your eyes. Adjustable via lua. + + ##### [View here](../modules/night_vision.md) + +### New Integrations + +- #### AE2 P2P Tunnel +We now offer an integration between the AE2 P2P System and CC's networking! + + ##### [View here](../integrations/ae2/cable_p2p_tunnel.md) + +- #### Dimensional Chest +You can now manage your [Dimensional Chest](https://www.curseforge.com/minecraft/mc-mods/storage-drawers). This allows you to change channels or retrieve information about the owner + + ##### [No Page yet](../integrations/dimchest.md) + +- #### Inventory Manager Curios +The Inventory Manager now supports Curios Slots. + + ##### [View here](../peripherals/inventory_manager.md#listcurios) + +- #### Any create block with filter behavior + +We now integrate with every block that implements the create filter behavior. You can now set and read filters! + + ##### [Page Upcoming](../integrations/create/hihi.md) + +### New Peripherals + +- #### Distance Detector +We added the **Distance Detector** that interacts with the world. You can measure distances to blocks or entities and draw a fancy laser in between. + + ##### [View here](../peripherals/distance_detector.md) + +- #### Fluid Detector +This peripheral is just like the energy detector. A valve to control and measure the flow of fluids! + + ##### [View here](../peripherals/base_detector.md) + +- #### Gas Detector +Basically what you've read above, but with chemicals from mekanism. + + ##### [View here](../peripherals/base_detector.md) + +- #### Smart Rail +Basically a combination of the detector rail, activator rail and powered rail in one and controllable. + + ##### [View here](../peripherals/smart_rail.md) + +### New Turtles Upgrades + +We added some interesting, cursed new turtle upgrades. + +- #### Saddle Turtle +This new turtle allows you to capture any entity or, even more exciting, players on it. You can also ride it like a horse with the events! + + ##### [View here](../turtles/saddle_turtle.md) + +- #### Portal Crossing end automata +Not a new turtle upgrade, but worth mentioning. You can now move with any turtle through portals of any kind. + + ##### [View here](../turtles/metaphysics/end_automata.md/#portalshipprepare) + +## Breaking Changes and Improvements + +### Peripheral Name Change + +We are now using snake_case for our peripheral names instead of camelCase. We know that this will result in broken scripts, but we wanted to adapt to the convention of CC's peripheral naming. + +### New Disabled Peripherals Logic + +Peripherals that got disabled in the configuration got reworked. Now, instead of returning nil when trying to wrap a peripheral, the wrapped peripheral will only return one function called `peripheralDisabled`. But instead of checking what this function will return, we just check if this function exists. +See [this Page](../guides/disabled_peripherals.md) for more details + +### Renames and New Table Structures + +A lot of table structures and function names got changed. We recommend reading through the relevant pages of the peripherals you use. +The best example is, that we unified the functionality of the ME and RS Bridge. + +### Unified import/export functions and changed directions + +We unified the import/export functions. So instead of having different functions for different targets, like with `importItemFromPeripheral` and `importItem`. You can now use `importItem` for both. +For directions, by default, every resource moving function with a target inventory tries to export to a peripheral like `minecraft:chest_1` if you want to use cardinal (north, south...) or relative (right, left...) directions, you need to place an `@` before. +Example: `importItem("@north")` or `importItem("@right")` or `importItem("minecraft:chest_1")`. + +### Chat Box adjustment + +We removed the xToPlayer functions. Instead, you can now pass `player = "Queen"` into the options table of the functions. + +### Fingerprints got removed + +The "old" fingerprints got removed; we now use CC:T's nbtHash for better compatibility between CC:T peripherals and ours. +So every `fingerprint` table key got changed to `nbt` \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 569ac8fb..dc148dc0 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -77,9 +77,10 @@ nav: - 'Reactor': 'integrations/powah/reactor.md' - 'Solar panel': 'integrations/powah/solar_panel.md' - 'Thermo generator': 'integrations/powah/thermo_generator.md' - # - 'Changelogs': - # - 'Changelog 0.7.24r': 'changelogs/0.7.24r.md' - # - 'Changelog 0.7r': 'changelogs/0.7r.md' + - 'Changelogs': + - 'Changelog 0.8': 'changelogs/0.8.md' + - 'Changelog 0.7.24r': 'changelogs/0.7.24r.md' + - 'Changelog 0.7r': 'changelogs/0.7r.md' watch: - overrides diff --git a/overrides/main.html b/overrides/main.html index 928f330c..8aeba82a 100644 --- a/overrides/main.html +++ b/overrides/main.html @@ -1,8 +1,8 @@ {% extends "base.html" %} {% block announce %} -You are currently viewing documentation for the upcoming 0.8 version. This version is not released yet and the documentation is still under development and only for testing purposes. - - Click here to go to the latest supported. +You are currently reading the documentation for 0.8. This is subject to change while we prepare a beta and stable release. + + Please read the changelog. {% endblock %} \ No newline at end of file