Full Code of refinedmods/refinedstorage for AI

develop 60ce906c1699 cached
2808 files
3.6 MB
1.1M tokens
5045 symbols
1 requests
Download .txt
Showing preview only (4,571K chars total). Download the full file or copy to clipboard to get everything.
Repository: refinedmods/refinedstorage
Branch: develop
Commit: 60ce906c1699
Files: 2808
Total size: 3.6 MB

Directory structure:
gitextract_ju5e0fkm/

├── .github/
│   ├── CONTRIBUTING.md
│   ├── FUNDING.yml
│   ├── ISSUE_TEMPLATE/
│   │   └── config.yml
│   ├── SUPPORT.md
│   └── workflows/
│       ├── build.yml
│       ├── draft-release.yml
│       ├── issue-for-unsupported-version.yml
│       ├── publish-release.yml
│       ├── resolved-issue-locking.yml
│       ├── validate-branch-name.yml
│       ├── validate-changelog.yml
│       └── validate-commit-messages.yml
├── .gitignore
├── CHANGELOG.md
├── LICENSE.md
├── README.md
├── build.gradle
├── config/
│   └── checkstyle/
│       └── checkstyle.xml
├── docs/
│   ├── nav.json
│   ├── pages/
│   │   ├── advanced-usage/
│   │   │   ├── commands.adoc
│   │   │   ├── index.adoc
│   │   │   ├── profiling.adoc
│   │   │   ├── resource-packs.adoc
│   │   │   ├── translating-refined-storage.adoc
│   │   │   ├── using-development-builds.adoc
│   │   │   └── using-the-api.adoc
│   │   ├── autocrafting/
│   │   │   ├── autocrafting-with-filled-buckets.adoc
│   │   │   ├── crafter-manager.adoc
│   │   │   ├── crafter.adoc
│   │   │   ├── crafting-monitor.adoc
│   │   │   ├── fluid-autocrafting.adoc
│   │   │   ├── getting-started-with-autocrafting.adoc
│   │   │   ├── index.adoc
│   │   │   ├── keeping-fluids-in-stock.adoc
│   │   │   ├── keeping-items-in-stock.adoc
│   │   │   ├── locking-and-unlocking.adoc
│   │   │   ├── pattern-grid.adoc
│   │   │   ├── pattern.adoc
│   │   │   ├── processing-pattern-encoder.adoc
│   │   │   └── processing-recipes.adoc
│   │   ├── faq.adoc
│   │   ├── getting-started.adoc
│   │   ├── how-to-install.adoc
│   │   ├── index.adoc
│   │   ├── index.html
│   │   ├── input-and-output/
│   │   │   ├── constructor.adoc
│   │   │   ├── destructor.adoc
│   │   │   ├── disk-manipulator.adoc
│   │   │   ├── exporter.adoc
│   │   │   ├── fluid-interface.adoc
│   │   │   ├── getting-items-in-and-out.adoc
│   │   │   ├── importer.adoc
│   │   │   ├── index.adoc
│   │   │   ├── interface.adoc
│   │   │   ├── reader.adoc
│   │   │   └── writer.adoc
│   │   ├── need-help.adoc
│   │   ├── need-help.html
│   │   ├── networking/
│   │   │   ├── cable.adoc
│   │   │   ├── controller.adoc
│   │   │   ├── creative-controller.adoc
│   │   │   ├── detector.adoc
│   │   │   ├── index.adoc
│   │   │   └── relay.adoc
│   │   ├── news/
│   │   │   ├── 20210518-announcing-refined-storage-2.adoc
│   │   │   ├── 20220704-a-big-milestone-for-refined-storage-2.adoc
│   │   │   ├── 20230707-a-week-of-modding.adoc
│   │   │   ├── 20230819-refined-storage-2-milestone-2-completed.adoc
│   │   │   ├── 20240319-refined-storage-2-status-update-march.adoc
│   │   │   ├── 20240628-refined-storage-2-milestone-3-completed.adoc
│   │   │   ├── index.adoc
│   │   │   └── index.html
│   │   ├── opencomputers-api.adoc
│   │   ├── release-notes.adoc
│   │   ├── release-notes.html
│   │   ├── security/
│   │   │   ├── index.adoc
│   │   │   ├── security-card.adoc
│   │   │   └── security-manager.adoc
│   │   ├── storage/
│   │   │   ├── 1024k-fluid-storage-block.adoc
│   │   │   ├── 1024k-fluid-storage-disk.adoc
│   │   │   ├── 1024k-fluid-storage-part.adoc
│   │   │   ├── 16k-storage-block.adoc
│   │   │   ├── 16k-storage-disk.adoc
│   │   │   ├── 16k-storage-part.adoc
│   │   │   ├── 1k-storage-block.adoc
│   │   │   ├── 1k-storage-disk.adoc
│   │   │   ├── 1k-storage-part.adoc
│   │   │   ├── 256k-fluid-storage-block.adoc
│   │   │   ├── 256k-fluid-storage-disk.adoc
│   │   │   ├── 256k-fluid-storage-part.adoc
│   │   │   ├── 4096k-fluid-storage-block.adoc
│   │   │   ├── 4096k-fluid-storage-disk.adoc
│   │   │   ├── 4096k-fluid-storage-part.adoc
│   │   │   ├── 4k-storage-block.adoc
│   │   │   ├── 4k-storage-disk.adoc
│   │   │   ├── 4k-storage-part.adoc
│   │   │   ├── 64k-fluid-storage-block.adoc
│   │   │   ├── 64k-fluid-storage-disk.adoc
│   │   │   ├── 64k-fluid-storage-part.adoc
│   │   │   ├── 64k-storage-block.adoc
│   │   │   ├── 64k-storage-disk.adoc
│   │   │   ├── 64k-storage-part.adoc
│   │   │   ├── creative-fluid-storage-block.adoc
│   │   │   ├── creative-fluid-storage-disk.adoc
│   │   │   ├── creative-storage-block.adoc
│   │   │   ├── creative-storage-disk.adoc
│   │   │   ├── disk-drive.adoc
│   │   │   ├── external-storage.adoc
│   │   │   ├── index.adoc
│   │   │   ├── storage-housing.adoc
│   │   │   ├── storing-externally.adoc
│   │   │   └── storing-fluids.adoc
│   │   ├── upgrades/
│   │   │   ├── crafting-upgrade.adoc
│   │   │   ├── fortune-upgrade.adoc
│   │   │   ├── index.adoc
│   │   │   ├── interdimensional-upgrade.adoc
│   │   │   ├── range-upgrade.adoc
│   │   │   ├── regulator-upgrade.adoc
│   │   │   ├── silk-touch-upgrade.adoc
│   │   │   ├── speed-upgrade.adoc
│   │   │   ├── stack-upgrade.adoc
│   │   │   └── upgrade.adoc
│   │   ├── utility/
│   │   │   ├── advanced-processor.adoc
│   │   │   ├── basic-processor.adoc
│   │   │   ├── block-of-quartz-enriched-iron.adoc
│   │   │   ├── construction-core.adoc
│   │   │   ├── cover.adoc
│   │   │   ├── cut-silicon.adoc
│   │   │   ├── cutting-tool.adoc
│   │   │   ├── destruction-core.adoc
│   │   │   ├── filter.adoc
│   │   │   ├── hollow-cover.adoc
│   │   │   ├── improved-processor.adoc
│   │   │   ├── index.adoc
│   │   │   ├── machine-casing.adoc
│   │   │   ├── processor-binding.adoc
│   │   │   ├── quartz-enriched-iron.adoc
│   │   │   ├── raw-advanced-processor.adoc
│   │   │   ├── raw-basic-processor.adoc
│   │   │   ├── raw-improved-processor.adoc
│   │   │   ├── silicon.adoc
│   │   │   ├── solderer.adoc
│   │   │   └── wrench.adoc
│   │   ├── viewing-resources/
│   │   │   ├── crafting-grid.adoc
│   │   │   ├── fluid-grid.adoc
│   │   │   ├── grid.adoc
│   │   │   ├── how-to-view-resources.adoc
│   │   │   ├── index.adoc
│   │   │   ├── portable-grid.adoc
│   │   │   └── storage-monitor.adoc
│   │   └── wireless-networking/
│   │       ├── creative-wireless-crafting-monitor.adoc
│   │       ├── creative-wireless-fluid-grid.adoc
│   │       ├── creative-wireless-grid.adoc
│   │       ├── index.adoc
│   │       ├── network-card.adoc
│   │       ├── network-receiver.adoc
│   │       ├── network-transmitter.adoc
│   │       ├── networks-over-long-distances.adoc
│   │       ├── wireless-crafting-grid.adoc
│   │       ├── wireless-crafting-monitor.adoc
│   │       ├── wireless-fluid-grid.adoc
│   │       ├── wireless-grid.adoc
│   │       └── wireless-transmitter.adoc
│   └── partials/
│       ├── fluid-storage-block.adoc
│       ├── fluid-storage-disk.adoc
│       ├── processor.adoc
│       ├── recoloring.adoc
│       ├── search-box.adoc
│       ├── storage-block.adoc
│       └── storage-disk.adoc
├── gradle/
│   └── wrapper/
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── images/
│   └── description.md
├── src/
│   ├── generated/
│   │   └── resources/
│   │       ├── .cache/
│   │       │   ├── 59eb3dbb5f86130e09b3c62d89b9525ee01cf52d
│   │       │   ├── 9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e
│   │       │   ├── c52895b732924e707cb6e5ddd1c6b6962039449c
│   │       │   ├── cb654f100e416ac39358630d6623170b9bfdc5d2
│   │       │   ├── f481442ce31db2c3b3dabb5b6d85f9a78568164e
│   │       │   └── fd27170b6bf91459ed2598d25721edfeafc82e0a
│   │       ├── assets/
│   │       │   └── refinedstorage/
│   │       │       ├── blockstates/
│   │       │       │   ├── black_controller.json
│   │       │       │   ├── black_crafter.json
│   │       │       │   ├── black_crafter_manager.json
│   │       │       │   ├── black_crafting_grid.json
│   │       │       │   ├── black_crafting_monitor.json
│   │       │       │   ├── black_creative_controller.json
│   │       │       │   ├── black_detector.json
│   │       │       │   ├── black_disk_manipulator.json
│   │       │       │   ├── black_fluid_grid.json
│   │       │       │   ├── black_grid.json
│   │       │       │   ├── black_network_receiver.json
│   │       │       │   ├── black_network_transmitter.json
│   │       │       │   ├── black_pattern_grid.json
│   │       │       │   ├── black_relay.json
│   │       │       │   ├── black_security_manager.json
│   │       │       │   ├── black_wireless_transmitter.json
│   │       │       │   ├── blue_controller.json
│   │       │       │   ├── blue_crafter.json
│   │       │       │   ├── blue_crafter_manager.json
│   │       │       │   ├── blue_crafting_grid.json
│   │       │       │   ├── blue_crafting_monitor.json
│   │       │       │   ├── blue_creative_controller.json
│   │       │       │   ├── blue_detector.json
│   │       │       │   ├── blue_disk_manipulator.json
│   │       │       │   ├── blue_fluid_grid.json
│   │       │       │   ├── blue_grid.json
│   │       │       │   ├── blue_network_receiver.json
│   │       │       │   ├── blue_network_transmitter.json
│   │       │       │   ├── blue_pattern_grid.json
│   │       │       │   ├── blue_relay.json
│   │       │       │   ├── blue_security_manager.json
│   │       │       │   ├── blue_wireless_transmitter.json
│   │       │       │   ├── brown_controller.json
│   │       │       │   ├── brown_crafter.json
│   │       │       │   ├── brown_crafter_manager.json
│   │       │       │   ├── brown_crafting_grid.json
│   │       │       │   ├── brown_crafting_monitor.json
│   │       │       │   ├── brown_creative_controller.json
│   │       │       │   ├── brown_detector.json
│   │       │       │   ├── brown_disk_manipulator.json
│   │       │       │   ├── brown_fluid_grid.json
│   │       │       │   ├── brown_grid.json
│   │       │       │   ├── brown_network_receiver.json
│   │       │       │   ├── brown_network_transmitter.json
│   │       │       │   ├── brown_pattern_grid.json
│   │       │       │   ├── brown_relay.json
│   │       │       │   ├── brown_security_manager.json
│   │       │       │   ├── brown_wireless_transmitter.json
│   │       │       │   ├── controller.json
│   │       │       │   ├── crafter.json
│   │       │       │   ├── crafter_manager.json
│   │       │       │   ├── crafting_grid.json
│   │       │       │   ├── crafting_monitor.json
│   │       │       │   ├── creative_controller.json
│   │       │       │   ├── cyan_controller.json
│   │       │       │   ├── cyan_crafter.json
│   │       │       │   ├── cyan_crafter_manager.json
│   │       │       │   ├── cyan_crafting_grid.json
│   │       │       │   ├── cyan_crafting_monitor.json
│   │       │       │   ├── cyan_creative_controller.json
│   │       │       │   ├── cyan_detector.json
│   │       │       │   ├── cyan_disk_manipulator.json
│   │       │       │   ├── cyan_fluid_grid.json
│   │       │       │   ├── cyan_grid.json
│   │       │       │   ├── cyan_network_receiver.json
│   │       │       │   ├── cyan_network_transmitter.json
│   │       │       │   ├── cyan_pattern_grid.json
│   │       │       │   ├── cyan_relay.json
│   │       │       │   ├── cyan_security_manager.json
│   │       │       │   ├── cyan_wireless_transmitter.json
│   │       │       │   ├── detector.json
│   │       │       │   ├── disk_manipulator.json
│   │       │       │   ├── fluid_grid.json
│   │       │       │   ├── gray_controller.json
│   │       │       │   ├── gray_crafter.json
│   │       │       │   ├── gray_crafter_manager.json
│   │       │       │   ├── gray_crafting_grid.json
│   │       │       │   ├── gray_crafting_monitor.json
│   │       │       │   ├── gray_creative_controller.json
│   │       │       │   ├── gray_detector.json
│   │       │       │   ├── gray_disk_manipulator.json
│   │       │       │   ├── gray_fluid_grid.json
│   │       │       │   ├── gray_grid.json
│   │       │       │   ├── gray_network_receiver.json
│   │       │       │   ├── gray_network_transmitter.json
│   │       │       │   ├── gray_pattern_grid.json
│   │       │       │   ├── gray_relay.json
│   │       │       │   ├── gray_security_manager.json
│   │       │       │   ├── gray_wireless_transmitter.json
│   │       │       │   ├── green_controller.json
│   │       │       │   ├── green_crafter.json
│   │       │       │   ├── green_crafter_manager.json
│   │       │       │   ├── green_crafting_grid.json
│   │       │       │   ├── green_crafting_monitor.json
│   │       │       │   ├── green_creative_controller.json
│   │       │       │   ├── green_detector.json
│   │       │       │   ├── green_disk_manipulator.json
│   │       │       │   ├── green_fluid_grid.json
│   │       │       │   ├── green_grid.json
│   │       │       │   ├── green_network_receiver.json
│   │       │       │   ├── green_network_transmitter.json
│   │       │       │   ├── green_pattern_grid.json
│   │       │       │   ├── green_relay.json
│   │       │       │   ├── green_security_manager.json
│   │       │       │   ├── green_wireless_transmitter.json
│   │       │       │   ├── grid.json
│   │       │       │   ├── light_gray_controller.json
│   │       │       │   ├── light_gray_crafter.json
│   │       │       │   ├── light_gray_crafter_manager.json
│   │       │       │   ├── light_gray_crafting_grid.json
│   │       │       │   ├── light_gray_crafting_monitor.json
│   │       │       │   ├── light_gray_creative_controller.json
│   │       │       │   ├── light_gray_detector.json
│   │       │       │   ├── light_gray_disk_manipulator.json
│   │       │       │   ├── light_gray_fluid_grid.json
│   │       │       │   ├── light_gray_grid.json
│   │       │       │   ├── light_gray_network_receiver.json
│   │       │       │   ├── light_gray_network_transmitter.json
│   │       │       │   ├── light_gray_pattern_grid.json
│   │       │       │   ├── light_gray_relay.json
│   │       │       │   ├── light_gray_security_manager.json
│   │       │       │   ├── light_gray_wireless_transmitter.json
│   │       │       │   ├── lime_controller.json
│   │       │       │   ├── lime_crafter.json
│   │       │       │   ├── lime_crafter_manager.json
│   │       │       │   ├── lime_crafting_grid.json
│   │       │       │   ├── lime_crafting_monitor.json
│   │       │       │   ├── lime_creative_controller.json
│   │       │       │   ├── lime_detector.json
│   │       │       │   ├── lime_disk_manipulator.json
│   │       │       │   ├── lime_fluid_grid.json
│   │       │       │   ├── lime_grid.json
│   │       │       │   ├── lime_network_receiver.json
│   │       │       │   ├── lime_network_transmitter.json
│   │       │       │   ├── lime_pattern_grid.json
│   │       │       │   ├── lime_relay.json
│   │       │       │   ├── lime_security_manager.json
│   │       │       │   ├── lime_wireless_transmitter.json
│   │       │       │   ├── magenta_controller.json
│   │       │       │   ├── magenta_crafter.json
│   │       │       │   ├── magenta_crafter_manager.json
│   │       │       │   ├── magenta_crafting_grid.json
│   │       │       │   ├── magenta_crafting_monitor.json
│   │       │       │   ├── magenta_creative_controller.json
│   │       │       │   ├── magenta_detector.json
│   │       │       │   ├── magenta_disk_manipulator.json
│   │       │       │   ├── magenta_fluid_grid.json
│   │       │       │   ├── magenta_grid.json
│   │       │       │   ├── magenta_network_receiver.json
│   │       │       │   ├── magenta_network_transmitter.json
│   │       │       │   ├── magenta_pattern_grid.json
│   │       │       │   ├── magenta_relay.json
│   │       │       │   ├── magenta_security_manager.json
│   │       │       │   ├── magenta_wireless_transmitter.json
│   │       │       │   ├── network_receiver.json
│   │       │       │   ├── network_transmitter.json
│   │       │       │   ├── orange_controller.json
│   │       │       │   ├── orange_crafter.json
│   │       │       │   ├── orange_crafter_manager.json
│   │       │       │   ├── orange_crafting_grid.json
│   │       │       │   ├── orange_crafting_monitor.json
│   │       │       │   ├── orange_creative_controller.json
│   │       │       │   ├── orange_detector.json
│   │       │       │   ├── orange_disk_manipulator.json
│   │       │       │   ├── orange_fluid_grid.json
│   │       │       │   ├── orange_grid.json
│   │       │       │   ├── orange_network_receiver.json
│   │       │       │   ├── orange_network_transmitter.json
│   │       │       │   ├── orange_pattern_grid.json
│   │       │       │   ├── orange_relay.json
│   │       │       │   ├── orange_security_manager.json
│   │       │       │   ├── orange_wireless_transmitter.json
│   │       │       │   ├── pattern_grid.json
│   │       │       │   ├── pink_controller.json
│   │       │       │   ├── pink_crafter.json
│   │       │       │   ├── pink_crafter_manager.json
│   │       │       │   ├── pink_crafting_grid.json
│   │       │       │   ├── pink_crafting_monitor.json
│   │       │       │   ├── pink_creative_controller.json
│   │       │       │   ├── pink_detector.json
│   │       │       │   ├── pink_disk_manipulator.json
│   │       │       │   ├── pink_fluid_grid.json
│   │       │       │   ├── pink_grid.json
│   │       │       │   ├── pink_network_receiver.json
│   │       │       │   ├── pink_network_transmitter.json
│   │       │       │   ├── pink_pattern_grid.json
│   │       │       │   ├── pink_relay.json
│   │       │       │   ├── pink_security_manager.json
│   │       │       │   ├── pink_wireless_transmitter.json
│   │       │       │   ├── purple_controller.json
│   │       │       │   ├── purple_crafter.json
│   │       │       │   ├── purple_crafter_manager.json
│   │       │       │   ├── purple_crafting_grid.json
│   │       │       │   ├── purple_crafting_monitor.json
│   │       │       │   ├── purple_creative_controller.json
│   │       │       │   ├── purple_detector.json
│   │       │       │   ├── purple_disk_manipulator.json
│   │       │       │   ├── purple_fluid_grid.json
│   │       │       │   ├── purple_grid.json
│   │       │       │   ├── purple_network_receiver.json
│   │       │       │   ├── purple_network_transmitter.json
│   │       │       │   ├── purple_pattern_grid.json
│   │       │       │   ├── purple_relay.json
│   │       │       │   ├── purple_security_manager.json
│   │       │       │   ├── purple_wireless_transmitter.json
│   │       │       │   ├── red_controller.json
│   │       │       │   ├── red_crafter.json
│   │       │       │   ├── red_crafter_manager.json
│   │       │       │   ├── red_crafting_grid.json
│   │       │       │   ├── red_crafting_monitor.json
│   │       │       │   ├── red_creative_controller.json
│   │       │       │   ├── red_detector.json
│   │       │       │   ├── red_disk_manipulator.json
│   │       │       │   ├── red_fluid_grid.json
│   │       │       │   ├── red_grid.json
│   │       │       │   ├── red_network_receiver.json
│   │       │       │   ├── red_network_transmitter.json
│   │       │       │   ├── red_pattern_grid.json
│   │       │       │   ├── red_relay.json
│   │       │       │   ├── red_security_manager.json
│   │       │       │   ├── red_wireless_transmitter.json
│   │       │       │   ├── relay.json
│   │       │       │   ├── security_manager.json
│   │       │       │   ├── white_controller.json
│   │       │       │   ├── white_crafter.json
│   │       │       │   ├── white_crafter_manager.json
│   │       │       │   ├── white_crafting_grid.json
│   │       │       │   ├── white_crafting_monitor.json
│   │       │       │   ├── white_creative_controller.json
│   │       │       │   ├── white_detector.json
│   │       │       │   ├── white_disk_manipulator.json
│   │       │       │   ├── white_fluid_grid.json
│   │       │       │   ├── white_grid.json
│   │       │       │   ├── white_network_receiver.json
│   │       │       │   ├── white_network_transmitter.json
│   │       │       │   ├── white_pattern_grid.json
│   │       │       │   ├── white_relay.json
│   │       │       │   ├── white_security_manager.json
│   │       │       │   ├── white_wireless_transmitter.json
│   │       │       │   ├── wireless_transmitter.json
│   │       │       │   ├── yellow_controller.json
│   │       │       │   ├── yellow_crafter.json
│   │       │       │   ├── yellow_crafter_manager.json
│   │       │       │   ├── yellow_crafting_grid.json
│   │       │       │   ├── yellow_crafting_monitor.json
│   │       │       │   ├── yellow_creative_controller.json
│   │       │       │   ├── yellow_detector.json
│   │       │       │   ├── yellow_disk_manipulator.json
│   │       │       │   ├── yellow_fluid_grid.json
│   │       │       │   ├── yellow_grid.json
│   │       │       │   ├── yellow_network_receiver.json
│   │       │       │   ├── yellow_network_transmitter.json
│   │       │       │   ├── yellow_pattern_grid.json
│   │       │       │   ├── yellow_relay.json
│   │       │       │   ├── yellow_security_manager.json
│   │       │       │   └── yellow_wireless_transmitter.json
│   │       │       └── models/
│   │       │           ├── block/
│   │       │           │   ├── controller/
│   │       │           │   │   ├── black.json
│   │       │           │   │   ├── blue.json
│   │       │           │   │   ├── brown.json
│   │       │           │   │   ├── cyan.json
│   │       │           │   │   ├── gray.json
│   │       │           │   │   ├── green.json
│   │       │           │   │   ├── light_blue.json
│   │       │           │   │   ├── light_gray.json
│   │       │           │   │   ├── lime.json
│   │       │           │   │   ├── magenta.json
│   │       │           │   │   ├── nearly_off.json
│   │       │           │   │   ├── nearly_on.json
│   │       │           │   │   ├── off.json
│   │       │           │   │   ├── orange.json
│   │       │           │   │   ├── pink.json
│   │       │           │   │   ├── purple.json
│   │       │           │   │   ├── red.json
│   │       │           │   │   ├── white.json
│   │       │           │   │   └── yellow.json
│   │       │           │   ├── crafter/
│   │       │           │   │   ├── black.json
│   │       │           │   │   ├── blue.json
│   │       │           │   │   ├── brown.json
│   │       │           │   │   ├── cyan.json
│   │       │           │   │   ├── disconnected.json
│   │       │           │   │   ├── gray.json
│   │       │           │   │   ├── green.json
│   │       │           │   │   ├── light_blue.json
│   │       │           │   │   ├── light_gray.json
│   │       │           │   │   ├── lime.json
│   │       │           │   │   ├── magenta.json
│   │       │           │   │   ├── orange.json
│   │       │           │   │   ├── pink.json
│   │       │           │   │   ├── purple.json
│   │       │           │   │   ├── red.json
│   │       │           │   │   ├── white.json
│   │       │           │   │   └── yellow.json
│   │       │           │   ├── crafter_manager/
│   │       │           │   │   ├── black.json
│   │       │           │   │   ├── blue.json
│   │       │           │   │   ├── brown.json
│   │       │           │   │   ├── cyan.json
│   │       │           │   │   ├── disconnected.json
│   │       │           │   │   ├── gray.json
│   │       │           │   │   ├── green.json
│   │       │           │   │   ├── light_blue.json
│   │       │           │   │   ├── light_gray.json
│   │       │           │   │   ├── lime.json
│   │       │           │   │   ├── magenta.json
│   │       │           │   │   ├── orange.json
│   │       │           │   │   ├── pink.json
│   │       │           │   │   ├── purple.json
│   │       │           │   │   ├── red.json
│   │       │           │   │   ├── white.json
│   │       │           │   │   └── yellow.json
│   │       │           │   ├── crafting_grid/
│   │       │           │   │   ├── black.json
│   │       │           │   │   ├── blue.json
│   │       │           │   │   ├── brown.json
│   │       │           │   │   ├── cyan.json
│   │       │           │   │   ├── disconnected.json
│   │       │           │   │   ├── gray.json
│   │       │           │   │   ├── green.json
│   │       │           │   │   ├── light_blue.json
│   │       │           │   │   ├── light_gray.json
│   │       │           │   │   ├── lime.json
│   │       │           │   │   ├── magenta.json
│   │       │           │   │   ├── orange.json
│   │       │           │   │   ├── pink.json
│   │       │           │   │   ├── purple.json
│   │       │           │   │   ├── red.json
│   │       │           │   │   ├── white.json
│   │       │           │   │   └── yellow.json
│   │       │           │   ├── crafting_monitor/
│   │       │           │   │   ├── black.json
│   │       │           │   │   ├── blue.json
│   │       │           │   │   ├── brown.json
│   │       │           │   │   ├── cyan.json
│   │       │           │   │   ├── disconnected.json
│   │       │           │   │   ├── gray.json
│   │       │           │   │   ├── green.json
│   │       │           │   │   ├── light_blue.json
│   │       │           │   │   ├── light_gray.json
│   │       │           │   │   ├── lime.json
│   │       │           │   │   ├── magenta.json
│   │       │           │   │   ├── orange.json
│   │       │           │   │   ├── pink.json
│   │       │           │   │   ├── purple.json
│   │       │           │   │   ├── red.json
│   │       │           │   │   ├── white.json
│   │       │           │   │   └── yellow.json
│   │       │           │   ├── detector/
│   │       │           │   │   ├── black.json
│   │       │           │   │   ├── blue.json
│   │       │           │   │   ├── brown.json
│   │       │           │   │   ├── cyan.json
│   │       │           │   │   ├── gray.json
│   │       │           │   │   ├── green.json
│   │       │           │   │   ├── light_blue.json
│   │       │           │   │   ├── light_gray.json
│   │       │           │   │   ├── lime.json
│   │       │           │   │   ├── magenta.json
│   │       │           │   │   ├── off.json
│   │       │           │   │   ├── orange.json
│   │       │           │   │   ├── pink.json
│   │       │           │   │   ├── purple.json
│   │       │           │   │   ├── red.json
│   │       │           │   │   ├── white.json
│   │       │           │   │   └── yellow.json
│   │       │           │   ├── disk_manipulator/
│   │       │           │   │   ├── black.json
│   │       │           │   │   ├── blue.json
│   │       │           │   │   ├── brown.json
│   │       │           │   │   ├── cyan.json
│   │       │           │   │   ├── disconnected.json
│   │       │           │   │   ├── gray.json
│   │       │           │   │   ├── green.json
│   │       │           │   │   ├── light_blue.json
│   │       │           │   │   ├── light_gray.json
│   │       │           │   │   ├── lime.json
│   │       │           │   │   ├── loader.json
│   │       │           │   │   ├── magenta.json
│   │       │           │   │   ├── orange.json
│   │       │           │   │   ├── pink.json
│   │       │           │   │   ├── purple.json
│   │       │           │   │   ├── red.json
│   │       │           │   │   ├── white.json
│   │       │           │   │   └── yellow.json
│   │       │           │   ├── fluid_grid/
│   │       │           │   │   ├── black.json
│   │       │           │   │   ├── blue.json
│   │       │           │   │   ├── brown.json
│   │       │           │   │   ├── cyan.json
│   │       │           │   │   ├── disconnected.json
│   │       │           │   │   ├── gray.json
│   │       │           │   │   ├── green.json
│   │       │           │   │   ├── light_blue.json
│   │       │           │   │   ├── light_gray.json
│   │       │           │   │   ├── lime.json
│   │       │           │   │   ├── magenta.json
│   │       │           │   │   ├── orange.json
│   │       │           │   │   ├── pink.json
│   │       │           │   │   ├── purple.json
│   │       │           │   │   ├── red.json
│   │       │           │   │   ├── white.json
│   │       │           │   │   └── yellow.json
│   │       │           │   ├── grid/
│   │       │           │   │   ├── black.json
│   │       │           │   │   ├── blue.json
│   │       │           │   │   ├── brown.json
│   │       │           │   │   ├── cyan.json
│   │       │           │   │   ├── disconnected.json
│   │       │           │   │   ├── gray.json
│   │       │           │   │   ├── green.json
│   │       │           │   │   ├── light_blue.json
│   │       │           │   │   ├── light_gray.json
│   │       │           │   │   ├── lime.json
│   │       │           │   │   ├── magenta.json
│   │       │           │   │   ├── orange.json
│   │       │           │   │   ├── pink.json
│   │       │           │   │   ├── purple.json
│   │       │           │   │   ├── red.json
│   │       │           │   │   ├── white.json
│   │       │           │   │   └── yellow.json
│   │       │           │   ├── network_receiver/
│   │       │           │   │   ├── black.json
│   │       │           │   │   ├── blue.json
│   │       │           │   │   ├── brown.json
│   │       │           │   │   ├── cyan.json
│   │       │           │   │   ├── disconnected.json
│   │       │           │   │   ├── gray.json
│   │       │           │   │   ├── green.json
│   │       │           │   │   ├── light_blue.json
│   │       │           │   │   ├── light_gray.json
│   │       │           │   │   ├── lime.json
│   │       │           │   │   ├── magenta.json
│   │       │           │   │   ├── orange.json
│   │       │           │   │   ├── pink.json
│   │       │           │   │   ├── purple.json
│   │       │           │   │   ├── red.json
│   │       │           │   │   ├── white.json
│   │       │           │   │   └── yellow.json
│   │       │           │   ├── network_transmitter/
│   │       │           │   │   ├── black.json
│   │       │           │   │   ├── blue.json
│   │       │           │   │   ├── brown.json
│   │       │           │   │   ├── cyan.json
│   │       │           │   │   ├── disconnected.json
│   │       │           │   │   ├── gray.json
│   │       │           │   │   ├── green.json
│   │       │           │   │   ├── light_blue.json
│   │       │           │   │   ├── light_gray.json
│   │       │           │   │   ├── lime.json
│   │       │           │   │   ├── magenta.json
│   │       │           │   │   ├── orange.json
│   │       │           │   │   ├── pink.json
│   │       │           │   │   ├── purple.json
│   │       │           │   │   ├── red.json
│   │       │           │   │   ├── white.json
│   │       │           │   │   └── yellow.json
│   │       │           │   ├── pattern_grid/
│   │       │           │   │   ├── black.json
│   │       │           │   │   ├── blue.json
│   │       │           │   │   ├── brown.json
│   │       │           │   │   ├── cyan.json
│   │       │           │   │   ├── disconnected.json
│   │       │           │   │   ├── gray.json
│   │       │           │   │   ├── green.json
│   │       │           │   │   ├── light_blue.json
│   │       │           │   │   ├── light_gray.json
│   │       │           │   │   ├── lime.json
│   │       │           │   │   ├── magenta.json
│   │       │           │   │   ├── orange.json
│   │       │           │   │   ├── pink.json
│   │       │           │   │   ├── purple.json
│   │       │           │   │   ├── red.json
│   │       │           │   │   ├── white.json
│   │       │           │   │   └── yellow.json
│   │       │           │   ├── relay/
│   │       │           │   │   ├── black.json
│   │       │           │   │   ├── blue.json
│   │       │           │   │   ├── brown.json
│   │       │           │   │   ├── cyan.json
│   │       │           │   │   ├── disconnected.json
│   │       │           │   │   ├── gray.json
│   │       │           │   │   ├── green.json
│   │       │           │   │   ├── light_blue.json
│   │       │           │   │   ├── light_gray.json
│   │       │           │   │   ├── lime.json
│   │       │           │   │   ├── magenta.json
│   │       │           │   │   ├── orange.json
│   │       │           │   │   ├── pink.json
│   │       │           │   │   ├── purple.json
│   │       │           │   │   ├── red.json
│   │       │           │   │   ├── white.json
│   │       │           │   │   └── yellow.json
│   │       │           │   ├── security_manager/
│   │       │           │   │   ├── black.json
│   │       │           │   │   ├── blue.json
│   │       │           │   │   ├── brown.json
│   │       │           │   │   ├── cyan.json
│   │       │           │   │   ├── disconnected.json
│   │       │           │   │   ├── gray.json
│   │       │           │   │   ├── green.json
│   │       │           │   │   ├── light_blue.json
│   │       │           │   │   ├── light_gray.json
│   │       │           │   │   ├── lime.json
│   │       │           │   │   ├── magenta.json
│   │       │           │   │   ├── orange.json
│   │       │           │   │   ├── pink.json
│   │       │           │   │   ├── purple.json
│   │       │           │   │   ├── red.json
│   │       │           │   │   ├── white.json
│   │       │           │   │   └── yellow.json
│   │       │           │   └── wireless_transmitter/
│   │       │           │       ├── black.json
│   │       │           │       ├── blue.json
│   │       │           │       ├── brown.json
│   │       │           │       ├── cyan.json
│   │       │           │       ├── disconnected.json
│   │       │           │       ├── gray.json
│   │       │           │       ├── green.json
│   │       │           │       ├── light_blue.json
│   │       │           │       ├── light_gray.json
│   │       │           │       ├── lime.json
│   │       │           │       ├── magenta.json
│   │       │           │       ├── orange.json
│   │       │           │       ├── pink.json
│   │       │           │       ├── purple.json
│   │       │           │       ├── red.json
│   │       │           │       ├── white.json
│   │       │           │       └── yellow.json
│   │       │           └── item/
│   │       │               ├── black_controller.json
│   │       │               ├── black_crafter.json
│   │       │               ├── black_crafter_manager.json
│   │       │               ├── black_crafting_grid.json
│   │       │               ├── black_crafting_monitor.json
│   │       │               ├── black_creative_controller.json
│   │       │               ├── black_detector.json
│   │       │               ├── black_disk_manipulator.json
│   │       │               ├── black_fluid_grid.json
│   │       │               ├── black_grid.json
│   │       │               ├── black_network_receiver.json
│   │       │               ├── black_network_transmitter.json
│   │       │               ├── black_pattern_grid.json
│   │       │               ├── black_relay.json
│   │       │               ├── black_security_manager.json
│   │       │               ├── black_wireless_transmitter.json
│   │       │               ├── blue_controller.json
│   │       │               ├── blue_crafter.json
│   │       │               ├── blue_crafter_manager.json
│   │       │               ├── blue_crafting_grid.json
│   │       │               ├── blue_crafting_monitor.json
│   │       │               ├── blue_creative_controller.json
│   │       │               ├── blue_detector.json
│   │       │               ├── blue_disk_manipulator.json
│   │       │               ├── blue_fluid_grid.json
│   │       │               ├── blue_grid.json
│   │       │               ├── blue_network_receiver.json
│   │       │               ├── blue_network_transmitter.json
│   │       │               ├── blue_pattern_grid.json
│   │       │               ├── blue_relay.json
│   │       │               ├── blue_security_manager.json
│   │       │               ├── blue_wireless_transmitter.json
│   │       │               ├── brown_controller.json
│   │       │               ├── brown_crafter.json
│   │       │               ├── brown_crafter_manager.json
│   │       │               ├── brown_crafting_grid.json
│   │       │               ├── brown_crafting_monitor.json
│   │       │               ├── brown_creative_controller.json
│   │       │               ├── brown_detector.json
│   │       │               ├── brown_disk_manipulator.json
│   │       │               ├── brown_fluid_grid.json
│   │       │               ├── brown_grid.json
│   │       │               ├── brown_network_receiver.json
│   │       │               ├── brown_network_transmitter.json
│   │       │               ├── brown_pattern_grid.json
│   │       │               ├── brown_relay.json
│   │       │               ├── brown_security_manager.json
│   │       │               ├── brown_wireless_transmitter.json
│   │       │               ├── controller.json
│   │       │               ├── crafter.json
│   │       │               ├── crafter_manager.json
│   │       │               ├── crafting_grid.json
│   │       │               ├── crafting_monitor.json
│   │       │               ├── creative_controller.json
│   │       │               ├── cyan_controller.json
│   │       │               ├── cyan_crafter.json
│   │       │               ├── cyan_crafter_manager.json
│   │       │               ├── cyan_crafting_grid.json
│   │       │               ├── cyan_crafting_monitor.json
│   │       │               ├── cyan_creative_controller.json
│   │       │               ├── cyan_detector.json
│   │       │               ├── cyan_disk_manipulator.json
│   │       │               ├── cyan_fluid_grid.json
│   │       │               ├── cyan_grid.json
│   │       │               ├── cyan_network_receiver.json
│   │       │               ├── cyan_network_transmitter.json
│   │       │               ├── cyan_pattern_grid.json
│   │       │               ├── cyan_relay.json
│   │       │               ├── cyan_security_manager.json
│   │       │               ├── cyan_wireless_transmitter.json
│   │       │               ├── detector.json
│   │       │               ├── disk_manipulator.json
│   │       │               ├── fluid_grid.json
│   │       │               ├── gray_controller.json
│   │       │               ├── gray_crafter.json
│   │       │               ├── gray_crafter_manager.json
│   │       │               ├── gray_crafting_grid.json
│   │       │               ├── gray_crafting_monitor.json
│   │       │               ├── gray_creative_controller.json
│   │       │               ├── gray_detector.json
│   │       │               ├── gray_disk_manipulator.json
│   │       │               ├── gray_fluid_grid.json
│   │       │               ├── gray_grid.json
│   │       │               ├── gray_network_receiver.json
│   │       │               ├── gray_network_transmitter.json
│   │       │               ├── gray_pattern_grid.json
│   │       │               ├── gray_relay.json
│   │       │               ├── gray_security_manager.json
│   │       │               ├── gray_wireless_transmitter.json
│   │       │               ├── green_controller.json
│   │       │               ├── green_crafter.json
│   │       │               ├── green_crafter_manager.json
│   │       │               ├── green_crafting_grid.json
│   │       │               ├── green_crafting_monitor.json
│   │       │               ├── green_creative_controller.json
│   │       │               ├── green_detector.json
│   │       │               ├── green_disk_manipulator.json
│   │       │               ├── green_fluid_grid.json
│   │       │               ├── green_grid.json
│   │       │               ├── green_network_receiver.json
│   │       │               ├── green_network_transmitter.json
│   │       │               ├── green_pattern_grid.json
│   │       │               ├── green_relay.json
│   │       │               ├── green_security_manager.json
│   │       │               ├── green_wireless_transmitter.json
│   │       │               ├── grid.json
│   │       │               ├── light_gray_controller.json
│   │       │               ├── light_gray_crafter.json
│   │       │               ├── light_gray_crafter_manager.json
│   │       │               ├── light_gray_crafting_grid.json
│   │       │               ├── light_gray_crafting_monitor.json
│   │       │               ├── light_gray_creative_controller.json
│   │       │               ├── light_gray_detector.json
│   │       │               ├── light_gray_disk_manipulator.json
│   │       │               ├── light_gray_fluid_grid.json
│   │       │               ├── light_gray_grid.json
│   │       │               ├── light_gray_network_receiver.json
│   │       │               ├── light_gray_network_transmitter.json
│   │       │               ├── light_gray_pattern_grid.json
│   │       │               ├── light_gray_relay.json
│   │       │               ├── light_gray_security_manager.json
│   │       │               ├── light_gray_wireless_transmitter.json
│   │       │               ├── lime_controller.json
│   │       │               ├── lime_crafter.json
│   │       │               ├── lime_crafter_manager.json
│   │       │               ├── lime_crafting_grid.json
│   │       │               ├── lime_crafting_monitor.json
│   │       │               ├── lime_creative_controller.json
│   │       │               ├── lime_detector.json
│   │       │               ├── lime_disk_manipulator.json
│   │       │               ├── lime_fluid_grid.json
│   │       │               ├── lime_grid.json
│   │       │               ├── lime_network_receiver.json
│   │       │               ├── lime_network_transmitter.json
│   │       │               ├── lime_pattern_grid.json
│   │       │               ├── lime_relay.json
│   │       │               ├── lime_security_manager.json
│   │       │               ├── lime_wireless_transmitter.json
│   │       │               ├── magenta_controller.json
│   │       │               ├── magenta_crafter.json
│   │       │               ├── magenta_crafter_manager.json
│   │       │               ├── magenta_crafting_grid.json
│   │       │               ├── magenta_crafting_monitor.json
│   │       │               ├── magenta_creative_controller.json
│   │       │               ├── magenta_detector.json
│   │       │               ├── magenta_disk_manipulator.json
│   │       │               ├── magenta_fluid_grid.json
│   │       │               ├── magenta_grid.json
│   │       │               ├── magenta_network_receiver.json
│   │       │               ├── magenta_network_transmitter.json
│   │       │               ├── magenta_pattern_grid.json
│   │       │               ├── magenta_relay.json
│   │       │               ├── magenta_security_manager.json
│   │       │               ├── magenta_wireless_transmitter.json
│   │       │               ├── network_receiver.json
│   │       │               ├── network_transmitter.json
│   │       │               ├── orange_controller.json
│   │       │               ├── orange_crafter.json
│   │       │               ├── orange_crafter_manager.json
│   │       │               ├── orange_crafting_grid.json
│   │       │               ├── orange_crafting_monitor.json
│   │       │               ├── orange_creative_controller.json
│   │       │               ├── orange_detector.json
│   │       │               ├── orange_disk_manipulator.json
│   │       │               ├── orange_fluid_grid.json
│   │       │               ├── orange_grid.json
│   │       │               ├── orange_network_receiver.json
│   │       │               ├── orange_network_transmitter.json
│   │       │               ├── orange_pattern_grid.json
│   │       │               ├── orange_relay.json
│   │       │               ├── orange_security_manager.json
│   │       │               ├── orange_wireless_transmitter.json
│   │       │               ├── pattern_grid.json
│   │       │               ├── pink_controller.json
│   │       │               ├── pink_crafter.json
│   │       │               ├── pink_crafter_manager.json
│   │       │               ├── pink_crafting_grid.json
│   │       │               ├── pink_crafting_monitor.json
│   │       │               ├── pink_creative_controller.json
│   │       │               ├── pink_detector.json
│   │       │               ├── pink_disk_manipulator.json
│   │       │               ├── pink_fluid_grid.json
│   │       │               ├── pink_grid.json
│   │       │               ├── pink_network_receiver.json
│   │       │               ├── pink_network_transmitter.json
│   │       │               ├── pink_pattern_grid.json
│   │       │               ├── pink_relay.json
│   │       │               ├── pink_security_manager.json
│   │       │               ├── pink_wireless_transmitter.json
│   │       │               ├── purple_controller.json
│   │       │               ├── purple_crafter.json
│   │       │               ├── purple_crafter_manager.json
│   │       │               ├── purple_crafting_grid.json
│   │       │               ├── purple_crafting_monitor.json
│   │       │               ├── purple_creative_controller.json
│   │       │               ├── purple_detector.json
│   │       │               ├── purple_disk_manipulator.json
│   │       │               ├── purple_fluid_grid.json
│   │       │               ├── purple_grid.json
│   │       │               ├── purple_network_receiver.json
│   │       │               ├── purple_network_transmitter.json
│   │       │               ├── purple_pattern_grid.json
│   │       │               ├── purple_relay.json
│   │       │               ├── purple_security_manager.json
│   │       │               ├── purple_wireless_transmitter.json
│   │       │               ├── red_controller.json
│   │       │               ├── red_crafter.json
│   │       │               ├── red_crafter_manager.json
│   │       │               ├── red_crafting_grid.json
│   │       │               ├── red_crafting_monitor.json
│   │       │               ├── red_creative_controller.json
│   │       │               ├── red_detector.json
│   │       │               ├── red_disk_manipulator.json
│   │       │               ├── red_fluid_grid.json
│   │       │               ├── red_grid.json
│   │       │               ├── red_network_receiver.json
│   │       │               ├── red_network_transmitter.json
│   │       │               ├── red_pattern_grid.json
│   │       │               ├── red_relay.json
│   │       │               ├── red_security_manager.json
│   │       │               ├── red_wireless_transmitter.json
│   │       │               ├── relay.json
│   │       │               ├── security_manager.json
│   │       │               ├── white_controller.json
│   │       │               ├── white_crafter.json
│   │       │               ├── white_crafter_manager.json
│   │       │               ├── white_crafting_grid.json
│   │       │               ├── white_crafting_monitor.json
│   │       │               ├── white_creative_controller.json
│   │       │               ├── white_detector.json
│   │       │               ├── white_disk_manipulator.json
│   │       │               ├── white_fluid_grid.json
│   │       │               ├── white_grid.json
│   │       │               ├── white_network_receiver.json
│   │       │               ├── white_network_transmitter.json
│   │       │               ├── white_pattern_grid.json
│   │       │               ├── white_relay.json
│   │       │               ├── white_security_manager.json
│   │       │               ├── white_wireless_transmitter.json
│   │       │               ├── wireless_transmitter.json
│   │       │               ├── yellow_controller.json
│   │       │               ├── yellow_crafter.json
│   │       │               ├── yellow_crafter_manager.json
│   │       │               ├── yellow_crafting_grid.json
│   │       │               ├── yellow_crafting_monitor.json
│   │       │               ├── yellow_creative_controller.json
│   │       │               ├── yellow_detector.json
│   │       │               ├── yellow_disk_manipulator.json
│   │       │               ├── yellow_fluid_grid.json
│   │       │               ├── yellow_grid.json
│   │       │               ├── yellow_network_receiver.json
│   │       │               ├── yellow_network_transmitter.json
│   │       │               ├── yellow_pattern_grid.json
│   │       │               ├── yellow_relay.json
│   │       │               ├── yellow_security_manager.json
│   │       │               └── yellow_wireless_transmitter.json
│   │       └── data/
│   │           ├── forge/
│   │           │   └── tags/
│   │           │       └── blocks/
│   │           │           └── relocation_not_supported.json
│   │           ├── packingtape/
│   │           │   └── tags/
│   │           │       └── block_entity_type/
│   │           │           └── blacklist/
│   │           │               └── problematic.json
│   │           └── refinedstorage/
│   │               ├── advancements/
│   │               │   └── recipes/
│   │               │       └── misc/
│   │               │           ├── coloring_recipes/
│   │               │           │   ├── black_controller.json
│   │               │           │   ├── black_crafter.json
│   │               │           │   ├── black_crafter_manager.json
│   │               │           │   ├── black_crafting_grid.json
│   │               │           │   ├── black_crafting_monitor.json
│   │               │           │   ├── black_detector.json
│   │               │           │   ├── black_disk_manipulator.json
│   │               │           │   ├── black_fluid_grid.json
│   │               │           │   ├── black_grid.json
│   │               │           │   ├── black_network_receiver.json
│   │               │           │   ├── black_network_transmitter.json
│   │               │           │   ├── black_pattern_grid.json
│   │               │           │   ├── black_relay.json
│   │               │           │   ├── black_security_manager.json
│   │               │           │   ├── black_wireless_transmitter.json
│   │               │           │   ├── blue_controller.json
│   │               │           │   ├── blue_crafter.json
│   │               │           │   ├── blue_crafter_manager.json
│   │               │           │   ├── blue_crafting_grid.json
│   │               │           │   ├── blue_crafting_monitor.json
│   │               │           │   ├── blue_detector.json
│   │               │           │   ├── blue_disk_manipulator.json
│   │               │           │   ├── blue_fluid_grid.json
│   │               │           │   ├── blue_grid.json
│   │               │           │   ├── blue_network_receiver.json
│   │               │           │   ├── blue_network_transmitter.json
│   │               │           │   ├── blue_pattern_grid.json
│   │               │           │   ├── blue_relay.json
│   │               │           │   ├── blue_security_manager.json
│   │               │           │   ├── blue_wireless_transmitter.json
│   │               │           │   ├── brown_controller.json
│   │               │           │   ├── brown_crafter.json
│   │               │           │   ├── brown_crafter_manager.json
│   │               │           │   ├── brown_crafting_grid.json
│   │               │           │   ├── brown_crafting_monitor.json
│   │               │           │   ├── brown_detector.json
│   │               │           │   ├── brown_disk_manipulator.json
│   │               │           │   ├── brown_fluid_grid.json
│   │               │           │   ├── brown_grid.json
│   │               │           │   ├── brown_network_receiver.json
│   │               │           │   ├── brown_network_transmitter.json
│   │               │           │   ├── brown_pattern_grid.json
│   │               │           │   ├── brown_relay.json
│   │               │           │   ├── brown_security_manager.json
│   │               │           │   ├── brown_wireless_transmitter.json
│   │               │           │   ├── controller.json
│   │               │           │   ├── crafter.json
│   │               │           │   ├── crafter_manager.json
│   │               │           │   ├── crafting_grid.json
│   │               │           │   ├── crafting_monitor.json
│   │               │           │   ├── cyan_controller.json
│   │               │           │   ├── cyan_crafter.json
│   │               │           │   ├── cyan_crafter_manager.json
│   │               │           │   ├── cyan_crafting_grid.json
│   │               │           │   ├── cyan_crafting_monitor.json
│   │               │           │   ├── cyan_detector.json
│   │               │           │   ├── cyan_disk_manipulator.json
│   │               │           │   ├── cyan_fluid_grid.json
│   │               │           │   ├── cyan_grid.json
│   │               │           │   ├── cyan_network_receiver.json
│   │               │           │   ├── cyan_network_transmitter.json
│   │               │           │   ├── cyan_pattern_grid.json
│   │               │           │   ├── cyan_relay.json
│   │               │           │   ├── cyan_security_manager.json
│   │               │           │   ├── cyan_wireless_transmitter.json
│   │               │           │   ├── detector.json
│   │               │           │   ├── disk_manipulator.json
│   │               │           │   ├── fluid_grid.json
│   │               │           │   ├── gray_controller.json
│   │               │           │   ├── gray_crafter.json
│   │               │           │   ├── gray_crafter_manager.json
│   │               │           │   ├── gray_crafting_grid.json
│   │               │           │   ├── gray_crafting_monitor.json
│   │               │           │   ├── gray_detector.json
│   │               │           │   ├── gray_disk_manipulator.json
│   │               │           │   ├── gray_fluid_grid.json
│   │               │           │   ├── gray_grid.json
│   │               │           │   ├── gray_network_receiver.json
│   │               │           │   ├── gray_network_transmitter.json
│   │               │           │   ├── gray_pattern_grid.json
│   │               │           │   ├── gray_relay.json
│   │               │           │   ├── gray_security_manager.json
│   │               │           │   ├── gray_wireless_transmitter.json
│   │               │           │   ├── green_controller.json
│   │               │           │   ├── green_crafter.json
│   │               │           │   ├── green_crafter_manager.json
│   │               │           │   ├── green_crafting_grid.json
│   │               │           │   ├── green_crafting_monitor.json
│   │               │           │   ├── green_detector.json
│   │               │           │   ├── green_disk_manipulator.json
│   │               │           │   ├── green_fluid_grid.json
│   │               │           │   ├── green_grid.json
│   │               │           │   ├── green_network_receiver.json
│   │               │           │   ├── green_network_transmitter.json
│   │               │           │   ├── green_pattern_grid.json
│   │               │           │   ├── green_relay.json
│   │               │           │   ├── green_security_manager.json
│   │               │           │   ├── green_wireless_transmitter.json
│   │               │           │   ├── grid.json
│   │               │           │   ├── light_gray_controller.json
│   │               │           │   ├── light_gray_crafter.json
│   │               │           │   ├── light_gray_crafter_manager.json
│   │               │           │   ├── light_gray_crafting_grid.json
│   │               │           │   ├── light_gray_crafting_monitor.json
│   │               │           │   ├── light_gray_detector.json
│   │               │           │   ├── light_gray_disk_manipulator.json
│   │               │           │   ├── light_gray_fluid_grid.json
│   │               │           │   ├── light_gray_grid.json
│   │               │           │   ├── light_gray_network_receiver.json
│   │               │           │   ├── light_gray_network_transmitter.json
│   │               │           │   ├── light_gray_pattern_grid.json
│   │               │           │   ├── light_gray_relay.json
│   │               │           │   ├── light_gray_security_manager.json
│   │               │           │   ├── light_gray_wireless_transmitter.json
│   │               │           │   ├── lime_controller.json
│   │               │           │   ├── lime_crafter.json
│   │               │           │   ├── lime_crafter_manager.json
│   │               │           │   ├── lime_crafting_grid.json
│   │               │           │   ├── lime_crafting_monitor.json
│   │               │           │   ├── lime_detector.json
│   │               │           │   ├── lime_disk_manipulator.json
│   │               │           │   ├── lime_fluid_grid.json
│   │               │           │   ├── lime_grid.json
│   │               │           │   ├── lime_network_receiver.json
│   │               │           │   ├── lime_network_transmitter.json
│   │               │           │   ├── lime_pattern_grid.json
│   │               │           │   ├── lime_relay.json
│   │               │           │   ├── lime_security_manager.json
│   │               │           │   ├── lime_wireless_transmitter.json
│   │               │           │   ├── magenta_controller.json
│   │               │           │   ├── magenta_crafter.json
│   │               │           │   ├── magenta_crafter_manager.json
│   │               │           │   ├── magenta_crafting_grid.json
│   │               │           │   ├── magenta_crafting_monitor.json
│   │               │           │   ├── magenta_detector.json
│   │               │           │   ├── magenta_disk_manipulator.json
│   │               │           │   ├── magenta_fluid_grid.json
│   │               │           │   ├── magenta_grid.json
│   │               │           │   ├── magenta_network_receiver.json
│   │               │           │   ├── magenta_network_transmitter.json
│   │               │           │   ├── magenta_pattern_grid.json
│   │               │           │   ├── magenta_relay.json
│   │               │           │   ├── magenta_security_manager.json
│   │               │           │   ├── magenta_wireless_transmitter.json
│   │               │           │   ├── network_receiver.json
│   │               │           │   ├── network_transmitter.json
│   │               │           │   ├── orange_controller.json
│   │               │           │   ├── orange_crafter.json
│   │               │           │   ├── orange_crafter_manager.json
│   │               │           │   ├── orange_crafting_grid.json
│   │               │           │   ├── orange_crafting_monitor.json
│   │               │           │   ├── orange_detector.json
│   │               │           │   ├── orange_disk_manipulator.json
│   │               │           │   ├── orange_fluid_grid.json
│   │               │           │   ├── orange_grid.json
│   │               │           │   ├── orange_network_receiver.json
│   │               │           │   ├── orange_network_transmitter.json
│   │               │           │   ├── orange_pattern_grid.json
│   │               │           │   ├── orange_relay.json
│   │               │           │   ├── orange_security_manager.json
│   │               │           │   ├── orange_wireless_transmitter.json
│   │               │           │   ├── pattern_grid.json
│   │               │           │   ├── pink_controller.json
│   │               │           │   ├── pink_crafter.json
│   │               │           │   ├── pink_crafter_manager.json
│   │               │           │   ├── pink_crafting_grid.json
│   │               │           │   ├── pink_crafting_monitor.json
│   │               │           │   ├── pink_detector.json
│   │               │           │   ├── pink_disk_manipulator.json
│   │               │           │   ├── pink_fluid_grid.json
│   │               │           │   ├── pink_grid.json
│   │               │           │   ├── pink_network_receiver.json
│   │               │           │   ├── pink_network_transmitter.json
│   │               │           │   ├── pink_pattern_grid.json
│   │               │           │   ├── pink_relay.json
│   │               │           │   ├── pink_security_manager.json
│   │               │           │   ├── pink_wireless_transmitter.json
│   │               │           │   ├── purple_controller.json
│   │               │           │   ├── purple_crafter.json
│   │               │           │   ├── purple_crafter_manager.json
│   │               │           │   ├── purple_crafting_grid.json
│   │               │           │   ├── purple_crafting_monitor.json
│   │               │           │   ├── purple_detector.json
│   │               │           │   ├── purple_disk_manipulator.json
│   │               │           │   ├── purple_fluid_grid.json
│   │               │           │   ├── purple_grid.json
│   │               │           │   ├── purple_network_receiver.json
│   │               │           │   ├── purple_network_transmitter.json
│   │               │           │   ├── purple_pattern_grid.json
│   │               │           │   ├── purple_relay.json
│   │               │           │   ├── purple_security_manager.json
│   │               │           │   ├── purple_wireless_transmitter.json
│   │               │           │   ├── red_controller.json
│   │               │           │   ├── red_crafter.json
│   │               │           │   ├── red_crafter_manager.json
│   │               │           │   ├── red_crafting_grid.json
│   │               │           │   ├── red_crafting_monitor.json
│   │               │           │   ├── red_detector.json
│   │               │           │   ├── red_disk_manipulator.json
│   │               │           │   ├── red_fluid_grid.json
│   │               │           │   ├── red_grid.json
│   │               │           │   ├── red_network_receiver.json
│   │               │           │   ├── red_network_transmitter.json
│   │               │           │   ├── red_pattern_grid.json
│   │               │           │   ├── red_relay.json
│   │               │           │   ├── red_security_manager.json
│   │               │           │   ├── red_wireless_transmitter.json
│   │               │           │   ├── relay.json
│   │               │           │   ├── security_manager.json
│   │               │           │   ├── white_controller.json
│   │               │           │   ├── white_crafter.json
│   │               │           │   ├── white_crafter_manager.json
│   │               │           │   ├── white_crafting_grid.json
│   │               │           │   ├── white_crafting_monitor.json
│   │               │           │   ├── white_detector.json
│   │               │           │   ├── white_disk_manipulator.json
│   │               │           │   ├── white_fluid_grid.json
│   │               │           │   ├── white_grid.json
│   │               │           │   ├── white_network_receiver.json
│   │               │           │   ├── white_network_transmitter.json
│   │               │           │   ├── white_pattern_grid.json
│   │               │           │   ├── white_relay.json
│   │               │           │   ├── white_security_manager.json
│   │               │           │   ├── white_wireless_transmitter.json
│   │               │           │   ├── wireless_transmitter.json
│   │               │           │   ├── yellow_controller.json
│   │               │           │   ├── yellow_crafter.json
│   │               │           │   ├── yellow_crafter_manager.json
│   │               │           │   ├── yellow_crafting_grid.json
│   │               │           │   ├── yellow_crafting_monitor.json
│   │               │           │   ├── yellow_detector.json
│   │               │           │   ├── yellow_disk_manipulator.json
│   │               │           │   ├── yellow_fluid_grid.json
│   │               │           │   ├── yellow_grid.json
│   │               │           │   ├── yellow_network_receiver.json
│   │               │           │   ├── yellow_network_transmitter.json
│   │               │           │   ├── yellow_pattern_grid.json
│   │               │           │   ├── yellow_relay.json
│   │               │           │   ├── yellow_security_manager.json
│   │               │           │   └── yellow_wireless_transmitter.json
│   │               │           ├── crafting_grid/
│   │               │           │   ├── black_crafting_grid.json
│   │               │           │   ├── blue_crafting_grid.json
│   │               │           │   ├── brown_crafting_grid.json
│   │               │           │   ├── crafting_grid.json
│   │               │           │   ├── cyan_crafting_grid.json
│   │               │           │   ├── gray_crafting_grid.json
│   │               │           │   ├── green_crafting_grid.json
│   │               │           │   ├── light_gray_crafting_grid.json
│   │               │           │   ├── lime_crafting_grid.json
│   │               │           │   ├── magenta_crafting_grid.json
│   │               │           │   ├── orange_crafting_grid.json
│   │               │           │   ├── pink_crafting_grid.json
│   │               │           │   ├── purple_crafting_grid.json
│   │               │           │   ├── red_crafting_grid.json
│   │               │           │   ├── white_crafting_grid.json
│   │               │           │   └── yellow_crafting_grid.json
│   │               │           ├── fluid_grid/
│   │               │           │   ├── black_fluid_grid.json
│   │               │           │   ├── blue_fluid_grid.json
│   │               │           │   ├── brown_fluid_grid.json
│   │               │           │   ├── cyan_fluid_grid.json
│   │               │           │   ├── fluid_grid.json
│   │               │           │   ├── gray_fluid_grid.json
│   │               │           │   ├── green_fluid_grid.json
│   │               │           │   ├── light_gray_fluid_grid.json
│   │               │           │   ├── lime_fluid_grid.json
│   │               │           │   ├── magenta_fluid_grid.json
│   │               │           │   ├── orange_fluid_grid.json
│   │               │           │   ├── pink_fluid_grid.json
│   │               │           │   ├── purple_fluid_grid.json
│   │               │           │   ├── red_fluid_grid.json
│   │               │           │   ├── white_fluid_grid.json
│   │               │           │   └── yellow_fluid_grid.json
│   │               │           └── pattern_grid/
│   │               │               ├── black_pattern_grid.json
│   │               │               ├── blue_pattern_grid.json
│   │               │               ├── brown_pattern_grid.json
│   │               │               ├── cyan_pattern_grid.json
│   │               │               ├── gray_pattern_grid.json
│   │               │               ├── green_pattern_grid.json
│   │               │               ├── light_gray_pattern_grid.json
│   │               │               ├── lime_pattern_grid.json
│   │               │               ├── magenta_pattern_grid.json
│   │               │               ├── orange_pattern_grid.json
│   │               │               ├── pattern_grid.json
│   │               │               ├── pink_pattern_grid.json
│   │               │               ├── purple_pattern_grid.json
│   │               │               ├── red_pattern_grid.json
│   │               │               ├── white_pattern_grid.json
│   │               │               └── yellow_pattern_grid.json
│   │               ├── loot_tables/
│   │               │   └── blocks/
│   │               │       ├── black_controller.json
│   │               │       ├── black_crafter.json
│   │               │       ├── black_crafter_manager.json
│   │               │       ├── black_crafting_grid.json
│   │               │       ├── black_crafting_monitor.json
│   │               │       ├── black_creative_controller.json
│   │               │       ├── black_detector.json
│   │               │       ├── black_disk_manipulator.json
│   │               │       ├── black_fluid_grid.json
│   │               │       ├── black_grid.json
│   │               │       ├── black_network_receiver.json
│   │               │       ├── black_network_transmitter.json
│   │               │       ├── black_pattern_grid.json
│   │               │       ├── black_relay.json
│   │               │       ├── black_security_manager.json
│   │               │       ├── black_wireless_transmitter.json
│   │               │       ├── blue_controller.json
│   │               │       ├── blue_crafter.json
│   │               │       ├── blue_crafter_manager.json
│   │               │       ├── blue_crafting_grid.json
│   │               │       ├── blue_crafting_monitor.json
│   │               │       ├── blue_creative_controller.json
│   │               │       ├── blue_detector.json
│   │               │       ├── blue_disk_manipulator.json
│   │               │       ├── blue_fluid_grid.json
│   │               │       ├── blue_grid.json
│   │               │       ├── blue_network_receiver.json
│   │               │       ├── blue_network_transmitter.json
│   │               │       ├── blue_pattern_grid.json
│   │               │       ├── blue_relay.json
│   │               │       ├── blue_security_manager.json
│   │               │       ├── blue_wireless_transmitter.json
│   │               │       ├── brown_controller.json
│   │               │       ├── brown_crafter.json
│   │               │       ├── brown_crafter_manager.json
│   │               │       ├── brown_crafting_grid.json
│   │               │       ├── brown_crafting_monitor.json
│   │               │       ├── brown_creative_controller.json
│   │               │       ├── brown_detector.json
│   │               │       ├── brown_disk_manipulator.json
│   │               │       ├── brown_fluid_grid.json
│   │               │       ├── brown_grid.json
│   │               │       ├── brown_network_receiver.json
│   │               │       ├── brown_network_transmitter.json
│   │               │       ├── brown_pattern_grid.json
│   │               │       ├── brown_relay.json
│   │               │       ├── brown_security_manager.json
│   │               │       ├── brown_wireless_transmitter.json
│   │               │       ├── controller.json
│   │               │       ├── crafter.json
│   │               │       ├── crafter_manager.json
│   │               │       ├── crafting_grid.json
│   │               │       ├── crafting_monitor.json
│   │               │       ├── creative_controller.json
│   │               │       ├── cyan_controller.json
│   │               │       ├── cyan_crafter.json
│   │               │       ├── cyan_crafter_manager.json
│   │               │       ├── cyan_crafting_grid.json
│   │               │       ├── cyan_crafting_monitor.json
│   │               │       ├── cyan_creative_controller.json
│   │               │       ├── cyan_detector.json
│   │               │       ├── cyan_disk_manipulator.json
│   │               │       ├── cyan_fluid_grid.json
│   │               │       ├── cyan_grid.json
│   │               │       ├── cyan_network_receiver.json
│   │               │       ├── cyan_network_transmitter.json
│   │               │       ├── cyan_pattern_grid.json
│   │               │       ├── cyan_relay.json
│   │               │       ├── cyan_security_manager.json
│   │               │       ├── cyan_wireless_transmitter.json
│   │               │       ├── detector.json
│   │               │       ├── disk_manipulator.json
│   │               │       ├── fluid_grid.json
│   │               │       ├── gray_controller.json
│   │               │       ├── gray_crafter.json
│   │               │       ├── gray_crafter_manager.json
│   │               │       ├── gray_crafting_grid.json
│   │               │       ├── gray_crafting_monitor.json
│   │               │       ├── gray_creative_controller.json
│   │               │       ├── gray_detector.json
│   │               │       ├── gray_disk_manipulator.json
│   │               │       ├── gray_fluid_grid.json
│   │               │       ├── gray_grid.json
│   │               │       ├── gray_network_receiver.json
│   │               │       ├── gray_network_transmitter.json
│   │               │       ├── gray_pattern_grid.json
│   │               │       ├── gray_relay.json
│   │               │       ├── gray_security_manager.json
│   │               │       ├── gray_wireless_transmitter.json
│   │               │       ├── green_controller.json
│   │               │       ├── green_crafter.json
│   │               │       ├── green_crafter_manager.json
│   │               │       ├── green_crafting_grid.json
│   │               │       ├── green_crafting_monitor.json
│   │               │       ├── green_creative_controller.json
│   │               │       ├── green_detector.json
│   │               │       ├── green_disk_manipulator.json
│   │               │       ├── green_fluid_grid.json
│   │               │       ├── green_grid.json
│   │               │       ├── green_network_receiver.json
│   │               │       ├── green_network_transmitter.json
│   │               │       ├── green_pattern_grid.json
│   │               │       ├── green_relay.json
│   │               │       ├── green_security_manager.json
│   │               │       ├── green_wireless_transmitter.json
│   │               │       ├── grid.json
│   │               │       ├── light_gray_controller.json
│   │               │       ├── light_gray_crafter.json
│   │               │       ├── light_gray_crafter_manager.json
│   │               │       ├── light_gray_crafting_grid.json
│   │               │       ├── light_gray_crafting_monitor.json
│   │               │       ├── light_gray_creative_controller.json
│   │               │       ├── light_gray_detector.json
│   │               │       ├── light_gray_disk_manipulator.json
│   │               │       ├── light_gray_fluid_grid.json
│   │               │       ├── light_gray_grid.json
│   │               │       ├── light_gray_network_receiver.json
│   │               │       ├── light_gray_network_transmitter.json
│   │               │       ├── light_gray_pattern_grid.json
│   │               │       ├── light_gray_relay.json
│   │               │       ├── light_gray_security_manager.json
│   │               │       ├── light_gray_wireless_transmitter.json
│   │               │       ├── lime_controller.json
│   │               │       ├── lime_crafter.json
│   │               │       ├── lime_crafter_manager.json
│   │               │       ├── lime_crafting_grid.json
│   │               │       ├── lime_crafting_monitor.json
│   │               │       ├── lime_creative_controller.json
│   │               │       ├── lime_detector.json
│   │               │       ├── lime_disk_manipulator.json
│   │               │       ├── lime_fluid_grid.json
│   │               │       ├── lime_grid.json
│   │               │       ├── lime_network_receiver.json
│   │               │       ├── lime_network_transmitter.json
│   │               │       ├── lime_pattern_grid.json
│   │               │       ├── lime_relay.json
│   │               │       ├── lime_security_manager.json
│   │               │       ├── lime_wireless_transmitter.json
│   │               │       ├── magenta_controller.json
│   │               │       ├── magenta_crafter.json
│   │               │       ├── magenta_crafter_manager.json
│   │               │       ├── magenta_crafting_grid.json
│   │               │       ├── magenta_crafting_monitor.json
│   │               │       ├── magenta_creative_controller.json
│   │               │       ├── magenta_detector.json
│   │               │       ├── magenta_disk_manipulator.json
│   │               │       ├── magenta_fluid_grid.json
│   │               │       ├── magenta_grid.json
│   │               │       ├── magenta_network_receiver.json
│   │               │       ├── magenta_network_transmitter.json
│   │               │       ├── magenta_pattern_grid.json
│   │               │       ├── magenta_relay.json
│   │               │       ├── magenta_security_manager.json
│   │               │       ├── magenta_wireless_transmitter.json
│   │               │       ├── network_receiver.json
│   │               │       ├── network_transmitter.json
│   │               │       ├── orange_controller.json
│   │               │       ├── orange_crafter.json
│   │               │       ├── orange_crafter_manager.json
│   │               │       ├── orange_crafting_grid.json
│   │               │       ├── orange_crafting_monitor.json
│   │               │       ├── orange_creative_controller.json
│   │               │       ├── orange_detector.json
│   │               │       ├── orange_disk_manipulator.json
│   │               │       ├── orange_fluid_grid.json
│   │               │       ├── orange_grid.json
│   │               │       ├── orange_network_receiver.json
│   │               │       ├── orange_network_transmitter.json
│   │               │       ├── orange_pattern_grid.json
│   │               │       ├── orange_relay.json
│   │               │       ├── orange_security_manager.json
│   │               │       ├── orange_wireless_transmitter.json
│   │               │       ├── pattern_grid.json
│   │               │       ├── pink_controller.json
│   │               │       ├── pink_crafter.json
│   │               │       ├── pink_crafter_manager.json
│   │               │       ├── pink_crafting_grid.json
│   │               │       ├── pink_crafting_monitor.json
│   │               │       ├── pink_creative_controller.json
│   │               │       ├── pink_detector.json
│   │               │       ├── pink_disk_manipulator.json
│   │               │       ├── pink_fluid_grid.json
│   │               │       ├── pink_grid.json
│   │               │       ├── pink_network_receiver.json
│   │               │       ├── pink_network_transmitter.json
│   │               │       ├── pink_pattern_grid.json
│   │               │       ├── pink_relay.json
│   │               │       ├── pink_security_manager.json
│   │               │       ├── pink_wireless_transmitter.json
│   │               │       ├── purple_controller.json
│   │               │       ├── purple_crafter.json
│   │               │       ├── purple_crafter_manager.json
│   │               │       ├── purple_crafting_grid.json
│   │               │       ├── purple_crafting_monitor.json
│   │               │       ├── purple_creative_controller.json
│   │               │       ├── purple_detector.json
│   │               │       ├── purple_disk_manipulator.json
│   │               │       ├── purple_fluid_grid.json
│   │               │       ├── purple_grid.json
│   │               │       ├── purple_network_receiver.json
│   │               │       ├── purple_network_transmitter.json
│   │               │       ├── purple_pattern_grid.json
│   │               │       ├── purple_relay.json
│   │               │       ├── purple_security_manager.json
│   │               │       ├── purple_wireless_transmitter.json
│   │               │       ├── red_controller.json
│   │               │       ├── red_crafter.json
│   │               │       ├── red_crafter_manager.json
│   │               │       ├── red_crafting_grid.json
│   │               │       ├── red_crafting_monitor.json
│   │               │       ├── red_creative_controller.json
│   │               │       ├── red_detector.json
│   │               │       ├── red_disk_manipulator.json
│   │               │       ├── red_fluid_grid.json
│   │               │       ├── red_grid.json
│   │               │       ├── red_network_receiver.json
│   │               │       ├── red_network_transmitter.json
│   │               │       ├── red_pattern_grid.json
│   │               │       ├── red_relay.json
│   │               │       ├── red_security_manager.json
│   │               │       ├── red_wireless_transmitter.json
│   │               │       ├── relay.json
│   │               │       ├── security_manager.json
│   │               │       ├── white_controller.json
│   │               │       ├── white_crafter.json
│   │               │       ├── white_crafter_manager.json
│   │               │       ├── white_crafting_grid.json
│   │               │       ├── white_crafting_monitor.json
│   │               │       ├── white_creative_controller.json
│   │               │       ├── white_detector.json
│   │               │       ├── white_disk_manipulator.json
│   │               │       ├── white_fluid_grid.json
│   │               │       ├── white_grid.json
│   │               │       ├── white_network_receiver.json
│   │               │       ├── white_network_transmitter.json
│   │               │       ├── white_pattern_grid.json
│   │               │       ├── white_relay.json
│   │               │       ├── white_security_manager.json
│   │               │       ├── white_wireless_transmitter.json
│   │               │       ├── wireless_transmitter.json
│   │               │       ├── yellow_controller.json
│   │               │       ├── yellow_crafter.json
│   │               │       ├── yellow_crafter_manager.json
│   │               │       ├── yellow_crafting_grid.json
│   │               │       ├── yellow_crafting_monitor.json
│   │               │       ├── yellow_creative_controller.json
│   │               │       ├── yellow_detector.json
│   │               │       ├── yellow_disk_manipulator.json
│   │               │       ├── yellow_fluid_grid.json
│   │               │       ├── yellow_grid.json
│   │               │       ├── yellow_network_receiver.json
│   │               │       ├── yellow_network_transmitter.json
│   │               │       ├── yellow_pattern_grid.json
│   │               │       ├── yellow_relay.json
│   │               │       ├── yellow_security_manager.json
│   │               │       └── yellow_wireless_transmitter.json
│   │               ├── recipes/
│   │               │   ├── coloring_recipes/
│   │               │   │   ├── black_controller.json
│   │               │   │   ├── black_crafter.json
│   │               │   │   ├── black_crafter_manager.json
│   │               │   │   ├── black_crafting_grid.json
│   │               │   │   ├── black_crafting_monitor.json
│   │               │   │   ├── black_detector.json
│   │               │   │   ├── black_disk_manipulator.json
│   │               │   │   ├── black_fluid_grid.json
│   │               │   │   ├── black_grid.json
│   │               │   │   ├── black_network_receiver.json
│   │               │   │   ├── black_network_transmitter.json
│   │               │   │   ├── black_pattern_grid.json
│   │               │   │   ├── black_relay.json
│   │               │   │   ├── black_security_manager.json
│   │               │   │   ├── black_wireless_transmitter.json
│   │               │   │   ├── blue_controller.json
│   │               │   │   ├── blue_crafter.json
│   │               │   │   ├── blue_crafter_manager.json
│   │               │   │   ├── blue_crafting_grid.json
│   │               │   │   ├── blue_crafting_monitor.json
│   │               │   │   ├── blue_detector.json
│   │               │   │   ├── blue_disk_manipulator.json
│   │               │   │   ├── blue_fluid_grid.json
│   │               │   │   ├── blue_grid.json
│   │               │   │   ├── blue_network_receiver.json
│   │               │   │   ├── blue_network_transmitter.json
│   │               │   │   ├── blue_pattern_grid.json
│   │               │   │   ├── blue_relay.json
│   │               │   │   ├── blue_security_manager.json
│   │               │   │   ├── blue_wireless_transmitter.json
│   │               │   │   ├── brown_controller.json
│   │               │   │   ├── brown_crafter.json
│   │               │   │   ├── brown_crafter_manager.json
│   │               │   │   ├── brown_crafting_grid.json
│   │               │   │   ├── brown_crafting_monitor.json
│   │               │   │   ├── brown_detector.json
│   │               │   │   ├── brown_disk_manipulator.json
│   │               │   │   ├── brown_fluid_grid.json
│   │               │   │   ├── brown_grid.json
│   │               │   │   ├── brown_network_receiver.json
│   │               │   │   ├── brown_network_transmitter.json
│   │               │   │   ├── brown_pattern_grid.json
│   │               │   │   ├── brown_relay.json
│   │               │   │   ├── brown_security_manager.json
│   │               │   │   ├── brown_wireless_transmitter.json
│   │               │   │   ├── controller.json
│   │               │   │   ├── crafter.json
│   │               │   │   ├── crafter_manager.json
│   │               │   │   ├── crafting_grid.json
│   │               │   │   ├── crafting_monitor.json
│   │               │   │   ├── cyan_controller.json
│   │               │   │   ├── cyan_crafter.json
│   │               │   │   ├── cyan_crafter_manager.json
│   │               │   │   ├── cyan_crafting_grid.json
│   │               │   │   ├── cyan_crafting_monitor.json
│   │               │   │   ├── cyan_detector.json
│   │               │   │   ├── cyan_disk_manipulator.json
│   │               │   │   ├── cyan_fluid_grid.json
│   │               │   │   ├── cyan_grid.json
│   │               │   │   ├── cyan_network_receiver.json
│   │               │   │   ├── cyan_network_transmitter.json
│   │               │   │   ├── cyan_pattern_grid.json
│   │               │   │   ├── cyan_relay.json
│   │               │   │   ├── cyan_security_manager.json
│   │               │   │   ├── cyan_wireless_transmitter.json
│   │               │   │   ├── detector.json
│   │               │   │   ├── disk_manipulator.json
│   │               │   │   ├── fluid_grid.json
│   │               │   │   ├── gray_controller.json
│   │               │   │   ├── gray_crafter.json
│   │               │   │   ├── gray_crafter_manager.json
│   │               │   │   ├── gray_crafting_grid.json
│   │               │   │   ├── gray_crafting_monitor.json
│   │               │   │   ├── gray_detector.json
│   │               │   │   ├── gray_disk_manipulator.json
│   │               │   │   ├── gray_fluid_grid.json
│   │               │   │   ├── gray_grid.json
│   │               │   │   ├── gray_network_receiver.json
│   │               │   │   ├── gray_network_transmitter.json
│   │               │   │   ├── gray_pattern_grid.json
│   │               │   │   ├── gray_relay.json
│   │               │   │   ├── gray_security_manager.json
│   │               │   │   ├── gray_wireless_transmitter.json
│   │               │   │   ├── green_controller.json
│   │               │   │   ├── green_crafter.json
│   │               │   │   ├── green_crafter_manager.json
│   │               │   │   ├── green_crafting_grid.json
│   │               │   │   ├── green_crafting_monitor.json
│   │               │   │   ├── green_detector.json
│   │               │   │   ├── green_disk_manipulator.json
│   │               │   │   ├── green_fluid_grid.json
│   │               │   │   ├── green_grid.json
│   │               │   │   ├── green_network_receiver.json
│   │               │   │   ├── green_network_transmitter.json
│   │               │   │   ├── green_pattern_grid.json
│   │               │   │   ├── green_relay.json
│   │               │   │   ├── green_security_manager.json
│   │               │   │   ├── green_wireless_transmitter.json
│   │               │   │   ├── grid.json
│   │               │   │   ├── light_gray_controller.json
│   │               │   │   ├── light_gray_crafter.json
│   │               │   │   ├── light_gray_crafter_manager.json
│   │               │   │   ├── light_gray_crafting_grid.json
│   │               │   │   ├── light_gray_crafting_monitor.json
│   │               │   │   ├── light_gray_detector.json
│   │               │   │   ├── light_gray_disk_manipulator.json
│   │               │   │   ├── light_gray_fluid_grid.json
│   │               │   │   ├── light_gray_grid.json
│   │               │   │   ├── light_gray_network_receiver.json
│   │               │   │   ├── light_gray_network_transmitter.json
│   │               │   │   ├── light_gray_pattern_grid.json
│   │               │   │   ├── light_gray_relay.json
│   │               │   │   ├── light_gray_security_manager.json
│   │               │   │   ├── light_gray_wireless_transmitter.json
│   │               │   │   ├── lime_controller.json
│   │               │   │   ├── lime_crafter.json
│   │               │   │   ├── lime_crafter_manager.json
│   │               │   │   ├── lime_crafting_grid.json
│   │               │   │   ├── lime_crafting_monitor.json
│   │               │   │   ├── lime_detector.json
│   │               │   │   ├── lime_disk_manipulator.json
│   │               │   │   ├── lime_fluid_grid.json
│   │               │   │   ├── lime_grid.json
│   │               │   │   ├── lime_network_receiver.json
│   │               │   │   ├── lime_network_transmitter.json
│   │               │   │   ├── lime_pattern_grid.json
│   │               │   │   ├── lime_relay.json
│   │               │   │   ├── lime_security_manager.json
│   │               │   │   ├── lime_wireless_transmitter.json
│   │               │   │   ├── magenta_controller.json
│   │               │   │   ├── magenta_crafter.json
│   │               │   │   ├── magenta_crafter_manager.json
│   │               │   │   ├── magenta_crafting_grid.json
│   │               │   │   ├── magenta_crafting_monitor.json
│   │               │   │   ├── magenta_detector.json
│   │               │   │   ├── magenta_disk_manipulator.json
│   │               │   │   ├── magenta_fluid_grid.json
│   │               │   │   ├── magenta_grid.json
│   │               │   │   ├── magenta_network_receiver.json
│   │               │   │   ├── magenta_network_transmitter.json
│   │               │   │   ├── magenta_pattern_grid.json
│   │               │   │   ├── magenta_relay.json
│   │               │   │   ├── magenta_security_manager.json
│   │               │   │   ├── magenta_wireless_transmitter.json
│   │               │   │   ├── network_receiver.json
│   │               │   │   ├── network_transmitter.json
│   │               │   │   ├── orange_controller.json
│   │               │   │   ├── orange_crafter.json
│   │               │   │   ├── orange_crafter_manager.json
│   │               │   │   ├── orange_crafting_grid.json
│   │               │   │   ├── orange_crafting_monitor.json
│   │               │   │   ├── orange_detector.json
│   │               │   │   ├── orange_disk_manipulator.json
│   │               │   │   ├── orange_fluid_grid.json
│   │               │   │   ├── orange_grid.json
│   │               │   │   ├── orange_network_receiver.json
│   │               │   │   ├── orange_network_transmitter.json
│   │               │   │   ├── orange_pattern_grid.json
│   │               │   │   ├── orange_relay.json
│   │               │   │   ├── orange_security_manager.json
│   │               │   │   ├── orange_wireless_transmitter.json
│   │               │   │   ├── pattern_grid.json
│   │               │   │   ├── pink_controller.json
│   │               │   │   ├── pink_crafter.json
│   │               │   │   ├── pink_crafter_manager.json
│   │               │   │   ├── pink_crafting_grid.json
│   │               │   │   ├── pink_crafting_monitor.json
│   │               │   │   ├── pink_detector.json
│   │               │   │   ├── pink_disk_manipulator.json
│   │               │   │   ├── pink_fluid_grid.json
│   │               │   │   ├── pink_grid.json
│   │               │   │   ├── pink_network_receiver.json
│   │               │   │   ├── pink_network_transmitter.json
│   │               │   │   ├── pink_pattern_grid.json
│   │               │   │   ├── pink_relay.json
│   │               │   │   ├── pink_security_manager.json
│   │               │   │   ├── pink_wireless_transmitter.json
│   │               │   │   ├── purple_controller.json
│   │               │   │   ├── purple_crafter.json
│   │               │   │   ├── purple_crafter_manager.json
│   │               │   │   ├── purple_crafting_grid.json
│   │               │   │   ├── purple_crafting_monitor.json
│   │               │   │   ├── purple_detector.json
│   │               │   │   ├── purple_disk_manipulator.json
│   │               │   │   ├── purple_fluid_grid.json
│   │               │   │   ├── purple_grid.json
│   │               │   │   ├── purple_network_receiver.json
│   │               │   │   ├── purple_network_transmitter.json
│   │               │   │   ├── purple_pattern_grid.json
│   │               │   │   ├── purple_relay.json
│   │               │   │   ├── purple_security_manager.json
│   │               │   │   ├── purple_wireless_transmitter.json
│   │               │   │   ├── red_controller.json
│   │               │   │   ├── red_crafter.json
│   │               │   │   ├── red_crafter_manager.json
│   │               │   │   ├── red_crafting_grid.json
│   │               │   │   ├── red_crafting_monitor.json
│   │               │   │   ├── red_detector.json
│   │               │   │   ├── red_disk_manipulator.json
│   │               │   │   ├── red_fluid_grid.json
│   │               │   │   ├── red_grid.json
│   │               │   │   ├── red_network_receiver.json
│   │               │   │   ├── red_network_transmitter.json
│   │               │   │   ├── red_pattern_grid.json
│   │               │   │   ├── red_relay.json
│   │               │   │   ├── red_security_manager.json
│   │               │   │   ├── red_wireless_transmitter.json
│   │               │   │   ├── relay.json
│   │               │   │   ├── security_manager.json
│   │               │   │   ├── white_controller.json
│   │               │   │   ├── white_crafter.json
│   │               │   │   ├── white_crafter_manager.json
│   │               │   │   ├── white_crafting_grid.json
│   │               │   │   ├── white_crafting_monitor.json
│   │               │   │   ├── white_detector.json
│   │               │   │   ├── white_disk_manipulator.json
│   │               │   │   ├── white_fluid_grid.json
│   │               │   │   ├── white_grid.json
│   │               │   │   ├── white_network_receiver.json
│   │               │   │   ├── white_network_transmitter.json
│   │               │   │   ├── white_pattern_grid.json
│   │               │   │   ├── white_relay.json
│   │               │   │   ├── white_security_manager.json
│   │               │   │   ├── white_wireless_transmitter.json
│   │               │   │   ├── wireless_transmitter.json
│   │               │   │   ├── yellow_controller.json
│   │               │   │   ├── yellow_crafter.json
│   │               │   │   ├── yellow_crafter_manager.json
│   │               │   │   ├── yellow_crafting_grid.json
│   │               │   │   ├── yellow_crafting_monitor.json
│   │               │   │   ├── yellow_detector.json
│   │               │   │   ├── yellow_disk_manipulator.json
│   │               │   │   ├── yellow_fluid_grid.json
│   │               │   │   ├── yellow_grid.json
│   │               │   │   ├── yellow_network_receiver.json
│   │               │   │   ├── yellow_network_transmitter.json
│   │               │   │   ├── yellow_pattern_grid.json
│   │               │   │   ├── yellow_relay.json
│   │               │   │   ├── yellow_security_manager.json
│   │               │   │   └── yellow_wireless_transmitter.json
│   │               │   ├── crafting_grid/
│   │               │   │   ├── black_crafting_grid.json
│   │               │   │   ├── blue_crafting_grid.json
│   │               │   │   ├── brown_crafting_grid.json
│   │               │   │   ├── crafting_grid.json
│   │               │   │   ├── cyan_crafting_grid.json
│   │               │   │   ├── gray_crafting_grid.json
│   │               │   │   ├── green_crafting_grid.json
│   │               │   │   ├── light_gray_crafting_grid.json
│   │               │   │   ├── lime_crafting_grid.json
│   │               │   │   ├── magenta_crafting_grid.json
│   │               │   │   ├── orange_crafting_grid.json
│   │               │   │   ├── pink_crafting_grid.json
│   │               │   │   ├── purple_crafting_grid.json
│   │               │   │   ├── red_crafting_grid.json
│   │               │   │   ├── white_crafting_grid.json
│   │               │   │   └── yellow_crafting_grid.json
│   │               │   ├── fluid_grid/
│   │               │   │   ├── black_fluid_grid.json
│   │               │   │   ├── blue_fluid_grid.json
│   │               │   │   ├── brown_fluid_grid.json
│   │               │   │   ├── cyan_fluid_grid.json
│   │               │   │   ├── fluid_grid.json
│   │               │   │   ├── gray_fluid_grid.json
│   │               │   │   ├── green_fluid_grid.json
│   │               │   │   ├── light_gray_fluid_grid.json
│   │               │   │   ├── lime_fluid_grid.json
│   │               │   │   ├── magenta_fluid_grid.json
│   │               │   │   ├── orange_fluid_grid.json
│   │               │   │   ├── pink_fluid_grid.json
│   │               │   │   ├── purple_fluid_grid.json
│   │               │   │   ├── red_fluid_grid.json
│   │               │   │   ├── white_fluid_grid.json
│   │               │   │   └── yellow_fluid_grid.json
│   │               │   └── pattern_grid/
│   │               │       ├── black_pattern_grid.json
│   │               │       ├── blue_pattern_grid.json
│   │               │       ├── brown_pattern_grid.json
│   │               │       ├── cyan_pattern_grid.json
│   │               │       ├── gray_pattern_grid.json
│   │               │       ├── green_pattern_grid.json
│   │               │       ├── light_gray_pattern_grid.json
│   │               │       ├── lime_pattern_grid.json
│   │               │       ├── magenta_pattern_grid.json
│   │               │       ├── orange_pattern_grid.json
│   │               │       ├── pattern_grid.json
│   │               │       ├── pink_pattern_grid.json
│   │               │       ├── purple_pattern_grid.json
│   │               │       ├── red_pattern_grid.json
│   │               │       ├── white_pattern_grid.json
│   │               │       └── yellow_pattern_grid.json
│   │               └── tags/
│   │                   ├── blocks/
│   │                   │   ├── controller.json
│   │                   │   ├── crafter.json
│   │                   │   ├── crafter_manager.json
│   │                   │   ├── crafting_grid.json
│   │                   │   ├── crafting_monitor.json
│   │                   │   ├── creative_controller.json
│   │                   │   ├── detector.json
│   │                   │   ├── disk_manipulator.json
│   │                   │   ├── fluid_grid.json
│   │                   │   ├── grid.json
│   │                   │   ├── network_receiver.json
│   │                   │   ├── network_transmitter.json
│   │                   │   ├── pattern_grid.json
│   │                   │   ├── relay.json
│   │                   │   ├── security_manager.json
│   │                   │   └── wireless_transmitter.json
│   │                   └── items/
│   │                       ├── controller.json
│   │                       ├── crafter.json
│   │                       ├── crafter_manager.json
│   │                       ├── crafting_grid.json
│   │                       ├── crafting_monitor.json
│   │                       ├── detector.json
│   │                       ├── disk_manipulator.json
│   │                       ├── fluid_grid.json
│   │                       ├── grid.json
│   │                       ├── network_receiver.json
│   │                       ├── network_transmitter.json
│   │                       ├── pattern_grid.json
│   │                       ├── relay.json
│   │                       ├── security_manager.json
│   │                       └── wireless_transmitter.json
│   └── main/
│       ├── java/
│       │   └── com/
│       │       └── refinedmods/
│       │           └── refinedstorage/
│       │               ├── RS.java
│       │               ├── RSBlockEntities.java
│       │               ├── RSBlocks.java
│       │               ├── RSContainerMenus.java
│       │               ├── RSCreativeModeTabItems.java
│       │               ├── RSItems.java
│       │               ├── RSKeyBindings.java
│       │               ├── RSLootFunctions.java
│       │               ├── RSRecipeSerializers.java
│       │               ├── api/
│       │               │   ├── IRSAPI.java
│       │               │   ├── RSAPIInject.java
│       │               │   ├── autocrafting/
│       │               │   │   ├── ICraftingManager.java
│       │               │   │   ├── ICraftingPattern.java
│       │               │   │   ├── ICraftingPatternContainer.java
│       │               │   │   ├── ICraftingPatternProvider.java
│       │               │   │   ├── ICraftingPatternRenderHandler.java
│       │               │   │   ├── craftingmonitor/
│       │               │   │   │   ├── ICraftingMonitorElement.java
│       │               │   │   │   ├── ICraftingMonitorElementList.java
│       │               │   │   │   ├── ICraftingMonitorElementRegistry.java
│       │               │   │   │   └── ICraftingMonitorListener.java
│       │               │   │   ├── preview/
│       │               │   │   │   ├── ICraftingPreviewElement.java
│       │               │   │   │   └── ICraftingPreviewElementRegistry.java
│       │               │   │   └── task/
│       │               │   │       ├── CalculationResultType.java
│       │               │   │       ├── CraftingTaskReadException.java
│       │               │   │       ├── ICalculationResult.java
│       │               │   │       ├── ICraftingRequestInfo.java
│       │               │   │       ├── ICraftingTask.java
│       │               │   │       ├── ICraftingTaskFactory.java
│       │               │   │       └── ICraftingTaskRegistry.java
│       │               │   ├── network/
│       │               │   │   ├── INetwork.java
│       │               │   │   ├── INetworkManager.java
│       │               │   │   ├── INetworkNodeGraph.java
│       │               │   │   ├── INetworkNodeGraphEntry.java
│       │               │   │   ├── INetworkNodeGraphListener.java
│       │               │   │   ├── INetworkNodeVisitor.java
│       │               │   │   ├── IWirelessTransmitter.java
│       │               │   │   ├── NetworkType.java
│       │               │   │   ├── grid/
│       │               │   │   │   ├── GridFactoryType.java
│       │               │   │   │   ├── GridType.java
│       │               │   │   │   ├── ICraftingGridBehavior.java
│       │               │   │   │   ├── ICraftingGridListener.java
│       │               │   │   │   ├── IGrid.java
│       │               │   │   │   ├── IGridFactory.java
│       │               │   │   │   ├── IGridManager.java
│       │               │   │   │   ├── IGridTab.java
│       │               │   │   │   ├── INetworkAwareGrid.java
│       │               │   │   │   └── handler/
│       │               │   │   │       ├── IFluidGridHandler.java
│       │               │   │   │       └── IItemGridHandler.java
│       │               │   │   ├── item/
│       │               │   │   │   ├── INetworkItem.java
│       │               │   │   │   ├── INetworkItemManager.java
│       │               │   │   │   └── INetworkItemProvider.java
│       │               │   │   ├── node/
│       │               │   │   │   ├── ICoverable.java
│       │               │   │   │   ├── INetworkNode.java
│       │               │   │   │   ├── INetworkNodeFactory.java
│       │               │   │   │   ├── INetworkNodeManager.java
│       │               │   │   │   ├── INetworkNodeProxy.java
│       │               │   │   │   └── INetworkNodeRegistry.java
│       │               │   │   └── security/
│       │               │   │       ├── ISecurityCard.java
│       │               │   │       ├── ISecurityCardContainer.java
│       │               │   │       ├── ISecurityManager.java
│       │               │   │       └── Permission.java
│       │               │   ├── render/
│       │               │   │   ├── IElementDrawer.java
│       │               │   │   └── IElementDrawers.java
│       │               │   ├── storage/
│       │               │   │   ├── AccessType.java
│       │               │   │   ├── IStorage.java
│       │               │   │   ├── IStorageProvider.java
│       │               │   │   ├── StorageType.java
│       │               │   │   ├── cache/
│       │               │   │   │   ├── IStorageCache.java
│       │               │   │   │   ├── IStorageCacheListener.java
│       │               │   │   │   └── InvalidateCause.java
│       │               │   │   ├── disk/
│       │               │   │   │   ├── IStorageDisk.java
│       │               │   │   │   ├── IStorageDiskContainerContext.java
│       │               │   │   │   ├── IStorageDiskFactory.java
│       │               │   │   │   ├── IStorageDiskListener.java
│       │               │   │   │   ├── IStorageDiskManager.java
│       │               │   │   │   ├── IStorageDiskProvider.java
│       │               │   │   │   ├── IStorageDiskRegistry.java
│       │               │   │   │   ├── IStorageDiskSync.java
│       │               │   │   │   └── StorageDiskSyncData.java
│       │               │   │   ├── externalstorage/
│       │               │   │   │   ├── IExternalStorage.java
│       │               │   │   │   ├── IExternalStorageContext.java
│       │               │   │   │   └── IExternalStorageProvider.java
│       │               │   │   └── tracker/
│       │               │   │       ├── IStorageTracker.java
│       │               │   │       ├── IStorageTrackerManager.java
│       │               │   │       └── StorageTrackerEntry.java
│       │               │   └── util/
│       │               │       ├── Action.java
│       │               │       ├── IComparer.java
│       │               │       ├── IFilter.java
│       │               │       ├── IQuantityFormatter.java
│       │               │       ├── IStackList.java
│       │               │       ├── StackListEntry.java
│       │               │       └── StackListResult.java
│       │               ├── apiimpl/
│       │               │   ├── API.java
│       │               │   ├── autocrafting/
│       │               │   │   ├── AllowedTagList.java
│       │               │   │   ├── CraftingManager.java
│       │               │   │   ├── CraftingPattern.java
│       │               │   │   ├── CraftingPatternContext.java
│       │               │   │   ├── CraftingPatternFactory.java
│       │               │   │   ├── CraftingPatternFactoryException.java
│       │               │   │   ├── CraftingPatternInputs.java
│       │               │   │   ├── CraftingPatternOutputs.java
│       │               │   │   ├── InvalidCraftingPattern.java
│       │               │   │   ├── craftingmonitor/
│       │               │   │   │   ├── CraftingMonitorElementList.java
│       │               │   │   │   ├── CraftingMonitorElementRegistry.java
│       │               │   │   │   ├── ErrorCraftingMonitorElement.java
│       │               │   │   │   ├── FluidCraftingMonitorElement.java
│       │               │   │   │   └── ItemCraftingMonitorElement.java
│       │               │   │   ├── preview/
│       │               │   │   │   ├── CraftingPreviewElementRegistry.java
│       │               │   │   │   ├── ErrorCraftingPreviewElement.java
│       │               │   │   │   ├── FluidCraftingPreviewElement.java
│       │               │   │   │   └── ItemCraftingPreviewElement.java
│       │               │   │   └── task/
│       │               │   │       ├── CraftingRequestInfo.java
│       │               │   │       ├── CraftingTaskRegistry.java
│       │               │   │       ├── README.md
│       │               │   │       └── v6/
│       │               │   │           ├── CraftingPatternInputs.java
│       │               │   │           ├── CraftingTask.java
│       │               │   │           ├── CraftingTaskFactory.java
│       │               │   │           ├── IoUtil.java
│       │               │   │           ├── SerializationUtil.java
│       │               │   │           ├── calculator/
│       │               │   │           │   ├── CalculationResult.java
│       │               │   │           │   ├── CraftingCalculator.java
│       │               │   │           │   ├── CraftingCalculatorException.java
│       │               │   │           │   └── PossibleInputs.java
│       │               │   │           ├── monitor/
│       │               │   │           │   └── CraftingMonitorElementFactory.java
│       │               │   │           ├── node/
│       │               │   │           │   ├── CraftingNode.java
│       │               │   │           │   ├── Node.java
│       │               │   │           │   ├── NodeList.java
│       │               │   │           │   ├── NodeListener.java
│       │               │   │           │   ├── NodeRequirements.java
│       │               │   │           │   ├── ProcessingNode.java
│       │               │   │           │   └── ProcessingState.java
│       │               │   │           └── preview/
│       │               │   │               ├── CraftingPreviewElementFactory.java
│       │               │   │               └── CraftingPreviewInfo.java
│       │               │   ├── network/
│       │               │   │   ├── Network.java
│       │               │   │   ├── NetworkListener.java
│       │               │   │   ├── NetworkManager.java
│       │               │   │   ├── NetworkNodeGraph.java
│       │               │   │   ├── NetworkNodeGraphEntry.java
│       │               │   │   ├── NetworkNodeListener.java
│       │               │   │   ├── NetworkNodeManager.java
│       │               │   │   ├── NetworkNodeRegistry.java
│       │               │   │   ├── grid/
│       │               │   │   │   ├── CraftingGridBehavior.java
│       │               │   │   │   ├── GridManager.java
│       │               │   │   │   ├── GridTab.java
│       │               │   │   │   ├── factory/
│       │               │   │   │   │   ├── GridBlockGridFactory.java
│       │               │   │   │   │   ├── PortableGridBlockGridFactory.java
│       │               │   │   │   │   ├── PortableGridGridFactory.java
│       │               │   │   │   │   ├── WirelessFluidGridGridFactory.java
│       │               │   │   │   │   └── WirelessGridGridFactory.java
│       │               │   │   │   └── handler/
│       │               │   │   │       ├── FluidGridHandler.java
│       │               │   │   │       ├── ItemGridHandler.java
│       │               │   │   │       ├── PortableFluidGridHandler.java
│       │               │   │   │       └── PortableItemGridHandler.java
│       │               │   │   ├── item/
│       │               │   │   │   ├── NetworkItemManager.java
│       │               │   │   │   ├── WirelessCraftingMonitorNetworkItem.java
│       │               │   │   │   ├── WirelessFluidGridNetworkItem.java
│       │               │   │   │   └── WirelessGridNetworkItem.java
│       │               │   │   ├── node/
│       │               │   │   │   ├── CableNetworkNode.java
│       │               │   │   │   ├── ConnectivityStateChangeCause.java
│       │               │   │   │   ├── ConstructorNetworkNode.java
│       │               │   │   │   ├── CrafterManagerNetworkNode.java
│       │               │   │   │   ├── CrafterNetworkNode.java
│       │               │   │   │   ├── CraftingMonitorNetworkNode.java
│       │               │   │   │   ├── DestructorNetworkNode.java
│       │               │   │   │   ├── DetectorNetworkNode.java
│       │               │   │   │   ├── DiskState.java
│       │               │   │   │   ├── ExporterNetworkNode.java
│       │               │   │   │   ├── ExternalStorageNetworkNode.java
│       │               │   │   │   ├── FluidInterfaceNetworkNode.java
│       │               │   │   │   ├── GridNetworkNode.java
│       │               │   │   │   ├── IStorageScreen.java
│       │               │   │   │   ├── ImporterNetworkNode.java
│       │               │   │   │   ├── InterfaceNetworkNode.java
│       │               │   │   │   ├── NetworkNode.java
│       │               │   │   │   ├── NetworkReceiverNetworkNode.java
│       │               │   │   │   ├── NetworkTransmitterNetworkNode.java
│       │               │   │   │   ├── RelayNetworkNode.java
│       │               │   │   │   ├── RootNetworkNode.java
│       │               │   │   │   ├── SecurityManagerNetworkNode.java
│       │               │   │   │   ├── SlottedCraftingRequest.java
│       │               │   │   │   ├── StorageMonitorNetworkNode.java
│       │               │   │   │   ├── WirelessTransmitterNetworkNode.java
│       │               │   │   │   ├── cover/
│       │               │   │   │   │   ├── Cover.java
│       │               │   │   │   │   ├── CoverManager.java
│       │               │   │   │   │   └── CoverType.java
│       │               │   │   │   ├── diskdrive/
│       │               │   │   │   │   ├── DiskDriveNetworkNode.java
│       │               │   │   │   │   ├── FluidDriveWrapperStorageDisk.java
│       │               │   │   │   │   └── ItemDriveWrapperStorageDisk.java
│       │               │   │   │   ├── diskmanipulator/
│       │               │   │   │   │   ├── DiskManipulatorNetworkNode.java
│       │               │   │   │   │   ├── StorageDiskFluidManipulatorWrapper.java
│       │               │   │   │   │   └── StorageDiskItemManipulatorWrapper.java
│       │               │   │   │   └── storage/
│       │               │   │   │       ├── FluidStorageNetworkNode.java
│       │               │   │   │       ├── FluidStorageWrapperStorageDisk.java
│       │               │   │   │       ├── ItemStorageWrapperStorageDisk.java
│       │               │   │   │       └── StorageNetworkNode.java
│       │               │   │   └── security/
│       │               │   │       ├── SecurityCard.java
│       │               │   │       └── SecurityManager.java
│       │               │   ├── render/
│       │               │   │   ├── CraftingMonitorElementDrawers.java
│       │               │   │   ├── CraftingPreviewElementDrawers.java
│       │               │   │   └── ElementDrawers.java
│       │               │   ├── storage/
│       │               │   │   ├── FluidStorageType.java
│       │               │   │   ├── ItemStorageType.java
│       │               │   │   ├── cache/
│       │               │   │   │   ├── FluidStorageCache.java
│       │               │   │   │   ├── ItemStorageCache.java
│       │               │   │   │   ├── PortableFluidStorageCache.java
│       │               │   │   │   ├── PortableItemStorageCache.java
│       │               │   │   │   └── listener/
│       │               │   │   │       ├── FluidGridStorageCacheListener.java
│       │               │   │   │       ├── ItemGridStorageCacheListener.java
│       │               │   │   │       ├── PortableFluidGridStorageCacheListener.java
│       │               │   │   │       └── PortableItemGridStorageCacheListener.java
│       │               │   │   ├── disk/
│       │               │   │   │   ├── FluidStorageDisk.java
│       │               │   │   │   ├── ItemStorageDisk.java
│       │               │   │   │   ├── PortableFluidStorageDisk.java
│       │               │   │   │   ├── PortableItemStorageDisk.java
│       │               │   │   │   ├── StorageDiskManager.java
│       │               │   │   │   ├── StorageDiskRegistry.java
│       │               │   │   │   ├── StorageDiskSync.java
│       │               │   │   │   └── factory/
│       │               │   │   │       ├── FluidStorageDiskFactory.java
│       │               │   │   │       └── ItemStorageDiskFactory.java
│       │               │   │   ├── externalstorage/
│       │               │   │   │   ├── FluidExternalStorage.java
│       │               │   │   │   ├── FluidExternalStorageCache.java
│       │               │   │   │   ├── FluidExternalStorageProvider.java
│       │               │   │   │   ├── ItemExternalStorage.java
│       │               │   │   │   ├── ItemExternalStorageCache.java
│       │               │   │   │   └── ItemExternalStorageProvider.java
│       │               │   │   └── tracker/
│       │               │   │       ├── FluidStorageTracker.java
│       │               │   │       ├── ItemStorageTracker.java
│       │               │   │       └── StorageTrackerManager.java
│       │               │   └── util/
│       │               │       ├── Comparer.java
│       │               │       ├── FluidFilter.java
│       │               │       ├── FluidStackList.java
│       │               │       ├── ItemFilter.java
│       │               │       ├── ItemStackList.java
│       │               │       ├── QuantityFormatter.java
│       │               │       └── RSSavedData.java
│       │               ├── block/
│       │               │   ├── BaseBlock.java
│       │               │   ├── BlockDirection.java
│       │               │   ├── BlockListener.java
│       │               │   ├── CableBlock.java
│       │               │   ├── ColoredNetworkBlock.java
│       │               │   ├── ConstructorBlock.java
│       │               │   ├── ControllerBlock.java
│       │               │   ├── CrafterBlock.java
│       │               │   ├── CrafterManagerBlock.java
│       │               │   ├── CraftingMonitorBlock.java
│       │               │   ├── DestructorBlock.java
│       │               │   ├── DetectorBlock.java
│       │               │   ├── DiskDriveBlock.java
│       │               │   ├── DiskManipulatorBlock.java
│       │               │   ├── ExporterBlock.java
│       │               │   ├── ExternalStorageBlock.java
│       │               │   ├── FluidInterfaceBlock.java
│       │               │   ├── FluidStorageBlock.java
│       │               │   ├── GridBlock.java
│       │               │   ├── ImporterBlock.java
│       │               │   ├── InterfaceBlock.java
│       │               │   ├── MachineCasingBlock.java
│       │               │   ├── NetworkNodeBlock.java
│       │               │   ├── NetworkReceiverBlock.java
│       │               │   ├── NetworkTransmitterBlock.java
│       │               │   ├── PortableGridBlock.java
│       │               │   ├── QuartzEnrichedIronBlock.java
│       │               │   ├── RelayBlock.java
│       │               │   ├── SecurityManagerBlock.java
│       │               │   ├── StorageBlock.java
│       │               │   ├── StorageMonitorBlock.java
│       │               │   ├── WirelessTransmitterBlock.java
│       │               │   └── shape/
│       │               │       └── ShapeCache.java
│       │               ├── blockentity/
│       │               │   ├── BaseBlockEntity.java
│       │               │   ├── CableBlockEntity.java
│       │               │   ├── ClientNode.java
│       │               │   ├── ConstructorBlockEntity.java
│       │               │   ├── ControllerBlockEntity.java
│       │               │   ├── CrafterBlockEntity.java
│       │               │   ├── CrafterManagerBlockEntity.java
│       │               │   ├── DestructorBlockEntity.java
│       │               │   ├── DetectorBlockEntity.java
│       │               │   ├── DiskDriveBlockEntity.java
│       │               │   ├── DiskManipulatorBlockEntity.java
│       │               │   ├── ExporterBlockEntity.java
│       │               │   ├── ExternalStorageBlockEntity.java
│       │               │   ├── FluidInterfaceBlockEntity.java
│       │               │   ├── FluidStorageBlockEntity.java
│       │               │   ├── ImporterBlockEntity.java
│       │               │   ├── InterfaceBlockEntity.java
│       │               │   ├── NetworkNodeBlockEntity.java
│       │               │   ├── NetworkReceiverBlockEntity.java
│       │               │   ├── NetworkTransmitterBlockEntity.java
│       │               │   ├── RelayBlockEntity.java
│       │               │   ├── SecurityManagerBlockEntity.java
│       │               │   ├── StorageBlockEntity.java
│       │               │   ├── StorageMonitorBlockEntity.java
│       │               │   ├── WirelessTransmitterBlockEntity.java
│       │               │   ├── config/
│       │               │   │   ├── IAccessType.java
│       │               │   │   ├── IComparable.java
│       │               │   │   ├── IPrioritizable.java
│       │               │   │   ├── IRedstoneConfigurable.java
│       │               │   │   ├── IType.java
│       │               │   │   ├── IWhitelistBlacklist.java
│       │               │   │   └── RedstoneMode.java
│       │               │   ├── craftingmonitor/
│       │               │   │   ├── CraftingMonitorBlockEntity.java
│       │               │   │   ├── ICraftingMonitor.java
│       │               │   │   └── WirelessCraftingMonitor.java
│       │               │   ├── data/
│       │               │   │   ├── BlockEntitySynchronizationClientListener.java
│       │               │   │   ├── BlockEntitySynchronizationManager.java
│       │               │   │   ├── BlockEntitySynchronizationParameter.java
│       │               │   │   ├── BlockEntitySynchronizationSpec.java
│       │               │   │   ├── BlockEntitySynchronizationWatcher.java
│       │               │   │   └── RSSerializers.java
│       │               │   └── grid/
│       │               │       ├── GridBlockEntity.java
│       │               │       ├── WirelessFluidGrid.java
│       │               │       ├── WirelessGrid.java
│       │               │       └── portable/
│       │               │           ├── IPortableGrid.java
│       │               │           ├── PortableGrid.java
│       │               │           ├── PortableGridBlockEntity.java
│       │               │           └── PortableGridDiskState.java
│       │               ├── command/
│       │               │   ├── disk/
│       │               │   │   ├── CreateDiskCommand.java
│       │               │   │   ├── ListDiskCommand.java
│       │               │   │   ├── ListDiskForPlayerCommand.java
│       │               │   │   └── StorageDiskIdSuggestionProvider.java
│       │               │   ├── network/
│       │               │   │   ├── GetNetworkCommand.java
│       │               │   │   ├── ListNetworkCommand.java
│       │               │   │   ├── NetworkCommand.java
│       │               │   │   ├── NetworkPositionSuggestionProvider.java
│       │               │   │   └── autocrafting/
│       │               │   │       ├── AutocraftingIdSuggestionProvider.java
│       │               │   │       ├── CancelAllAutocraftingCommand.java
│       │               │   │       ├── CancelSingleAutocraftingCommand.java
│       │               │   │       ├── GetAutocraftingCommand.java
│       │               │   │       └── ListAutocraftingCommand.java
│       │               │   └── pattern/
│       │               │       └── PatternDumpCommand.java
│       │               ├── config/
│       │               │   ├── ClientConfig.java
│       │               │   └── ServerConfig.java
│       │               ├── container/
│       │               │   ├── AlternativesContainerMenu.java
│       │               │   ├── AmountContainerMenu.java
│       │               │   ├── BaseContainerMenu.java
│       │               │   ├── ConstructorContainerMenu.java
│       │               │   ├── ControllerContainerMenu.java
│       │               │   ├── CrafterContainerMenu.java
│       │               │   ├── CrafterManagerContainerMenu.java
│       │               │   ├── CraftingMonitorContainerMenu.java
│       │               │   ├── CraftingSettingsContainerMenu.java
│       │               │   ├── DestructorContainerMenu.java
│       │               │   ├── DetectorContainerMenu.java
│       │               │   ├── DiskDriveContainerMenu.java
│       │               │   ├── DiskManipulatorContainerMenu.java
│       │               │   ├── ExporterContainerMenu.java
│       │               │   ├── ExternalStorageContainerMenu.java
│       │               │   ├── FilterContainerMenu.java
│       │               │   ├── FluidAmountContainerMenu.java
│       │               │   ├── FluidInterfaceContainerMenu.java
│       │               │   ├── FluidStorageContainerMenu.java
│       │               │   ├── GridContainerMenu.java
│       │               │   ├── ImporterContainerMenu.java
│       │               │   ├── InterfaceContainerMenu.java
│       │               │   ├── NetworkTransmitterContainerMenu.java
│       │               │   ├── RelayContainerMenu.java
│       │               │   ├── SecurityManagerContainerMenu.java
│       │               │   ├── StorageContainerMenu.java
│       │               │   ├── StorageMonitorContainerMenu.java
│       │               │   ├── WirelessTransmitterContainerMenu.java
│       │               │   ├── factory/
│       │               │   │   ├── BlockEntityContainerFactory.java
│       │               │   │   ├── BlockEntityMenuProvider.java
│       │               │   │   ├── CrafterManagerContainerFactory.java
│       │               │   │   ├── CrafterManagerMenuProvider.java
│       │               │   │   ├── CraftingMonitorContainerFactory.java
│       │               │   │   ├── CraftingMonitorMenuProvider.java
│       │               │   │   ├── GridContainerFactory.java
│       │               │   │   ├── GridMenuProvider.java
│       │               │   │   └── WirelessCraftingMonitorContainerFactory.java
│       │               │   ├── slot/
│       │               │   │   ├── BaseSlot.java
│       │               │   │   ├── CrafterManagerSlot.java
│       │               │   │   ├── DisabledSlot.java
│       │               │   │   ├── OutputSlot.java
│       │               │   │   ├── filter/
│       │               │   │   │   ├── DisabledFluidFilterSlot.java
│       │               │   │   │   ├── FilterSlot.java
│       │               │   │   │   └── FluidFilterSlot.java
│       │               │   │   ├── grid/
│       │               │   │   │   ├── CraftingGridSlot.java
│       │               │   │   │   └── ResultCraftingGridSlot.java
│       │               │   │   └── legacy/
│       │               │   │       ├── LegacyBaseSlot.java
│       │               │   │       ├── LegacyDisabledSlot.java
│       │               │   │       └── LegacyFilterSlot.java
│       │               │   └── transfer/
│       │               │       ├── FilterInventoryWrapper.java
│       │               │       ├── FluidFilterInventoryWrapper.java
│       │               │       ├── IInventoryWrapper.java
│       │               │       ├── InsertionResult.java
│       │               │       ├── InsertionResultType.java
│       │               │       ├── InventoryInventoryWrapper.java
│       │               │       ├── ItemFilterInventoryWrapper.java
│       │               │       ├── ItemHandlerInventoryWrapper.java
│       │               │       └── TransferManager.java
│       │               ├── datageneration/
│       │               │   ├── BlockEntityTagGenerator.java
│       │               │   ├── BlockModelGenerator.java
│       │               │   ├── BlockModels.java
│       │               │   ├── BlockTagGenerator.java
│       │               │   ├── DataGenerators.java
│       │               │   ├── ItemTagGenerator.java
│       │               │   ├── LootTableGenerator.java
│       │               │   └── RecipeGenerator.java
│       │               ├── energy/
│       │               │   ├── BaseEnergyStorage.java
│       │               │   └── ItemEnergyStorage.java
│       │               ├── integration/
│       │               │   ├── craftingtweaks/
│       │               │   │   └── CraftingTweaksIntegration.java
│       │               │   ├── curios/
│       │               │   │   └── CuriosIntegration.java
│       │               │   ├── inventorysorter/
│       │               │   │   └── InventorySorterIntegration.java
│       │               │   ├── inventorytweaks/
│       │               │   │   └── InventoryTweaksIntegration.java
│       │               │   └── jei/
│       │               │       ├── CoverCraftingCategoryExtension.java
│       │               │       ├── GhostIngredientHandler.java
│       │               │       ├── GridRecipeTransferHandler.java
│       │               │       ├── GuiContainerHandler.java
│       │               │       ├── HollowCoverCraftingCategoryExtension.java
│       │               │       ├── Ingredient.java
│       │               │       ├── IngredientTracker.java
│       │               │       ├── JeiHelper.java
│       │               │       ├── JeiIntegration.java
│       │               │       ├── RSJeiPlugin.java
│       │               │       ├── RecipeTransferCraftingGridError.java
│       │               │       └── RecipeTransferPatternGridError.java
│       │               ├── inventory/
│       │               │   ├── fluid/
│       │               │   │   ├── ConfiguredFluidsInFilterItemHandler.java
│       │               │   │   ├── ConfiguredIconInFluidFilterItemHandler.java
│       │               │   │   ├── FluidInventory.java
│       │               │   │   └── ProxyFluidHandler.java
│       │               │   ├── item/
│       │               │   │   ├── BaseItemHandler.java
│       │               │   │   ├── ConfiguredIconInFilterItemHandler.java
│       │               │   │   ├── ConfiguredItemsInFilterItemHandler.java
│       │               │   │   ├── FilterItemHandler.java
│       │               │   │   ├── ProxyItemHandler.java
│       │               │   │   ├── UpgradeItemHandler.java
│       │               │   │   └── validator/
│       │               │   │       ├── ItemValidator.java
│       │               │   │       ├── PatternItemValidator.java
│       │               │   │       ├── StorageDiskItemValidator.java
│       │               │   │       └── UpgradeItemValidator.java
│       │               │   ├── listener/
│       │               │   │   ├── BlockEntityInventoryListener.java
│       │               │   │   ├── InventoryListener.java
│       │               │   │   ├── NetworkNodeFluidInventoryListener.java
│       │               │   │   └── NetworkNodeInventoryListener.java
│       │               │   └── player/
│       │               │       └── PlayerSlot.java
│       │               ├── item/
│       │               │   ├── CoreItem.java
│       │               │   ├── CoverItem.java
│       │               │   ├── EnergyItem.java
│       │               │   ├── FilterItem.java
│       │               │   ├── FluidStorageDiskItem.java
│       │               │   ├── FluidStoragePartItem.java
│       │               │   ├── HollowCoverItem.java
│       │               │   ├── NetworkCardItem.java
│       │               │   ├── NetworkItem.java
│       │               │   ├── PatternItem.java
│       │               │   ├── ProcessorBindingItem.java
│       │               │   ├── ProcessorItem.java
│       │               │   ├── QuartzEnrichedIronItem.java
│       │               │   ├── SecurityCardItem.java
│       │               │   ├── SiliconItem.java
│       │               │   ├── StorageDiskItem.java
│       │               │   ├── StorageHousingItem.java
│       │               │   ├── StoragePartItem.java
│       │               │   ├── UpgradeItem.java
│       │               │   ├── WirelessCraftingMonitorItem.java
│       │               │   ├── WirelessFluidGridItem.java
│       │               │   ├── WirelessGridItem.java
│       │               │   ├── WrenchItem.java
│       │               │   ├── blockitem/
│       │               │   │   ├── BaseBlockItem.java
│       │               │   │   ├── ColoredBlockItem.java
│       │               │   │   ├── ControllerBlockItem.java
│       │               │   │   ├── EnergyBlockItem.java
│       │               │   │   ├── FluidStorageBlockItem.java
│       │               │   │   ├── PortableGridBlockItem.java
│       │               │   │   └── StorageBlockItem.java
│       │               │   └── property/
│       │               │       ├── ControllerItemPropertyGetter.java
│       │               │       ├── NetworkItemPropertyGetter.java
│       │               │       └── SecurityCardItemPropertyGetter.java
│       │               ├── loottable/
│       │               │   ├── ControllerLootFunction.java
│       │               │   ├── CrafterLootFunction.java
│       │               │   ├── PortableGridBlockLootFunction.java
│       │               │   └── StorageBlockLootFunction.java
│       │               ├── network/
│       │               │   ├── ClientProxy.java
│       │               │   ├── FilterUpdateMessage.java
│       │               │   ├── FluidFilterSlotUpdateMessage.java
│       │               │   ├── NetworkHandler.java
│       │               │   ├── OpenNetworkItemMessage.java
│       │               │   ├── SecurityManagerUpdateMessage.java
│       │               │   ├── SetFilterSlotMessage.java
│       │               │   ├── SetFluidFilterSlotMessage.java
│       │               │   ├── craftingmonitor/
│       │               │   │   ├── CraftingMonitorCancelMessage.java
│       │               │   │   ├── CraftingMonitorSyncTask.java
│       │               │   │   ├── CraftingMonitorUpdateMessage.java
│       │               │   │   └── WirelessCraftingMonitorSettingsUpdateMessage.java
│       │               │   ├── disk/
│       │               │   │   ├── StorageDiskSizeRequestMessage.java
│       │               │   │   └── StorageDiskSizeResponseMessage.java
│       │               │   ├── grid/
│       │               │   │   ├── GridClearMessage.java
│       │               │   │   ├── GridCraftingPreviewRequestMessage.java
│       │               │   │   ├── GridCraftingPreviewResponseMessage.java
│       │               │   │   ├── GridCraftingStartRequestMessage.java
│       │               │   │   ├── GridCraftingStartResponseMessage.java
│       │               │   │   ├── GridFluidDeltaMessage.java
│       │               │   │   ├── GridFluidInsertHeldMessage.java
│       │               │   │   ├── GridFluidPullMessage.java
│       │               │   │   ├── GridFluidUpdateMessage.java
│       │               │   │   ├── GridItemDeltaMessage.java
│       │               │   │   ├── GridItemGridScrollMessage.java
│       │               │   │   ├── GridItemInsertHeldMessage.java
│       │               │   │   ├── GridItemInventoryScrollMessage.java
│       │               │   │   ├── GridItemPullMessage.java
│       │               │   │   ├── GridItemUpdateMessage.java
│       │               │   │   ├── GridPatternCreateMessage.java
│       │               │   │   ├── GridProcessingTransferMessage.java
│       │               │   │   ├── GridStackDelta.java
│       │               │   │   ├── GridTransferMessage.java
│       │               │   │   ├── PortableGridSettingsUpdateMessage.java
│       │               │   │   ├── WirelessFluidGridSettingsUpdateMessage.java
│       │               │   │   └── WirelessGridSettingsUpdateMessage.java
│       │               │   └── sync/
│       │               │       ├── BlockEntitySynchronizationParameterMessage.java
│       │               │       └── BlockEntitySynchronizationParameterUpdateMessage.java
│       │               ├── recipe/
│       │               │   ├── CoverRecipe.java
│       │               │   ├── HollowCoverRecipe.java
│       │               │   ├── UpgradeWithEnchantedBookRecipe.java
│       │               │   └── UpgradeWithEnchantedBookRecipeSerializer.java
│       │               ├── render/
│       │               │   ├── BakedModelOverrideRegistry.java
│       │               │   ├── ConstantsCable.java
│       │               │   ├── FluidRenderer.java
│       │               │   ├── RenderSettings.java
│       │               │   ├── Styles.java
│       │               │   ├── blockentity/
│       │               │   │   ├── PatternItemBlockEntityRenderer.java
│       │               │   │   └── StorageMonitorBlockEntityRenderer.java
│       │               │   ├── collision/
│       │               │   │   └── CollisionGroup.java
│       │               │   ├── color/
│       │               │   │   └── PatternItemColor.java
│       │               │   ├── model/
│       │               │   │   ├── CubeBuilder.java
│       │               │   │   ├── DiskDriveGeometryLoader.java
│       │               │   │   ├── DiskDriveUnbakedGeometry.java
│       │               │   │   ├── DiskManipulatorGeometryLoader.java
│       │               │   │   ├── DiskManipulatorUnbakedGeometry.java
│       │               │   │   ├── PortableGridGeometryLoader.java
│       │               │   │   ├── PortableGridUnbakedGeometry.java
│       │               │   │   └── baked/
│       │               │   │       ├── CableCoverBakedModel.java
│       │               │   │       ├── CableCoverItemBakedModel.java
│       │               │   │       ├── DiskDriveBakedModel.java
│       │               │   │       ├── DiskManipulatorBakedModel.java
│       │               │   │       ├── PatternBakedModel.java
│       │               │   │       ├── PortableGridBakedModel.java
│       │               │   │       └── PortableGridItemBakedModel.java
│       │               │   └── resourcepack/
│       │               │       ├── RSResourcePackSection.java
│       │               │       ├── RSResourcePackSectionDeserializer.java
│       │               │       └── ResourcePackListener.java
│       │               ├── screen/
│       │               │   ├── AmountSpecifyingScreen.java
│       │               │   ├── BaseScreen.java
│       │               │   ├── ConstructorScreen.java
│       │               │   ├── ControllerScreen.java
│       │               │   ├── CrafterBlockEntitySynchronizationClientListener.java
│       │               │   ├── CrafterManagerScreen.java
│       │               │   ├── CrafterScreen.java
│       │               │   ├── CraftingMonitorScreen.java
│       │               │   ├── DestructorScreen.java
│       │               │   ├── DetectorScreen.java
│       │               │   ├── DiskDriveScreen.java
│       │               │   ├── DiskManipulatorScreen.java
│       │               │   ├── EmptyScreenInfoProvider.java
│       │               │   ├── ExporterScreen.java
│       │               │   ├── ExternalStorageScreen.java
│       │               │   ├── FilterScreen.java
│       │               │   ├── FluidAmountScreen.java
│       │               │   ├── FluidInterfaceScreen.java
│       │               │   ├── FluidStorageBlockScreen.java
│       │               │   ├── IScreenInfoProvider.java
│       │               │   ├── ImporterScreen.java
│       │               │   ├── InterfaceScreen.java
│       │               │   ├── ItemAmountScreen.java
│       │               │   ├── KeyInputListener.java
│       │               │   ├── NetworkTransmitterScreen.java
│       │               │   ├── PriorityScreen.java
│       │               │   ├── RelayScreen.java
│       │               │   ├── SecurityManagerScreen.java
│       │               │   ├── StorageBlockScreen.java
│       │               │   ├── StorageMonitorScreen.java
│       │               │   ├── StorageScreen.java
│       │               │   ├── StorageScreenSynchronizationParameters.java
│       │               │   ├── WirelessTransmitterScreen.java
│       │               │   ├── factory/
│       │               │   │   ├── CrafterManagerScreenFactory.java
│       │               │   │   └── GridScreenFactory.java
│       │               │   ├── grid/
│       │               │   │   ├── AlternativesScreen.java
│       │               │   │   ├── CraftingPreviewScreen.java
│       │               │   │   ├── CraftingSettingsScreen.java
│       │               │   │   ├── GridScreen.java
│       │               │   │   ├── SmallClientTooltipComponent.java
│       │               │   │   ├── filtering/
│       │               │   │   │   ├── AndGridFilter.java
│       │               │   │   │   ├── CraftableGridFilter.java
│       │               │   │   │   ├── FilterGridFilter.java
│       │               │   │   │   ├── GridFilterParser.java
│       │               │   │   │   ├── ModGridFilter.java
│       │               │   │   │   ├── NameGridFilter.java
│       │               │   │   │   ├── OrGridFilter.java
│       │               │   │   │   ├── TagGridFilter.java
│       │               │   │   │   └── TooltipGridFilter.java
│       │               │   │   ├── sorting/
│       │               │   │   │   ├── IGridSorter.java
│       │               │   │   │   ├── IdGridSorter.java
│       │               │   │   │   ├── LastModifiedGridSorter.java
│       │               │   │   │   ├── NameGridSorter.java
│       │               │   │   │   ├── QuantityGridSorter.java
│       │               │   │   │   └── SortingDirection.java
│       │               │   │   ├── stack/
│       │               │   │   │   ├── FluidGridStack.java
│       │               │   │   │   ├── IGridStack.java
│       │               │   │   │   └── ItemGridStack.java
│       │               │   │   └── view/
│       │               │   │       ├── GridViewImpl.java
│       │               │   │       └── IGridView.java
│       │               │   └── widget/
│       │               │       ├── ScrollbarWidget.java
│       │               │       ├── ScrollbarWidgetListener.java
│       │               │       ├── SearchWidget.java
│       │               │       ├── SmallCheckboxWidget.java
│       │               │       ├── TabListWidget.java
│       │               │       └── sidebutton/
│       │               │           ├── AccessTypeSideButton.java
│       │               │           ├── ConstructorDropSideButton.java
│       │               │           ├── CrafterManagerSearchBoxModeSideButton.java
│       │               │           ├── CrafterModeSideButton.java
│       │               │           ├── DestructorPickupSideButton.java
│       │               │           ├── DetectorModeSideButton.java
│       │               │           ├── ExactModeSideButton.java
│       │               │           ├── FilterTypeSideButton.java
│       │               │           ├── GridSearchBoxModeSideButton.java
│       │               │           ├── GridSizeSideButton.java
│       │               │           ├── GridSortingDirectionSideButton.java
│       │               │           ├── GridSortingTypeSideButton.java
│       │               │           ├── GridViewTypeSideButton.java
│       │               │           ├── IoModeSideButton.java
│       │               │           ├── RedstoneModeSideButton.java
│       │               │           ├── SearchBoxModeSideButton.java
│       │               │           ├── SideButton.java
│       │               │           ├── TypeSideButton.java
│       │               │           └── WhitelistBlacklistSideButton.java
│       │               ├── setup/
│       │               │   ├── ClientSetup.java
│       │               │   ├── CommonSetup.java
│       │               │   └── ServerSetup.java
│       │               └── util/
│       │                   ├── AccessTypeUtils.java
│       │                   ├── BlockColorMap.java
│       │                   ├── BlockUtils.java
│       │                   ├── CollisionUtils.java
│       │                   ├── ColorMap.java
│       │                   ├── DirectionUtils.java
│       │                   ├── ItemColorMap.java
│       │                   ├── ItemStackKey.java
│       │                   ├── LevelUtils.java
│       │                   ├── NetworkUtils.java
│       │                   ├── PacketBufferUtils.java
│       │                   ├── PlayerUtils.java
│       │                   ├── RenderUtils.java
│       │                   ├── StackUtils.java
│       │                   └── TimeUtils.java
│       └── resources/
│           ├── META-INF/
│           │   ├── accesstransformer.cfg
│           │   └── mods.toml
│           ├── assets/
│           │   └── refinedstorage/
│           │       ├── blockstates/
│           │       │   ├── 1024k_fluid_storage_block.json
│           │       │   ├── 16k_storage_block.json
│           │       │   ├── 1k_storage_block.json
│           │       │   ├── 256k_fluid_storage_block.json
│           │       │   ├── 4096k_fluid_storage_block.json
│           │       │   ├── 4k_storage_block.json
│           │       │   ├── 64k_fluid_storage_block.json
│           │       │   ├── 64k_storage_block.json
│           │       │   ├── cable.json
│           │       │   ├── constructor.json
│           │       │   ├── creative_fluid_storage_block.json
│           │       │   ├── creative_portable_grid.json
│           │       │   ├── creative_storage_block.json
│           │       │   ├── destructor.json
│           │       │   ├── disk_drive.json
│           │       │   ├── exporter.json
│           │       │   ├── external_storage.json
│           │       │   ├── fluid_interface.json
│           │       │   ├── importer.json
│           │       │   ├── interface.json
│           │       │   ├── machine_casing.json
│           │       │   ├── portable_grid.json
│           │       │   ├── quartz_enriched_iron_block.json
│           │       │   └── storage_monitor.json
│           │       ├── lang/
│           │       │   ├── de_de.json
│           │       │   ├── en_us.json
│           │       │   ├── es_es.json
│           │       │   ├── fr_fr.json
│           │       │   ├── hu_hu.json
│           │       │   ├── it_it.json
│           │       │   ├── ja_jp.json
│           │       │   ├── ko_kr.json
│           │       │   ├── nl_nl.json
│           │       │   ├── pl_pl.json
│           │       │   ├── pt_br.json
│           │       │   ├── ru_ru.json
│           │       │   ├── zh_cn.json
│           │       │   └── zh_tw.json
│           │       ├── models/
│           │       │   ├── block/
│           │       │   │   ├── 1024k_fluid_storage_block.json
│           │       │   │   ├── 16k_storage_block.json
│           │       │   │   ├── 1k_storage_block.json
│           │       │   │   ├── 256k_fluid_storage_block.json
│           │       │   │   ├── 4096k_fluid_storage_block.json
│           │       │   │   ├── 4k_storage_block.json
│           │       │   │   ├── 64k_fluid_storage_block.json
│           │       │   │   ├── 64k_storage_block.json
│           │       │   │   ├── cable_core.json
│           │       │   │   ├── cable_extension.json
│           │       │   │   ├── constructor_connected.json
│           │       │   │   ├── constructor_destructor.json
│           │       │   │   ├── constructor_destructor_nonemissive.json
│           │       │   │   ├── constructor_disconnected.json
│           │       │   │   ├── controller_nearly.json
│           │       │   │   ├── creative_fluid_storage_block.json
│           │       │   │   ├── creative_storage_block.json
│           │       │   │   ├── cube_all_cutout.json
│           │       │   │   ├── cube_all_cutout_nonemissive.json
│           │       │   │   ├── cube_cutout.json
│           │       │   │   ├── cube_cutout_nonemissive.json
│           │       │   │   ├── cube_north_cutout.json
│           │       │   │   ├── cube_north_cutout_nonemissive.json
│           │       │   │   ├── destructor_connected.json
│           │       │   │   ├── destructor_disconnected.json
│           │       │   │   ├── detector.json
│           │       │   │   ├── detector_nonemissive.json
│           │       │   │   ├── disk_drive.json
│           │       │   │   ├── disk_drive_base.json
│           │       │   │   ├── disks/
│           │       │   │   │   ├── disk.json
│           │       │   │   │   ├── disk_disconnected.json
│           │       │   │   │   ├── disk_full.json
│           │       │   │   │   ├── disk_near_capacity.json
│           │       │   │   │   ├── portable_grid_disk.json
│           │       │   │   │   ├── portable_grid_disk_disconnected.json
│           │       │   │   │   ├── portable_grid_disk_full.json
│           │       │   │   │   └── portable_grid_disk_near_capacity.json
│           │       │   │   ├── exporter.json
│           │       │   │   ├── external_storage.json
│           │       │   │   ├── fluid_interface_connected.json
│           │       │   │   ├── fluid_interface_disconnected.json
│           │       │   │   ├── importer.json
│           │       │   │   ├── interface_connected.json
│           │       │   │   ├── interface_disconnected.json
│           │       │   │   ├── machine_casing.json
│           │       │   │   ├── portable_grid.json
│           │       │   │   ├── portable_grid_base.json
│           │       │   │   ├── portable_grid_connected.json
│           │       │   │   ├── portable_grid_disconnected.json
│           │       │   │   ├── quartz_enriched_iron_block.json
│           │       │   │   ├── storage_monitor.json
│           │       │   │   ├── wireless_transmitter.json
│           │       │   │   └── wireless_transmitter_nonemissive.json
│           │       │   └── item/
│           │       │       ├── 1024k_fluid_storage_block.json
│           │       │       ├── 1024k_fluid_storage_disk.json
│           │       │       ├── 1024k_fluid_storage_part.json
│           │       │       ├── 16k_storage_block.json
│           │       │       ├── 16k_storage_disk.json
│           │       │       ├── 16k_storage_part.json
│           │       │       ├── 1k_storage_block.json
│           │       │       ├── 1k_storage_disk.json
│           │       │       ├── 1k_storage_part.json
│           │       │       ├── 256k_fluid_storage_block.json
│           │       │       ├── 256k_fluid_storage_disk.json
│           │       │       ├── 256k_fluid_storage_part.json
│           │       │       ├── 4096k_fluid_storage_block.json
│           │       │       ├── 4096k_fluid_storage_disk.json
│           │       │       ├── 4096k_fluid_storage_part.json
│           │       │       ├── 4k_storage_block.json
│           │       │       ├── 4k_storage_disk.json
│           │       │       ├── 4k_storage_part.json
│           │       │       ├── 64k_fluid_storage_block.json
│           │       │       ├── 64k_fluid_storage_disk.json
│           │       │       ├── 64k_fluid_storage_part.json
│           │       │       ├── 64k_storage_block.json
│           │       │       ├── 64k_storage_disk.json
│           │       │       ├── 64k_storage_part.json
│           │       │       ├── advanced_processor.json
│           │       │       ├── basic_processor.json
│           │       │       ├── cable.json
│           │       │       ├── construction_core.json
│           │       │       ├── constructor.json
│           │       │       ├── crafting_upgrade.json
│           │       │       ├── creative_fluid_storage_block.json
│           │       │       ├── creative_fluid_storage_disk.json
│           │       │       ├── creative_portable_grid.json
│           │       │       ├── creative_storage_block.json
│           │       │       ├── creative_storage_disk.json
│           │       │       ├── creative_wireless_crafting_monitor.json
│           │       │       ├── creative_wireless_fluid_grid.json
│           │       │       ├── creative_wireless_grid.json
│           │       │       ├── destruction_core.json
│           │       │       ├── destructor.json
│           │       │       ├── disk_drive.json
│           │       │       ├── exporter.json
│           │       │       ├── external_storage.json
│           │       │       ├── filter.json
│           │       │       ├── fluid_interface.json
│           │       │       ├── fortune_1_upgrade.json
│           │       │       ├── fortune_2_upgrade.json
│           │       │       ├── fortune_3_upgrade.json
│           │       │       ├── importer.json
│           │       │       ├── improved_processor.json
│           │       │       ├── interface.json
│           │       │       ├── machine_casing.json
│           │       │       ├── network_card.json
│           │       │       ├── pattern.json
│           │       │       ├── portable_grid.json
│           │       │       ├── processor_binding.json
│           │       │       ├── quartz_enriched_iron.json
│           │       │       ├── quartz_enriched_iron_block.json
│           │       │       ├── range_upgrade.json
│           │       │       ├── raw_advanced_processor.json
│           │       │       ├── raw_basic_processor.json
│           │       │       ├── raw_improved_processor.json
│           │       │       ├── regulator_upgrade.json
│           │       │       ├── security_card.json
│           │       │       ├── security_card_active.json
│           │       │       ├── security_card_inactive.json
│           │       │       ├── silicon.json
│           │       │       ├── silk_touch_upgrade.json
│           │       │       ├── speed_upgrade.json
│           │       │       ├── stack_upgrade.json
│           │       │       ├── storage_housing.json
│           │       │       ├── storage_monitor.json
│           │       │       ├── upgrade.json
│           │       │       ├── wireless_crafting_monitor.json
│           │       │       ├── wireless_crafting_monitor_connected.json
│           │       │       ├── wireless_crafting_monitor_disconnected.json
│           │       │       ├── wireless_fluid_grid.json
│           │       │       ├── wireless_fluid_grid_connected.json
│           │       │       ├── wireless_fluid_grid_disconnected.json
│           │       │       ├── wireless_grid.json
│           │       │       ├── wireless_grid_connected.json
│           │       │       ├── wireless_grid_disconnected.json
│           │       │       └── wrench.json
│           │       └── textures/
│           │           └── block/
│           │               ├── constructor/
│           │               │   └── cutouts/
│           │               │       └── connected.png.mcmeta
│           │               ├── controller/
│           │               │   └── cutouts/
│           │               │       ├── black.png.mcmeta
│           │               │       ├── blue.png.mcmeta
│           │               │       ├── brown.png.mcmeta
│           │               │       ├── cyan.png.mcmeta
│           │               │       ├── gray.png.mcmeta
│           │               │       ├── green.png.mcmeta
│           │               │       ├── light_blue.png.mcmeta
│           │               │       ├── light_gray.png.mcmeta
│           │               │       ├── lime.png.mcmeta
│           │               │       ├── magenta.png.mcmeta
│           │               │       ├── nearly_off.png.mcmeta
│           │               │       ├── nearly_off_gray.png.mcmeta
│           │               │       ├── nearly_on.png.mcmeta
│           │               │       ├── nearly_on_gray.png.mcmeta
│           │               │       ├── on.png.mcmeta
│           │               │       ├── orange.png.mcmeta
│           │               │       ├── pink.png.mcmeta
│           │               │       ├── purple.png.mcmeta
│           │               │       ├── red.png.mcmeta
│           │               │       ├── white.png.mcmeta
│           │               │       └── yellow.png.mcmeta
│           │               └── destructor/
│           │                   └── cutouts/
│           │                       └── connected.png.mcmeta
│           ├── data/
│           │   ├── curios/
│           │   │   └── tags/
│           │   │       └── items/
│           │   │           └── curio.json
│           │   ├── forge/
│           │   │   └── tags/
│           │   │       └── items/
│           │   │           └── silicon.json
│           │   └── refinedstorage/
│           │       ├── advancements/
│           │       │   ├── autocrafting.json
│           │       │   ├── better_than_a_barrel.json
│           │       │   ├── conditional_connecting.json
│           │       │   ├── connecting.json
│           │       │   ├── construction.json
│           │       │   ├── crafting_on_demand.json
│           │       │   ├── destruction.json
│           │       │   ├── detecting.json
│           │       │   ├── drives.json
│           │       │   ├── exporting.json
│           │       │   ├── importing.json
│           │       │   ├── interface_to_the_world.json
│           │       │   ├── managing_patterns.json
│           │       │   ├── manipulating_disks.json
│           │       │   ├── monitoring.json
│           │       │   ├── no_cables_required.json
│           │       │   ├── pattern_creation.json
│           │       │   ├── portable_storage.json
│           │       │   ├── root.json
│           │       │   ├── security.json
│           │       │   ├── storing_externally.json
│           │       │   ├── storing_fluids.json
│           │       │   ├── storing_items.json
│           │       │   ├── upgrading.json
│           │       │   ├── upgrading_your_grid.json
│           │       │   ├── viewing_fluids.json
│           │       │   ├── viewing_items.json
│           │       │   ├── wireless.json
│           │       │   ├── wireless_fluids.json
│           │       │   ├── wireless_items.json
│           │       │   └── wireless_monitoring.json
│           │       ├── loot_tables/
│           │       │   └── blocks/
│           │       │       ├── 1024k_fluid_storage_block.json
│           │       │       ├── 16k_storage_block.json
│           │       │       ├── 1k_storage_block.json
│           │       │       ├── 256k_fluid_storage_block.json
│           │       │       ├── 4096k_fluid_storage_block.json
│           │       │       ├── 4k_storage_block.json
│           │       │       ├── 64k_fluid_storage_block.json
│           │       │       ├── 64k_storage_block.json
│           │       │       ├── cable.json
│           │       │       ├── constructor.json
│           │       │       ├── creative_fluid_storage_block.json
│           │       │       ├── creative_portable_grid.json
│           │       │       ├── creative_storage_block.json
│           │       │       ├── destructor.json
│           │       │       ├── disk_drive.json
│           │       │       ├── exporter.json
│           │       │       ├── external_storage.json
│           │       │       ├── fluid_interface.json
│           │       │       ├── importer.json
│           │       │       ├── interface.json
│           │       │       ├── machine_casing.json
│           │       │       ├── portable_grid.json
│           │       │       ├── quartz_enriched_iron_block.json
│           │       │       └── storage_monitor.json
│           │       ├── recipes/
│           │       │   ├── 1024k_fluid_storage_block.json
│           │       │   ├── 1024k_fluid_storage_disk.json
│           │       │   ├── 1024k_fluid_storage_disk_from_storage_housing.json
│           │       │   ├── 1024k_fluid_storage_part.json
│           │       │   ├── 16k_storage_block.json
│           │       │   ├── 16k_storage_disk.json
│           │       │   ├── 16k_storage_disk_from_storage_housing.json
│           │       │   ├── 16k_storage_part.json
│           │       │   ├── 1k_storage_block.json
│           │       │   ├── 1k_storage_disk.json
│           │       │   ├── 1k_storage_disk_from_storage_housing.json
│           │       │   ├── 1k_storage_part.json
│           │       │   ├── 256k_fluid_storage_block.json
│           │       │   ├── 256k_fluid_storage_disk.json
│           │       │   ├── 256k_fluid_storage_disk_from_storage_housing.json
│           │       │   ├── 256k_fluid_storage_part.json
│           │       │   ├── 4096k_fluid_storage_block.json
│           │       │   ├── 4096k_fluid_storage_disk.json
│           │       │   ├── 4096k_fluid_storage_disk_from_storage_housing.json
│           │       │   ├── 4096k_fluid_storage_part.json
│           │       │   ├── 4k_storage_block.json
│           │       │   ├── 4k_storage_disk.json
│           │       │   ├── 4k_storage_disk_from_storage_housing.json
│           │       │   ├── 4k_storage_part.json
│           │       │   ├── 64k_fluid_storage_block.json
│           │       │   ├── 64k_fluid_storage_disk.json
│           │       │   ├── 64k_fluid_storage_disk_from_storage_housing.json
│           │       │   ├── 64k_fluid_storage_part.json
│           │       │   ├── 64k_storage_block.json
│           │       │   ├── 64k_storage_disk.json
│           │       │   ├── 64k_storage_disk_from_storage_housing.json
│           │       │   ├── 64k_storage_part.json
│           │       │   ├── advanced_processor.json
│           │       │   ├── basic_processor.json
│           │       │   ├── block_of_quartz_enriched_iron.json
│           │       │   ├── cable.json
│           │       │   ├── construction_core.json
│           │       │   ├── constructor.json
│           │       │   ├── controller.json
│           │       │   ├── cover.json
│           │       │   ├── crafter.json
│           │       │   ├── crafter_manager.json
│           │       │   ├── crafting_monitor.json
│           │       │   ├── crafting_upgrade.json
│           │       │   ├── destruction_core.json
│           │       │   ├── destructor.json
│           │       │   ├── detector.json
│           │       │   ├── disk_drive.json
│           │       │   ├── disk_manipulator.json
│           │       │   ├── exporter.json
│           │       │   ├── external_storage.json
│           │       │   ├── filter.json
│           │       │   ├── fluid_interface.json
│           │       │   ├── fortune_1_upgrade.json
│           │       │   ├── fortune_2_upgrade.json
│           │       │   ├── fortune_3_upgrade.json
│           │       │   ├── grid.json
│           │       │   ├── hollow_cover.json
│           │       │   ├── importer.json
│           │       │   ├── improved_processor.json
│           │       │   ├── interface.json
│           │       │   ├── machine_casing.json
│           │       │   ├── network_card.json
│           │       │   ├── network_receiver.json
│           │       │   ├── network_transmitter.json
│           │       │   ├── pattern.json
│           │       │   ├── portable_grid.json
│           │       │   ├── processor_binding.json
│           │       │   ├── quartz_enriched_iron.json
│           │       │   ├── quartz_enriched_iron_from_block.json
│           │       │   ├── range_upgrade.json
│           │       │   ├── raw_advanced_processor.json
│           │       │   ├── raw_basic_processor.json
│           │       │   ├── raw_improved_processor.json
│           │       │   ├── regulator_upgrade.json
│           │       │   ├── relay.json
│           │       │   ├── security_card.json
│           │       │   ├── security_manager.json
│           │       │   ├── silicon.json
│           │       │   ├── silk_touch_upgrade.json
│           │       │   ├── speed_upgrade.json
│           │       │   ├── stack_upgrade.json
│           │       │   ├── storage_housing.json
│           │       │   ├── storage_monitor.json
│           │       │   ├── upgrade.json
│           │       │   ├── wireless_crafting_monitor.json
│           │       │   ├── wireless_fluid_grid.json
│           │       │   ├── wireless_grid.json
│           │       │   ├── wireless_transmitter.json
│           │       │   └── wrench.json
│           │       └── tags/
│           │           └── items/
│           │               └── crafting_tables.json
│           └── pack.mcmeta
└── tools/
    └── missing-translation-keys.sh

================================================
FILE CONTENTS
================================================

================================================
FILE: .github/CONTRIBUTING.md
================================================
# Contributing

When contributing to this repository, please first discuss the change you wish to make via
[GitHub issues](https://github.com/refinedmods/refinedstorage/issues), [Discord](https://discordapp.com/invite/VYzsydb),
or any other method with the owners of this repository before making a change.

## Pull requests

- Keep your pull request (PR) as small as possible, this makes reviewing easier.
- Commits serve a clear purpose and have a fitting commit message.
- Branches are kept up to date by rebasing (updating a branch by merging makes for a confusing Git history).
- PRs are merged by merging the commits on top of the target branch (which is `develop`).
- Remember to add your changes in `CHANGELOG.md`. If your changes are merely technical, it's not necessary to update the
  changelog as it's not relevant for users.

### Commit messages

Commit messages must adhere to [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/). We
use [Commitlint](https://commitlint.js.org/) to validate commit messages.

We use
the [conventional configuration](https://github.com/conventional-changelog/commitlint/tree/master/%40commitlint/config-conventional)
for Commitlint.

It is recommended to install
the [Conventional Commit plugin](https://plugins.jetbrains.com/plugin/13389-conventional-commit) to make it
easier to write commit messages.

### Branch names

Because we use merge commits when merging a PR, branch names will be part of the history of the repository. That is why
branch names must follow a certain standard.

The format is `{category}/GH-{issue number}/{lowercase-description}` and a branch name can be maximum 50 characters of
length.

Category must match a
category [used in our Commitlint config](https://github.com/conventional-changelog/commitlint/tree/master/%40commitlint/config-conventional#type-enum).

Valid examples are:

- `fix/GH-123/add-branch-linting`
- `docs/GH-123/cleanup`

## Versioning

This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

### Version metadata

The code doesn't contain version metadata: `build.gradle` specifies a version of `0.0.0` (via Refined Architect).
The versioning information is entirely contained in Git by using tags.

Per [Semantic Versioning](https://semver.org/spec/v2.0.0.html), the version number being released depends on the changes
in that release. We usually can't predict those
changes at the start of a release cycle, so we can't bump the version at the start of a release cycle. That means that
the version number being released is determined at release time.

Because the version number is determined at release time, we can't store any versioning metadata in the
code (`build.gradle`). If we did, `build.gradle` would have the version number of the latest released version during the
release cycle of the new version, which isn't correct.

### Dealing with Minecraft

Whenever we port to a new Minecraft version, at least the minor version should be incremented.

This is needed so that we can still support older Minecraft versions without the version numbers conflicting.

## Changelog

The changelog is kept in `CHANGELOG.md`.

Keeping a readable, relevant and user-friendly changelog is essential for our end users
to stay up to date with the project.

Please refrain from using technical terminology or adding entries for technical changes
that are (generally) not relevant to the end-user.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

## Gitflow

This project uses [Gitflow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow).

## Documentation

Documentation must be kept up to date when adding or changing functionality.

### Javadoc

Javadoc is available after every release on https://refinedmods.com/javadoc/refinedstorage.

### API annotations

Public APIs must be annotated with an `@API` annotation
from [API Guardian](https://github.com/apiguardian-team/apiguardian).

## Code style

We use [Checkstyle](https://checkstyle.sourceforge.io/) in our build workflow to validate coding style.

It is recommended to import the [config/checkstyle/checkstyle.xml](../config/checkstyle/checkstyle.xml) file into your
IDE, so that formatting rules are respected.

Moreover, the [CheckStyle-IDEA plugin](https://plugins.jetbrains.com/plugin/1065-checkstyle-idea) can be used to check
if there are no style violations.

## Release process

The release process is automated and follows Gitflow.

Before running the "Draft release" workflow to start the release process make sure `CHANGELOG.md` contains all the
unreleased changes.

To determine the version number to be released, the workflow will ask you which release type this is (major, minor,
patch).
The latest version from `CHANGELOG.md` will be used as a base, and that will be incremented
depending on the release type.

`CHANGELOG.md` will be updated by this workflow, you can review this in the resulting release PR.

If you merge the release PR, the "Publish release" workflow will automatically publish the release. An additional PR
will be created to merge the changes in `CHANGELOG.md` back into `develop`.

## Hotfix process

The hotfix process is semi-automated and follows Gitflow:

- Create a hotfix branch off `main`.
- Commit your changes on this branch.
- Update `CHANGELOG.md` (with version number and release date) manually on this branch.
- Push the branch and create a PR for it, merging into `main`.

The "Publish release" workflow will take care of the rest.

## Workflows

We have a few GitHub workflows:

- Build (PRs, pushes to `develop` and `main`)
- Draft release (manual trigger)
- Publish release (merging a PR to `main`)
- Validate changelog (PRs)
  - To validate if `CHANGELOG.md` is valid and updated.
  - Not every pull request needs a changelog change, so the `skip-changelog` label can be added to the pull request to
    ignore this.
- Validate commit messages (PRs)
  - Validates whether the commits on a pull request
    respect [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/).
  - We use
    the [conventional configuration](https://github.com/conventional-changelog/commitlint/tree/master/%40commitlint/config-conventional).
- Validate branch names (PRs)
- Issue for unsupported version (issues)
  - Posts a message on a GitHub issue if the issue is about an unsupported version.
- Lock resolved issues and PRs (every night)

### Build

The build workflow triggers when a pull request is updated or when a commit is pushed to `develop` or `main`.

The build workflow takes care of the following:

- Running a Gradle build, running our tests in the process and generating an aggregated code coverage report for the API
  modules.
- Code style validation with Checkstyle.
- Mutation and line coverage test with Pitest.
- Uploading the artifacts on the action.

### Draft release

The draft release workflow is a manual workflow which will create a release branch from `develop`.

To determine the version number to be released, it will extract the latest version number from `CHANGELOG.md` and
increment it depending on the release type selected.

This workflow takes care of the following:

- Creating the release branch.
- Updating the changelog on this release branch.
- Creating a pull request merging the release branch into `main`.

### Publish release

The "publish release" workflow is triggered when a release or hotfix PR is merged to `main`. Usually, this will be the
PR created earlier in the "Draft release" workflow.

The workflow takes care of the following:

- Extracting the version number from the release or hotfix branch name that is merged in the PR.
- Extracting the changelog entry for this version number.
- Running a build.
- Publishing on [GitHub packages](https://github.com/refinedmods/refinedstorage/packages) and
  CreeperHost Maven.
- Publishing Javadoc on [GitHub pages](https://github.com/refinedmods/javadoc).
- Deploying on [GitHub releases](https://github.com/refinedmods/refinedstorage/releases).
- Announcing the release on Discord and Twitter.
- Creating a PR that merges `main` back into `develop` to get the changes to `CHANGELOG.md` and `build.gradle`
  into `develop` from the draft release workflow.


================================================
FILE: .github/FUNDING.yml
================================================
patreon: raoulvdberge
ko_fi: raoulvdberge


================================================
FILE: .github/ISSUE_TEMPLATE/config.yml
================================================
blank_issues_enabled: false
contact_links:
    - name: 🚫 No support for v1.x
      url: https://refinedmods.com/refined-storage/need-help.html#_supported_versions
      about: Refined Storage v1.x is no longer maintained. We do not accept issues or provide support for it.
    - name: 🛠 Refined Storage v2.x Issue Tracker
      url: https://github.com/refinedmods/refinedstorage2/issues
      about: Report all bugs, suggestions, and support requests for Refined Storage v2.x here.
    - name: Discord Community Support
      url: https://discordapp.com/invite/VYzsydb
      about: Please ask and answer questions here. Issues should be used for bugs and feature requests.


================================================
FILE: .github/SUPPORT.md
================================================
# Support

If you have a problem and need help, we offer various channels where you can ask for help.

## I have a question

Questions can be asked on [Discord](https://discordapp.com/invite/VYzsydb).

## I have found a bug

If you have found a bug, please report it on [GitHub issues](https://github.com/refinedmods/refinedstorage/issues).

================================================
FILE: .github/workflows/build.yml
================================================
name: Build
on:
  push:
    branches:
      - develop
      - main
  pull_request:
    types: [ opened, synchronize, reopened ]
jobs:
  build:
    uses: refinedmods/refinedarchitect/.github/workflows/build.yml@v0.11.4
    with:
      mutation-testing: false
      sonarqube: false
    secrets: inherit


================================================
FILE: .github/workflows/draft-release.yml
================================================
name: Draft release
on:
  workflow_dispatch:
    inputs:
      release-type:
        description: 'Release type'
        required: true
        default: 'minor'
        type: choice
        options:
          - major
          - minor
          - patch
      version-number-override:
        description: 'Version number override'
        required: false
        type: string
jobs:
  draft:
    uses: refinedmods/refinedarchitect/.github/workflows/draft-release.yml@v0.11.4
    with:
      release-type: ${{ inputs.release-type }}
      version-number-override: ${{ inputs.version-number-override }}
    secrets: inherit


================================================
FILE: .github/workflows/issue-for-unsupported-version.yml
================================================
name: Issue for unsupported version
on:
  issues:
    types: [ labeled, unlabeled, reopened ]
jobs:
  unsupported-labeler:
    uses: refinedmods/refinedarchitect/.github/workflows/issue-for-unsupported-version.yml@v0.11.4

================================================
FILE: .github/workflows/publish-release.yml
================================================
name: Publish release
on:
  pull_request:
    branches:
      - main
    types:
      - closed
jobs:
  publish-release:
    uses: refinedmods/refinedarchitect/.github/workflows/publish-release.yml@v0.11.4
    secrets: inherit
    with:
      project-name: 'Refined Storage'
      announce: true
      mutation-testing: false
      curseforge: true
      modrinth: true
      sonarqube: false

================================================
FILE: .github/workflows/resolved-issue-locking.yml
================================================
name: Lock resolved issues and PRs
on:
  schedule:
    - cron: '0 0 * * *'
jobs:
  lock:
    uses: refinedmods/refinedarchitect/.github/workflows/resolved-issue-locking.yml@v0.11.4

================================================
FILE: .github/workflows/validate-branch-name.yml
================================================
name: Validate branch name
on: [ pull_request ]
jobs:
  validate-branch-name:
    uses: refinedmods/refinedarchitect/.github/workflows/validate-branch-name.yml@v0.11.4

================================================
FILE: .github/workflows/validate-changelog.yml
================================================
name: Validate changelog
on:
  pull_request:
    types: [ opened, synchronize, reopened, ready_for_review, labeled, unlabeled ]
jobs:
  validate-changelog:
    uses: refinedmods/refinedarchitect/.github/workflows/validate-changelog.yml@v0.11.4
    with:
      validation-level: 'warn'

================================================
FILE: .github/workflows/validate-commit-messages.yml
================================================
name: Validate commit messages
on: [ pull_request ]
jobs:
  validate-commit-messages:
    uses: refinedmods/refinedarchitect/.github/workflows/validate-commit-messages.yml@v0.11.4

================================================
FILE: .gitignore
================================================
.gradle/
.nb-gradle/
.settings/
build/
eclipse/
.classpath
.nb-gradle-properties
.project
*.launch
runs/
*.iml
*.ipr
*.iws
.idea/
out/
/bin/
logs/
**/.DS_Store


================================================
FILE: CHANGELOG.md
================================================
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres
to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [1.13.0-beta.4] - 2024-03-07

### Added

-   Added Hungarian translation.

### Fixed

-   Fixed an error that occurred when targeting the crafter with Jade installed

## [1.13.0-beta.3] - 2024-03-05

### Fixed

-   Fixed items in disks deserializing with an empty NBT tag.
-   Fixed placing fluids in the pattern grid disconnecting the client.

## [1.13.0-beta.2] - 2024-02-16

### Fixed

-   Fixed JEI transfer in the Pattern Grid wrongly choosing "Processing" mode.
-   Fixed JEI transfer not working in single player.

## [1.13.0-beta.1] - 2024-02-12

### Added

-   Ported to Minecraft 1.20.4.

## [1.12.4] - 2023-11-05

### Added

-   Re-added compatibility with Inventory Sorter.

### Fixed

-   Various world corruption issues if Refined Storage blocks were removed unexpectedly or with another mod.
-   Fixed Grid search bar not being able to lose focus.
-   Fixed JEI transfer crash for larger processing recipes.
-   Fixed rare autocrafting crash.
-   Fixed some models in inactive state being emissive.
-   Fixed Controller item not rendering energy state correctly.
-   Fixed duplication bug with the Crafting Grid.
-   Fixed fluid duplication bug with the Importer and GregTechCEu machines.
-   Attempted to fix issue where Grid doesn't load items and requires a client restart.
-   Fixed Crafter Manager slots being able to sort with Inventory Sorter.
-   Fixed duplication bug in the Crafter with Inventory Sorter.

## [1.12.3] - 2023-07-07

### Fixed

-   Fixed not being able to type "e" in Grid search box.

## [1.12.2] - 2023-07-05

### Fixed

-   The Grid detailed tooltip now has a small font size again.
-   Fixed not being able to close GUIs anymore with autoselected search box mode.
-   Fixed lingering tooltips of side buttons.

## [1.12.1] - 2023-07-03

### Fixed

-   Fixed packages not being published to Maven.

## [1.12.0] - 2023-07-03

### Changed

-   Ported to Minecraft 1.20.1.

### Fixed

-   Fixed GUI side buttons not working sometimes when using Refined Storage with addons.

## [1.11.7] - 2023-11-12

### Fixed

-   Various world corruption issues if Refined Storage blocks were removed unexpectedly or with another mod.
-   Fixed JEI transfer crash for larger processing recipes.
-   Fixed rare autocrafting crash.
-   Fixed duplication bug with the Crafting Grid.
-   Fixed fluid duplication bug with the Importer and GregTechCEu machines.
-   Attempted to fix issue where Grid doesn't load items and requires a client restart.

## [1.11.6] - 2023-03-30

### Fixed

-   Fixed not being able to search with JEI when the Grid is open.
-   Fixed a bunch of issues where chunks would unintentionally be loaded by RS.
-   Reduced block updates when a controller is turning on and off constantly.

## [1.11.5] - 2023-02-12

### Fixed

-   Fixed some craftable items not showing as craftable in JEI
-   Fixed Grid crashing on exit if JEI mod is not used
-   Fixed rare multithreading crash
-   Fixed Constructor being able to drop more than the maximum stack size for an item 

## [1.11.4] - 2022-12-20

### Fixed

-   Fixed duplication bug in the Interface.

## [1.11.3] - 2022-12-20

### Fixed

-   Fixed external storage cache being de-synced from the network cache.
-   Fixed external storage using an out of date block entity for getting handler.
-   Fixed inventory slots being reused incorrectly in rare cases in the JEI transfer handler.

### Changed

-   Increased packet size limit.

## [1.11.2] - 2022-12-17

### Added

-   Available items indicator in JEI now updates while JEI is open.

### Fixed

-   Fixed chained crafters not taking over the name of the root crafter.
-   Fixed lag when opening JEI in large systems.
-   Made Refined Storage more robust against crashes when moving network blocks by unconventional means.

## [1.11.1] - 2022-10-30

### Fixed

-   Fixed not using Forge silicon tag for recipes.
-   Small corrections to the Korean translation.

## [1.11.0] - 2022-09-30

### Changed

-   Ported to Minecraft 1.19.2.

## [1.10.6] - 2023-11-26

### Fixed

-   Fixed a bunch of issues where chunks would unintentionally be loaded by RS.
-   Reduced block updates when a controller is turning on and off constantly.
-   Various world corruption issues if Refined Storage blocks were removed unexpectedly or with another mod.
-   Fixed JEI transfer crash for larger processing recipes.
-   Fixed rare autocrafting crash.
-   Fixed duplication bug with the Crafting Grid.
-   Fixed fluid duplication bug with the Importer in certain situations.
-   Attempted to fix issue where Grid doesn't load items and requires a client restart.

## [1.10.5] - 2023-02-12

### Fixed

-   Fixed rare multithreading crash
-   Fixed Constructor being able to drop more than the maximum stack size for an item

## [1.10.4] - 2022-12-20

### Fixed

-   Fixed external storage cache being de-synced from the network cache.
-   Fixed external storage using an out of date block entity for getting handler.
-   Fixed chained crafters not taking over the name of the root crafter.
-   Made Refined Storage more robust against crashes when moving network blocks by unconventional means.
-   Fixed duplication bug in the Interface.

### Changed

-   Increased packet size limit.

## [1.10.3] - 2022-08-06

### Fixed

-   Fixed Destructor dupe bug
-   Fixed being unable to insert items into the Storage Monitor
-   Fixed Storage Monitor not showing all matching items in non-exact mode
-   Fixed items getting lost on Creative Disk when more than 2,147,483,647 of one type is stored
-   Fixed incorrect autocrafting keybind prompt on macOS
-   Fixed crashing the game when a network block was removed in a bad way
-   Fixed duplication bug with Constructors and Shulker Boxes
-   Fixed breaking blocks with pickaxe taking too much time

### Changed

-   Improved performance for grid updates
-   Improved waterlogging to behave more like vanilla
-   JEI version 9.7.1 or higher is now required

### Added

-   Forge relocation and Packing Tape blacklist tag entries to prevent block movement
-   Japanese translations for certain autocrafting actions

## [1.10.2] - 2022-03-26

### Changed

-   Ported to Minecraft 1.18.2.

## [1.10.1] - 2022-03-26

### Fixed

-   Fixed crash when opening alternatives screen.

## [1.10.0] - 2022-01-25

### Fixed

-   Fixed multiple bugs related to transferring recipes into the Crafting Grid.
-   Processing patterns now use the order of items/fluids specified in the pattern
    by [@necauqua](https://github.com/necauqua) and [@Darkere](https://github.com/Darkere).
-   Fixed autocrafting task getting stuck if two tasks fulfilled each others requirements.
-   Fixed fluid autocrafting breaking when using 2 stacks of the same fluid in a pattern.
-   Amount specifying screen is now limited to valid values.
-   Fixed crash on servers when starting with latest Forge.

## [1.10.0-beta.4] - 2021-12-28

### Fixed

-   Fixed client crash when hovering over a fluid in the Fluid Grid by [@jackodsteel](https://github.com/jackodsteel).
-   Fixed random client crashes when starting the game.

### Changed

-   Update Korean translation by [@mindy15963](https://github.com/mindy15963).

## [1.10.0-beta.3] - 2021-12-17

### Fixed

-   Fixed networks and network devices being removed when a chunk unloads.

## [1.10.0-beta.2] - 2021-12-16

### Fixed

-   Fixed all Refined Storage advancements being granted when joining a world.
-   Fixed potential Pattern crash when loading Minecraft.

## [1.10.0-beta.1] - 2021-12-15

### Fixed

-   Fixed Relay not working.
-   Fixed Wireless Transmitter only working upright.
-   Fixed Portable Grid not opening when pointing at a block.
-   Fixed being able to circumvent locked slots by scrolling.

### Changed

-   Added more slots to the Pattern Grid.
-   Combined fluid and item view in the Pattern Grid.
-   Ported to Minecraft 1.18.1.
-   Focused side buttons now display their tooltip properly.
-   Improved performance of retrieving patterns by [@metalshark](https://github.com/metalshark).

## [1.9.18] - 2022-05-18

### Fixed

-   Fixed potential Pattern crash when loading Minecraft.

## [1.9.17] - 2022-01-30

### Added

-   More slots for the Pattern Grid.

### Changed

-   Combined fluid and item view in the Pattern Grid.
-   Processing patterns now use the order of items/fluids specified in the pattern.
-   Amount specifying screen is now limited to valid values.

### Fixed

-   Fixed Relay not working.
-   Fixed Wireless Transmitter only working upright.
-   Fixed Portable Grid not opening when pointing at a block.
-   Fixed being able to circumvent locked slots by scrolling.
-   Fixed multiple bugs related to transferring recipes into the crafting grid.
-   Fixed autocrafting task getting stuck if two tasks fulfilled each others requirements.
-   Fixed fluid autocrafting breaking when using 2 stacks of the same fluid in a pattern.

## [1.9.16] - 2021-11-16

### Added

-   Added Covers for all cable types.
-   Added Polish translation.
-   Added Italian translation.
-   Addons can now override how crafters insert items.

### Changed

-   Improved JEI integration to pick the best option when transferring items.

### Fixed

-   Fixed an issue where too many items in a grid would kick the player.
-   Fixed an issue where the portable grid does not open from Inventory anymore after some use.
-   Fixed craftable view in grids not showing items that were already in storage.
-   Fixed Wireless Crafting Monitor not working as Curio.
-   Fixed wrong slot being locked in some cases when opening a wireless item.
-   Slightly sped up External Storage item look up.
-   Fixed extraction from Storage Monitor not respecting maximum stack size.

## [1.9.15] - 2021-07-25

### Fixed

-   Fixed Refined Storage Addons compatibility.

## [1.9.14] - 2021-07-25

### Added

-   Implemented Curios support.

## [1.9.13] - 2021-06-14

### Added

-   Added some performance improvements for autocrafting.

### Fixed

-   Fixed count on Storage Monitor having Z fighting.
-   Fixed items on Storage Monitor not being flat.
-   Fixed crash when using an External Storage on a fluid inventory.
-   Fixed a memory leak in the pattern cache.
-   Fixed Detector crashing when dyed.
-   Fixed autocrafting being stuck after clicking "Start".
-   Fixed Crafting Monitor not being able to show hours.
-   Fixed capacity rendering of infinite storages.
-   Fixed wrong alignment for the JEI request autocrafting tooltip.
-   Fixed mobs getting stuck in Refined Storage cables.
-   Fixed dismantling storage blocks ignoring stack size.
-   Fixed Ice and Fire banners breaking with Refined Storage.
-   Fixed empty keybinding causing GL errors.
-   Fixed some parts of the Japanese translation.
-   Fixed rendering issue on blocks when using OptiFine.

### Removed

-   Removed experimental pipeline nagging message.

## [1.9.12] - 2021-02-07

### Fixed

-   Fixed some issues when using the Grid when it's offline.
-   Fixed crafting events not being fired in some cases in the Grid.
-   Fixed not being able to set fluid filter slot output quantity.
-   Fixed mod id search not working for Industrial Foregoing.
-   Fixed fluid autocrafting duplicating fluids.
-   Fixed some Grid crashes.
-   Fixed constructor not using compare mode correctly in some cases.
-   Fixed duplication bug in the Interface.

## [1.9.11] - 2021-01-03

### Fixed

-   Fixed disks and network devices not loading when they did not previously exist
    -   If you are affected by this please go to the world/data/ folder and remove the ".temp" ending from the files
        before
        launching.

## [1.9.10] - 2021-01-02

### Changed

-   Update Japanese translation.

### Fixed

-   Improve performance of the Grid view.
-   Fixed Disk Manipulator model glitches.
-   Improve performance of the Disk Manipulator.
-   Fixed being unable to set quantity in output slots of the Pattern Grid.
-   Fixed External Storage in fluid mode losing track of fluids sometimes.
-   Added code to avoid / minimize data corruption issues caused by Minecraft.
-   Fixed processing autocrafting orders stealing items from each other.
-   Fixed Constructor in fluid mode voiding fluid source blocks in front of it.
-   Fixed crash when recoloring blocks that have no rotation component.
-   Fixed reloading resource packs breaking Refined Storage textures.

## [1.9.9] - 2020-11-14

### Fixed

-   Fixed Refined Storage sidebuttons displaying over the JEI bookmark pagination buttons.
-   Fixed issue where Crafters may fail to recognize an inventory/tank for some patterns.
-   Fixed issue where the Crafter Manager can crash on invalid patterns.
-   Fixed issue where alternatives in the Pattern Grid weren't being saved properly.
-   Fixed not being able to change the Exporter filter slot count with regulator mode without closing and re-opening the
    container.

## [1.9.8] - 2020-10-24

### Added

-   Added a JEI synchronized (two-way) search box mode to the Grid.
-   Added a nag message when a player joins the world that asks the player to enable the experimental Forge lighting
    pipeline to ensure correct rendering.

### Fixed

-   Fixed server crash when scrolling in Grid.
-   Fixed various issues with Grid interactions working without power.
-   Fixed changing rotation not updating blocks.

## [1.9.7] - 2020-10-04

### Added

-   Added functionality to move items in the Grid with shift/ctrl + scrolling.

### Changed

-   Changed JEI transfer error mechanics.

### Fixed

-   Fixed crash when opening Controller GUI.
-   Fixed dye being consumed without effect in some cases.
-   Fixed deadlock caused by Portable Grid.
-   Fixed custom tooltips not working in the Grid.

## [1.9.6] - 2020-09-25

### Added

-   Port to Minecraft 1.16.3.
-   Added colored block variants.
-   Added functionality to show missing items in the JEI transfer screen.
-   Added functionality to request missing items from autocrafting in the JEI transfer screen.
-   Added client config option to remember the Grid search query.

### Fixed

-   Fixed Portable Grid losing enchantments when placing and breaking.

## [1.9.5] - 2020-09-06

### Added

-   Re-added the `/refinedstorage disk create <player> <id>` command.
-   Added the `/refinedstorage disk list` command.
-   Added the `/refinedstorage disk list <player>` command.
-   Added the `/refinedstorage network list <dimension>` command.
-   Added the `/refinedstorage network get <dimension> <pos>` command.
-   Added the `/refinedstorage network get <dimension> <pos> autocrafting list` command.
-   Added the `/refinedstorage network get <dimension> <pos> autocrafting get <id>` command.
-   Added the `/refinedstorage network get <dimension> <pos> autocrafting cancel` command.
-   Added the `/refinedstorage network get <dimension> <pos> autocrafting cancel <id>` command.
-   Added JEI ghost ingredient dragging support.

### Fixed

-   Fixed text field not being focused in amount specifying screens.

## [1.9.4] - 2020-08-30

### Fixed

-   Fixed JEI recipes/usages keys not working in Grids.

## [1.9.3-beta] - 2020-08-24

### Added

-   Port to Minecraft 1.16.2.

### Changed

-   Updated Japanese translation.
-   Updated Taiwanese translation.
-   Refactored autocrafting code.

### Fixed

-   Fixed duplication bug with the Constructor.

## [1.9.2-beta.2] - 2020-09-11

### Fixed

-   Fixed duplication bug with the Constructor.

## [1.9.2-beta.1] - 2020-07-17

### Added

-   Re-added interdimensional networks with the Network Transmitter and Network Receiver.
-   Re-added MouseTweaks integration.

### Changed

-   Networks that are in a chunk that isn't loaded will no longer work, they will turn off. Chunkload the Controller to
    maintain a functioning network over long distances.

### Fixed

-   Fixed crash with Forge version 67.
-   Fixed cases where Refined Storage unwillingly acts like a chunkloader.
-   Fixed Network Transmitters being able to connect to any network device.
-   Fixed Crafting Tweaks buttons being in the wrong position after changing the size configuration of the Grid.

## [1.9.1-beta] - 2020-07-14

### Fixed

-   Fixed server crash.

## [1.9.0-beta] - 2020-07-14

### Added

-   Port to Minecraft 1.16.

### Fixed

-   Fixed wrench requiring shift click to rotate blocks.

## [1.8.8] - 2020-07-13

### Fixed

-   Fixed duplication bug and weird behavior in the Crafting Grid matrix.

## [1.8.7] - 2020-07-11

### Fixed

-   Fixed Regulator mode item and fluid counts not saving properly.
-   Fixed Wireless Crafting Monitor not closing properly.
-   Fixed Controller always using energy, even when disabled with redstone.
-   Fixed internal crafting inventory not being returned when Controller is broken.
-   Fixed bug where autocrafting tasks started on the same tick make the wrong assumption about available items and
    fluids.
-   Fixed bug where the "To craft" amount in the Crafting Preview window is wrong.
-   Fixed bug where non-pattern items are able to be inserted into the Crafter Manager (Darkere)
-   Fixed performance issue where shapes of cable blocks were constantly being recalculated.

### Changed

-   Drastically improved shift clicking performance in Crafting Grid.

### Removed

-   Removed autocrafting engine version from crafting preview screen.

## [1.8.6-beta] - 2020-06-26

### Fixed

-   Fixed Constructor duplication bug.

## [1.8.5-beta] - 2020-06-18

### Added

-   Re-added all the language files.
-   Japanese translations.

### Fixed

-   Fixed Portable Grid voiding the disk when extracting with full inventory.
-   Fixed Constructor extracting 2 buckets when placing fluid.
-   Fixed Stack Overflow error with regulator upgrades.
-   Fixed visual bug with the Detector not updating its values.
-   Fixed Constructor placing the filtered item instead of the extracted.
-   Fixed duplication bug with filter slots.
-   Fixed shift crafting in a Grid not using the player.
-   Fixed bug where shift clicking gives too many items.

### Changed

-   Cancelling a crafting task now also unlocks all Crafters related to that task.
-   External Storage will now always show the exact maximum capacity as reported by the attached inventory.
-   Crafters no longer expose their inventory to the side they are facing.
-   Changed package name to `com.refinedmods.refinedstorage`, this is a breaking change for addons.

## [1.8.4-beta] - 2020-05-26

### Fixed

-   Fixed autocrafting Crafting Monitor crash.

## [1.8.3-beta] - 2020-04-29

### Added

-   A new experimental autocrafting engine that's enabled by default. This should improve autocrafting performance.
-   The Regulator Upgrade that can be inserted into a Exporter. This ensures a certain amount of items and fluids is
    kept in stock in a connected inventory.
-   Debug logging on the server when an expensive operation occurs.

### Fixed

-   Fixed Exporter not exporting anything when using a Stack Upgrade and there isn't space for 64 items in the inventory.
-   Fixed Controller always using the base usage even when turned off.
-   Fixed severe memory leak in the storage cache.

### Changed

-   Wireless Transmitters can now be placed on any block and in any direction.

## [1.8.2-beta] - 2020-04-25

### Added

-   Refined Storage silicon is now present in `forge:silicon` tag for mod compatibility.
-   Waterlogging to all cable blocks.
-   Create zh_tw translation.
-   Re-added zh_cn translation.

### Fixed

-   Fixed storage block dropping extra processor.

### Changed

-   Updated pt_br translation.

## [1.8.1-beta] - 2020-01-30

### Added

-   Port to Minecraft 1.15.2.
-   Fluid support for the Storage Monitor.

## [1.8.0-beta] - 2020-01-21

### Added

-   Port to Minecraft 1.15.

## [1.7.3-beta] - 2019-12-30

### Fixed

-   Fixed severe energy update lag introduced by version 1.7.2.

## [1.7.2-beta] - 2019-12-29

### Added

-   Resource packs can now define the font colors that Refined Storage GUIs need to use.

### Fixed

-   Fixed crash when loading a network.
-   Fixed being able to drain energy from the Refined Storage Controller.
-   Fixed the Grid crashing on a item/fluid update-heavy storage system.
-   Fixed the Grid displaying the old quantity when shift clicking an entire stack out.
-   Fixed crash with the Disk Manipulator and using item/fluid filters when inserting into the network.
-   Fixed the network being able to run off 1 FE/t.

### Changed

-   Patterns being added or removed from the network are now propagated as well to clients that are watching a Grid.
-   When pressing ESCAPE in the search box on the Grid or Crafter Manager, focus on the search bar will be lost first
    before closing the GUI immediately. Then on the next ESCAPE press, the GUI will be closed.

## [1.7.1-alpha] - 2019-11-19

### Fixed

-   Fixed Pattern Grid causing world hanging on load.
-   Fixed External Storage not refreshing when the storage is broken or replaced.
-   Fixed delay in block update when placing a cable block.
-   Fixed holder of cable blocks sometimes conflicting with a cable connection while rendering.
-   Fixed being able to move wireless items in inventory when using a keybinding to open.
-   Fixed crash when breaking a Grid, Crafting Monitor, Crafter Manager or Portable Grid when another player is still
    using it.

### Changed

-   The Pattern Grid now switches automatically between crafting pattern and processing pattern mode when using JEI
    transfer.
-   The Pattern Grid now switches automatically between crafting pattern and processing pattern mode when re-inserting an
    existing Pattern.
-   Grids now do not sort if you interact with it while holding shift.

### Removed

-   Exact mode for processing patterns no longer exist, you can now define per-slot which item/fluid tags are allowed to
    be used by autocrafting, by using CTRL + click on the filter slot in the Pattern Grid.
-   Removed migration code for the development builds that were released on Discord (not on CurseForge). If you used the
    development builds and never used version 1.7.0 before, first switch to 1.7.0, open your world, modify a storage disk,
    and then upgrade to 1.7.1.

## [1.7.0-alpha] - 2019-11-02

### Added

-   Port to Minecraft 1.14.

### Fixed

-   Fixed the Fluid Grid not having a View type setting.

### Changed

-   Oredict mode for Patterns has been replaced with "Exact mode" (by default on). When exact mode is off, Refined Storage
    will use equivalent items or fluids from the Minecraft item/fluid tag system.
-   Grid filtering with "$" now does filtering based on item/fluid tag name instead of oredict name.
-   When binding a network item to a network you can now bind to any network block, not only the Controller.

### Removed

-   The Reader and Writer, this will return later in an addon mod.
-   Cross dimensional functionality on the Network Transmitter for the moment, this will return later.
-   Covers.

## [1.7.0+10] - 2019-10-29

### Added

-   Re-added oredict mode as "exact mode" (for fluids too!).
-   Re-added the Crafter Manager.
-   Re-added the Crafting Monitor.
-   Re-added the Wireless Crafting Monitor.

### Fixed

-   Fixed the ugly checkboxes
-   Misc bugfixes and crash fixes.

## [1.7.0+9] - 2019-10-28

### Added

-   Re-add the Crafter and autocrafting.

### Fixed

-   Misc bugfixes and crash fixes.

## [1.7.0+8] - 2019-10-27

### Added

-   Re-added the Constructor.
-   Re-added the Destructor.
-   Re-added the Disk Manipulator.
-   Re-added the Portable Grid.

## [1.7.0+7] - 2019-10-22

### Fixed

-   Fixed a crash that can happen when opening a world.

## [1.7.0+6] - 2019-10-22

### Added

-   Re-added the Network Transmitter (not cross dimensional yet).
-   Re-added the Network Receiver.
-   Re-added the Relay.
-   Re-added the Detector.
-   Re-added the Security Manager.
-   Re-added the Interface.
-   Re-added the Fluid Interface.
-   Re-added the Wireless Transmitter.
-   Re-added the Storage Monitor.
-   Re-added the Wireless Grid.
-   Re-added the Wireless Fluid Grid.

### Fixed

-   Misc bugfixes and crash fixes.

## [1.7.0+5] - 2019-10-17

### Added

-   Re-added the External Storage.
-   Re-added the Importer.
-   Re-added the Exporter.

### Removed

-   Cutting Tool (you may get a Forge warning about that one, it's safe to ignore).
-   The "compare nbt" side button, replaced it with "exact mode".

## [1.7.0+4] - 2019-10-15

### Added

-   Re-added all the storage blocks.
-   Re-added JEI integration.

### Fixed

-   Misc bugfixes and crash fixes.

## [1.7.0+3] - 2019-10-12

### Added

-   Re-added the Crafting Grid.
-   Re-added the Pattern Grid.
-   Re-added the Fluid Grid.
-   Re-added Optifine compatibility.

## [1.7.0+2] - 2019-10-10

### Added

-   More config values.

### Fixed

-   Misc bugfixes and crash fixes.

### Removed

-   Free dirt every 10 ticks.

## [1.7.0+1] - 2019-10-09

### Added

-   Re-added the Controller.
-   Re-added the Disk Drive.
-   Re-added the Grid.

## [1.6.16] - 2020-04-26

### Fixed

-   Fixed erroring controller tile entity.
-   Fixed Inventory Tweaks sorting not respecting locked slots.
-   Fixed OpenComputers driver voiding excess fluids.
-   Fixed being able to move wireless items in inventory.

### Changed

-   Updated Russian translation.

## [1.6.15] - 2019-07-21

### Fixed

-   Fixed recipes with more than 1 bucket of fluid not transferring from JEI.
-   Fixed oredict crafting patterns redefining recipes.
-   Fixed Portable Grids not keeping their enchantments when placed.
-   Fixed JEI hotkeys not working on fluid filter slots.
-   Fixed crash when opening Crafter Manager with FTB Quests installed.
-   Fixed a bug where the container slots weren't synced when opening a Grid.

### Changed

-   Shortened crafting text for the Russion translation to fix Grid overlays.
-   GregTech Community Edition Wires and Machines are now banned from rendering on Refined Storage patterns because they are causing crashes.

## [1.6.14] - 2019-03-23

### Fixed

-   Fixed server crash

## [1.6.13] - 2019-03-23

### Added

-   Added keybindings to open wireless items. The default one set to open a Wireless Crafting Grid from Refined Storage Addons is CTRL + G.
-   Added Grid quantity formatting for item counts over 1 billion.

### Changed

-   Updated German translation.
-   Updated Chinese translation.
-   The Constructor and Destructor now interacts with the world using their owner's profile.

### Fixed

-   Fixed Interface with Crafting Upgrade being stuck if an earlier item configuration has missing items or fluids.
-   Fixed wrong item count for oredict patterns.
-   Fixed autocrafting duplication bug.
-   Fixed Crafting Pattern not rendering tile entity items like a chest.

## [1.6.12] - 2018-11-28

### Added

-   Added a completion percentage to the Crafting Monitor.

### Changed

-   Updated Russian translation.
-   Increased the speed of autocrafting.

### Fixed

-   Fixed External Storage sending storage updates when it is disabled.
-   Fixed slight performance issue with loading Crafters from disk.
-   Fixed storage GUIs overflowing on large numbers.

## [1.6.11] - 2018-11-24

### Fixed

-   Fixed blocks neighboring a controller breaking when returning from a dimension in a unchunkloaded area.

## [1.6.10] - 2018-11-23

### Added

-   Added fluid functions for the fluid autocrafting to the OpenComputers integration.

### Changed

-   Updated Russian translation.
-   Slightly increased performance of the External Storage.

### Fixed

-   Fixed client FPS stalling when using "@" mod search in the Grid.
-   Fixed client FPS stalling when using "#" tooltip search in the Grid.
-   Fixed fluid inputs/outputs in the Pattern Grid not being set when you re-insert a Pattern with fluid inputs/outputs.
-   Fixed bug where the Pattern Grid doesn't update it's output slot when manually configuring a crafting pattern.
-   Fixed network node scanning allowing multiple controllers in some cases.
-   Fixed OpenComputers integration not giving back a crafting task instance in the schedule task API.
-   Fixed OpenComputers integration causing log spam when getting processing patterns.
-   Fixed OpenComputers voiding items with extract item API when there is no inventory space.
-   Fixed CraftingTweaks buttons resetting sometimes in the Crafting Grid.
-   Fixed Refined Storage jars not being signed.
-   Fixed crafting task stalling when there's not enough space in the inventory.
-   Fixed another duplication bug with a disconnected Crafting Grid.
-   Fixed oredict mode in autocrafting not working at all.

### Removed

-   Removed getMissingItem.
-   Removed the Interdimensional Upgrade, Network Transmitters are now cross dimensional by default.
-   Removed the per block FE cost of the Network Transmitter, it draws a fixed amount of FE/t now.

## [1.6.9] - 2018-10-27

### Changed

-   You can now interact with the fluid container input slot in the Fluid Interface.

### Fixed

-   Fixed OpenComputers "unknown error" when using extract item API.
-   Fixed client FPS stuttering when opening a Crafting Grid.
-   Fixed rare Grid crashing issue.

## [1.6.8] - 2018-10-20

### Fixed

-   Fixed Ender IO incompatibility.

## [1.6.7] - 2018-10-19

### Changed

-   The Processor Binding recipe now only gives 8 items instead of 16.

### Fixed

-   Fixed the Raw Processor recipes not taking oredicted silicon.
-   Fixed the Processor Binding recipe not taking oredicted slimeballs.

## [1.6.6] - 2018-10-18

### Added

-   Added new Crafter modes: ignore redstone signal, redstone signal unlocks autocrafting, redstone signal locks autocrafting and redstone pulse inserts next set.
-   Added a config option to configure the autocrafting calculation timeout in milliseconds.
-   Added throttling for network devices that can request autocrafting.

### Changed

-   Renamed Cut Processors to Raw Processors and those are now made with Processor Binding instead of a Cutting Tool.
-   You can no longer start a crafting task if it has missing items or fluids.
-   The Security Manager now supports Security Cards that have no player assigned to them. It is the default security card for players that aren't configured.
-   If no default Security Card is configured in the Security Manager, an unconfigured player is allowed to do everything in the network. Create a default Security Card.

### Fixed

-   Fixed an autocrafting bug where it crashed when external inventories couldn't be filled.
-   Fixed a duplication bug with a disconnected Crafting Grid.
-   Fixed oredict autocrafting sometimes reporting that a craftable item is missing.
-   Fixed fluid autocrafting without item inputs locking when there's not enough space for the fluids.
-   Fixed Grid "last changed" date not changing when using clear button or JEI transfer.
-   Fixed a duplication bug when pressing clear on a Wireless Crafting Grid from Refined Storage Addons.
-   Fixed a duplication bug with autocrafting and External Storages.
-   Fixed Crafting Manager displaying wrong name for chained crafters connected to some blocks.
-   Fixed crafting task losing internal buffer when network runs out of energy.

### Removed

-   Removed handling of reusable items in autocrafting, to avoid problems.

## [1.6.5] - 2018-09-11

### Changed

-   The Pattern Grid in fluid mode now supports up to 64 buckets in the input and output processing slots.

### Fixed

-   Fixed Refined Storage silicon's oredict entry being registered too late.
-   Fixed duplication bug with filter slots.

## [1.6.4] - 2018-09-02

### Changed

-   Rewrote autocrafting again, bringing performance up to par with other autocrafting mods.
-   Autocrafting now reserves items and fluids in an internal inventory to avoid having the storage network steal stacks required for autocrafting.
-   Reworked the Crafting Monitor to be more condensed and more clear.

### Fixed

-   Fixed not being able to craft upgrades that require enchanted books.
-   Fixed quick jittering of the Grid and Crafting Monitor when opening them because the tabs appear.

### Removed

-   Removed left / right click functionality on filter slots to increase / decrease the amount, replaced that functionality with a dialog.

## [1.6.3] - 2018-08-02

### Added

-   Re-added a single mode Wrench that can rotate blocks and break Refined Storage covers.

### Fixed

-   Fixed crash with Wireless Fluid Grid.
-   Fixed Reborn Storage crafting being slower than normal.

## [1.6.2] - 2018-07-30

### Fixed

-   Fixed Grid searching not working.

## [1.6.1] - 2018-07-30

### Added

-   Added fluid autocrafting.
-   Added Crafting Upgrade support for fluids on the Exporter, Constructor and Fluid Interface.
-   Added config option to hide covers in the creative mode tabs and JEI.

### Changed

-   The Portable Grid now supports fluid disks.
-   Filters now support fluids and can be inserted in the Fluid Grid.
-   You can now keep fluids in stock by attaching a External Storage in fluid mode to a Fluid Interface with a Crafting Upgrade.
-   You can now specify the amount to export in the Fluid Interface.
-   Updated Russian translation.
-   Overhauled and updated German translation.
-   The Crafting Upgrade no longer schedules requests when there are items or fluids missing.
-   Made the Crafting Preview window bigger.

### Fixed

-   Fixed crash log when opening Pattern Grid GUI.
-   Fixed being able to put non fluid containers in Fluid Interface input slot.
-   Fixed Grid filters not updating Grid.

### Removed

-   Removed "emit signal when item is being autocrafted" option in the Detector.

## [1.6.0] - 2018-07-20

### Added

-   Added the Cutting Tool.
-   Added covers.
-   Added new storage disk system where the storage disk data (items, fluids) are stored off the disk itself, in another file (refinedstorage_disks.dat). The disk itself only stores its ID.
-   Added /createdisk command which creates a disk based on the disk ID. Turn on advanced tooltips to see the disk ID on a disk item.
-   Added config option to configure controller max receive rate.
-   Added config option to configure energy capacity of Refined Storage items.
-   Added config option to change Reader / Writer channel energy capacity.
-   Added a fully charged regular Controller to the creative menu.
-   Added a missing config option for Crafter Manager energy usage.
-   Added support for Disk Drive / Storage Block storage and capacity to OC integration.
-   Added "Search box mode" button to the Crafter Manager.

### Changed

-   Renamed "Printed Processors" to "Cut Processors".
-   Rewrote autocrafting.
-   Rewrote network energy storage.
-   The Controller item now shows a durability bar for the energy.
-   You can no longer put a Filter in filter slots to gain additional filter slots.
-   You can now re-insert Processing Patterns in the Pattern Grid and have the inputs and outputs be completed.
-   If an Interface is configured to expose the entire network storage (by configuring no export slots), it will no longer expose the entire RS storage, due to performance issues.
-   The Portable Grid no longer exposes a inventory for crossmod interaction, due to performance issues.
-   The Crafting Monitor is now resizable and its size can be configured (stretched, small, medium, large).
-   The Crafting Monitor now splits its tasks over tabs.
-   An empty blacklist now means: accept any item. An empty whitelist now means: don't accept any item (an empty whitelist USED to mean: accept any item).
-   The Importer now skips over empty slots.
-   The Exporter now round-robins over every configured item or fluid to export instead of exporting them all at once.
-   Updated Russian translation.
-   Autocrafting tasks that take longer than 5 seconds to CALCULATE (NOT execute) are automatically stopped to avoid server strain.
-   Changed fluid storage progression to be 64k - 256k - 1024k - 4096k.
-   Made all IO blocks have a blacklist instead of a whitelist by default.

### Fixed

-   Fixed bug where pattern was recipe pattern was creatable when there was no recipe output.
-   Fixed a crash when breaking an Ender IO conduit with the Destructor.
-   Fixed bug where storage disks in Portable Grids could be moved into themselves.
-   Fixed the Crafter crashing when opening it while connected to a Primal Tech Grill or Kiln.
-   Fixed bug where Crafting Upgrade on Interface kept too many items in stock.
-   Fixed bug where External Storage could only handle 1 fluid inventory per block.
-   Fixed shift clicking a created pattern going into Grid inventory.
-   Fixed crash when moving a wireless item with the number keys.
-   Fixed bug where item storage tracker didn't save sometimes.
-   Fixed bug where External Storage doesn't detect new inventory when rotating.
-   Fixed JEI recipe transferring in Pattern Grid allowing non-processing recipes in processing mode and vice-versa.
-   Fixed using Interfaces for minimum stock levels failing when requester is also an Interface.
-   Fixed ItemZoom incompatibility in Grid and crafting preview window.
-   Fixed shift clicking upgrades into Interface making upgrades go to import slots.
-   Fixed duplication glitch with storages.
-   Prevent accidental Grid scrollbar click after clicking JEI recipe transfer button.

### Removed

-   Removed Regulator mode in the Exporter.
-   Removed MCMultiPart integration.
-   Removed Project E integration.
-   Removed blocking mode in autocrafting.
-   Removed the Wrench.
-   Removed "void excess items or fluids" functionality on storages.
-   Removed the Solderer.
-   Removed "compare oredict" buttons on Exporter, Importer, etc.
-   Removed ConnectedTexturesMod integration for fullbright textures, RS now has fullbright textures natively.
-   Removed autocrafting with fluids (the bucket filling mechanic). This will be replaced in a later version with native fluid autocrafting, where Crafters can insert fluids to external inventories.

## [1.5.34] - 2018-05-22

### Added

-   Added OR search operator to the Grid with "|".
-   Added new `getPattern(stack:table)` function for OpenComputers integration.

### Changed

-   Empty patterns can no longer be inserted in the pattern result slot in the Pattern Grid with hoppers.
-   `getPatterns()` now only returns all the outputs, this to limit memory usage in OpenComputers (only affects OC integration).
-   Allow crafters to be daisy-chained.

### Fixed

-   Fixed repeated key events not getting handled in some cases.

## [1.5.33] - 2018-04-22

### Added

-   Added Crafter Manager.

### Changed

-   Patterns in the Crafter slots now automatically render the output without pressing shift.
-   Increased Grid performance.
-   Various internal refactors.

### Fixed

-   Fixed Disk Manipulator not extracting items.
-   Fixed filter slots not caring about max stack size.
-   Fixed model warning about Portable Grid.
-   Fixed crash when autocompleting Ender IO recipes from JEI.
-   Fixed Grid not always using all combinations when using JEI autocompletion.

## [1.5.32] - 2018-03-08

### Added

-   Added Spanish translation.

### Changed

-   Changed stack quantity of craftable items from 1 to 0 to fix Quantity Sorting.
-   Changed fluid stack amount to not display "0" anymore.
-   Disk Manipulator in fluid mode will now extract a bucket at a time instead of 1 mB (or 64 buckets at a time with a Stack Upgrade instead of 64 mB).

### Fixed

-   Fixed issue where the Pattern Grid can only overwrite patterns when blank ones are present.
-   Fixed not being able to extract half a stack of items with max stack size 1 in Grid when using right click.
-   Fixed 2 same stacks using capabilities without NBT tag not treated equal.
-   Fixed NBT/metadata check on exporting in an Interface.
-   Fixed Disk Manipulator being stuck on unemptiable, non-empty disks.
-   Fixed orientations of the Portable Grid.
-   Fixed crafting event in Crafting Grid being fired twice.
-   Fixed a crash when the Constructor tries to place a block when a multipart is attached to it.
-   Fixed an autocrafting crash.
-   Attempted to fix FPS drop on Grid sorting.

## [1.5.31] - 2017-12-31

### Changed

-   Storage disk and block stored and capacity counts are formatted now in the tooltip.
-   Improved the "cannot craft! loop in processing..." error message.
-   Made the Disk Manipulator unsided (inserting goes to insert slots and extracting from output slots).

### Fixed

-   Fixed error logs when toggling the Pattern Grid from and to processing mode.
-   Fixed pattern slots in Crafters not being accessible.
-   Fixed rare Grid crash.
-   Fixed OpenComputers cable showing up in Grid as air.

## [1.5.30] - 2017-12-24

### Fixed

-   Fixed crashing bug when MCMultiPart is not installed.

## [1.5.29] - 2017-12-23

### Changed

-   Update Forge to 2577 (minimum Forge version required is now 2555 for MC 1.12.2).

### Fixed

-   Fixed bug where MCMP multiparts were blocking RS network connections.
-   Fixed Reader/Writers for energy extracting energy when not needed.

## [1.5.28] - 2017-12-13

### Changed

-   Item Reader/Writers can now store 16 stacks.
-   Fluid Reader/Writers can now store 16 buckets.
-   Energy Reader/Writers can now store 16000 FE.

### Fixed

-   Fixed Writers not pushing energy.

## [1.5.27-beta] - 2017-12-09

### Fixed

-   Fixed non-oredict patterns not consuming resources.

## [1.5.26-beta] - 2017-12-09

### Added

-   Added Funky Locomotion integration.

### Fixed

-   Fixed Exporter in Regulator Mode not regulating properly when same item is specified multiple times.
-   Fixed air appearing in Grid.
-   Fixed config categories not correctly appearing in ingame config GUI.
-   Fixed craftable items showing "1 total" if not stored in system in Grid.
-   Minor fixes to autocrafting.

### Removed

-   Removed "detailed" Grid view type variant, made detailed tooltips a config option instead.

## [1.5.25] - 2017-11-28

### Fixed

-   Fixed not being able to autocraft different Storage Drawers' wood drawers.
-   Fixed not being able to autocraft certain Modular Routers items.
-   Fixed last modified date not being sent when extracting from an External Storage.

## [1.5.24] - 2017-11-26

### Added

-   Added "Last modified" sorting option in the Grid.
-   Added a "detailed" variant for every Grid view type option, to disable the modified information on the tooltip.

### Changed

-   The Grid now displays last modified information (player name and date) and size on tooltips of stacks.

### Fixed

-   Fixed Exporter with Stack Upgrade not working correctly in Regulator Mode.
-   Fixed crash with the Constructor.
-   Fixed patterns being able to crash when no inputs are provided.
-   Fixed possible crash with network scanning.

### Removed

-   Removed craft-only mode for the Exporter.

## [1.5.23] - 2017-11-13

### Fixed

-   Fixed duplication bug with autocrafting.
-   Fixed Fluid Interface with Stack Upgrade not exporting fluids.
-   Fixed fluids in Fluid Grid not showing actual mB on tooltip when pressing CTRL + SHIFT.

## [1.5.22] - 2017-11-11

### Added

-   Added oredict, blocking, processing, ore inputs access to OpenComputers API.
-   Added shortcut to clear Grid crafting matrix (CTRL+X).

### Changed

-   The Crafter can now only store 1 stack size pattern per slot.
-   You can now re-insert a Pattern in the pattern output slot in the Pattern Grid to modify an existing pattern.
-   The Refined Storage jar is now signed.
-   Updated Chinese translation.

### Fixed

-   Fixed not being able to use JEI R and U keys on Grid with tabs.
-   Fixed lag when opening a Grid with lots of items by offloading the grid sorting to another thread.
-   Performance improvement when adding patterns to the network.

## [1.5.21] - 2017-10-19

### Changed

-   Updated Portuguese (Brazilian) translation.

### Fixed

-   Fixed crash with External Storage.
-   Fixed stack-crafting in the crafting grid (crafting table) causing lag on a dedicated server.
-   Fixed cable blocks, Wireless Transmitter, Detector and Portable Grid acting as full blocks (being able to place torches on them etc).

## [1.5.20] - 2017-10-09

### Fixed

-   Restore MC 1.12.0 compatibility.

## [1.5.19] - 2017-10-08

### Changed

-   Updated Forge to 2493 (MC 1.12.2).

### Fixed

-   Fixed Refined Storage blocks requiring a pickaxe to be broken.
-   Fixed Grid GUI crash.
-   Fixed device names overflowing Controller GUI.
-   Fixed high CPU load when Refined Storage GUIs are open.
-   Fixed not being able to extract Mekanism tanks and bins from the Grid.
-   Fixed not being able to craft Immersive Engineering Revolver.
-   Fixed rare bug when server crashes on startup due to network node not existing.

## [1.5.18] - 2017-09-08

### Added

-   Added Project E integration for the External Storage on the Transmutation Table.
-   Added Project E integration for the energy values of Solderer items.
-   Added support for more than 4 grid tabs in the Grid by putting filters IN filters.
-   Added protection for other mods causing crashes when drawing an item or display name.

### Changed

-   Reader and Writer blocks now face the block you're placing it on, not the player.
-   Pressing SHIFT over an item in the Grid will no longer display the full unformatted count, instead, use CTRL + SHIFT and it will be displayed in the tooltip.
-   The Fortune Upgrade doesn't use NBT anymore to store the fortune level.

### Fixed

-   Fixed network not disconnecting when Controller is broken.
-   Fixed bug where when multiple Fortune Upgrades are inserted, it chooses the first Fortune Upgrade instead of the highest one.
-   Fixed some translations having too big "Craft" text.
-   Fixed crash with GUI when toggling the Grid size quickly.
-   Fixed scrollbar not scrolling correctly when clicked with mouse when grid tabs are visible.
-   Fixed Reader and Writers GUIs still displaying channels even if not connected.
-   Fixed Solderer resetting progress when the inventory changes.

## [1.5.17] - 2017-08-19

### Added

-   Re-added support for OpenComputers.

### Fixed

-   Fixed crash with Grid.

## [1.5.16] - 2017-08-09

### Fixed

-   Fixed crash when placing a Controller.
-   Fixed crash when configuring an Exporter.
-   Fixed Refined Storage not running in MC 1.12 and only on MC 1.12.1.

## [1.5.15] - 2017-08-09

### Added

-   Added InventoryTweaks Grid sorting.
-   Added InventoryTweaks inventory sort ability in Refined Storage GUIs.
-   Added CTM integration for Disk Manipulator.

### Changed

-   Updated Forge to 2444 (MC 1.12.1).

### Fixed

-   Fixed possible rare dupe bug with Importer.
-   Fixed Shulker Box dupe bug with Destructor.
-   Fixed Grid crash with search history.
-   Fixed Grid crash with search field.
-   Fixed External Storage not working without Storage Drawers.
-   Fixed External Storage not calculating max stack size in the calculation of it's capacity display in the GUI.
-   Fixed Refined Storage not drawing small text correctly with Unicode font.
-   Fixed dupe bug with External Storage connected to an item handler.

## [1.5.14] - 2017-08-03

### Added

-   Added config option to modify the Solderer speed per Speed Upgrade, defaulting to 22.5% faster per upgrade, making it 90% faster on a fully upgraded Solderer.
-   Added CTM integration.

### Changed

-   Updated Forge to 2426.
-   Updated French translation.

### Fixed

-   Fixed more crashes relating to scrollbar in GUIs.
-   Fixed crash with Detector.
-   Fixed bug where pattern create button wasn't visible when grid tabs were selected.
-   Fixed performance issue with Controllers turning off and on and Interfaces.
-   Fixed Interfaces exposing network inventory don't hide storages that are disconnected.

## [1.5.13] - 2017-07-20

### Fixed

-   Fixed Wireless Fluid Grid not using up energy.
-   Fixed Wireless Crafting Monitor remaining in network item list.

## [1.5.12] - 2017-07-17

### Added

-   Added additional API for grids.

### Changed

-   The Network Transmitter now uses 1 FE/t per block instead of 4 FE/t.

## [1.5.11] - 2017-07-16

### Fixed

-   Fixed not being able to smelt quartz into silicon.
-   Fixed Grid extracting wrong enchanted books.

## [1.5.10] - 2017-07-15

### Fixed

-   Fixed crash relating to MCMP.

### Changed

-   Converted Solderer recipes to JSON.
-   Implemented controller update throttling, should fix lag issues with controllers that constantly turn off and on.

## [1.5.9] - 2017-07-10

### Fixed

-   Fixed not being able to extract anything when connecting an External Storage to Storage Drawers.

## [1.5.8] - 2017-07-08

### Changed

-   Updated Forge to 2400.
-   Updated Storage Drawers API.
-   Autocrafting can now fill water bottles with water from the fluid storage - regular bottles or pattern for regular bottles are required.

### Fixed

-   Fixed bug where disks have to be re-inserted in the Disk Drive in order to work again after rejoining a chunk.
-   Fixed bug where items inserted in Storage Drawers through External Storage with a Drawer Controller wouldn't respect drawer priority rules.
-   Fixed crash on server when getting an advancement.

### Removed

-   Removed migration support for worlds from MC 1.10.2. To migrate your world to MC 1.12 from MC 1.10.2, first open it in MC 1.11.2.

## [1.5.7] - 2017-07-04

### Added

-   Added advancements.

### Changed

-   Exposed pattern inventory for Pattern Grid.

### Fixed

-   Fixed crashes relating to scrollbar in GUIs.

## [1.5.6] - 2017-06-29

### Changed

-   Updated Forge to stable 2387.

### Fixed

-   Fixed bug where players couldn't place regular blocks next to secured networks.

### Removed

-   Removed Processing Pattern Encoder, that functionality is now available in the Pattern Grid.

## [1.5.5-beta] - 2017-06-25

### Changed

-   Updated Forge to 2363.

## [1.5.4-beta] - 2017-06-24

### Fixed

-   Fixed External Storage crashing.
-   Fixed crash when node data mismatches between world and dat file.

## [1.5.3-beta] - 2017-06-24

### Added

-   The Portable Grid now exposes an inventory for interaction with other mods or vanilla.
-   The Interface now exposes the entire storage inventory (if no slots are set for exporting) for interaction with other mods or vanilla.

### Changed

-   Updated Forge to 2359.
-   Updated MCMultiPart to 2.2.1.

### Fixed

-   Fixed Solderer crashing.
-   Fixed Solderer being able to work with insufficient ingredients.
-   Fixed Interface extracting from itself when trying to keep items in stock.
-   Fixed Quartz Enriched Iron recipe only giving 1 instead of 4.
-   Fixed Debug Storage disks not working correctly.
-   Fixed Disk Drive giving incorrect capacity for creative and debug storage disks.

### Removed

-   The Relay now reacts instantly to a redstone signal again, removed throttling for it.

## [1.5.2-beta] - 2017-06-20

### Fixed

-   Fixed a bug where loading nodes would abort when a single node has an error while reading.
-   Fixed Filters not persisting correctly in Portable Grid.

## [1.5.1-beta] - 2017-06-20

### Added

-   Re-added MCMultiPart support.
-   Added back crafting recipes.

### Changed

-   Updated Forge to 2340.
-   Changed Grid recipe.
-   Changed Crafting Monitor recipe.

### Fixed

-   Fixed Filters not persisting correctly in Wireless Grid and Wireless Crafting Monitor.
-   Fixed Disk Drive recipe not using ore dictionary for chest.
-   Fixed crash when getting tooltip for grid item.

### Removed

-   Removed Tesla integration.
-   Removed RS energy units, the entire mod is powered with Forge Energy now.

## [1.5.0-alpha] - 2017-06-14

### Added

-   Port to Minecraft 1.12.
-   The Portable Grid now doesn't despawn anymore when dropped in the world.

### Fixed

-   Fixed bug where oredict autocrafting didn't work in some cases.

### Removed

-   Removed MCMultiPart support (will be re-added as soon as MCMultiPart for MC 1.12 is available).
-   Removed OpenComputers support (will be re-added as soon as OpenComputers for MC 1.12 is available).
-   Removed crafting recipes, until Forge adds the recipe system back.

## [1.4.20] - 2017-07-15

### Fixed

-   Fixed crash relating to MCMP.

## [1.4.19] - 2017-07-15

### Added

-   Implemented controller update throttling, should fix lag issues with controllers that constantly turn off and on.

### Fixed

-   Fixed bug where players couldn't place regular blocks next to secured networks.
-   Fixed crashes relating to scrollbar in GUIs.
-   Fixed bug where disks have to be re-inserted in the Disk Drive in order to work again after rejoining a chunk.

## [1.4.18] - 2017-06-24

### Fixed

-   Fixed Solderer crashing.
-   Fixed Interface extracting from itself when trying to keep items in stock.
-   Fixed Solderer being able to work with insufficient ingredients.
-   Fixed Disk Drive giving incorrect capacity for creative and debug storage disks.
-   Fixed External Storage crashing.
-   Fixed crash when node data mismatches between world and dat file.

### Removed

-   The Relay now reacts instantly to a redstone signal again, removed throttling for it.

## [1.4.17] - 2017-06-20

### Fixed

-   Fixed Filters not persisting correctly in Wireless Grid, Wireless Crafting Monitor and Portable Grid.
-   Fixed Disk Drive recipe not using ore dictionary for chest.
-   Fixed a bug where loading nodes would abort when a single node has an error while reading.

## [1.4.16] - 2017-06-14

### Added

-   The Portable Grid now doesn't despawn anymore when dropped in the world.

### Fixed

-   Fixed bug where oredict autocrafting didn't work in some cases.

## [1.4.15] - 2017-06-14

### Changed

-   Updated Storage Drawers API, fixes crashes.

## [1.4.14] - 2017-06-13

### Fixed

-   Fixed Solderer not accepting books made in anvil.

## [1.4.13] - 2017-06-13

### Added

-   The Portable Grid now has an indicator whether it's connected or disconnected and shows the disk.

### Fixed

-   Fixed Portable Grid model.
-   Fixed ore dictionary causing problems with Solderer.
-   Fixed ore dictionary items not showing up in JEI for the Solderer.

### Removed

-   Removed Quartz Enriched Iron ore dictionary entry.

## [1.4.12] - 2017-06-10

### Added

-   Added Korean translation.
-   Implemented block update throttling when network turns on and off.

### Changed

-   Updated Forge to 2315.
-   Updated JEI to 4.5.0.
-   You can now shift click items from the Grid crafting slots to the player inventory when the Grid is disconnected.

### Fixed

-   Fixed error logs when watching a Controller when a network changes.

### Removed

-   Removed Collosal Chests integration.

## [1.4.11] - 2017-06-05

### Added

-   Added support for External Storage on Interfaces and other Refined Storage blocks, so you can keep items in stock easier.
-   You now have to sneak to place the Portable Grid in the world.

### Changed

-   The Machine Casing now requires 1 piece of stone in the middle.
-   Changed recipe of Disk Drive to no longer require a Solderer.
-   Changed recipe of Interface to no longer require a Basic Processor, but a Machine Casing instead.

### Fixed

-   Fixed bug where storages that are removed remain visible.
-   Fixed bug where the GUI didn't close when a block is broken, causing a dupe bug with the Portable Grid.

### Removed

-   Removed debug log configuration option, as it's no longer needed.
-   Removed "autocraft on redstone signal" option in the Crafter, use an External Storage in combination with an Interface with the Crafting Upgrade instead.

## [1.4.10-beta] - 2017-05-25

### Changed

-   Improved performance of network scanning.

### Fixed

-   Fixed crash when attempting to get direction of a node.
-   Fixed bug where some network parts don't want to connect to the storage system.

## [1.4.9-beta] - 2017-05-24

### Fixed

-   Fixed bug where inventory data was lost sometimes upon opening the world.

## [1.4.8-beta] - 2017-05-24

### Fixed

-   Fixed missing config categories in ingame config.
-   Fixed Controller not working anymore after changing redstone setting.
-   Fixed crash when placing or destroying network blocks.

## [1.4.7-beta] - 2017-05-23

### Added

-   Added config option "debugLog" that logs diagnostic info to help developers to fix the inventory loss bug, please enable it if you are experiencing this issue.

### Fixed

-   Fixed bug where Portable Grid would dupe in inventory.
-   Worked around an autocrafting bug to prevent crashes.

## [1.4.6-beta] - 2017-05-17

### Changed

-   Performance improvement to network scanning.

### Fixed

-   Fixed Wrench opening GUIs while performing action.
-   Fixed client Grid GUI clearing and causing crashes after starting an autocrafting request.

### Removed

-   Removed debug output from v1.4.5.

## [1.4.5-beta] - 2017-05-14

### Added

-   Added Portable Grid.
-   Added OpenComputers integration.

### Changed

-   Updated Forge to 2296.
-   Removed ticking tile entities, every tile entity in RS is non-ticking now.

### Fixed

-   Fixed Crafting Tweaks buttons positioned wrongly.
-   Fixed Crafting Tweaks keybindings interfering with RS keybindings.
-   Fixed crash when updating storages.
-   Fixed no tooltips for fluid filter slots.
-   Fixed Disk Manipulator in fluid mode not showing fluids.
-   Fixed dupe bug in the Interface.

## [1.4.4-beta] - 2017-04-27

### Changed

-   Updated Forge to 2284.

### Fixed

-   Fixed Disk Manipulator crashing due to empty stack.
-   Fixed issue where empty stacks show up in the system.
-   Fixed Storage Monitor not respecting security settings.

## [1.4.3-beta] - 2017-04-22

### Added

-   Display progress bar on JEI recipes for the Solderer.

### Changed

-   Updated Forge to 2282.
-   Updated JEI version.
-   Updated MCMultiPart version.
-   You can now shift click Grid Filters into a Grid instead of manually inserting them.
-   You can now use up and down arrows to scroll through Grid search history.
-   Shift clicking patterns in the Pattern Grid now puts the patterns in the pattern slot.
-   Storage Monitors don't render any quantity text when no item is specified to monitor anymore.
-   The Solderer inventory isn't sided anymore.
-   Small performance improvement: only sort the storages when needed.

### Fixed

-   Fixed bug where disks in Disk Drive didn't respect access type or void excess stacks option.
-   Fixed crash in Disk Manipulator.
-   Fixed oredict not working.
-   Fixed Grid crash.
-   Fixed Fluid Grid not formatting large quantities correctly.

## [1.4.2-beta] - 2017-04-01

### Added

-   Implemented support for the Forge update JSON system.
-   Added integration for MCMultiPart, this is an optional dependency.
-   You can now specify more items to export, import, filter, etc. by inserting the Filter item.
-   Made the keybinding to focus on the Grid search bar configurable.

### Changed

-   Updated Forge to 2261.
-   The Detector no longer outputs a strong redstone signal.
-   Fire event on completion of an autocrafting task.
-   Fire "player crafting" event when shift clicking in the grid.

### Fixed

-   Fixed a crash with the Constructor.
-   Fixed Crafting Pattern model.
-   Fixed Quartz Enriched Iron and the block form of it not having an oredictionary entry.
-   Fixed crash in storage cache.
-   Fixed slow oredict comparisons causing TPS lag.
-   Fixed controller model warning during launch.
-   Fixed not rendering some tooltips correctly.
-   Fixed crash with External Storage.
-   Fixed Interface duping items on extract-only storages.
-   Fixed controls menu showing unlocalized text for Refined Storage keybindings.
-   Autocrafting bugfixes.
-   Improved memory usage of some models.
-   Performance improvements related to storage inserting and extracting.

### Removed

-   Removed support for the Deep Storage Unit API.

## [1.4.1-beta] - 2017-02-19

### Added

-   Added Storage Monitor.

### Changed

-   Updated Forge to 2232.

### Fixed

-   Fixed Processing Pattern Encoder and Security Manager recipes not supporting oredict workbench and chest.
-   Fixed network nodes not respecting redstone mode.
-   Fixed "Clear" and "Create Pattern" buttons not working correctly when using Grid Filter tabs.
-   Fixed Wrench in Dismantling Mode voiding Storage Block contents.
-   Fixed OPs not having global permissions on secured storage systems.
-   Fixed crash when Destructor tries to break secured network block.
-   Fixed Fluid Interface not dropping inventory contents.
-   Fixed Disk Manipulator crash.

## [1.4.0-beta] - 2017-02-06

### Added

-   Added Security Manager.
-   Added Security Card.
-   Added Wireless Fluid Grid.
-   Added craft-only toggle to Exporter.
-   Added Reader.
-   Added Writer.
-   Added blocking mode to patterns in autocrafting.
-   Added Grid size toggle (stretched, small, medium, large).
-   Added dismantling mode to the Wrench.
-   Added Block of Quartz Enriched Iron.
-   Added integration for Collosal Chests for the External Storage, Importer and Exporter improving performance.
-   Added filtering slots for the Crafting Monitor.
-   Added way to hide tasks created in an automated way in the Crafting Monitor.
-   Added Grid sorting by ID.
-   Added Solderer particles.
-   Added ore dictionary Grid filter (use `$` as prefix like in JEI).

### Changed

-   You can now bind multiple crafters with the same pattern to machines, to spread or balance out autocrafting.
-   Fluid Grid now first tries to get buckets from your inventory instead of the storage.
-   Updated Forge to 2226.
-   Updated Chinese translation.
-   Converting blocks instead of ingots to Printed Processors is now a little faster.
-   The Stack Upgrade in a Constructor in item dropping mode will drop stacks of items at a time.
-   Ignore damage for damageable items when transferring into crafting grid.
-   Ignore tags from given items when transferring into crafting grid.
-   Removed sidedness from fluid interface.
-   Using tab in a grid that isn't in autoselected mode will focus on the search box.
-   Exposed the Network Card inventory of the Network Transmitter so other tiles can interact with it.
-   Increased size of Detector textbox.
-   Handle breaking and placing blocks better for Constructor and Destructor.
-   Pressing shift while starting a crafting task will skip the crafting preview.

### Fixed

-   Fixed Regulator mode not working.
-   Fixed Fluid Interface still being sided.
-   Fixed Constructor not working on Botania flowers.
-   Fixed Wireless Transmitter working even if it was disabled with redstone mode.
-   Fixed Solderer not accepting books created in an Anvil.
-   Fixed bug where network machines stopped working on chunk borders.
-   Fixed memes not working.
-   Fixed External Storage crashes.
-   Fixed Constructor in liquid mode being able to place fluids &lt;1000 mB.
-   Fixed Solderer recipe conflicts, allowing for easier automation.
-   Fixed stack upgrades not working in exporter when stack size is 16.
-   Fixed crash when rotating External Storage.
-   Fixed disk textures not working on latest Forge.
-   Fixed crash when placing head with Constructor.
-   Autocrafting bugfixes.
-   Made sure External Storage always has the correct inventory in world.

## [1.3.5-alpha] - 2016-12-14

### Added

-   Added regulator mode to Exporter.

### Changed

-   Updated French translation.

### Fixed

-   Fixed TPS lag on very large crafting tasks.
-   Fixed not being able to use autocrafting on some EnderIO items.
-   Fixed server crash with ore dictionary checks.
-   Fixed Controller not using energy.
-   Fixed dupe bug when inserting bucket in Fluid Grid.
-   Fixed not being able to start autocrafting for storage disks.
-   Fixed oredict button not having the correct position on a small resolution.
-   Fixed Constructor not using Crafting Upgrade when in item dropping mode.

## [1.3.4-alpha] - 2016-12-10

### Added

-   Added option to check for oredict in the Grid Filter.
-   Added option to use a mod filter in the Grid Filter.
-   Added option to use a whitelist or blacklist in the Grid Filter.
-   Added Grid tabs using Grid Filters.
-   Added configuration option to enable large fonts in Grid.

### Changed

-   The Grid now resizes based on screen size (max rows can be configured).
-   Made Solderer tooltip less big.
-   Made the Interface sideless, you can just insert or extract from any side.

### Fixed

-   Fixed bug with opening a network item with food in offhand.
-   Fixed not respecting "Extract only" option for storages.
-   Fixed a few autocrafting bugs.
-   Fixed a crash with the Disk Manipulator.

## [1.3.3-alpha] - 2016-12-06

### Changed

-   Updated Forge to 2188.

### Fixed

-   Fixed not being able to start a crafting task.

## [1.3.2-alpha] - 2016-12-04

### Fixed

-   Fixed being able to exceed max stack size while shift clicking.
-   Fixed Wrench clearing NBT data when reset causing problems with Morph O Tool.
-   Fixed client crash when placing network blocks.

## [1.3.1-alpha] - 2016-12-04

### Changed

-   Updated Forge to 2180.
-   Made Upgrades stackable.

### Fixed

-   Fixed Disk Drive not noticing a Storage Disk being shift clicked out of the GUI.

## [1.3.0-alpha] - 2016-12-03

### Added

-   Port to Minecraft 1.11.

### Removed

-   Removed RF support, use Forge Energy instead.
-   Removed IC2 support.
-   Removed MCMultiPart support (will be re-added as soon as MCMultiPart for MC 1.11 is available).

## [1.2.26] - 2017-06-10

### Fixed

-   Fixed Interface duping items on extract-only storages.
-   Fixed calculating crafting resources for more than 9 unique items, for addon mods.

## [1.2.25] - 2017-03-25

### Changed

-   Fire event on completion of an autocrafting task.
-   Fire player crafting event when shift clicking in the grid.
-   Allow INodeNetwork instances to return an ItemStack for display in Controller GUI.

## [1.2.24] - 2017-03-18

### Changed

-   Made the keybinding to focus on the Grid search bar configurable.

### Fixed

-   Autocrafting bugfixes.

## [1.2.23] - 2017-03-11

### Added

-   Implemented support for the Forge update JSON system.

### Changed

-   The Detector no longer outputs a strong redstone signal.

### Fixed

-   Fixed crash in storage cache.
-   Fixed Crafting Pattern model.
-   Fixed Constructor not working on Botania flowers.
-   Fixed Disk Manipulator crash.
-   Fixed slow oredict comparisons causing TPS lag.

## [1.2.22] - 2017-02-19

### Fixed

-   Fixed recipe for Processing Pattern Encoder not using oredictionary for the workbench.
-   Fixed Fluid Interface not dropping inventory contents.
-   Fixed glitchy upgrade recipes in the Solderer.

## [1.2.21] - 2017-02-07

### Fixed

-   Fixed crash when placing head with Constructor.

## [1.2.20] - 2017-02-02

### Added

-   Added Solderer particles.
-   Added Grid sorting by ID.

### Fixed

-   Fixed client side crash with cables.

## [1.2.19] - 2017-02-01

### Added

-   Added integration for Collosal Chests for the External Storage, Importer and Exporter improving performance.

### Changed

-   Updated cable part back texture and Construction and Destruction Core textures.
-   Updated Forge to 2221.
-   Updated Chinese translation.
-   Exposed the Network Card inventory of the Network Transmitter so other tiles can interact with it.
-   Increased size of Detector textbox.
-   Autocrafting bugfixes.
-   Handle breaking and placing blocks better for Constructor and Destructor.

### Fixed

-   Fixed stack upgrades not working in exporter when stack size is 16.
-   Fixed crash when rotating External Storage.
-   Fixed disk textures not working on latest Forge.

## [1.2.18] - 2017-01-22

### Changed

-   Fluid Grid now first tries to get buckets from your inventory instead of the storage.
-   Performance improvements with oredict autocrafting.

### Fixed

-   Fixed client side crash with cable.
-   Fixed client side crash with disk drive.
-   Fixed crash with external storage in fluid mode.

## [1.2.17] - 2017-01-12

### Added

-   Add Ore Dictionary grid filter (use $ as prefix like in JEI).

### Changed

-   Ignore damage for damageable items when transferring into crafting grid.
-   Ignore tags from given items when transferring into crafting grid.
-   Removed sidedness from fluid interface.
-   Using tab in a grid that isn't in autoselected mode will focus on the search box.
-   The Stack Upgrade in a Constructor in item dropping mode will drop stacks of items at a time.

### Fixed

-   Fixed Constructor in liquid mode being able to place fluids &lt;1000 mB.
-   Fixed Solderer recipe conflicts, allowing for easier automation.
-   Fixed machines not connecting with cable after Controller.

## [1.2.16] - 2017-01-04

### Fixed

-   Fixed an autocrafting regression.
-   Fixed crash with External Storage.

## [1.2.15] - 2017-01-03

### Fixed

-   Fixed Grid Filter hiding everything when 2 or more items are in it.
-   Fixed External Storage crash when breaking a connected inventory.
-   Autocrafting bugfixes.

## [1.2.14] - 2016-12-24

### Fixed

-   Fixed server crash.

## [1.2.13] - 2016-12-23

### Fixed

-   Fixed memes not working.
-   Fixed controller causing network rebuild on every neighbor change.
-   Fixed Wireless Transmitter working even if it was disabled with redstone mode.
-   Fixed Solderer not accepting books created in an Anvil.
-   Autocrafting bugfixes.
-   Made sure External Storage always has the correct inventory in world.

## [1.2.12] - 2016-12-16

### Changed

-   Updated French translation.

### Fixed

-   Fixed TPS lag on very large crafting tasks.
-   Fixed not being able to use autocrafting on some EnderIO items.
-   Fixed not being able to start autocrafting for storage disks.
-   Fixed oredict button not having the correct position on a small resolution.
-   Fixed Constructor not using Crafting Upgrade when in item dropping mode.

## [1.2.11] - 2016-12-10

### Added

-   Added configuration option to enable large fonts in Grid.

### Changed

-   The Grid now resizes based on screen size (max rows can be configured).
-   Made the Interface sideless, you can just insert or extract from any side.

## [1.2.10] - 2016-12-09

### Changed

-   Made Solderer tooltip less big.

### Fixed

-   Fixed a crash with the Disk Manipulator.
-   Fixed not respecting "Extract only" option for storages.
-   Fixed bug with opening a network item with food in offhand.
-   Fixed other fluid storages going negative when using void excess fluids option.
-   A few autocrafting bugfixes.

## [1.2.9] - 2016-12-06

### Changed

-   Updated Forge to 2185.

### Fixed

-   Fixed Wrench clearing NBT data when reset causing problems with Morph O Tool.

## [1.2.8] - 2016-11-30

### Fixed

-   Fixed autocrafting bugs.

## [1.2.7] - 2016-11-29

### Changed

-   Updated German translation.

### Fixed

-   Fixed not being able to place disks in Disk Drives on servers.

## [1.2.6] - 2016-11-26

### Changed

-   Processing patterns can now insert buckets.

### Fixed

-   Fixed crash with Exporters in fluid mode.

### Removed

-   Removed Solderer progress percentage text.

## [1.2.5] - 2016-11-24

### Added

-   Added "View Recipes" JEI toggle in Solderer.

### Changed

-   The Constructor can now place fireworks.
-   Updated Forge to 2151.

### Fixed

-   Fixed a bunch of autocrafting bugs.
-   Fixed Grid search not working correctly.
-   Fixed items disappearing from Solderer inventory.
-   Fixed being able to take fluids that have less than 1000 millibuckets filled in Fluid Grid.
-   Fixed Constructor being able to place fluids that have less than 1000 millibuckets.
-   Fixed Exporter and Importer not working properly with fluids.
-   Fixed inserting new stack type with right click in Grid causing a desync.
-   Fixed Constructor not calling block place event.
-   Fixed shift clicking non disk items in the Disk Manipulator voiding them.

## [1.2.4] - 2016-11-10

### Added

-   Added tooltip search with #.

### Changed

-   Mod search can now also take mod name instead of just id.

### Fixed

-   Fixed bug where Disk Manipulator doesn't save disks.
-   Fixed Disk Drive stored quantity GUI text hovering over other text.
-   Fixed External Storage being in item and fluid mode at the same time.
-   Fixed Wrench working when player is not sneaking.
-   Fixed External Storage cache counting items up when extracting.
-   Fixed External Storage cache not working properly on Compacting Drawers.

### Removed

-   Removed ability to put External Storages on Refined Storage network blocks.

## [1.2.3] - 2016-11-06

### Fixed

-   Fixed fluid cache updating wrongly.
-   Fixed Exporter scheduling too many crafting tasks.

## [1.2.2] - 2016-11-05

### Fixed

-   Fixed item voiding when exporting to a chest with a storage in Extract Only mode.
-   Various autocrafting fixes.

## [1.2.1] - 2016-11-05

### Added

-   Added Wireless Crafting Monitor (with temporary textures).
-   Added support for JEI R and U keys in Grids.

### Changed

-   You can now decompose storage disks if the item count is below zero by any chance.

### Fixed

-   Fixed crafting upgrade having weird behavior.
-   Fixed external storage not updating when loading chunk.
-   Fixed external storage crash.
-   Fixed weird autocrafting behavior.

### Removed

-   Removed controller explosions when multiple controllers are connected to the same network.

## [1.2.0] - 2016-11-03

### Added

-   Added new autocrafting system.
-   Added ore dictionary autocrafting.
-   Added recipe transfer handler for Processing Pattern Encoder.
-   Added void excess items functionality to storage blocks.
-   Added config option to configure RS to EU conversion rates.
-   Added ability to toggle between insert and extract, only insert and only extract mode in storage blocks.
-   Added Silk Touch Upgrade for Destructor.
-   Added Fortune Upgrade for Destructor.
-   Added ore dictionary compare toggle to storage I/O blocks.
-   Added disk leds to Disk Drive block that shows the disks.
-   Added disk leds to Disk Manipulator block that shows the disks.
-   Added Wrench, has two modes: configuration saving / reading mode, and rotation mode.
-   Stack upgrade in Importer / Exporter in fluid mode and Fluid Interface now transfers 64 buckets at once.

### Changed

-   Changed storage GUIs.
-   Changed default EU conversion rate to be 1:8 with RS.
-   The Constructor can now drop items in the world.
-   The Constructor can now place skulls.
-   The Destructor can now pick up items in the world.
-   Storage disks and storage blocks now don't despawn anymore when dropped in the world.
-   Grid item and fluid quantity now only rounds to 1 digit after comma.
-   Items count can no longer overflow, and will max out at the maximum integer value.
-   Updated Storage Drawers API.
-   Controller sorts by energy usage in GUI (highest to lowest).
-   Detector without any filter will detect based on total items or fluids stored.
-   Limited network transmitter usage to 1000 RS/t.

### Fixed

-   Fixed lag issues caused by External Storage.
-   Fixed resetting a stack of patterns yields 1 blank pattern.
-   Fixed being able to pipe items in the export slots of the Interface.
-   Fixed Interface being stuck when item isn't accepted in storage.
-   Fixed items with colored name being uncolored in Grid.
-   Fixed fluid rendering bugging out side buttons.
-   Fixed item count going negative when using the Disk Manipulator.
-   Fixed Storage Drawer quantities not updating properly on Void Drawers.
-   Fixed Disk Manipulator blocking items transferring in some cases.
-   Fixed External Storage crafting recipe not supporting ore dictionary chests.
-   Fixed when shift clicking crafting recipe and inventory is full items are dropping on the ground instead of going in the system.
-   Fixed glitchy rendering of cable parts in item form.
-   Fixed Destructor being able to break bedrock.
-   Fixed External Storage thinking that items are inserted in Extra Utilities Trash Cans.
-   Fixed Grid quantities being unreadable when using unicode font.
-   Fixed disconnecting when Storage Disk or Storage Block is too big.

## [1.2.0-beta.8] - 2016-11-03

### Fixed

-   More autocrafting issues.

## [1.2.0-beta.7] - 2016-11-03

### Fixed

-   More autocrafting issues.
-   External Storage crashes and TPS lag issues.
-   Mekanism recipes are autocraftable again.

## [1.2.0-beta.6] - 2016-11-02

### Fixed

-   More autocrafting issues.
-   Oredict autocrafting has been improved.

## [1.2.0-beta.5] - 2016-10-30

### Fixed

-   More autocrafting issues.
-   External Storage TPS lag issues.

## [1.2.0-beta.4] - 2016-10-27

### Fixed

-   More autocrafting and TPS issues.

## [1.2.0-beta.3] - 2016-10-25

### Fixed

-   More autocrafting issues.

## [1.2.0-beta.2] - 2016-10-24

### Fixed

-   Extreme TPS issues while crafting.
-   Laggy disk drive rendering.

## [1.2.0-beta.1] - 2016-10-23

### Changed

-   First beta release for v1.2.0, featuring a new autocrafting system.

## [1.1.3] - 2016-10-07

### Fixed

-   Fixed some clients not starting up due to too many Disk Drive model permutations.

## [1.1.2] - 2016-10-03

### Added

-   Added recipe transfer handler for Solderer.

### Changed

-   It is now possible to start a crafting task even if the crafting preview says you can't.

### Fixed

-   Fixed crash with JEI when changing screens in autocrafting.
-   Fixed not being able to start autocrafting in other dimensions with Network Transmitter / Network Receivers.
-   Fixed JEI overlay disappearing now and again.
-   Fixed Detector hitbox.

## [1.1.1] - 2016-09-28

### Fixed

-   Fixed crash on servers.

## [1.1.0] - 2016-09-28

### Added

-   New art by CyanideX.
-   Added crafting preview screen.
-   Added max crafting task depth.
-   Added helpful tooltips to Solderer and Processing Pattern Encoder.

### Changed

-   Every machine now compares on damage and NBT by default.
-   Updated JEI, fixes crashes.
-   Detector amount text field doesn't autoselect anymore.

### Fixed

-   Fixed crash with Disk Manipulator.
-   Fixed autocrafting not giving back byproducts.

## [1.0.5] - 2016-09-21

### Added

-   Importer now takes a Destruction Core, and Exporter a Construction Core.
-   Added Disk Manipulator.
-   Added ingame config.
-   Added the ability to see the output of a Pattern by holding shift.
-   Exporter in fluid mode and Fluid Interface no longer duplicates fluids that are less than 1 bucket.

### Changed

-   Changed default Grid sorting type to quantity.
-   Updated Dutch translation.
-   Updated Chinese translation.
-   When a machine is in use by a crafting pattern, inserting of items from other patterns will be avoided.

### Fixed

-   Fixed crafting a complex item causes the process to flow off the Crafting Monitor's GUI.
-   Fixed shift clicking from Grid when player inventory is full throwing items in the world.

## [1.0.4] - 2016-09-17

### Fixed

-   Fixed lag caused by Crafter.

## [1.0.3] - 2016-09-17

### Added

-   Added integration for Forge energy.

### Changed

-   Solderer now accepts items from any side, allowing easier automation.
-   Solderer is now intelligent about items in slots, and will only accept an item if it is part of a recipe.
-   Changed recipe for upgrades in the Solderer, they now just take 1 of the unique item instead of 2, using redstone instead.
-   Updated to Forge 2088.

### Fixed

-   Fixed item loading issue.
-   Fixed fluid autocrafting scheduling too much crafting tasks for buckets.
-   Fixed blocks in hand facing wrong direction.

## [1.0.2] - 2016-09-14

### Changed

-   \+64 in crafting start GUI now gives 64 from the first time instead of 65.

### Fixed

-   Fixed processing patterns not handling item insertion sometimes.

### Removed

-   Removed crafting task limit in crafting start GUI.

## [1.0.1] - 2016-09-13

### Added

-   Added "autocrafting mode" in Detector, to check if an item is being crafted. If no item is specified, it'll emit a signal if anything is crafting.
-   Added an option for the Crafter to trigger autocrafting with a redstone signal.

### Changed

-   Updated to Forge 2084.

### Fixed

-   Fixed advanced tooltips showing in Grid when not configured to do so.
-   Optimized crafting pattern loading.

## [1.0.0] - 2016-09-12

### Added

-   Interface now supports Crafting Upgrade.
-   Implemented multithreaded autocrafting.

### Changed

-   Processing patterns now hold their items back for pushing until all the required items are gathered from the system.
-   Reworked Crafting Monitor GUI.
-   When shift clicking a recipe in the Crafting Grid, the player inventory is now leveraged as well.
-   Updated to Forge 2077.
-   Due to the new crafting system, all Crafting Patterns made before 1.0 have to be re-made.

### Fixed

-   Fixed item and fluid storage stored count having incorrect values at times.
-   Fixed problems relating to Crafting Upgrade (scheduling a task wrongly, blocking other tasks, etc).
-   Fixed machines breaking on long distances.
-   Fixed Controller rebuilding network graph on energy change.
-   Fixed fluids not caring about NBT tags.
-   Fixed fluids that have less than 1 bucket stored render only partly in Fluid Grid.
-   Fixed Fluid Interface voiding bucket when shift clicking to out slot.
-   Fixed wrong machine connection logic.

## [0.9.4-beta] - 2016-08-27

### Changed

-   Reduced explosion radius when multiple controllers are connected to the same network.

### Fixed

-   Fixed mod not working without JEI.
-   Little fixes in German translation.
-   Reverted network changes that caused buggy behavior.

## [0.9.3-beta] - 2016-08-26

### Added

-   Added Chinese translation.
-   Added Crafting Tweaks integration.

### Changed

-   Updated German translation for Fluid Storage.
-   Updated Dutch translation for Fluid Storage.
-   Reworked storage network code, should fix weird machine disconnection issues.

### Fixed

-   Fixed that the Fluid Storage Disk recipe returns an invalid disk.

## [0.9.2-beta] - 2016-08-25

### Fixed

-   Fixed not being able to take out items from Wireless Grid cross-dimensionally.

## [0.9.1-beta] - 2016-08-24

### Fixed

-   Fixed server crash with Grid.

## [0.9.0-beta] - 2016-08-24

### Added

-   Added fluid storage.
-   Added Russian translation.

### Changed

-   Energy usage of Wireless Grid is now configurable.
-   Wireless Transmitters can now only be placed on Cable.
-   Priority field and detector amount field can now display 4 digits at a time.

### Fixed

-   Fixed crash with Grid.
-   Fixed Grid Filter only updating the Grid when reopening the GUI.
-   Fixed Wireless Grid not working cross dimensionally.
-   Fixed Grid not displaying items after changing redstone mode.
-   Fixed Wireless Transmitter crashing when it is transmitting to a removed dimension.
-   Fixed disassembling stacked Storage Blocks only returns 1 set of items.

## [0.8.20-beta] - 2016-08-18

### Fixed

-   Fixed crash with Grid.

## [0.8.19-beta] - 2016-08-13

### Fixed

-   Fixed item duplication bug with External Storage.
-   Fixed External Storage taking too long to update storage.
-   Fixed crash with Grid.
-   Fixed crash when shift clicking unsupported item in a slot.

## [0.8.18-beta] - 2016-08-11

### Fixed

-   Fixed Detector mode not persisting.
-   Fixed bug where scrollbar didn't scroll correctly and thus hiding some items.
-   Fixed Network Transmitter not dropping inventory when broken.

## [0.8.17-beta] - 2016-08-09

### Fixed

-   Fixed Grid causing sorting lag on the client.

## [0.8.16-beta] - 2016-08-09

### Added

-   Added German translation by ChillUpX.
-   Added MCMultiPart integration for Cable Parts.

### Changed

-   You now have to click the actual cable part head in order to get the GUI open.
-   Grid Filters can now only filter 9 items, but, Grids take 4 filters now instead.
-   Grid Filters can now be configured to compare on NBT and/ or damage.
-   It is now possible to shift click items to the Storage Device filters.
-   Updated to Forge 2046.
-   Updated Tesla.
-   Java 8 is now a requirement.
-   Slight performance increase and network efficiency improvement in all GUI's.
-   Slight performance increase in Grid GUI.
-   Improved collisions of Cable parts.

### Fixed

-   Fixed issue with IC2 integration causing console spam.
-   Fixed not being able to change some configs in blocks.
-   Fixed serverside configs not syncing up with clientside.
-   Fixed not being able to move inventory items in Grid GUI's to hotbar via the number keys.
-   Fixed Relays when being in "Ignore Redstone" mode using up energy.
-   Fixed Crafter facing bottom side on placement.

## [0.8.15-beta] - 2016-08-01

### Fixed

-   Fixed server startup crash.

## [0.8.14-beta] - 2016-08-01

### Added

-   Added Interdimensional Upgrade so the Network Transmitter can work over different dimensions.

## [0.8.13-beta] - 2016-07-31

### Added

-   Added config option to set the base energy usage of the Controller (default is 0).
-   Added Grid Filter item to filter items in any Grid.
-   Added support for processing patterns with big stacksizes.
-   Added Network Transmitter, Network Receiver and Network Cards.

### Changed

-   The slot where the Wireless Grid is in in the Wireless Grid GUI is now disabled, so the item can't be thrown out of the inventory by accident.
-   Changed Relay recipe to use redstone torch instead of Basic Processor.
-   Placed machines now face the block they are placed on, like hoppers.

### Fixed

-   Fixed rendering crash with Disk Drive.
-   Fixed crash when quickly toggling sorting direction in Grid.
-   Fixed not being able to clear exporter row in interface.

## [0.8.12-beta] - 2016-07-20

### Fixed

-   Fixed dupe bug when shift clicking output slot in grid.

## [0.8.11-beta] - 2016-07-19

### Added

-   Added X button to Processing Pattern Encoder to clear configuration of inputs and outputs.
-   Added Grid view toggle buttons (regular, craftable items only, no craftable items).
-   Added ability to shift click items into Importer, Exporter, Constructor, Destructor and Detector to set up whitelist / blacklist configurations easier.
-   Re-added opposite facing on shift click functionality.

### Changed

-   Solderer upgrades go to upgrades slots first now when shift clicking.
-   Updated to Forge 2014.

### Fixed

-   Fixed minor dupe bug with JEI transferring.
-   Fixed exporter crafting upgrades taking priority over other tasks.
-   Fixed NPE with incorrectly initialized disks.
-   Fixed not being able to take out items of Grid 2K16.
-   Fixed not being able to start autocrafting for certain items (most notably IC2 items).

## [0.8.10-beta] - 2016-07-13

### Fixed

-   Fixed not being able to get some items out of Grid.
-   Fixed slight glitch in Constructor and Destructor model.

## [0.8.9-beta] - 2016-07-10

### Added

-   Added a model for the Constructor.
-   Added a model for the Destructor.

### Changed

-   Wireless Transmitters next to each other without any cable or without being connected to a machine won't work anymore, they need to be explictly connected to a cable or other machine.
-   Some models / texture tweaks.

### Fixed

-   Fixed bug where Grid crafting doesn't handle remainder sometimes.
-   Fixed caching issues with External Storage.
-   Fixed possible crash with Disk Drives.

## [0.8.8-beta] - 2016-07-10

### Changed

-   Use ore dictionary for recipes with glass.
-   Texture tweaks.

### Fixed

-   Fixed solderer not working with automation anymore.

## [0.8.7-beta] - 2016-07-09

### Added

-   Added better hitbox for the Solderer.

### Changed

-   Wireless Transmitter is now only bright red when connected.
-   Improved detector model, add a better hitbox for it.
-   Improved the Wireless Transmitter texture.
-   Made the Solderer beams be bright red when they are working.

### Fixed

-   Fixed crash with External Storage.
-   Fixed Detector not unpowering when disconnected from the network.

## [0.8.6-beta] - 2016-07-09

### Added

-   Re-added Controllers exploding when two of them are connected to the same network.
-   Added new textures.
-   Added model for External Storage.
-   Added model for Importer.
-   Added model for Exporter.
-   Added model for Detector.

### Changed

-   Huge performance improvements to large storage networks.
-   Limited some blocks to only have a direction on the x-axis.
-   Decreased amount of block updates significantly.

### Fixed

-   Fixed External Storage disconnecting on world reload.
-   Fixed External Storage not updating correctly.
-   Fixed wireless signal starting from Controller instead of per Wireless Transmitter individually.
-   Fixed Controller's redstone state not saving.
-   Fixed crafting tasks not saving properly.

### Removed

-   Removed opposite facing on placement mechanic.
-   Removed Quartz Enriched Iron Block.

## [0.8.5-beta] - 2016-07-04

### Fixed

-   Fixed crash when Tesla API is not installed.

## [0.8.4-beta] - 2016-07-04

### Added

-   Added a debug storage disk.
-   Added tooltip to solderer progress bar that shows progress percentage.
-   Added support for the Tesla energy system.
-   Added support for the IC2 (EU) energy system.
-   Added a Portuguese (Brazilian) translation.

### Changed

-   Performance improvements.
-   Tweaked grid GUI.

### Removed

-   Removed delay until grid items are visible.

## [0.8.3-beta] - 2016-07-02

### Fixed

-   Fixed drawer controllers not working with external storage.
-   Fixed right click taking 64 items instead of 32 items.

## [0.8.2-beta] - 2016-07-01

### Changed

-   It is now possible to use middle click multiple times for the same item in grid.
-   Made the mod configurable with a config file.

### Fixed

-   Fixed not being able to take items sometimes.

## [0.8.1-beta] - 2016-06-30

### Fixed

-   Fixed upgrades from interface not dropping.
-   Fixed lag caused by constantly rebuilding storage.

## [0.8.0-beta] - 2016-06-25

### Changed

-   Recompile for Minecraft 1.10.

### Fixed

-   Fixed solderer not using extra RF/t with upgrades.

## [0.7.19-beta] - 2016-06-25

### Fixed

-   Fixed controller being buggy with reconnecting.
-   Fixed controller texture updating too slow when energy changes.
-   Fixed not being able to take item from grid at times.
-   Fixed external storage on storage drawer sending an item count of 0 over.

## [0.7.18-beta] - 2016-06-24

### Fixed

-   Fixed cables sending updates when not needed.
-   Fixed cables not connecting to foreign machines that implement the API.

## [0.7.17-beta] - 2016-06-24

### Changed

-   Updated Forge to 1969.
-   Updated JEI to 3.6.x.
-   Introduced new crafting settings GUI.
-   Tweaked some textures.

### Fixed

-   Fixed getting wrong items back in grid.
-   Fixed wrong item getting crafted.
-   Fixed server lag with exporter and importer.

## [0.7.16-beta] - 2016-06-19

### Added

-   Added support for Storage Drawers void upgrade.
-   Added support for Deep Storage Unit API again.

### Fixed

-   Fixed NPE in machine searching.
-   Fixed a bug with interface giving negative amounts of items.
-   Fixed crash when using scroll wheel.

## [0.7.15-beta] - 2016-06-18

### Fixed

-   Fixed not being able to scroll with the scroll wheel using MouseTweaks.
-   Fixed grid search box mode only changing after reopening GUI.

## [0.7.14-beta] - 2016-06-17

### Added

-   Added shift clicking support to every inventory (for upgrades etc).
-   Added grid filtering options: @ for searching on mod items, # for searching on tooltips.
-   Added a way to clear patterns (shift + right click in inventory).

### Changed

-   Updated Forge to build 1965.
-   Tweaked some recipes.
-   Tweaked energy usage in some machines.

### Fixed

-   Fixed item overflow bug with storage drawers and external storage.

## [0.7.13-beta] - 2016-06-16

### Added

-   Added ability to triple click in grid.

## [0.7.12-beta] - 2016-06-14

### Fixed

-   Fixed creative storage blocks and disks not working.
-   Fixed interface overflowing.

## [0.7.11-beta] - 2016-06-12

### Changed

-   Right click on grid search bar clears the search query.

### Fixed

-   Fixed crash with wireless grid.
-   Fixed high RF/t usage on external storage.
-   Fixed that requesting crafting processing task yields too many tasks.

## [0.7.10-beta] - 2016-06-11

### Fixed

-   Fixed inventories not saving correctly.
-   Fixed that the player can't shift-click patterns into the last 3 slots of the Crafter.

## [0.7.9-beta] - 2016-06-11

### Added

-   Added an API.
-   Added Storage Drawers integration.
-   Added handling for patterns that return the same item.
-   Added stack splitting between multiple storages.
-   Added handling for patterns that give back the same item.

### Changed

-   Increased cable recipe to 12 cables.

### Fixed

-   Fixed not being able to place sugar cane.
-   Fixed not being able to place seeds.
-   Fixed stacks not splitting between storages correctly.
-   Fixed storage not saving ItemStack capabilities.
-   Fixed dropping items into crafting grid with mouse won't work if your mouse is in between items.
-   Fixed controller still drawing power even if disabled.

## [0.7.8-beta] - 2016-06-04

### Changed

-   Updated to Forge 1951.

### Fixed

-   Fixed crash on some worlds.
-   Improved Grid performance when sorting on quantity.

## [0.7.7-beta] - 2016-06-04

### Added

-   Added the Stack Upgrade.
-   Added Quartz Enriched Iron Block.
-   Added French translation by Leventovitch.

### Changed

-   New items now go to the first available storage that has items in it already.
-   Tweaked some recipes.

### Fixed

-   Fixed buggy reequip animation on wireless grid.
-   Fixed solderer not supporting ore dictionary.
-   Fixed recipes not supporting ore dictionary.
-   Fixed destructor not being able to destroy some blocks.
-   Fixed not being able to place or destroy sugar cane.
-   Fixed storage blocks not being dismantable.
-   Fixed getting more items than needed sometimes.
-   Performance improvements.

## [0.7.6-beta] - 2016-05-29

### Changed

-   Updated to Forge 1932.

### Fixed

-   Fixed not being able to start an autocraft.

## [0.7.5-beta] - 2016-05-29

### Fixed

-   Fixed wrong ascending / descending order in Grid.
-   Fixed autocrafting not giving back byproducts.
-   Fixed Solderer causing too many chunk updates.
-   Fixed Solderer slot sides being weird.
-   Performance improvements.

## [0.7.4-beta] - 2016-05-27

### Changed

-   Updated to Forge 1922.

### Fixed

-   Performance improvements.

## [0.7.3-beta] - 2016-05-25

### Changed

-   Crafting tasks are now sorted from new to old in the Crafting Monitor.
-   Broke Interface block inventory compatibility: make sure to take all your items out of your Interface blocks before you apply the update.

### Fixed

-   Fixed grid performance by not sending grid data so often.
-   Fixed silicon + quartz enriched iron not having oredict names.

## [0.7.2-beta] - 2016-05-24

### Fixed

-   Fixed Importer getting stuck on slot.

## [0.7.1-beta] - 2016-05-24

### Fixed

-   Fixed NPE in some tiles.
-   Fixed going out of crafting GUI not restoring state (scrollbar and search term).
-   Fixed not being able to create a pattern in disconnected Pattern Grid.
-   Fixed not being able to place cake or string.
-   Performance improvement to Grids.

## [0.7.0-beta] - 2016-05-23

### Added

-   Port to Minecraft 1.9.4.

### Fixed

-   Fixed Crafting Grid / Pattern Grid not throwing items on break.

## [0.6.15-alpha] - 2016-05-29

### Fixed

-   Fixed Solderer sides being weird.
-   Fixed Solderer causing too many block updates.

## [0.6.14-alpha] - 2016-05-28

### Fixed

-   Fixed wrong ascending / descending order in Grid.
-   Performance improvements.

## [0.6.13-alpha] - 2016-05-27

### Fixed

-   Performance improvements.

## [0.6.12-alpha] - 2016-05-25

### Changed

-   Crafting tasks are now sorted from new to old in the Crafting Monitor.

### Fixed

-   Fixed Crafting Grid / Pattern Grid not throwing items on break.
-   Fixed NPE in some tiles.
-   Fixed going out of crafting GUI not restoring state (scrollbar and search term).
-   Fixed not being able to place cake or string.
-   Fixed Importer getting stuck on slot.
-   Fixed silicon + quartz enriched iron not having oredict names.
-   Performance improvement to Grids.

## [0.6.11-alpha] - 2016-05-23

### Changed

-   Converted all inventories in the mod to Forge's item handler capability system.

### Fixed

-   Fixed crafting patterns crashing when item of an input or output no longer exists.
-   Fixed Grid letting the current held item flicker.
-   Fixed Importer / Exporter / External Storage not being able to push or pull out of the other side of a double chest.

## [0.6.10-alpha] - 2016-05-21

### Changed

-   Increased max crafting request size to 500.

### Fixed

-   Fixed Processing Patterns not working.
-   Fixed not being able to request more than 1 item at once.
-   Fixed crash with the Solderer.

## [0.6.9-alpha] - 2016-05-20

### Added

-   Added automation for the Solderer: every side corresponds to a slot (see the wiki).

### Fixed

-   Fixed bug where machines wouldn't disconnect / connect when needed outside of chunk.
-   Fixed not being able to toggle redstone mode in a Wireless Transmitter.
-   Fixed same machine being connected to the network multiple times.
-   Fixed External Storage not working.
-   Reduced network usage.

## [0.6.8-alpha] - 2016-05-19

### Fixed

-   Fixed CTRL + pick block on machines crashing game.
-   Performance improvements.

## [0.6.7-alpha] - 2016-05-19

### Fixed

-   Performance improvements.

## [0.6.6-alpha] - 2016-05-18

### Fixed

-   Fixed being able to insert non-allowed items in inventories with hoppers.
-   Fixed Processing Pattern Encoder not using up a Pattern.

## [0.6.5-alpha] - 2016-05-18

### Changed

-   Updated Forge to build 1907.

### Fixed

-   Performance improvements for servers.
-   Performance improvements for client scrollbars.

## [0.6.4-alpha] - 2016-05-17

### Fixed

-   Performance improvements.

## [0.6.3-alpha] - 2016-05-17

### Fixed

-   Performance improvements.

## [0.6.2-alpha] - 2016-05-17

### Added

-   Added a max crafting quantity per request cap (hardcoded to 100).

### Changed

-   Upgrades now draw extra energy.

### Fixed

-   Fixed race condition with crafting tasks.
-   Fixed pressing escape in crafting settings GUI not going back to grid GUI.
-   Fixed losing autoselection in Grid when clicking on slot with autoselection mode.
-   Fixed being able to pick up from pattern result slot.

## [0.6.1-alpha] - 2016-05-16

### Fixed

-   Fixed NPE on world load.
-   Fixed Destructor crashing when removing a connected machine.

## [0.6.0-alpha] - 2016-05-16

### Added

-   Added autocrafting.
-   Added the Pattern Grid.
-   Added the Crafting Monitor.
-   Added the Crafter.
-   Added the Processing Pattern Encoder.
-   Added a Pattern item.
-   Added the Wireless Transmitter.
-   Added Speed Upgrades which are applicable on a bunch of machines.
-   Added Range Upgrades for in the Wireless Transmitter.
-   Added Crafting Upgrades.
-   Added recipe category -> item JEI integration.
-   Added Storage Housing.

### Changed

-   Changed Grid modes to have a autoselected option.

### Fixed

-   Fixed Destructor not playing block break sound.
-   Fixed Constructor not playing block place sound.
-   Fixed picking up from crafting result slot.
-   Fixed being able to use right click on crafting result slot.
-   Fixed item duplication issue with the Interface.
-   Fixed Importers and Exporters not working when changing facing with a wrench.
-   Fixed Crafting Grid not respecting remainder in recipes.
-   Fixed Crafting Grid giving back the wrong amount of items when shift clicking.
-   Fixed items disappearing in Grid when doing a weird combination of inputs.
-   Fixed Solderer not stacking items.
-   Fixed Importer voiding Storage Disks from the Disk Drive.
-   Fixed Controller not saving energy.
-   Massive performance improvements which reduces lag and lets machines connect almost instantly.

## [0.5.6-alpha] - 2016-04-29

### Fixed

-   Fixed sorting crash.
-   Fixed autofocusing on priority field in storage GUIs.
-   Fixed controller causing lag when energy level changes.

## [0.5.5-alpha] - 2016-04-09

### Changed

-   Updated to Forge 1859.

### Fixed

-   Fixed several crashes.
-   Energy level on Controller is maintained.

## [0.5.4-alpha] - 2016-04-05

### Changed

-   Shift clicking on placing Constructor and Destructor will have opposite direction.

### Fixed

-   Fixed machines out of the Controller's chunk range only connecting after block break when rejoining the world.
-   Fixed scrollbar skipping some rows when scrolling with mouse wheel.
-   Fixed machines from a long distance not being visible in the Controller.

## [0.5.3-alpha] - 2016-04-04

### Added

-   Added a Creative Wireless Grid.

### Changed

-   Changed block hardness levels.

### Fixed

-   Fixed not being able to open a Grid that is 256 blocks away from the Controller.
-   Made the mod way less network intensive.

## [0.5.2-alpha] - 2016-04-03

### Added

-   Items that don't exist anymore, won't be added to storage again to avoid crashes.

### Fixed

-   Fixed not being able to run the mod without JEI.

## [0.5.1-alpha] - 2016-04-03

### Fixed

-   Fixed Disk Drive crashing with an `AbstractMethodException`.

## [0.5.0-alpha] - 2016-04-03

### Added

-   Deep Storage Unit integration (with this several barrel mods are now supported too!).
-   When placing Importer, Exporter or External Storage with SHIFT, it will have the opposite direction. This is for easy placement behind other blocks (furnaces for example).
-   Added mass crafting of items with shift in Crafting Grid.
-   Added JEI recipe transfering in Crafting Grid.
-   New textures.
-   Scrollbar in Grid and Crafting Grid.
-   Display of connected machines in the Controller GUI.
-   Nice formatting for items >= 1K (pressing shift while hovering over an item will still display the real item count).
-   Grid can now synchronize with JEI.

### Changed

-   Updated to the latest Forge and JEI.
-   Renamed Drives to Disk Drives.
-   Renamed Storage Cells to Storage Disks.
-   Wireless Grid is now bound to a Controller instead of a Grid.
-   Drives have a better interface and there are now blacklist and whitelist filters for the Storage Disks in it too.
-   Destructors have the ability to whitelist and blacklist certain items now.
-   Side buttons in machine GUIs are now left, not right.
-   Shift clicking stuff in the Interface.
-   Made the normal Grid 1 row larger.
-   Machines don't need to be connected with cables anymore, they can be next to each other too.
-   Made the amount text in the Grid for items smaller.

### Fixed

-   Fixed clicking sound in Grid.
-   Fixed a bunch of crashes.
-   Fixed Exporter not exporting is some cases.
-   Fixed Importer not importing in some cases.
-   Fixed Controller drawing RF every 20 ticks instead of every tick.
-   Fixed not being able to shift click from Crafting Grid crafting slots.
-   Fixed new items inserted after crafting in Grid being laggy.
-   Fixed flickering of items in Grid.
-   Fixed getting a stack of unstackable items from Grid.
-   Fixed Cable not having a collision box.
-   Check if the Constructor can actually place said block in the world.

### Removed

-   Removed Wireless Transmitters.

## [0.4.1-alpha] - 2016-03-24

### Fixed

-   Fixed ID duplication issues.

## [0.4.0-alpha] - 2016-03-21

### Added

-   Relays.
-   Interfaces.

### Changed

-   Cables now have actual collision.

### Fixed

-   Fix Minecraft reporting that retrieving Grid type fails.
-   Fullness percentage in Creative Storage Blocks going under 0%.
-   The Controller shouldn't display the base usage when not working.
-   Check if item is valid for slot before pushing to inventories.

## [0.3.0-alpha] - 2016-03-20

### Added

-   Initial release for Minecraft 1.9.

## [0.2.1-alpha] - 2016-02-03

### Added

-   Internal test release.

## [0.2.0-alpha] - 2016-01-31

### Added

-   Internal test release.

## [0.1.1-alpha] - 2016-01-31

### Added

-   Internal test release.

## [0.1.0-alpha] - 2016-01-03

### Added

-   Internal test release.

[Unreleased]: https://github.com/refinedmods/refinedstorage/compare/v1.13.0-beta.4...HEAD

[1.13.0-beta.4]: https://github.com/refinedmods/refinedstorage/compare/v1.13.0-beta.3...v1.13.0-beta.4

[1.13.0-beta.3]: https://github.com/refinedmods/refinedstorage/compare/v1.13.0-beta.2...v1.13.0-beta.3

[1.13.0-beta.2]: https://github.com/refinedmods/refinedstorage/compare/v1.13.0-beta.1...v1.13.0-beta.2

[1.13.0-beta.1]: https://github.com/refinedmods/refinedstorage/compare/v1.12.4...v1.13.0-beta.1

[1.12.4]: https://github.com/refinedmods/refinedstorage/compare/v1.12.3...v1.12.4

[1.12.3]: https://github.com/refinedmods/refinedstorage/compare/v1.12.2...v1.12.3

[1.12.2]: https://github.com/refinedmods/refinedstorage/compare/v1.12.1...v1.12.2

[1.12.1]: https://github.com/refinedmods/refinedstorage/compare/v1.12.0...v1.12.1

[1.12.0]: https://github.com/refinedmods/refinedstorage/compare/v1.11.7...v1.12.0

[1.11.7]: https://github.com/refinedmods/refinedstorage/compare/v1.11.6...v1.11.7

[1.11.6]: https://github.com/refinedmods/refinedstorage/compare/v1.11.5...v1.11.6

[1.11.5]: https://github.com/refinedmods/refinedstorage/compare/v1.11.4...v1.11.5

[1.11.4]: https://github.com/refinedmods/refinedstorage/compare/v1.11.3...v1.11.4

[1.11.3]: https://github.com/refinedmods/refinedstorage/compare/v1.11.2...v1.11.3

[1.11.2]: https://github.com/refinedmods/refinedstorage/compare/v1.11.1...v1.11.2

[1.11.1]: https://github.com/refinedmods/refinedstorage/compare/v1.11.0...v1.11.1

[1.11.0]: https://github.com/refinedmods/refinedstorage/compare/v1.10.6...v1.11.0

[1.10.6]: https://github.com/refinedmods/refinedstorage/compare/v1.10.5...v1.10.6

[1.10.5]: https://github.com/refinedmods/refinedstorage/compare/v1.10.4...v1.10.5

[1.10.4]: https://github.com/refinedmods/refinedstorage/compare/v1.10.3...v1.10.4

[1.10.3]: https://github.com/refinedmods/refinedstorage/compare/v1.10.2...v1.10.3

[1.10.2]: https://github.com/refinedmods/refinedstorage/compare/v1.10.1...v1.10.2

[1.10.1]: https://github.com/refinedmods/refinedstorage/compare/v1.10.0...v1.10.1

[1.10.0]: https://github.com/refinedmods/refinedstorage/compare/v1.10.0-beta.4...v1.10.0

[1.10.0-beta.4]: https://github.com/refinedmods/refinedstorage/compare/v1.10.0-beta.3...v1.10.0-beta.4

[1.10.0-beta.3]: https://github.com/refinedmods/refinedstorage/compare/v1.10.0-beta.2...v1.10.0-beta.3

[1.10.0-beta.2]: https://github.com/refinedmods/refinedstorage/compare/v1.10.0-beta.1...v1.10.0-beta.2

[1.10.0-beta.1]: https://github.com/refinedmods/refinedstorage/compare/v1.9.18...v1.10.0-beta.1

[1.9.18]: https://github.com/refinedmods/refinedstorage/compare/v1.9.17...v1.9.18

[1.9.17]: https://github.com/refinedmods/refinedstorage/compare/v1.9.16...v1.9.17

[1.9.16]: https://github.com/refinedmods/refinedstorage/compare/v1.9.15...v1.9.16

[1.9.15]: https://github.com/refinedmods/refinedstorage/compare/v1.9.14...v1.9.15

[1.9.14]: https://github.com/refinedmods/refinedstorage/compare/v1.9.13...v1.9.14

[1.9.13]: https://github.com/refinedmods/refinedstorage/compare/v1.9.12...v1.9.13

[1.9.12]: https://github.com/refinedmods/refinedstorage/compare/v1.9.11...v1.9.12

[1.9.11]: https://github.com/refinedmods/refinedstorage/compare/v1.9.10...v1.9.11

[1.9.10]: https://github.com/refinedmods/refinedstorage/compare/v1.9.9...v1.9.10

[1.9.9]: https://github.com/refinedmods/refinedstorage/compare/v1.9.8...v1.9.9

[1.9.8]: https://github.com/refinedmods/refinedstorage/compare/v1.9.7...v1.9.8

[1.9.7]: https://github.com/refinedmods/refinedstorage/compare/v1.9.6...v1.9.7

[1.9.6]: https://github.com/refinedmods/refinedstorage/compare/v1.9.5...v1.9.6

[1.9.5]: https://github.com/refinedmods/refinedstorage/compare/v1.9.4...v1.9.5

[1.9.4]: https://github.com/refinedmods/refinedstorage/compare/v1.9.3-beta...v1.9.4

[1.9.3-beta]: https://github.com/refinedmods/refinedstorage/compare/v1.9.2-beta.2...v1.9.3-beta

[1.9.2-beta.2]: https://github.com/refinedmods/refinedstorage/compare/v1.9.2-beta.1...v1.9.2-beta.2

[1.9.2-beta.1]: https://github.com/refinedmods/refinedstorage/compare/v1.9.1-beta...v1.9.2-beta.1

[1.9.1-beta]: https://github.com/refinedmods/refinedstorage/compare/v1.9.0-beta...v1.9.1-beta

[1.9.0-beta]: https://github.com/refinedmods/refinedstorage/compare/v1.8.8...v1.9.0-beta

[1.8.8]: https://github.com/refinedmods/refinedstorage/compare/v1.8.7...v1.8.8

[1.8.7]: https://github.com/refinedmods/refinedstorage/compare/v1.8.6-beta...v1.8.7

[1.8.6-beta]: https://github.com/refinedmods/refinedstorage/compare/v1.8.5-beta...v1.8.6-beta

[1.8.5-beta]: https://github.com/refinedmods/refinedstorage/compare/v1.8.4-beta...v1.8.5-beta

[1.8.4-beta]: https://github.com/refinedmods/refinedstorage/compare/v1.8.3-beta...v1.8.4-beta

[1.8.3-beta]: https://github.com/refinedmods/refinedstorage/compare/v1.8.2-beta...v1.8.3-beta

[1.8.2-beta]: https://github.com/refinedmods/refinedstorage/compare/v1.8.1-beta...v1.8.2-beta

[1.8.1-beta]: https://github.com/refinedmods/refinedstorage/compare/v1.8.0-beta...v1.8.1-beta

[1.8.0-beta]: https://github.com/refinedmods/refinedstorage/compare/v1.7.3-beta...v1.8.0-beta

[1.7.3-beta]: https://github.com/refinedmods/refinedstorage/compare/v1.7.2-beta...v1.7.3-beta

[1.7.2-beta]: https://github.com/refinedmods/refinedstorage/compare/v1.7.1-alpha...v1.7.2-beta

[1.7.1-alpha]: https://github.com/refinedmods/refinedstorage/compare/v1.7.0-alpha...v1.7.1-alpha

[1.7.0-alpha]: https://github.com/refinedmods/refinedstorage/compare/v1.7.0+10...v1.7.0-alpha

[1.7.0+10]: https://github.com/refinedmods/refinedstorage/compare/v1.7.0+9...v1.7.0+10

[1.7.0+9]: https://github.com/refinedmods/refinedstorage/compare/v1.7.0+8...v1.7.0+9

[1.7.0+8]: https://github.com/refinedmods/refinedstorage/compare/v1.7.0+7...v1.7.0+8

[1.7.0+7]: https://github.com/refinedmods/refinedstorage/compare/v1.7.0+6...v1.7.0+7

[1.7.0+6]: https://github.com/refinedmods/refinedstorage/compare/v1.7.0+5...v1.7.0+6

[1.7.0+5]: https://github.com/refinedmods/refinedstorage/compare/v1.7.0+4...v1.7.0+5

[1.7.0+4]: https://github.com/refinedmods/refinedstorage/compare/v1.7.0+3...v1.7.0+4

[1.7.0+3]: https://github.com/refinedmods/refinedstorage/compare/v1.7.0+2...v1.7.0+3

[1.7.0+2]: https://github.com/refinedmods/refinedstorage/compare/v1.7.0+1...v1.7.0+2

[1.7.0+1]: https://github.com/refinedmods/refinedstorage/compare/v1.6.16...v1.7.0+1

[1.6.16]: https://github.com/refinedmods/refinedstorage/compare/v1.6.15...v1.6.16

[1.6.15]: https://github.com/refinedmods/refinedstorage/compare/v1.6.14...v1.6.15

[1.6.14]: https://github.com/refinedmods/refinedstorage/compare/v1.6.13...v1.6.14

[1.6.13]: https://github.com/refinedmods/refinedstorage/compare/v1.6.12...v1.6.13

[1.6.12]: https://github.com/refinedmods/refinedstorage/compare/v1.6.11...v1.6.12

[1.6.11]: https://github.com/refinedmods/refinedstorage/compare/v1.6.10...v1.6.11

[1.6.10]: https://github.com/refinedmods/refinedstorage/compare/v1.6.9...v1.6.10

[1.6.9]: https://github.com/refinedmods/refinedstorage/compare/v1.6.8...v1.6.9

[1.6.8]: https://github.com/refinedmods/refinedstorage/compare/v1.6.7...v1.6.8

[1.6.7]: https://github.com/refinedmods/refinedstorage/compare/v1.6.6...v1.6.7

[1.6.6]: https://github.com/refinedmods/refinedstorage/compare/v1.6.5...v1.6.6

[1.6.5]: https://github.com/refinedmods/refinedstorage/compare/v1.6.4...v1.6.5

[1.6.4]: https://github.com/refinedmods/refinedstorage/compare/v1.6.3...v1.6.4

[1.6.3]: https://github.com/refinedmods/refinedstorage/compare/v1.6.2...v1.6.3

[1.6.2]: https://github.com/refinedmods/refinedstorage/compare/v1.6.1...v1.6.2

[1.6.1]: https://github.com/refinedmods/refinedstorage/compare/v1.6.0...v1.6.1

[1.6.0]: https://github.com/refinedmods/refinedstorage/compare/v1.5.34...v1.6.0

[1.5.34]: https://github.com/refinedmods/refinedstorage/compare/v1.5.33...v1.5.34

[1.5.33]: https://github.com/refinedmods/refinedstorage/compare/v1.5.32...v1.5.33

[1.5.32]: https://github.com/refinedmods/refinedstorage/compare/v1.5.31...v1.5.32

[1.5.31]: https://github.com/refinedmods/refinedstorage/compare/v1.5.30...v1.5.31

[1.5.30]: https://github.com/refinedmods/refinedstorage/compare/v1.5.29...v1.5.30

[1.5.29]: https://github.com/refinedmods/refinedstorage/compare/v1.5.28...v1.5.29

[1.5.28]: https://github.com/refinedmods/refinedstorage/compare/v1.5.27-beta...v1.5.28

[1.5.27-beta]: https://github.com/refinedmods/refinedstorage/compare/v1.5.26-beta...v1.5.27-beta

[1.5.26-beta]: https://github.com/refinedmods/refinedstorage/compare/v1.5.25...v1.5.26-beta

[1.5.25]: https://github.com/refinedmods/refinedstorage/compare/v1.5.24...v1.5.25

[1.5.24]: https://github.com/refinedmods/refinedstorage/compare/v1.5.23...v1.5.24

[1.5.23]: https://github.com/refinedmods/refinedstorage/compare/v1.5.22...v1.5.23

[1.5.22]: https://github.com/refinedmods/refinedstorage/compare/v1.5.21...v1.5.22

[1.5.21]: https://github.com/refinedmods/refinedstorage/compare/v1.5.20...v1.5.21

[1.5.20]: https://github.com/refinedmods/refinedstorage/compare/v1.5.19...v1.5.20

[1.5.19]: https://github.com/refinedmods/refinedstorage/compare/v1.5.18...v1.5.19

[1.5.18]: https://github.com/refinedmods/refinedstorage/compare/v1.5.17...v1.5.18

[1.5.17]: https://github.com/refinedmods/refinedstorage/compare/v1.5.16...v1.5.17

[1.5.16]: https://github.com/refinedmods/refinedstorage/compare/v1.5.15...v1.5.16

[1.5.15]: https://github.com/refinedmods/refinedstorage/compare/v1.5.14...v1.5.15

[1.5.14]: https://github.com/refinedmods/refinedstorage/compare/v1.5.13...v1.5.14

[1.5.13]: https://github.com/refinedmods/refinedstorage/compare/v1.5.12...v1.5.13

[1.5.12]: https://github.com/refinedmods/refinedstorage/compare/v1.5.11...v1.5.12

[1.5.11]: https://github.com/refinedmods/refinedstorage/compare/v1.5.10...v1.5.11

[1.5.10]: https://github.com/refinedmods/refinedstorage/compare/v1.5.9...v1.5.10

[1.5.9]: https://github.com/refinedmods/refinedstorage/compare/v1.5.8...v1.5.9

[1.5.8]: https://github.com/refinedmods/refinedstorage/compare/v1.5.7...v1.5.8

[1.5.7]: https://github.com/refinedmods/refinedstorage/compare/v1.5.6...v1.5.7

[1.5.6]: https://github.com/refinedmods/refinedstorage/compare/v1.5.5-beta...v1.5.6

[1.5.5-beta]: https://github.com/refinedmods/refinedstorage/compare/v1.5.4-beta...v1.5.5-beta

[1.5.4-beta]: https://github.com/refinedmods/refinedstorage/compare/v1.5.3-beta...v1.5.4-beta

[1.5.3-beta]: https://github.com/refinedmods/refinedstorage/compare/v1.5.2-beta...v1.5.3-beta

[1.5.2-beta]: https://github.com/refinedmods/refinedstorage/compare/v1.5.1-beta...v1.5.2-beta

[1.5.1-beta]: https://github.com/refinedmods/refinedstorage/compare/v1.5.0-alpha...v1.5.1-beta

[1.5.0-alpha]: https://github.com/refinedmods/refinedstorage/compare/v1.4.20...v1.5.0-alpha

[1.4.20]: https://github.com/refinedmods/refinedstorage/compare/v1.4.19...v1.4.20

[1.4.19]: https://github.com/refinedmods/refinedstorage/compare/v1.4.18...v1.4.19

[1.4.18]: https://github.com/refinedmods/refinedstorage/compare/v1.4.17...v1.4.18

[1.4.17]: https://github.com/refinedmods/refinedstorage/compare/v1.4.16...v1.4.17

[1.4.16]: https://github.com/refinedmods/refinedstorage/compare/v1.4.15...v1.4.16

[1.4.15]: https://github.com/refinedmods/refinedstorage/compare/v1.4.14...v1.4.15

[1.4.14]: https://github.com/refinedmods/refinedstorage/compare/v1.4.13...v1.4.14

[1.4.13]: https://github.com/refinedmods/refinedstorage/compare/v1.4.12...v1.4.13

[1.4.12]: https://github.com/refinedmods/refinedstorage/compare/v1.4.11...v1.4.12

[1.4.11]: https://github.com/refinedmods/refinedstorage/compare/v1.4.10-beta...v1.4.11

[1.4.10-beta]: https://github.com/refinedmods/refinedstorage/compare/v1.4.9-beta...v1.4.10-beta

[1.4.9-beta]: https://github.com/refinedmods/refinedstorage/compare/v1.4.8-beta...v1.4.9-beta

[1.4.8-beta]: https://github.com/refinedmods/refinedstorage/compare/v1.4.7-beta...v1.4.8-beta

[1.4.7-beta]: https://github.com/refinedmods/refinedstorage/compare/v1.4.6-beta...v1.4.7-beta

[1.4.6-beta]: https://github.com/refinedmods/refinedstorage/compare/v1.4.5-beta...v1.4.6-beta

[1.4.5-beta]: https://github.com/refinedmods/refinedstorage/compare/v1.4.4-beta...v1.4.5-beta

[1.4.4-beta]: https://github.com/refinedmods/refinedstorage/compare/v1.4.3-beta...v1.4.4-beta

[1.4.3-beta]: https://github.com/refinedmods/refinedstorage/compare/v1.4.2-beta...v1.4.3-beta

[1.4.2-beta]: https://github.com/refinedmods/refinedstorage/compare/v1.4.1-beta...v1.4.2-beta

[1.4.1-beta]: https://github.com/refinedmods/refinedstorage/compare/v1.4.0-beta...v1.4.1-beta

[1.4.0-beta]: https://github.com/refinedmods/refinedstorage/compare/v1.3.5-alpha...v1.4.0-beta

[1.3.5-alpha]: https://github.com/refinedmods/refinedstorage/compare/v1.3.4-alpha...v1.3.5-alpha

[1.3.4-alpha]: https://github.com/refinedmods/refinedstorage/compare/v1.3.3-alpha...v1.3.4-alpha

[1.3.3-alpha]: https://github.com/refinedmods/refinedstorage/compare/v1.3.2-alpha...v1.3.3-alpha

[1.3.2-alpha]: https://github.com/refinedmods/refinedstorage/compare/v1.3.1-alpha...v1.3.2-alpha

[1.3.1-alpha]: https://github.com/refinedmods/refinedstorage/compare/v1.3.0-alpha...v1.3.1-alpha

[1.3.0-alpha]: https://github.com/refinedmods/refinedstorage/compare/v1.2.26...v1.3.0-alpha

[1.2.26]: https://github.com/refinedmods/refinedstorage/compare/v1.2.25...v1.2.26

[1.2.25]: https://github.com/refinedmods/refinedstorage/compare/v1.2.24...v1.2.25

[1.2.24]: https://github.com/refinedmods/refinedstorage/compare/v1.2.23...v1.2.24

[1.2.23]: https://github.com/refinedmods/refinedstorage/compare/v1.2.22...v1.2.23

[1.2.22]: https://github.com/refinedmods/refinedstorage/compare/v1.2.21...v1.2.22

[1.2.21]: https://github.com/refinedmods/refinedstorage/compare/v1.2.20...v1.2.21

[1.2.20]: https://github.com/refinedmods/refinedstorage/compare/v1.2.19...v1.2.20

[1.2.19]: https://github.com/refinedmods/refinedstorage/compare/v1.2.18...v1.2.19

[1.2.18]: https://github.com/refinedmods/refinedstorage/compare/v1.2.17...v1.2.18

[1.2.17]: https://github.com/refinedmods/refinedstorage/compare/v1.2.16...v1.2.17

[1.2.16]: https://github.com/refinedmods/refinedstorage/compare/v1.2.15...v1.2.16

[1.2.15]: https://github.com/refinedmods/refinedstorage/compare/v1.2.14...v1.2.15

[1.2.14]: https://github.com/refinedmods/refinedstorage/compare/v1.2.13...v1.2.14

[1.2.13]: https://github.com/refinedmods/refinedstorage/compare/v1.2.12...v1.2.13

[1.2.12]: https://github.com/refinedmods/refinedstorage/compare/v1.2.11...v1.2.12

[1.2.11]: https://github.com/refinedmods/refinedstorage/compare/v1.2.10...v1.2.11

[1.2.10]: https://github.com/refinedmods/refinedstorage/compare/v1.2.9...v1.2.10

[1.2.9]: https://github.com/refinedmods/refinedstorage/compare/v1.2.8...v1.2.9

[1.2.8]: https://github.com/refinedmods/refinedstorage/compare/v1.2.7...v1.2.8

[1.2.7]: https://github.com/refinedmods/refinedstorage/compare/v1.2.6...v1.2.7

[1.2.6]: https://github.com/refinedmods/refinedstorage/compare/v1.2.5...v1.2.6

[1.2.5]: https://github.com/refinedmods/refinedstorage/compare/v1.2.4...v1.2.5

[1.2.4]: https://github.com/refinedmods/refinedstorage/compare/v1.2.3...v1.2.4

[1.2.3]: https://github.com/refinedmods/refinedstorage/compare/v1.2.2...v1.2.3

[1.2.2]: https://github.com/refinedmods/refinedstorage/compare/v1.2.1...v1.2.2

[1.2.1]: https://github.com/refinedmods/refinedstorage/compare/v1.2.0...v1.2.1

[1.2.0]: https://github.com/refinedmods/refinedstorage/compare/v1.2.0-beta.8...v1.2.0

[1.2.0-beta.8]: https://github.com/refinedmods/refinedstorage/compare/v1.2.0-beta.7...v1.2.0-beta.8

[1.2.0-beta.7]: https://github.com/refinedmods/refinedstorage/compare/v1.2.0-beta.6...v1.2.0-beta.7

[1.2.0-beta.6]: https://github.com/refinedmods/refinedstorage/compare/v1.2.0-beta.5...v1.2.0-beta.6

[1.2.0-beta.5]: https://github.com/refinedmods/refinedstorage/compare/v1.2.0-beta.4...v1.2.0-beta.5

[1.2.0-beta.4]: https://github.com/refinedmods/refinedstorage/compare/v1.2.0-beta.3...v1.2.0-beta.4

[1.2.0-beta.3]: https://github.com/refinedmods/refinedstorage/compare/v1.2.0-beta.2...v1.2.0-beta.3

[1.2.0-beta.2]: https://github.com/refinedmods/refinedstorage/compare/v1.2.0-beta.1...v1.2.0-beta.2

[1.2.0-beta.1]: https://github.com/refinedmods/refinedstorage/compare/v1.1.3...v1.2.0-beta.1

[1.1.3]: https://github.com/refinedmods/refinedstorage/compare/v1.1.2...v1.1.3

[1.1.2]: https://github.com/refinedmods/refinedstorage/compare/v1.1.1...v1.1.2

[1.1.1]: https://github.com/refinedmods/refinedstorage/compare/v1.1.0...v1.1.1

[1.1.0]: https://github.com/refinedmods/refinedstorage/compare/v1.0.5...v1.1.0

[1.0.5]: https://github.com/refinedmods/refinedstorage/compare/v1.0.4...v1.0.5

[1.0.4]: https://github.com/refinedmods/refinedstorage/compare/v1.0.3...v1.0.4

[1.0.3]: https://github.com/refinedmods/refinedstorage/compare/v1.0.2...v1.0.3

[1.0.2]: https://github.com/refinedmods/refinedstorage/compare/v1.0.1...v1.0.2

[1.0.1]: https://github.com/refinedmods/refinedstorage/compare/v1.0.0...v1.0.1

[1.0.0]: https://github.com/refinedmods/refinedstorage/compare/v0.9.4-beta...v1.0.0

[0.9.4-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.9.3-beta...v0.9.4-beta

[0.9.3-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.9.2-beta...v0.9.3-beta

[0.9.2-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.9.1-beta...v0.9.2-beta

[0.9.1-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.9.0-beta...v0.9.1-beta

[0.9.0-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.8.20-beta...v0.9.0-beta

[0.8.20-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.8.19-beta...v0.8.20-beta

[0.8.19-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.8.18-beta...v0.8.19-beta

[0.8.18-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.8.17-beta...v0.8.18-beta

[0.8.17-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.8.16-beta...v0.8.17-beta

[0.8.16-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.8.15-beta...v0.8.16-beta

[0.8.15-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.8.14-beta...v0.8.15-beta

[0.8.14-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.8.13-beta...v0.8.14-beta

[0.8.13-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.8.12-beta...v0.8.13-beta

[0.8.12-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.8.11-beta...v0.8.12-beta

[0.8.11-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.8.10-beta...v0.8.11-beta

[0.8.10-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.8.9-beta...v0.8.10-beta

[0.8.9-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.8.8-beta...v0.8.9-beta

[0.8.8-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.8.7-beta...v0.8.8-beta

[0.8.7-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.8.6-beta...v0.8.7-beta

[0.8.6-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.8.5-beta...v0.8.6-beta

[0.8.5-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.8.4-beta...v0.8.5-beta

[0.8.4-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.8.3-beta...v0.8.4-beta

[0.8.3-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.8.2-beta...v0.8.3-beta

[0.8.2-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.8.1-beta...v0.8.2-beta

[0.8.1-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.8.0-beta...v0.8.1-beta

[0.8.0-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.7.19-beta...v0.8.0-beta

[0.7.19-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.7.18-beta...v0.7.19-beta

[0.7.18-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.7.17-beta...v0.7.18-beta

[0.7.17-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.7.16-beta...v0.7.17-beta

[0.7.16-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.7.15-beta...v0.7.16-beta

[0.7.15-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.7.14-beta...v0.7.15-beta

[0.7.14-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.7.13-beta...v0.7.14-beta

[0.7.13-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.7.12-beta...v0.7.13-beta

[0.7.12-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.7.11-beta...v0.7.12-beta

[0.7.11-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.7.10-beta...v0.7.11-beta

[0.7.10-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.7.9-beta...v0.7.10-beta

[0.7.9-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.7.8-beta...v0.7.9-beta

[0.7.8-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.7.7-beta...v0.7.8-beta

[0.7.7-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.7.6-beta...v0.7.7-beta

[0.7.6-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.7.5-beta...v0.7.6-beta

[0.7.5-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.7.4-beta...v0.7.5-beta

[0.7.4-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.7.3-beta...v0.7.4-beta

[0.7.3-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.7.2-beta...v0.7.3-beta

[0.7.2-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.7.1-beta...v0.7.2-beta

[0.7.1-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.7.0-beta...v0.7.1-beta

[0.7.0-beta]: https://github.com/refinedmods/refinedstorage/compare/v0.6.15-alpha...v0.7.0-beta

[0.6.15-alpha]: https://github.com/refinedmods/refinedstorage/compare/v0.6.14-alpha...v0.6.15-alpha

[0.6.14-alpha]: https://github.com/refinedmods/refinedstorage/compare/v0.6.13-alpha...v0.6.14-alpha

[0.6.13-alpha]: https://github.com/refinedmods/refinedstorage/compare/v0.6.12-alpha...v0.6.13-alpha

[0.6.12-alpha]: https://github.com/refinedmods/refinedstorage/compare/v0.6.11-alpha...v0.6.12-alpha

[0.6.11-alpha]: https://github.com/refinedmods/refinedstorage/compare/v0.6.10-alpha...v0.6.11-alpha

[0.6.10-alpha]: https://github.com/refinedmods/refinedstorage/compare/v0.6.9-alpha...v0.6.10-alpha

[0.6.9-alpha]: https://github.com/refinedmods/refinedstorage/compare/v0.6.8-alpha...v0.6.9-alpha

[0.6.8-alpha]: https://github.com/refinedmods/refinedstorage/compare/v0.6.7-alpha...v0.6.8-alpha

[0.6.7-alpha]: https://github.com/refinedmods/refinedstorage/compare/v0.6.6-alpha...v0.6.7-alpha

[0.6.6-alpha]: https://github.com/refinedmods/refinedstorage/compare/v0.6.5-alpha...v0.6.6-alpha

[0.6.5-alpha]: https://github.com/refinedmods/refinedstorage/compare/v0.6.4-alpha...v0.6.5-alpha

[0.6.4-alpha]: https://github.com/refinedmods/refinedstorage/compare/v0.6.3-alpha...v0.6.4-alpha

[0.6.3-alpha]: https://github.com/refinedmods/refinedstorage/compare/v0.6.2-alpha...v0.6.3-alpha

[0.6.2-alpha]: https://github.com/refinedmods/refinedstorage/compare/v0.6.1-alpha...v0.6.2-alpha

[0.6.1-alpha]: https://github.com/refinedmods/refinedstorage/compare/v0.6.0-alpha...v0.6.1-alpha

[0.6.0-alpha]: https://github.com/refinedmods/refinedstorage/compare/v0.5.6-alpha...v0.6.0-alpha

[0.5.6-alpha]: https://github.com/refinedmods/refinedstorage/compare/v0.5.5-alpha...v0.5.6-alpha

[0.5.5-alpha]: https://github.com/refinedmods/refinedstorage/compare/v0.5.4-alpha...v0.5.5-alpha

[0.5.4-alpha]: https://github.com/refinedmods/refinedstorage/compare/v0.5.3-alpha...v0.5.4-alpha

[0.5.3-alpha]: https://github.com/refinedmods/refinedstorage/compare/v0.5.2-alpha...v0.5.3-alpha

[0.5.2-alpha]: https://github.com/refinedmods/refinedstorage/compare/v0.5.1-alpha...v0.5.2-alpha

[0.5.1-alpha]: https://github.com/refinedmods/refinedstorage/compare/v0.5.0-alpha...v0.5.1-alpha

[0.5.0-alpha]: https://github.com/refinedmods/refinedstorage/compare/v0.4.1-alpha...v0.5.0-alpha

[0.4.1-alpha]: https://github.com/refinedmods/refinedstorage/compare/v0.4.0-alpha...v0.4.1-alpha

[0.4.0-alpha]: https://github.com/refinedmods/refinedstorage/compare/v0.3.0-alpha...v0.4.0-alpha

[0.3.0-alpha]: https://github.com/refinedmods/refinedstorage/compare/v0.2.1-alpha...v0.3.0-alpha

[0.2.1-alpha]: https://github.com/refinedmods/refinedstorage/compare/v0.2.0-alpha...v0.2.1-alpha

[0.2.0-alpha]: https://github.com/refinedmods/refinedstorage/compare/v0.1.1-alpha...v0.2.0-alpha

[0.1.1-alpha]: https://github.com/refinedmods/refinedstorage/compare/v0.1.0-alpha...v0.1.1-alpha

[0.1.0-alpha]: https://github.com/refinedmods/refinedstorage/releases/tag/v0.1.0-alpha


================================================
FILE: LICENSE.md
================================================
# The MIT License (MIT)

Copyright © 2015 - 2025 Refined Mods

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the “Software”), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.


================================================
FILE: README.md
================================================
<div align="center">
  <h2>⚠️ IMPORTANT NOTICE ⚠️</h2>
  <p><strong>This repository is for <em>Refined Storage v1.x</em>.</strong></p>
  <p>🚫 <strong>v1.x is no longer maintained, and we do not accept issues for it.</strong></p>
  <p>
    🛠 Please report all bugs, issues, and suggestions for <strong>Refined Storage v2.x</strong> in the<br>
    <a href="https://github.com/refinedmods/refinedstorage2/issues">Refined Storage 2 issue tracker</a>.
  </p>
</div>

<div align="center">
  <img width="280" alt="Refined Storage logo" src="https://raw.githubusercontent.com/refinedmods/refinedstorage/develop/images/logo.png" />
  <h1 style="margin-top: 0">Refined Storage</h1>
  <p>Refined Storage is a mass storage mod for Minecraft that offers the player a network-based storage system, allowing
them to store items and fluids on a massively expandable device network.</p>

[![Build Status](https://github.com/refinedmods/refinedstorage/actions/workflows/build.yml/badge.svg?branch=develop)](https://github.com/refinedmods/refinedstorage/actions/workflows/build.yml) [![Downloads on CurseForge](http://cf.way2muchnoise.eu/full_243076_downloads.svg)](http://minecraft.curseforge.com/projects/refined-storage) [![Downloads on Modrinth](https://img.shields.io/modrinth/dt/refined-storage?logo=modrinth)](https://modrinth.com/mod/refined-storage) [![Discord](https://img.shields.io/discord/342942776494653441)](https://discordapp.com/invite/VYzsydb) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE.md)
</div>

## About

Items and fluids can be stored in one of the many storage capabilities that the mod offers. Any storage devices
connected to the same network are accessible to the player through one simple Grid interface, allowing the player to
access the inventories of many devices through a single unified GUI.

This mod not only adds storage solutions, but also devices that can be used to manipulate items and blocks in the world
and from within the system, such as importers, exporters, constructors, destructors, and more! There are also devices in
this mod that allow the player to setup auto-crafting, allowing the crafting of complex recipes in a few simple clicks.

## Links

- [GitHub](https://github.com/refinedmods/refinedstorage)
    - [Releases](https://github.com/refinedmods/refinedstorage/releases)
    - [Packages](https://github.com/refinedmods/refinedstorage/packages)
    - [Issues](https://github.com/refinedmods/refinedstorage/issues)
    - [Refined Mods on GitHub](https://github.com/refinedmods)
- [CurseForge](https://curseforge.com/minecraft/mc-mods/refined-storage)
- [Modrinth](https://modrinth.com/mod/refined-storage)
- [Wiki](https://refinedmods.com/refined-storage/)
- [Javadoc](https://refinedmods.com/javadoc/refinedstorage)
- [Discord](https://discordapp.com/invite/VYzsydb)

## Building

Clone the repository and import the Gradle project.

## Contributing

See [CONTRIBUTING.md](.github/CONTRIBUTING.md).

## Support

See [SUPPORT.md](.github/SUPPORT.md).

## Changelog

See [CHANGELOG.md](CHANGELOG.md).


================================================
FILE: build.gradle
================================================
apply from: "https://raw.githubusercontent.com/refinedmods/refinedarchitect/v0.11.4/helper.gradle"

repositories {
    maven {
        name = 'JEI'
        url = "https://maven.blamejared.com/"
    }
    maven {
        url "https://www.cursemaven.com"
        content {
            includeGroup "curse.maven"
        }
    }
    maven {
        name = 'Curios'
        url = "https://maven.theillusivec4.top/"
    }
}

group = 'com.refinedmods'

forgeProject("refinedstorage")

archivesBaseName = 'refinedstorage'

enablePublishing()
enableCurseForge(243076)
enableModrinth("KDvYkUg3")
enableJavadoc()

dependencies {
    compileOnly "mezz.jei:jei-1.20.4-common-api:17.3.0.43"
    compileOnly "mezz.jei:jei-1.20.4-neoforge-api:17.3.0.43"
    runtimeOnly "mezz.jei:jei-1.20.4-neoforge:17.3.0.43"

    compileOnly "curse.maven:mouse-tweaks-60089:4776995"

    compileOnly 'curse.maven:crafting-tweaks-233071:4991559'

    implementation "top.theillusivec4.curios:curios-neoforge:7.2.0+1.20.4"
}


================================================
FILE: config/checkstyle/checkstyle.xml
================================================
<?xml version="1.0"?>
<!DOCTYPE module PUBLIC
        "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
        "https://checkstyle.org/dtds/configuration_1_3.dtd">
<module name="Checker">
    <property name="charset" value="UTF-8"/>
    <property name="fileExtensions" value="java, properties, xml"/>
</module>


================================================
FILE: docs/nav.json
================================================
[
  {
    "title": "Home",
    "ref": "index.adoc",
    "icon": "bi-house-fill"
  },
  {
    "title": "News",
    "ref": "news/index.adoc",
    "icon": "bi bi-newspaper"
  },
  {
    "title": "Release notes",
    "ref": "release-notes.adoc",
    "icon": "bi bi-file-earmark-text"
  },
  {
    "title": "Getting started",
    "ref": "getting-started.adoc",
    "icon": "bi-book"
  },
  {
    "title": "FAQ",
    "ref": "faq.adoc",
    "icon": "bi-question-circle-fill"
  },
  {
    "title": "Need help?",
    "ref": "need-help.adoc",
    "icon": "bi-person-raised-hand"
  },
  {
    "title": "Networking",
    "ref": "networking/index.adoc",
    "children": [
      {
        "ref": "networking/controller.adoc"
      },
      {
        "ref": "networking/creative-controller.adoc"
      },
      {
        "ref": "networking/cable.adoc"
      },
      {
        "ref": "networking/detector.adoc"
      },
      {
        "ref": "networking/relay.adoc"
      }
    ]
  },
  {
    "title": "Storage",
    "ref": "storage/index.adoc",
    "children": [
      {
        "ref": "storage/storing-externally.adoc"
      },
      {
        "ref": "storage/storing-fluids.adoc"
      },
      {
        "ref": "storage/disk-drive.adoc"
      },
      {
        "ref": "storage/external-storage.adoc"
      },
      {
        "ref": "storage/1k-storage-part.adoc"
      },
      {
        "ref": "storage/4k-storage-part.adoc"
      },
      {
        "ref": "storage/16k-storage-part.adoc"
      },
      {
        "ref": "storage/64k-storage-part.adoc"
      },
      {
        "ref": "storage/storage-housing.adoc"
      },
      {
        "ref": "storage/1k-storage-disk.adoc"
      },
      {
        "ref": "storage/4k-storage-disk.adoc"
      },
      {
        "ref": "storage/16k-storage-disk.adoc"
      },
      {
        "ref": "storage/64k-storage-disk.adoc"
      },
      {
        "ref": "storage/creative-storage-disk.adoc"
      },
      {
        "ref": "storage/1k-storage-block.adoc"
      },
      {
        "ref": "storage/4k-storage-block.adoc"
      },
      {
        "ref": "storage/16k-storage-block.adoc"
      },
      {
        "ref": "storage/64k-storage-block.adoc"
      },
      {
        "ref": "storage/creative-storage-block.adoc"
      },
      {
        "ref": "storage/64k-fluid-storage-part.adoc"
      },
      {
        "ref": "storage/256k-fluid-storage-part.adoc"
      },
      {
        "ref": "storage/1024k-fluid-storage-part.adoc"
      },
      {
        "ref": "storage/4096k-fluid-storage-part.adoc"
      },
      {
        "ref": "storage/64k-fluid-storage-disk.adoc"
      },
      {
        "ref": "storage/256k-fluid-storage-disk.adoc"
      },
      {
        "ref": "storage/1024k-fluid-storage-disk.adoc"
      },
      {
        "ref": "storage/4096k-fluid-storage-disk.adoc"
      },
      {
        "ref": "storage/creative-fluid-storage-disk.adoc"
      },
      {
        "ref": "storage/64k-fluid-storage-block.adoc"
      },
      {
        "ref": "storage/256k-fluid-storage-block.adoc"
      },
      {
        "ref": "storage/1024k-fluid-storage-block.adoc"
      },
      {
        "ref": "storage/4096k-fluid-storage-block.adoc"
      },
      {
        "ref": "storage/creative-fluid-storage-block.adoc"
      }
    ]
  },
  {
    "title": "Viewing resources",
    "ref": "viewing-resources/index.adoc",
    "children": [
      {
        "ref": "viewing-resources/how-to-view-resources.adoc"
      },
      {
        "ref": "viewing-resources/grid.adoc"
      },
      {
        "ref": "viewing-resources/crafting-grid.adoc"
      },
      {
        "ref": "viewing-resources/fluid-grid.adoc"
      },
      {
        "ref": "viewing-resources/storage-monitor.adoc"
      },
      {
        "ref": "viewing-resources/portable-grid.adoc"
      }
    ]
  },
  {
    "title": "Input and output",
    "ref": "input-and-output/index.adoc",
    "children": [
      {
        "ref": "input-and-output/getting-items-in-and-out.adoc"
      },
      {
        "ref": "input-and-output/importer.adoc"
      },
      {
        "ref": "input-and-output/exporter.adoc"
      },
      {
        "ref": "input-and-output/constructor.adoc"
      },
      {
        "ref": "input-and-output/destructor.adoc"
      },
      {
        "ref": "input-and-output/interface.adoc"
      },
      {
        "ref": "input-and-output/fluid-interface.adoc"
      },
      {
        "ref": "input-and-output/disk-manipulator.adoc"
      },
      {
        "ref": "input-and-output/reader.adoc"
      },
      {
        "ref": "input-and-output/writer.adoc"
      }
    ]
  },
  {
    "title": "Wireless networking",
    "ref": "wireless-networking/index.adoc",
    "children": [
      {
        "ref": "wireless-networking/networks-over-long-distances.adoc"
      },
      {
        "ref": "wireless-networking/wireless-transmitter.adoc"
      },
      {
        "ref": "wireless-networking/wireless-grid.adoc"
      },
      {
        "ref": "wireless-networking/wireless-crafting-grid.adoc"
      },
      {
        "ref": "wireless-networking/creative-wireless-grid.adoc"
      },
      {
        "ref": "wireless-networking/wireless-fluid-grid.adoc"
      },
      {
        "ref": "wireless-networking/creative-wireless-fluid-grid.adoc"
      },
      {
        "ref": "wireless-networking/wireless-crafting-monitor.adoc"
      },
      {
        "ref": "wireless-networking/creative-wireless-crafting-monitor.adoc"
      },
      {
        "ref": "wireless-networking/network-card.adoc"
      },
      {
        "ref": "wireless-networking/network-receiver.adoc"
      },
      {
        "ref": "wireless-networking/network-transmitter.adoc"
      }
    ]
  },
  {
    "title": "Autocrafting",
    "ref": "autocrafting/index.adoc",
    "children": [
      {
        "ref": "autocrafting/getting-started-with-autocrafting.adoc"
      },
      {
        "ref": "autocrafting/processing-recipes.adoc"
      },
      {
        "ref": "autocrafting/keeping-items-in-stock.adoc"
      },
      {
        "ref": "autocrafting/fluid-autocrafting.adoc"
      },
      {
        "ref": "autocrafting/keeping-fluids-in-stock.adoc"
      },
      {
        "ref": "autocrafting/autocrafting-with-filled-buckets.adoc"
      },
      {
        "ref": "autocrafting/locking-and-unlocking.adoc"
      },
      {
        "ref": "autocrafting/pattern-grid.adoc"
      },
      {
        "ref": "autocrafting/pattern.adoc"
      },
      {
        "ref": "autocrafting/crafter.adoc"
      },
      {
        "ref": "autocrafting/crafting-monitor.adoc"
      },
      {
        "ref": "autocrafting/crafter-manager.adoc"
      },
      {
        "ref": "autocrafting/processing-pattern-encoder.adoc"
      }
    ]
  },
  {
    "title": "Security",
    "ref": "security/index.adoc",
    "children": [
      {
        "ref": "security/security-manager.adoc"
      },
      {
        "ref": "security/security-card.adoc"
      }
    ]
  },
  {
    "title": "Upgrades",
    "ref": "upgrades/index.adoc",
    "children": [
      {
        "ref": "upgrades/upgrade.adoc"
      },
      {
        "ref": "upgrades/range-upgrade.adoc"
      },
      {
        "ref": "upgrades/speed-upgrade.adoc"
      },
      {
        "ref": "upgrades/stack-upgrade.adoc"
      },
      {
        "ref": "upgrades/crafting-upgrade.adoc"
      },
      {
        "ref": "upgrades/regulator-upgrade.adoc"
      },
      {
        "ref": "upgrades/fortune-upgrade.adoc"
      },
      {
        "ref": "upgrades/silk-touch-upgrade.adoc"
      },
      {
        "ref": "upgrades/interdimensional-upgrade.adoc"
      }
    ]
  },
  {
    "title": "Utility",
    "ref": "utility/index.adoc",
    "children": [
      {
        "ref": "utility/quartz-enriched-iron.adoc"
      },
      {
        "ref": "utility/block-of-quartz-enriched-iron.adoc"
      },
      {
        "ref": "utility/silicon.adoc"
      },
      {
        "ref": "utility/cut-silicon.adoc"
      },
      {
        "ref": "utility/wrench.adoc"
      },
      {
        "ref": "utility/cutting-tool.adoc"
      },
      {
        "ref": "utility/filter.adoc"
      },
      {
        "ref": "utility/processor-binding.adoc"
      },
      {
        "ref": "utility/raw-basic-processor.adoc"
      },
      {
        "ref": "utility/raw-improved-processor.adoc"
      },
      {
        "ref": "utility/raw-advanced-processor.adoc"
      },
      {
        "ref": "utility/basic-processor.adoc"
      },
      {
        "ref": "utility/improved-processor.adoc"
      },
      {
        "ref": "utility/advanced-processor.adoc"
      },
      {
        "ref": "utility/construction-core.adoc"
      },
      {
        "ref": "utility/destruction-core.adoc"
      },
      {
        "ref": "utility/machine-casing.adoc"
      },
      {
        "ref": "utility/solderer.adoc"
      },
      {
        "ref": "utility/cover.adoc"
      },
      {
        "ref": "utility/hollow-cover.adoc"
      }
    ]
  },
  {
    "title": "Advanced usage",
    "ref": "advanced-usage/index.adoc",
    "children": [
      {
        "ref": "advanced-usage/commands.adoc"
      },
      {
        "ref": "advanced-usage/profiling.adoc"
      },
      {
        "ref": "advanced-usage/resource-packs.adoc"
      },
      {
        "ref": "advanced-usage/translating-refined-storage.adoc"
      },
      {
        "ref": "advanced-usage/using-development-builds.adoc"
      },
      {
        "ref": "advanced-usage/using-the-api.adoc"
      }
    ]
  }
]

================================================
FILE: docs/pages/advanced-usage/commands.adoc
================================================
= Commands

[cols="1,1"]
|===
|Refined Storage version|Command      |Explanation

|v1.9.5 or higher        |`/refinedstorage disk create <player> <id>`|Creates a disk for a player by disk ID.
|v1.9.5 or higher        |`/refinedstorage disk list`|Lists all disks on the server.
|v1.9.5 or higher        |`/refinedstorage disk list <player>`|Lists all disks on the server, that the given player created.
|v1.9.5 or higher        |`/refinedstorage network list <dimension>`|Lists all networks in a dimension, sorted by highest tick time first.
|v1.9.5 or higher        |`/refinedstorage network get <dimension> <pos>`|Gets information about a network in a dimension and position.
|v1.9.5 or higher        |`/refinedstorage network get <dimension> <pos> autocrafting list`|Gets all autocrafting tasks for a network.
|v1.9.5 or higher        |`/refinedstorage network get <dimension> <pos> autocrafting get <id>`|Gets a specific autocrafting task in a network.
|v1.9.5 or higher        |`/refinedstorage network get <dimension> <pos> autocrafting cancel`|Cancels all autocrafting tasks in a network.
|v1.9.5 or higher        |`/refinedstorage network get <dimension> <pos> autocrafting cancel <id>`|Cancels a specific autocrafting task in a network.
|v1.9.5 or higher        |`/refinedstorage pattern dump`|Dumps information about the currently held xref:../autocrafting/pattern.adoc[]. Meant for debugging purposes.
|v1.6.x                  |`/createdisk`|See <<_createdisk>>.
|===

[#_createdisk]
== `/createdisk`

[.alert.alert-info]
****
This command is only available for Minecraft 1.12.2 on Refined Storage version v1.6.x.
****

Use the `/createdisk` command to spawn in a disk with a given ID.

=== Usage

`/createdisk <player> <item> <metadata> <id>`

==== Player

The player name to give the disk to.

==== Item

The item ID of the storage disk.
For Refined Storage this would be `refinedstorage:storage_disk` (or `refinedstorage:fluid_storage_disk` for fluid disks).

==== Metadata

The metadata value signifies the type of disk.

**Items**

[cols="1,1"]
|===
|Disk type|Metadata value

|1k|0
|4k|1
|16k|2
|64k|3
|Creative|4
|===

**Fluids**

[cols="1,1"]
|===
|Disk type|Metadata value

|64k|0
|256k|1
|1024k|2
|4096k|3
|Creative|4
|===

==== ID

The ID parameter is the ID of the disk.
A disk ID can be found by turning on advanced tooltips and checking the tooltip of the disk.

================================================
FILE: docs/pages/advanced-usage/index.adoc
================================================
= Advanced usage

- xref:commands.adoc[]
- xref:profiling.adoc[]
- xref:resource-packs.adoc[]
- xref:translating-refined-storage.adoc[]
- xref:using-development-builds.adoc[]
- xref:using-the-api.adoc[]


================================================
FILE: docs/pages/advanced-usage/profiling.adoc
================================================
= Profiling

If you have a performance, it's best to make a `.nps` file that you can send to the developers so that they can investigate further.

== Installing Sampler

Sampler is a mod by Player that generates .nps files.
You can download it from link:https://forum.industrial-craft.net/thread/10820[here].

=== For Minecraft 1.12

link:http://files.player.to/sampler-1.73.jar[http://files.player.to/sampler-1.73.jar]

=== For Minecraft 1.11

link:http://files.player.to/sampler-1.72.1.jar[http://files.player.to/sampler-1.72.1.jar]

=== For Minecraft 1.10

link:http://files.player.to/sampler-1.69.3.jar[http://files.player.to/sampler-1.69.3.jar]

== Running Sampler

Then you can `/sampler start` and `/sampler stop` while it's lagging.

Then a simple `/sampler export [name of exported nps file here]` will write out the .nps file that can be read by the developers in VisualVM.

== Where to run Sampler?

- Is it a performance on the server, like tick lag?
Run Sampler *on the server*, NOT on your client!
- Is it a performance on the client, like FPS lag?
Run Sampler *on the client*, NOT on your server!


================================================
FILE: docs/pages/advanced-usage/resource-packs.adoc
================================================
= Resource packs

== Color settings

You can change the text colors that Refined Storage uses in its GUIs by changing the `pack.mcmeta` file.

Example:

[source,json]
----
{
  "pack": {
    "pack_format": 4,
    "description": "An example"
  },
  "refinedstorage": {
    "primary_color": 11184810,
    "secondary_color": 11184810
  }
}
----

`primary_color` is used for the GUI titles, `secondary_color` is used for all the rest.

The color is an integer representation of an RGBA color.

================================================
FILE: docs/pages/advanced-usage/translating-refined-storage.adoc
================================================
= Translating Refined Storage

== How to create a translation

Copy link:https://github.com/refinedmods/refinedstorage/blob/develop/src/main/resources/assets/refinedstorage/lang/en_us.json[en_us.json] from Refined Storage GitHub repository to a text file on your computer and replace the texts with your language.

== How to submit your translation

* If you know Git well enough, you can contribute new language files via a pull request.
* If you do not know how to use Git/GitHub, upload the translation file to Pastebin or Gist and send it to me through a link:https://github.com/refinedmods/refinedstorage/issues[GitHub issue].

== Updating existing translations

You can compare the new and removed translation keys yourself, link:https://github.com/refinedmods/refinedstorage/blob/develop/tools/missing-translation-keys.sh[or use a Bash script] that outputs a diff between `en_US` and the version specified.

You can, of course, always diff manually using another tool, like the `diff` utility or an online diffing tool.


================================================
FILE: docs/pages/advanced-usage/using-development-builds.adoc
================================================
= Using development builds

You can use development builds straight from GitHub.

Follow the following steps:

- Head to the link:https://github.com/refinedmods/refinedstorage/actions/workflows/build.yml[list of builds].
- Click on the commit that you want a build of.
- Download "Artifacts".

== Disclaimer

- Using development builds is a risk!
- It may contain untested code, bugs and crashes.
- Remember to take backups.

================================================
FILE: docs/pages/advanced-usage/using-the-api.adoc
================================================
= Using the API

== For Minecraft 1.18.2 or later

Starting from Minecraft 1.18, you can include the Refined Storage API in your development environment from 2 sources:

=== GitHub packages

Add the following repository to your `build.gradle`:

[source,groovy]
----
repositories {
    maven {
        url = uri("https://maven.pkg.github.com/refinedmods/refinedstorage")
        credentials {
            username = "anything"
            password = "\u0067hp_oGjcDFCn8jeTzIj4Ke9pLoEVtpnZMP4VQgaX"
        }
    }
}
----

The credentials are necessary because as of December 2021, GitHub packages still requires authentication for public packages.
The password used is a personal access token that has read access to the Refined Mods repositories.
It can be reused in other projects.

See:

* https://github.community/t/download-from-github-package-registry-without-authentication/14407/38
* https://github.community/t/download-from-github-package-registry-without-authentication/14407/44

You can find a list of versions on link:https://github.com/orgs/refinedmods/packages[GitHub packages].

=== CreeperHost Maven

Add the following repository to your `build.gradle`:

[source,groovy]
----
repositories {
    maven {
        url = uri("https://maven.creeperhost.net")
    }
}
----

You can find a list of versions on the link:https://maven.creeperhost.net/com/refinedmods/refinedstorage[Maven index].

**Warning:** Due to a bug in the Maven index on CreeperHost, new versions aren't included in the index.
However, you can use them in your Gradle dependency.

For example, version `1.10.2` isn't included in the Maven index, but you can use `1.10.2` in your Gradle dependency when using CreeperHost Maven.

== For older Minecraft versions

Some Refined Storage API versions for older Minecraft versions are available on the link:https://maven.creeperhost.net/com/refinedmods/refinedstorage[CreeperHost Maven].

However, not all of them are available.
If you need a specific version, build Refined Storage yourself and include the API manually.

== Including the API

[source,groovy]
----
implementation fg.deobf("com.refinedmods:refinedstorage:VERSION_HERE") {
    transitive false
}
----

== Using the API

Use the `@RSAPIInject` annotation to get access to the API facade.

[source,java]
----
public class MyMod {
    @RSAPIInject
    public static IRSAPI RSAPI;
}
----

== Javadoc

Updated Javadoc is available after every release link:https://refinedmods.com/javadoc/refinedstorage[here].


================================================
FILE: docs/pages/autocrafting/autocrafting-with-filled-buckets.adoc
================================================
= Autocrafting with filled buckets

Some crafting recipes may require a filled fluid bucket.
To use fluids from your fluid storage to fill buckets, you can set up a xref:pattern.adoc#_processing[processing pattern] that has following inputs:

- 1 empty bucket
- 1000 mB of the fluid of your choice

For the output:

- 1 filled bucket

Put that in a xref:crafter.adoc[] that faces a bucket filling machine (link:https://teamcofh.com/docs/thermal-expansion/fluid-transposer/[that for example Thermal Expansion has]).
Refined Storage will output the fluid from your fluid storage, and, an empty bucket.
It is up to the external machine to fill it.

================================================
FILE: docs/pages/autocrafting/crafter-manager.adoc
================================================
= Crafter Manager
:icon: crafter-manager.png
:from: v1.5.33

The Crafter Manager is a block that allows you to see all your xref:pattern.adoc[patterns] in one GUI.

== Naming

All the xref:pattern.adoc[patterns] are listed and categorized per xref:crafter.adoc[].
The categorization is based on the name of the xref:crafter.adoc[].

To decide which name a xref:crafter.adoc[] gets, the following rules (in order) are used:

1. If the xref:crafter.adoc[] is renamed with a Minecraft link:https://minecraft.gamepedia.com/Anvil[Anvil], use that name
2. If the xref:crafter.adoc[] is connected to a machine in the world, use the name of that machine
3. Use "Crafter" as name

== Sizes

One can configure the Crafter Manager size:

- Stretched (default)
- Small
- Medium
- Large

When choosing the stretched size, the Crafter Manager will take up all the vertical screen space.
This can be limited through the `maxRowsStretch` config option.

include::../../partials/search-box.adoc[]

include::../../partials/recoloring.adoc[]

================================================
FILE: docs/pages/autocrafting/crafter.adoc
================================================
= Crafter
:icon: crafter.png
:from: v0.6.0-alpha

The {doctitle} is a block that crafts items with xref:pattern.adoc[patterns].
It can take xref:../upgrades/speed-upgrade.adoc[speed upgrades] to increase the crafting speed.

With processing xref:pattern.adoc[patterns], the {doctitle} has to face the correct input side of the machine.

[#_chaining]
== Chaining

A {doctitle} can be chained by letting them face each other.

This is useful when connecting a {doctitle} to a single machine.
When you run out of slots in your first {doctitle}, the one facing the machine, you can put another {doctitle} behind the first {doctitle} to get additional xref:pattern.adoc[] slots.

== {doctitle} modes

The {doctitle} has 4 modes:

- Ignore redstone signal (default)
- Redstone signal unlocks autocrafting
- Redstone signal locks autocrafting
- Redstone pulse inserts next set

The (un)locking mechanism is used to block the {doctitle}, so it can't insert items or fluids into the connected inventory.

"Blocking mode" can be achieved with the "Redstone pulse inserts next set" mode.

See xref:locking-and-unlocking.adoc[] for more details.

include::../../partials/recoloring.adoc[]

== Applicable upgrades

- xref:../upgrades/speed-upgrade.adoc[]

================================================
FILE: docs/pages/autocrafting/crafting-monitor.adoc
================================================
= Crafting Monitor
:icon: crafting-monitor.png
:from: v0.6.0-alpha

The {doctitle} is a block that shows all the current running crafting tasks and how long they have been running.

Each crafting task can be cancelled manually.
It is also possible to cancel all crafting tasks at once.

Per task, it shows a grid of cells, each containing information about how an item or fluid is used in the crafting task.
This is what the terminology in those cells mean:

- Stored: the item or fluid is stored in the internal inventory of the crafting task, and will be used later on
- Missing: the crafting task cannot continue without this item or fluid as it's missing
- Processing: the item or fluid displayed is currently inserted into an external machine and is processing
- Scheduled: the item or fluid is scheduled to be made by inserting it's ingredients in an external machine later
- Crafting: this item is being crafted (regular crafting, not processing)

== Sizes

The size of any {doctitle} can be configured as well:

- Stretched (default)
- Small
- Medium
- Large

When choosing the stretched size, the {doctitle} will take up all the vertical screen space.
This can be limited through the `maxRowsStretch` config option.

include::../../partials/recoloring.adoc[]


================================================
FILE: docs/pages/autocrafting/fluid-autocrafting.adoc
================================================
= Fluid autocrafting

So far you've set up autocrafting for items.
Since Refined Storage has support for xref:../storage/storing-fluids.adoc[storing fluids] as well, it speaks for itself that Refined Storage can also autocraft with fluids.

Every autocrafting pattern that uses fluids is a processing pattern.
If you forgot, a processing pattern is a xref:pattern.adoc[] that outputs items to an external inventory and expects an output back, as declared in the xref:pattern.adoc[].

With fluid autocrafting, you get the ability to make the xref:crafter.adoc[] output fluids (or items), and when the "result" fluid (or item) is back in the storage network, Refined Storage will detect the task and mark it as finished.

This means that you can also declare fluids as an output in the processing pattern.
It also means that you can request fluids from the xref:../viewing-resources/fluid-grid.adoc[].

You can mix fluid and item inputs/outputs freely.

== Creation of the mixed pattern

To make a mixed (fluid or item) processing pattern, toggle the xref:pattern-grid.adoc[] in fluid or item mode.

You can then use link:https://minecraft.curseforge.com/projects/jei[JEI (Just Enough Items)] transfer to transfer item and fluid ingredients.
You can also use a filled fluid container (like a bucket) to specify the fluid.

Use left or right click on the fluid slot to modify the millibuckets (mB).

== Other resources

- link:https://www.youtube.com/watch?v=6v-e_NdLEnI[Demo video]

================================================
FILE: docs/pages/autocrafting/getting-started-with-autocrafting.adoc
================================================
= Getting started with autocrafting

== What is autocrafting?

Autocrafting is automated crafting through Refined Storage.

You can already craft items manually using items from your storage network with the xref:../viewing-resources/crafting-grid.adoc[], but autocrafting makes it a tad bit easier and automated.

Instead of manually moving items in the crafting matrix, you can make Refined Storage do all the work.

== Patterns

To teach Refined Storage a recipe to craft we use a xref:pattern-grid.adoc[].
This xref:pattern-grid.adoc[] creates xref:pattern.adoc[patterns].

A xref:pattern.adoc[] contains the recipe of the item you want to craft.

== Pattern dependencies

You need to create a xref:pattern.adoc[] for each sub-item you want automatically crafted.

Refined Storage will first try to extract the sub-item from your storage, but if it isn't available, it will fall back to the xref:pattern.adoc[] of the sub-item to know how to create it.
If there is no xref:pattern.adoc[] for the sub-item, the sub-item will be displayed as "missing" and the autocrafting task can't run.

== Example

You want to autocraft link:https://minecraft.gamepedia.com/Chest[chests].

- Create a xref:pattern.adoc[] for the chest
- Create a xref:pattern.adoc[] for the wooden planks that are used to craft the chest
- If you don't create the pattern, and you have wooden planks, than Refined Storage will be able to use those
- If you run out of planks, Refined Storage will not know what to do
- If you don't create the pattern, and you don't have wooden planks, than Refined Storage will not know how to craft this item and the crafting task can't

== Exact mode

Exact mode is turned on by default which means every xref:pattern.adoc[] is an "exact pattern".
This means Refined Storage takes items exactly as defined in the xref:pattern.adoc[]

When Exact mode is turned off it will also match for other acceptable inputs for that crafting recipe (other types of wood, etc).

== Crafters

Once you created your xref:pattern.adoc[patterns], craft a xref:crafter.adoc[] and connect it to your storage network.

In those xref:crafter.adoc[crafters] you'll store all your xref:pattern.adoc[patterns].

== Requesting an item

As soon as the relevant xref:pattern.adoc[patterns] to craft an item are stored in a xref:crafter.adoc[], you will be able to request the item through any xref:../viewing-resources/grid.adoc[].

You can do this by clicking on the item you want to autocraft.
If the item is already available and you want to request more of that item, you can use the CTRL + SHIFT key combination to open the crafting window.

When requesting an item, Refined Storage will first ask how many of that item you want to craft.
Then, it will show you what items it will take or craft.

You can't start an autocrafting task if you have insufficient resources, unless you have the ability to autocraft those resources.

== How autocrafting works internally

Initially, when the autocrafting task is started, all the "initial" needed items and fluids are extracted from the storage network and inserted into the internal storage of the autocrafting task (crafting storage).

All further actions to those items are performed in the internal storage, so the network doesn't "see" any changes while the task is running.

Because all the subcrafts are done in the internal storage, the storage network can not "steal" items from autocrafting tasks.

When an item is inserted through an xref:../input-and-output/importer.adoc[] or xref:../input-and-output/interface.adoc[], it will first go through the internal storage of autocrafting.
That is prioritized.
If the autocrafting task deems the item or fluid as necessary, it will be intercepted and the storage network will receive nothing.

== Monitoring your crafting tasks

Craft a xref:crafting-monitor.adoc[] and connect it to your storage network to see how the crafting task is progressing.

You can also cancel autocrafting tasks from there.

You can also use a xref:../wireless-networking/wireless-crafting-monitor.adoc[] to see the running crafting tasks remotely from your inventory.

== Managing your patterns in a convenient way

Want a convenient way to access all your xref:pattern.adoc[patterns] in the xref:crafter.adoc[crafters] of your storage network?
Use the xref:crafter-manager.adoc[].

== Speeding up your crafting tasks

Insert xref:../upgrades/speed-upgrade.adoc[speed upgrades] in the xref:crafter.adoc[crafters].

================================================
FILE: docs/pages/autocrafting/index.adoc
================================================
= Autocrafting

- xref:getting-started-with-autocrafting.adoc[]
- xref:processing-recipes.adoc[]
- xref:keeping-items-in-stock.adoc[]
- xref:fluid-autocrafting.adoc[]
- xref:keeping-fluids-in-stock.adoc[]
- xref:autocrafting-with-filled-buckets.adoc[]
- xref:locking-and-unlocking.adoc[]
- xref:pattern-grid.adoc[]
- xref:pattern.adoc[]
- xref:crafter.adoc[]
- xref:crafting-monitor.adoc[]
- xref:crafter-manager.adoc[]
- xref:processing-pattern-encoder.adoc[]


================================================
FILE: docs/pages/autocrafting/keeping-fluids-in-stock.adoc
================================================
= Keeping fluids in stock

Keeping fluids in stock work the same way as xref:keeping-items-in-stock.adoc[keeping items in stock].

Create a xref:../input-and-output/fluid-interface.adoc[] with a xref:../upgrades/crafting-upgrade.adoc[] in it.
Then, specify the fluid that you want to keep in stock by clicking a fluid container (like a bucket) in the "out" slot.
You can change the amount by left or right clicking on the fluid.
The fluids will now be autocrafted if needed.

To make the stocked fluids available to your storage network, create an xref:../storage/external-storage.adoc[] and put it on the xref:../input-and-output/fluid-interface.adoc[].
Put the xref:../storage/external-storage.adoc[] in fluid mode.

Make sure the xref:../storage/external-storage.adoc[] is in "extract-only" mode.
That way, Refined Storage won't attempt to insert fluids in the xref:../input-and-output/fluid-interface.adoc[] that is meant for keeping in stock.


================================================
FILE: docs/pages/autocrafting/keeping-items-in-stock.adoc
================================================
= Keeping items in stock

Create an xref:../input-and-output/interface.adoc[] with a xref:../upgrades/crafting-upgrade.adoc[] in it.
Then, specify the items that you want to keep in stock.
The items will now be autocrafted if needed.

To make the stocked items available to your storage network, create an xref:../storage/external-storage.adoc[] and put it on the xref:../input-and-output/interface.adoc[].

Make sure the xref:../storage/external-storage.adoc[] is in "extract-only" mode.
That way, Refined Storage won't attempt to insert items in the xref:../input-and-output/interface.adoc[] that is meant for keeping in stock.


================================================
FILE: docs/pages/autocrafting/locking-and-unlocking.adoc
================================================
= Locking and unlocking
:from: v1.6.6

The xref:crafter.adoc[] in Refined Storage supports locking mechanisms.

Locking and unlocking a xref:crafter.adoc[] only applies to processing recipes.

The locking and unlocking functionality also has to be enabled by configuring the xref:crafter.adoc[] mode.

== Crafter modes

=== Ignore redstone signal (default)

Ignores redstone signals.
This is the default.

=== Redstone signal locks autocrafting

- If a xref:crafter.adoc[] is locked, it can't insert items or fluids to the connected inventory.
- If a xref:crafter.adoc[] is unlocked, it can insert items or fluids to the connected inventory.

=== Redstone signal unlocks autocrafting

This is the opposite of the "Redstone signal locks autocrafting" mode.

=== Redstone pulse inserts next set

This mode was primarily introduced to support a concept called "blocking mode".

Blocking mode is primarily utilised for processing recipes, where the machine that does the processing can only handle 1 recipe at a time.

If the xref:crafter.adoc[] is in "Redstone pulse inserts next set" mode, this is the flow:

- The xref:crafter.adoc[] will automatically go in an unlocked state
- As soon as you request a recipe in this xref:crafter.adoc[], it will send out 1 set of items and fluids defined in the xref:pattern.adoc[]
- The xref:crafter.adoc[] now goes in a locked state, and it won't push out any more items and fluids
- The xref:crafter.adoc[] will stay locked until it receives a redstone pulse

When you apply a redstone pulse:

- The xref:crafter.adoc[] will unlock itself
- The xref:crafter.adoc[] pushes the next set of items and fluids, if any
- If there were any items and fluids to push, the xref:crafter.adoc[] will lock itself again

Generally, you'd apply a redstone signal if the recipe you're processing has completed.
It is up to the player to handle that.

== Common mistakes with "Redstone pulse inserts next set"

- Wrong redstone flow causes the xref:crafter.adoc[] to lock when it is supposed to unlock
- When testing your contraption, accidentally locking the xref:crafter.adoc[] and then wondering why your xref:crafter.adoc[] doesn't process anything next time you request something

=== Crafter deadlock

If you use an xref:../input-and-output/importer.adoc[] on a chest to import the final processed item, and also using a comparator to send the redstone signal to the xref:crafter.adoc[] to unlock again:

- If the xref:../input-and-output/importer.adoc[] imports too fast AND
- the comparator doesn't pick up the item being in the chest AND
- by not picking up the item, thus, not sending out a redstone signal

You'd cause a deadlock because the xref:crafter.adoc[] doesn't receive a redstone pulse, and the xref:crafter.adoc[] would keep waiting forever.

The solution for this is to only enable the xref:../input-and-output/importer.adoc[] AFTER the redstone pulse is sent to the xref:crafter.adoc[].
Use the xref:../input-and-output/importer.adoc[] redstone settings to achieve this.

== Other resources

- link:https://www.youtube.com/watch?v=c9s-IfDPKxw[Demo video]

================================================
FILE: docs/pages/autocrafting/pattern-grid.adoc
================================================
= Pattern Grid
:icon: pattern-grid.png
:from: v0.6.0-alpha

The {doctitle} is the same as a regular xref:../viewing-resources/grid.adoc[], but also allows for the creation of xref:pattern.adoc[patterns].

== Mode

By default, the {doctitle} creates regular crafting xref:pattern.adoc[patterns].

To create processing xref:pattern.adoc[patterns], toggle the "processing" checkbox.

== Allowed tags

The allowed tags system in Refined Storage allows the player to decide which items or fluids can be used as alternatives when the specified item or fluid isn't found in the storage network.

These tags are retrieved from link:https://minecraft.gamepedia.com/Tag[Minecraft's tag system].
You can specify the allowed tags in the {doctitle}.

To define valid alternatives for an item or fluid, use CTRL + click on the input slot and specify the allowed tags that can be used during autocrafting.
Items or fluids from that tag are then marked as valid alternatives if the original item or fluid can't be found in the storage network.

You can also define valid alternatives by clicking on the item or fluid and then clicking on "Alternatives".

== Ore dictionary (Refined Storage v1.6.x or lower only)

To create ore dictionary sensitive xref:pattern.adoc[patterns], toggle the "oredict" checkbox.

== Modifying a pattern

You can re-insert a xref:pattern.adoc[] in the output slot to modify and (possibly) override it.

== Recipe transferring

The {doctitle} integrates with link:https://minecraft.curseforge.com/projects/jei[JEI (Just Enough Items)] so the player can use recipe transferring.

You don't necessarily need the actual items in your storage network to create a xref:pattern.adoc[] for it.

Refined Storage will notify you when you have a xref:pattern.adoc[] for an item configured when transferring a recipe.

== Manual input/output configuration

Click an item or fluid in the slots to configure the xref:pattern.adoc[].

Click on the item or fluid to change the quantity.

Use CTRL + click to modify the allowed tags for the input slot (Minecraft 1.14.4 and above).

Use shift to clear the slot.

include::../../partials/recoloring.adoc[]

================================================
FILE: docs/pages/autocrafting/pattern.adoc
================================================
= Pattern
:icon: pattern.png
:from: v0.6.0-alpha

A {doctitle} is an item that is used in autocrafting.
It stores the recipe that should be autocrafted.

A recipe can be assigned with the xref:pattern-grid.adoc[] and the {doctitle} is stored in a xref:crafter.adoc[].

[#_processing]
== Processing

If the {doctitle} is in processing mode, it will push the inputs to the connected inventory of the xref:crafter.adoc[].

== Exact mode (patterns in crafting mode)

Exact mode is turned on by default which means every {doctitle} is an "exact pattern".
This means Refined Storage takes items exactly as defined in the {doctitle}.

When Exact mode is turned off it will also match for other acceptable inputs for that crafting recipe.

Exact mode can't be set for patterns in processing mode.
For processing mode, see the section about allowed tags.

== Allowed tags (patterns in processing mode)

The allowed tags system in Refined Storage allows the player to decide which items or fluids can be used as alternatives when the original specified item or fluid isn't found in the storage network.

These tags are retrieved from link:https://minecraft.gamepedia.com/Tag[Minecraft's tag system].
You can specify the allowed tags in the xref:pattern-grid.adoc[].

== Ore dictionary mode (Refined Storage v1.6.x or lower only)

The {doctitle} can be configured to be an ore dictionary pattern.
Instead of extracting the exact item, it'll try to extract equivalent items according to the ore dictionary as well.

== Clearing

Use SHIFT + right click in your inventory while holding the {doctitle} to clear it.
You can also override the {doctitle} in the xref:pattern-grid.adoc[].

== Modifying

You can re-insert a {doctitle} in the output slot of the xref:pattern-grid.adoc[] to modify and (possibly) override it.

================================================
FILE: docs/pages/autocrafting/processing-pattern-encoder.adoc
================================================
= Processing Pattern Encoder
:icon: processing-pattern-encoder.png
:from: v0.6.0-alpha
:to: v1.5.6

[.alert.alert-warning]
****
The {doctitle} has been removed in v1.5.6 and its functionality has been moved to the xref:pattern-grid.adoc[].
****

A {doctitle} is used to create xref:pattern.adoc[patterns] meant for machine automation.

It takes up to 9 inputs and 9 outputs, so the storage network knows what to take and what to expect.

This block can't be connected to a storage network.

== Recipe transferring

The {doctitle} integrates with link:https://minecraft.curseforge.com/projects/jei[JEI (Just Enough Items)] so the player can use recipe transferring.

When using this, Refined Storage will use the inputs and outputs that the link:https://minecraft.curseforge.com/projects/jei[JEI] recipe has.

================================================
FILE: docs/pages/autocrafting/processing-recipes.adoc
================================================
= Processing recipes

== What are processing recipes?

So far, in xref:getting-started-with-autocrafting.adoc[] you learnt how to automate regular crafting recipes.

What if you want to automate the creation of items that don't involve a crafting recipe, like ores to ingots in a furnace?

For this you use processing xref:pattern.adoc[patterns].

== Processing patterns

You can create processing xref:pattern.adoc[patterns] in the xref:pattern-grid.adoc[] by toggling the "processing" checkbox.

The GUI will change and it'll allow you to define up to 9 inputs and outputs.

- Inputs is what Refined Storage will extract from your storage network.
- Outputs are what Refined Storage expects back in the network when the item has processed.

== Example

Let's say you want to automate link:https://minecraft.gamepedia.com/Iron_Ore[Iron Ore] to link:https://minecraft.gamepedia.com/Iron_Ingot[Iron Ingot].

- In the input section you put 1 link:https://minecraft.gamepedia.com/Iron_Ore[Iron Ore].
- In the output section you put 1 link:https://minecraft.gamepedia.com/Iron_Ingot[Iron Ingot].

== Inserting the pattern

Make a xref:crafter.adoc[] and let it face the machine in a way it can input it in the correct slot.

Insert the processing xref:pattern.adoc[] you just created in the xref:crafter.adoc[] facing the machine.

When you now request the item, Refined Storage will insert the inputs in the machine.

You do need to get the item manually back in the storage network so Refined Storage knows that the item has been processed.
You can use any device to get the item back in the storage network, like an xref:../input-and-output/interface.adoc[] or xref:../input-and-output/importer.adoc[].

== Allowed tags

The allowed tags system in Refined Storage allows the player to decide which items or fluids can be used as alternatives when the original specified item or fluid isn't found in the storage network.

These tags are retrieved from Minecraft's tag system.
You can specify the allowed tags in the xref:pattern-grid.adoc[].

== Chaining crafters

You can xref:crafter.adoc#_chaining[chain crafters] to connect multiple xref:crafter.adoc[crafters] to the same machine.

================================================
FILE: docs/pages/faq.adoc
================================================
= Frequently asked questions (FAQ)

== I have an idea for a feature that can be toggled on or off with an config option!

Refined Storage doesn't do config options for features or things that change behavior in general.
Why not?

- The experience players have with Refined Storage can differ between modpacks and that can be confusing
- Issues will be created by players wondering why their favorite feature doesn't work in modpack A, but does in modpack B
- Putting features or behaviors behind a config option makes it harder to maintain
- With bug reports we'd have to ask if the feature is toggled on or off in the config
- Bugs might get noticed later since it's behind a config option and thus less visible

== Not including "X" in Refined Storage makes this mod useless when mods like "Y" aren't installed!

The philosophy of the mod is to have as less overlap with other mods and to only focus on the storage network part of the mod.
If other mods are required to achieve something, that isn't a problem.

Examples:

- Autocrafting needs an external bucket filling machine in order to convert fluids to buckets
- Energy that Refined Storage uses needs to be generated with another mod

== What is the difference between Refined Storage and Applied Energistics?

Refined Storage is the simpler of the two and was heavily based off of AE1.

AE2 has been around for years and was a direct descendent of AE1, while RS is much younger and started mostly scratch with AE (both versions) as inspiration.

A lot of people prefer the simplicity of RS, while a similarly large portion of people prefer AE2's complexity due to enjoying the puzzle aspects.

== Can I use this mod in my private/public mod pack?

Yes, you don't need to ask permission.

== Can I connect Refined Storage to my Applied Energistics 2 system, or vice-versa?

No, you can't.

You might've found an issue on our issue tracker that says you can, but no, you can't.

== Is there a Refined Storage for MC 1.7.10?

No, there isn't.

== Will you make a Refined Storage for MC 1.7.10?

No, I won't.

== Is there a way to have infinite Wireless Transmitter range?

It's not possible if you're using the base Refined Storage mod, or Refined Storage Addons.
You'll have to find an addon mod which does add such functionality.

Alternatively, you can increase the range in the Refined Storage config file to be infinite.

== Is there a way to request autocrafting in the Grid if I already have the item or fluid?

Yes!
There are many helpful key and mouse bindings for the xref:viewing-resources/grid.adoc#_controls[grid].

== I found an issue/bug with Refined Storage!

Head over to our link:https://github.com/refinedmods/refinedstorage/issues[issue tracker on GitHub] and report it there.

================================================
FILE: docs/pages/getting-started.adoc
================================================
= Getting started

== Core concepts

Refined Storage is a storage mod where you can build a storage network made up of devices.
Those devices manipulate your storage.

In this tutorial:

- You'll craft a xref:storage/disk-drive.adoc[].
A xref:storage/disk-drive.adoc[] can contain item or fluid storage disks.
Those disks will provide your storage network with storage.
If you insert or extract an item, it will use the data on your disks.
- You'll craft a xref:viewing-resources/grid.adoc[].
Through that block, you can modify your storage (which will modify the data on your disks).
- Before crafting any of these devices, you'll first craft a xref:networking/controller.adoc[], which ties the entire network together.

== A minimal setup

=== Step 0: Install Refined Storage (if necessary)

Ensure that the modpack that you are playing contains Refined Storage.
You can validate this by checking the modlist of your modpack.

If your modpack doesn't have Refined Storage installed, or you are creating your own modpack, xref:how-to-install.adoc[check the installation instructions here].

It might also be helpful to know that Refined Storage xref:how-to-install.adoc#_optional_dependencies[has integration with various other mods].

=== Step 1: The Controller

Craft the xref:networking/controller.adoc[].
The xref:networking/controller.adoc[] is the "core" of your storage network.
You'll be connecting all the Refined Storage devices to this block.

The xref:networking/controller.adoc[] needs energy.
More specifically, Forge Energy or RF.
Lots of mods that generate energy support this.

=== Step 2: Storage and accessing your items

Craft a xref:storage/disk-drive.adoc[] and a xref:storage/1k-storage-disk.adoc[] to store your items.

You can craft a higher tier of xref:storage/index.adoc#_storage_disks[storage disk], but for simplicity sake we're going for a 1k, which can store 1.000 items.

Put the xref:storage/1k-storage-disk.adoc[] in the xref:storage/disk-drive.adoc[] and craft a xref:viewing-resources/grid.adoc[] to access your items.

Connect those blocks to the xref:networking/controller.adoc[] with xref:networking/cable.adoc[], but you can also just place them next to each other in any direction.

=== Step 3: Viewing your storage

You are now able to insert and extract items in the xref:viewing-resources/grid.adoc[].

== Disks in block form

You can also use the various xref:storage/index.adoc#_storage_blocks[storage blocks] instead of xref:storage/index.adoc#_storage_disks[storage disks].

================================================
FILE: docs/pages/how-to-install.adoc
================================================
= How to install

Installing Refined Storage is the same as for any other Forge mod.

== Setting up Forge

You'll need a working Forge instance to use Refined Storage.
You can use launchers like MultiMC or even the vanilla launcher to do this.

Instructions for setting up a Forge instance are plenty online and are out of scope for this wiki.

== Downloading the mod

Download a Refined Storage `.jar` file for your Minecraft version from official sources:

- link:https://www.curseforge.com/minecraft/mc-mods/refined-storage[CurseForge]
- link:https://modrinth.com/mod/refined-storage[Modrinth]
- link:https://github.com/refinedmods/refinedstorage/releases[GitHub]

== Installing the mod

Once you have the `.jar` file, place it in the `mods/` directory of your Forge instance.
You may have to start up your instance at least once so Forge can autogenerate the `mods/` directory.

== CurseForge/Twitch launcher

When you're using a launcher like the CurseForge/Twitch launcher, you can install Refined Storage in an instance with one click without having to copy over `.jar` files.

== Configuring the mod

Changing the configuration isn't needed in most cases.
If you need to do this, you can:

- Change server-specific configuration in `saves/<your-world-name>/serverconfig/refinedstorage-server.toml`
- Change client-specific configuration in `config/refinedstorage-client.toml`

Note that server-specific configuration also applies to single player worlds.
That is because when you're playing single player, Minecraft uses an internal server.

[#_optional_dependencies]
== Optional dependencies

Refined Storage can work perfectly by itself without any additional mods, but it's helpful to install a few other mods alongside it.

- **link:https://minecraft.curseforge.com/projects/jei[JEI (Just Enough Items)]:** This mod will help you view the recipes of the various items and blocks in the mod.
- **A mod that can generate Forge Energy (also known as FE or RF):** A Refined Storage network requires energy to run.
If you do not want to generate energy, you can disable energy usage in the Refined Storage server-side config (see section above "Configuring the mod").
Change `useEnergy` under `[controller]` to `false`.
- **link:https://www.curseforge.com/minecraft/mc-mods/crafting-tweaks[Crafting Tweaks]**
- **link:https://www.curseforge.com/minecraft/mc-mods/c
Download .txt
Showing preview only (205K chars total). Download the full file or copy to clipboard to get everything.
gitextract_ju5e0fkm/

├── .github/
│   ├── CONTRIBUTING.md
│   ├── FUNDING.yml
│   ├── ISSUE_TEMPLATE/
│   │   └── config.yml
│   ├── SUPPORT.md
│   └── workflows/
│       ├── build.yml
│       ├── draft-release.yml
│       ├── issue-for-unsupported-version.yml
│       ├── publish-release.yml
│       ├── resolved-issue-locking.yml
│       ├── validate-branch-name.yml
│       ├── validate-changelog.yml
│       └── validate-commit-messages.yml
├── .gitignore
├── CHANGELOG.md
├── LICENSE.md
├── README.md
├── build.gradle
├── config/
│   └── checkstyle/
│       └── checkstyle.xml
├── docs/
│   ├── nav.json
│   ├── pages/
│   │   ├── advanced-usage/
│   │   │   ├── commands.adoc
│   │   │   ├── index.adoc
│   │   │   ├── profiling.adoc
│   │   │   ├── resource-packs.adoc
│   │   │   ├── translating-refined-storage.adoc
│   │   │   ├── using-development-builds.adoc
│   │   │   └── using-the-api.adoc
│   │   ├── autocrafting/
│   │   │   ├── autocrafting-with-filled-buckets.adoc
│   │   │   ├── crafter-manager.adoc
│   │   │   ├── crafter.adoc
│   │   │   ├── crafting-monitor.adoc
│   │   │   ├── fluid-autocrafting.adoc
│   │   │   ├── getting-started-with-autocrafting.adoc
│   │   │   ├── index.adoc
│   │   │   ├── keeping-fluids-in-stock.adoc
│   │   │   ├── keeping-items-in-stock.adoc
│   │   │   ├── locking-and-unlocking.adoc
│   │   │   ├── pattern-grid.adoc
│   │   │   ├── pattern.adoc
│   │   │   ├── processing-pattern-encoder.adoc
│   │   │   └── processing-recipes.adoc
│   │   ├── faq.adoc
│   │   ├── getting-started.adoc
│   │   ├── how-to-install.adoc
│   │   ├── index.adoc
│   │   ├── index.html
│   │   ├── input-and-output/
│   │   │   ├── constructor.adoc
│   │   │   ├── destructor.adoc
│   │   │   ├── disk-manipulator.adoc
│   │   │   ├── exporter.adoc
│   │   │   ├── fluid-interface.adoc
│   │   │   ├── getting-items-in-and-out.adoc
│   │   │   ├── importer.adoc
│   │   │   ├── index.adoc
│   │   │   ├── interface.adoc
│   │   │   ├── reader.adoc
│   │   │   └── writer.adoc
│   │   ├── need-help.adoc
│   │   ├── need-help.html
│   │   ├── networking/
│   │   │   ├── cable.adoc
│   │   │   ├── controller.adoc
│   │   │   ├── creative-controller.adoc
│   │   │   ├── detector.adoc
│   │   │   ├── index.adoc
│   │   │   └── relay.adoc
│   │   ├── news/
│   │   │   ├── 20210518-announcing-refined-storage-2.adoc
│   │   │   ├── 20220704-a-big-milestone-for-refined-storage-2.adoc
│   │   │   ├── 20230707-a-week-of-modding.adoc
│   │   │   ├── 20230819-refined-storage-2-milestone-2-completed.adoc
│   │   │   ├── 20240319-refined-storage-2-status-update-march.adoc
│   │   │   ├── 20240628-refined-storage-2-milestone-3-completed.adoc
│   │   │   ├── index.adoc
│   │   │   └── index.html
│   │   ├── opencomputers-api.adoc
│   │   ├── release-notes.adoc
│   │   ├── release-notes.html
│   │   ├── security/
│   │   │   ├── index.adoc
│   │   │   ├── security-card.adoc
│   │   │   └── security-manager.adoc
│   │   ├── storage/
│   │   │   ├── 1024k-fluid-storage-block.adoc
│   │   │   ├── 1024k-fluid-storage-disk.adoc
│   │   │   ├── 1024k-fluid-storage-part.adoc
│   │   │   ├── 16k-storage-block.adoc
│   │   │   ├── 16k-storage-disk.adoc
│   │   │   ├── 16k-storage-part.adoc
│   │   │   ├── 1k-storage-block.adoc
│   │   │   ├── 1k-storage-disk.adoc
│   │   │   ├── 1k-storage-part.adoc
│   │   │   ├── 256k-fluid-storage-block.adoc
│   │   │   ├── 256k-fluid-storage-disk.adoc
│   │   │   ├── 256k-fluid-storage-part.adoc
│   │   │   ├── 4096k-fluid-storage-block.adoc
│   │   │   ├── 4096k-fluid-storage-disk.adoc
│   │   │   ├── 4096k-fluid-storage-part.adoc
│   │   │   ├── 4k-storage-block.adoc
│   │   │   ├── 4k-storage-disk.adoc
│   │   │   ├── 4k-storage-part.adoc
│   │   │   ├── 64k-fluid-storage-block.adoc
│   │   │   ├── 64k-fluid-storage-disk.adoc
│   │   │   ├── 64k-fluid-storage-part.adoc
│   │   │   ├── 64k-storage-block.adoc
│   │   │   ├── 64k-storage-disk.adoc
│   │   │   ├── 64k-storage-part.adoc
│   │   │   ├── creative-fluid-storage-block.adoc
│   │   │   ├── creative-fluid-storage-disk.adoc
│   │   │   ├── creative-storage-block.adoc
│   │   │   ├── creative-storage-disk.adoc
│   │   │   ├── disk-drive.adoc
│   │   │   ├── external-storage.adoc
│   │   │   ├── index.adoc
│   │   │   ├── storage-housing.adoc
│   │   │   ├── storing-externally.adoc
│   │   │   └── storing-fluids.adoc
│   │   ├── upgrades/
│   │   │   ├── crafting-upgrade.adoc
│   │   │   ├── fortune-upgrade.adoc
│   │   │   ├── index.adoc
│   │   │   ├── interdimensional-upgrade.adoc
│   │   │   ├── range-upgrade.adoc
│   │   │   ├── regulator-upgrade.adoc
│   │   │   ├── silk-touch-upgrade.adoc
│   │   │   ├── speed-upgrade.adoc
│   │   │   ├── stack-upgrade.adoc
│   │   │   └── upgrade.adoc
│   │   ├── utility/
│   │   │   ├── advanced-processor.adoc
│   │   │   ├── basic-processor.adoc
│   │   │   ├── block-of-quartz-enriched-iron.adoc
│   │   │   ├── construction-core.adoc
│   │   │   ├── cover.adoc
│   │   │   ├── cut-silicon.adoc
│   │   │   ├── cutting-tool.adoc
│   │   │   ├── destruction-core.adoc
│   │   │   ├── filter.adoc
│   │   │   ├── hollow-cover.adoc
│   │   │   ├── improved-processor.adoc
│   │   │   ├── index.adoc
│   │   │   ├── machine-casing.adoc
│   │   │   ├── processor-binding.adoc
│   │   │   ├── quartz-enriched-iron.adoc
│   │   │   ├── raw-advanced-processor.adoc
│   │   │   ├── raw-basic-processor.adoc
│   │   │   ├── raw-improved-processor.adoc
│   │   │   ├── silicon.adoc
│   │   │   ├── solderer.adoc
│   │   │   └── wrench.adoc
│   │   ├── viewing-resources/
│   │   │   ├── crafting-grid.adoc
│   │   │   ├── fluid-grid.adoc
│   │   │   ├── grid.adoc
│   │   │   ├── how-to-view-resources.adoc
│   │   │   ├── index.adoc
│   │   │   ├── portable-grid.adoc
│   │   │   └── storage-monitor.adoc
│   │   └── wireless-networking/
│   │       ├── creative-wireless-crafting-monitor.adoc
│   │       ├── creative-wireless-fluid-grid.adoc
│   │       ├── creative-wireless-grid.adoc
│   │       ├── index.adoc
│   │       ├── network-card.adoc
│   │       ├── network-receiver.adoc
│   │       ├── network-transmitter.adoc
│   │       ├── networks-over-long-distances.adoc
│   │       ├── wireless-crafting-grid.adoc
│   │       ├── wireless-crafting-monitor.adoc
│   │       ├── wireless-fluid-grid.adoc
│   │       ├── wireless-grid.adoc
│   │       └── wireless-transmitter.adoc
│   └── partials/
│       ├── fluid-storage-block.adoc
│       ├── fluid-storage-disk.adoc
│       ├── processor.adoc
│       ├── recoloring.adoc
│       ├── search-box.adoc
│       ├── storage-block.adoc
│       └── storage-disk.adoc
├── gradle/
│   └── wrapper/
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── images/
│   └── description.md
├── src/
│   ├── generated/
│   │   └── resources/
│   │       ├── .cache/
│   │       │   ├── 59eb3dbb5f86130e09b3c62d89b9525ee01cf52d
│   │       │   ├── 9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e
│   │       │   ├── c52895b732924e707cb6e5ddd1c6b6962039449c
│   │       │   ├── cb654f100e416ac39358630d6623170b9bfdc5d2
│   │       │   ├── f481442ce31db2c3b3dabb5b6d85f9a78568164e
│   │       │   └── fd27170b6bf91459ed2598d25721edfeafc82e0a
│   │       ├── assets/
│   │       │   └── refinedstorage/
│   │       │       ├── blockstates/
│   │       │       │   ├── black_controller.json
│   │       │       │   ├── black_crafter.json
│   │       │       │   ├── black_crafter_manager.json
│   │       │       │   ├── black_crafting_grid.json
│   │       │       │   ├── black_crafting_monitor.json
│   │       │       │   ├── black_creative_controller.json
│   │       │       │   ├── black_detector.json
│   │       │       │   ├── black_disk_manipulator.json
│   │       │       │   ├── black_fluid_grid.json
│   │       │       │   ├── black_grid.json
│   │       │       │   ├── black_network_receiver.json
│   │       │       │   ├── black_network_transmitter.json
│   │       │       │   ├── black_pattern_grid.json
│   │       │       │   ├── black_relay.json
│   │       │       │   ├── black_security_manager.json
│   │       │       │   ├── black_wireless_transmitter.json
│   │       │       │   ├── blue_controller.json
│   │       │       │   ├── blue_crafter.json
│   │       │       │   ├── blue_crafter_manager.json
│   │       │       │   ├── blue_crafting_grid.json
│   │       │       │   ├── blue_crafting_monitor.json
│   │       │       │   ├── blue_creative_controller.json
│   │       │       │   ├── blue_detector.json
│   │       │       │   ├── blue_disk_manipulator.json
│   │       │       │   ├── blue_fluid_grid.json
│   │       │       │   ├── blue_grid.json
│   │       │       │   ├── blue_network_receiver.json
│   │       │       │   ├── blue_network_transmitter.json
│   │       │       │   ├── blue_pattern_grid.json
│   │       │       │   ├── blue_relay.json
│   │       │       │   ├── blue_security_manager.json
│   │       │       │   ├── blue_wireless_transmitter.json
│   │       │       │   ├── brown_controller.json
│   │       │       │   ├── brown_crafter.json
│   │       │       │   ├── brown_crafter_manager.json
│   │       │       │   ├── brown_crafting_grid.json
│   │       │       │   ├── brown_crafting_monitor.json
│   │       │       │   ├── brown_creative_controller.json
│   │       │       │   ├── brown_detector.json
│   │       │       │   ├── brown_disk_manipulator.json
│   │       │       │   ├── brown_fluid_grid.json
│   │       │       │   ├── brown_grid.json
│   │       │       │   ├── brown_network_receiver.json
│   │       │       │   ├── brown_network_transmitter.json
│   │       │       │   ├── brown_pattern_grid.json
│   │       │       │   ├── brown_relay.json
│   │       │       │   ├── brown_security_manager.json
│   │       │       │   ├── brown_wireless_transmitter.json
│   │       │       │   ├── controller.json
│   │       │       │   ├── crafter.json
│   │       │       │   ├── crafter_manager.json
│   │       │       │   ├── crafting_grid.json
│   │       │       │   ├── crafting_monitor.json
│   │       │       │   ├── creative_controller.json
│   │       │       │   ├── cyan_controller.json
│   │       │       │   ├── cyan_crafter.json
│   │       │       │   ├── cyan_crafter_manager.json
│   │       │       │   ├── cyan_crafting_grid.json
│   │       │       │   ├── cyan_crafting_monitor.json
│   │       │       │   ├── cyan_creative_controller.json
│   │       │       │   ├── cyan_detector.json
│   │       │       │   ├── cyan_disk_manipulator.json
│   │       │       │   ├── cyan_fluid_grid.json
│   │       │       │   ├── cyan_grid.json
│   │       │       │   ├── cyan_network_receiver.json
│   │       │       │   ├── cyan_network_transmitter.json
│   │       │       │   ├── cyan_pattern_grid.json
│   │       │       │   ├── cyan_relay.json
│   │       │       │   ├── cyan_security_manager.json
│   │       │       │   ├── cyan_wireless_transmitter.json
│   │       │       │   ├── detector.json
│   │       │       │   ├── disk_manipulator.json
│   │       │       │   ├── fluid_grid.json
│   │       │       │   ├── gray_controller.json
│   │       │       │   ├── gray_crafter.json
│   │       │       │   ├── gray_crafter_manager.json
│   │       │       │   ├── gray_crafting_grid.json
│   │       │       │   ├── gray_crafting_monitor.json
│   │       │       │   ├── gray_creative_controller.json
│   │       │       │   ├── gray_detector.json
│   │       │       │   ├── gray_disk_manipulator.json
│   │       │       │   ├── gray_fluid_grid.json
│   │       │       │   ├── gray_grid.json
│   │       │       │   ├── gray_network_receiver.json
│   │       │       │   ├── gray_network_transmitter.json
│   │       │       │   ├── gray_pattern_grid.json
│   │       │       │   ├── gray_relay.json
│   │       │       │   ├── gray_security_manager.json
│   │       │       │   ├── gray_wireless_transmitter.json
│   │       │       │   ├── green_controller.json
│   │       │       │   ├── green_crafter.json
│   │       │       │   ├── green_crafter_manager.json
│   │       │       │   ├── green_crafting_grid.json
│   │       │       │   ├── green_crafting_monitor.json
│   │       │       │   ├── green_creative_controller.json
│   │       │       │   ├── green_detector.json
│   │       │       │   ├── green_disk_manipulator.json
│   │       │       │   ├── green_fluid_grid.json
│   │       │       │   ├── green_grid.json
│   │       │       │   ├── green_network_receiver.json
│   │       │       │   ├── green_network_transmitter.json
│   │       │       │   ├── green_pattern_grid.json
│   │       │       │   ├── green_relay.json
│   │       │       │   ├── green_security_manager.json
│   │       │       │   ├── green_wireless_transmitter.json
│   │       │       │   ├── grid.json
│   │       │       │   ├── light_gray_controller.json
│   │       │       │   ├── light_gray_crafter.json
│   │       │       │   ├── light_gray_crafter_manager.json
│   │       │       │   ├── light_gray_crafting_grid.json
│   │       │       │   ├── light_gray_crafting_monitor.json
│   │       │       │   ├── light_gray_creative_controller.json
│   │       │       │   ├── light_gray_detector.json
│   │       │       │   ├── light_gray_disk_manipulator.json
│   │       │       │   ├── light_gray_fluid_grid.json
│   │       │       │   ├── light_gray_grid.json
│   │       │       │   ├── light_gray_network_receiver.json
│   │       │       │   ├── light_gray_network_transmitter.json
│   │       │       │   ├── light_gray_pattern_grid.json
│   │       │       │   ├── light_gray_relay.json
│   │       │       │   ├── light_gray_security_manager.json
│   │       │       │   ├── light_gray_wireless_transmitter.json
│   │       │       │   ├── lime_controller.json
│   │       │       │   ├── lime_crafter.json
│   │       │       │   ├── lime_crafter_manager.json
│   │       │       │   ├── lime_crafting_grid.json
│   │       │       │   ├── lime_crafting_monitor.json
│   │       │       │   ├── lime_creative_controller.json
│   │       │       │   ├── lime_detector.json
│   │       │       │   ├── lime_disk_manipulator.json
│   │       │       │   ├── lime_fluid_grid.json
│   │       │       │   ├── lime_grid.json
│   │       │       │   ├── lime_network_receiver.json
│   │       │       │   ├── lime_network_transmitter.json
│   │       │       │   ├── lime_pattern_grid.json
│   │       │       │   ├── lime_relay.json
│   │       │       │   ├── lime_security_manager.json
│   │       │       │   ├── lime_wireless_transmitter.json
│   │       │       │   ├── magenta_controller.json
│   │       │       │   ├── magenta_crafter.json
│   │       │       │   ├── magenta_crafter_manager.json
│   │       │       │   ├── magenta_crafting_grid.json
│   │       │       │   ├── magenta_crafting_monitor.json
│   │       │       │   ├── magenta_creative_controller.json
│   │       │       │   ├── magenta_detector.json
│   │       │       │   ├── magenta_disk_manipulator.json
│   │       │       │   ├── magenta_fluid_grid.json
│   │       │       │   ├── magenta_grid.json
│   │       │       │   ├── magenta_network_receiver.json
│   │       │       │   ├── magenta_network_transmitter.json
│   │       │       │   ├── magenta_pattern_grid.json
│   │       │       │   ├── magenta_relay.json
│   │       │       │   ├── magenta_security_manager.json
│   │       │       │   ├── magenta_wireless_transmitter.json
│   │       │       │   ├── network_receiver.json
│   │       │       │   ├── network_transmitter.json
│   │       │       │   ├── orange_controller.json
│   │       │       │   ├── orange_crafter.json
│   │       │       │   ├── orange_crafter_manager.json
│   │       │       │   ├── orange_crafting_grid.json
│   │       │       │   ├── orange_crafting_monitor.json
│   │       │       │   ├── orange_creative_controller.json
│   │       │       │   ├── orange_detector.json
│   │       │       │   ├── orange_disk_manipulator.json
│   │       │       │   ├── orange_fluid_grid.json
│   │       │       │   ├── orange_grid.json
│   │       │       │   ├── orange_network_receiver.json
│   │       │       │   ├── orange_network_transmitter.json
│   │       │       │   ├── orange_pattern_grid.json
│   │       │       │   ├── orange_relay.json
│   │       │       │   ├── orange_security_manager.json
│   │       │       │   ├── orange_wireless_transmitter.json
│   │       │       │   ├── pattern_grid.json
│   │       │       │   ├── pink_controller.json
│   │       │       │   ├── pink_crafter.json
│   │       │       │   ├── pink_crafter_manager.json
│   │       │       │   ├── pink_crafting_grid.json
│   │       │       │   ├── pink_crafting_monitor.json
│   │       │       │   ├── pink_creative_controller.json
│   │       │       │   ├── pink_detector.json
│   │       │       │   ├── pink_disk_manipulator.json
│   │       │       │   ├── pink_fluid_grid.json
│   │       │       │   ├── pink_grid.json
│   │       │       │   ├── pink_network_receiver.json
│   │       │       │   ├── pink_network_transmitter.json
│   │       │       │   ├── pink_pattern_grid.json
│   │       │       │   ├── pink_relay.json
│   │       │       │   ├── pink_security_manager.json
│   │       │       │   ├── pink_wireless_transmitter.json
│   │       │       │   ├── purple_controller.json
│   │       │       │   ├── purple_crafter.json
│   │       │       │   ├── purple_crafter_manager.json
│   │       │       │   ├── purple_crafting_grid.json
│   │       │       │   ├── purple_crafting_monitor.json
│   │       │       │   ├── purple_creative_controller.json
│   │       │       │   ├── purple_detector.json
│   │       │       │   ├── purple_disk_manipulator.json
│   │       │       │   ├── purple_fluid_grid.json
│   │       │       │   ├── purple_grid.json
│   │       │       │   ├── purple_network_receiver.json
│   │       │       │   ├── purple_network_transmitter.json
│   │       │       │   ├── purple_pattern_grid.json
│   │       │       │   ├── purple_relay.json
│   │       │       │   ├── purple_security_manager.json
│   │       │       │   ├── purple_wireless_transmitter.json
│   │       │       │   ├── red_controller.json
│   │       │       │   ├── red_crafter.json
│   │       │       │   ├── red_crafter_manager.json
│   │       │       │   ├── red_crafting_grid.json
│   │       │       │   ├── red_crafting_monitor.json
│   │       │       │   ├── red_creative_controller.json
│   │       │       │   ├── red_detector.json
│   │       │       │   ├── red_disk_manipulator.json
│   │       │       │   ├── red_fluid_grid.json
│   │       │       │   ├── red_grid.json
│   │       │       │   ├── red_network_receiver.json
│   │       │       │   ├── red_network_transmitter.json
│   │       │       │   ├── red_pattern_grid.json
│   │       │       │   ├── red_relay.json
│   │       │       │   ├── red_security_manager.json
│   │       │       │   ├── red_wireless_transmitter.json
│   │       │       │   ├── relay.json
│   │       │       │   ├── security_manager.json
│   │       │       │   ├── white_controller.json
│   │       │       │   ├── white_crafter.json
│   │       │       │   ├── white_crafter_manager.json
│   │       │       │   ├── white_crafting_grid.json
│   │       │       │   ├── white_crafting_monitor.json
│   │       │       │   ├── white_creative_controller.json
│   │       │       │   ├── white_detector.json
│   │       │       │   ├── white_disk_manipulator.json
│   │       │       │   ├── white_fluid_grid.json
│   │       │       │   ├── white_grid.json
│   │       │       │   ├── white_network_receiver.json
│   │       │       │   ├── white_network_transmitter.json
│   │       │       │   ├── white_pattern_grid.json
│   │       │       │   ├── white_relay.json
│   │       │       │   ├── white_security_manager.json
│   │       │       │   ├── white_wireless_transmitter.json
│   │       │       │   ├── wireless_transmitter.json
│   │       │       │   ├── yellow_controller.json
│   │       │       │   ├── yellow_crafter.json
│   │       │       │   ├── yellow_crafter_manager.json
│   │       │       │   ├── yellow_crafting_grid.json
│   │       │       │   ├── yellow_crafting_monitor.json
│   │       │       │   ├── yellow_creative_controller.json
│   │       │       │   ├── yellow_detector.json
│   │       │       │   ├── yellow_disk_manipulator.json
│   │       │       │   ├── yellow_fluid_grid.json
│   │       │       │   ├── yellow_grid.json
│   │       │       │   ├── yellow_network_receiver.json
│   │       │       │   ├── yellow_network_transmitter.json
│   │       │       │   ├── yellow_pattern_grid.json
│   │       │       │   ├── yellow_relay.json
│   │       │       │   ├── yellow_security_manager.json
│   │       │       │   └── yellow_wireless_transmitter.json
│   │       │       └── models/
│   │       │           ├── block/
│   │       │           │   ├── controller/
│   │       │           │   │   ├── black.json
│   │       │           │   │   ├── blue.json
│   │       │           │   │   ├── brown.json
│   │       │           │   │   ├── cyan.json
│   │       │           │   │   ├── gray.json
│   │       │           │   │   ├── green.json
│   │       │           │   │   ├── light_blue.json
│   │       │           │   │   ├── light_gray.json
│   │       │           │   │   ├── lime.json
│   │       │           │   │   ├── magenta.json
│   │       │           │   │   ├── nearly_off.json
│   │       │           │   │   ├── nearly_on.json
│   │       │           │   │   ├── off.json
│   │       │           │   │   ├── orange.json
│   │       │           │   │   ├── pink.json
│   │       │           │   │   ├── purple.json
│   │       │           │   │   ├── red.json
│   │       │           │   │   ├── white.json
│   │       │           │   │   └── yellow.json
│   │       │           │   ├── crafter/
│   │       │           │   │   ├── black.json
│   │       │           │   │   ├── blue.json
│   │       │           │   │   ├── brown.json
│   │       │           │   │   ├── cyan.json
│   │       │           │   │   ├── disconnected.json
│   │       │           │   │   ├── gray.json
│   │       │           │   │   ├── green.json
│   │       │           │   │   ├── light_blue.json
│   │       │           │   │   ├── light_gray.json
│   │       │           │   │   ├── lime.json
│   │       │           │   │   ├── magenta.json
│   │       │           │   │   ├── orange.json
│   │       │           │   │   ├── pink.json
│   │       │           │   │   ├── purple.json
│   │       │           │   │   ├── red.json
│   │       │           │   │   ├── white.json
│   │       │           │   │   └── yellow.json
│   │       │           │   ├── crafter_manager/
│   │       │           │   │   ├── black.json
│   │       │           │   │   ├── blue.json
│   │       │           │   │   ├── brown.json
│   │       │           │   │   ├── cyan.json
│   │       │           │   │   ├── disconnected.json
│   │       │           │   │   ├── gray.json
│   │       │           │   │   ├── green.json
│   │       │           │   │   ├── light_blue.json
│   │       │           │   │   ├── light_gray.json
│   │       │           │   │   ├── lime.json
│   │       │           │   │   ├── magenta.json
│   │       │           │   │   ├── orange.json
│   │       │           │   │   ├── pink.json
│   │       │           │   │   ├── purple.json
│   │       │           │   │   ├── red.json
│   │       │           │   │   ├── white.json
│   │       │           │   │   └── yellow.json
│   │       │           │   ├── crafting_grid/
│   │       │           │   │   ├── black.json
│   │       │           │   │   ├── blue.json
│   │       │           │   │   ├── brown.json
│   │       │           │   │   ├── cyan.json
│   │       │           │   │   ├── disconnected.json
│   │       │           │   │   ├── gray.json
│   │       │           │   │   ├── green.json
│   │       │           │   │   ├── light_blue.json
│   │       │           │   │   ├── light_gray.json
│   │       │           │   │   ├── lime.json
│   │       │           │   │   ├── magenta.json
│   │       │           │   │   ├── orange.json
│   │       │           │   │   ├── pink.json
│   │       │           │   │   ├── purple.json
│   │       │           │   │   ├── red.json
│   │       │           │   │   ├── white.json
│   │       │           │   │   └── yellow.json
│   │       │           │   ├── crafting_monitor/
│   │       │           │   │   ├── black.json
│   │       │           │   │   ├── blue.json
│   │       │           │   │   ├── brown.json
│   │       │           │   │   ├── cyan.json
│   │       │           │   │   ├── disconnected.json
│   │       │           │   │   ├── gray.json
│   │       │           │   │   ├── green.json
│   │       │           │   │   ├── light_blue.json
│   │       │           │   │   ├── light_gray.json
│   │       │           │   │   ├── lime.json
│   │       │           │   │   ├── magenta.json
│   │       │           │   │   ├── orange.json
│   │       │           │   │   ├── pink.json
│   │       │           │   │   ├── purple.json
│   │       │           │   │   ├── red.json
│   │       │           │   │   ├── white.json
│   │       │           │   │   └── yellow.json
│   │       │           │   ├── detector/
│   │       │           │   │   ├── black.json
│   │       │           │   │   ├── blue.json
│   │       │           │   │   ├── brown.json
│   │       │           │   │   ├── cyan.json
│   │       │           │   │   ├── gray.json
│   │       │           │   │   ├── green.json
│   │       │           │   │   ├── light_blue.json
│   │       │           │   │   ├── light_gray.json
│   │       │           │   │   ├── lime.json
│   │       │           │   │   ├── magenta.json
│   │       │           │   │   ├── off.json
│   │       │           │   │   ├── orange.json
│   │       │           │   │   ├── pink.json
│   │       │           │   │   ├── purple.json
│   │       │           │   │   ├── red.json
│   │       │           │   │   ├── white.json
│   │       │           │   │   └── yellow.json
│   │       │           │   ├── disk_manipulator/
│   │       │           │   │   ├── black.json
│   │       │           │   │   ├── blue.json
│   │       │           │   │   ├── brown.json
│   │       │           │   │   ├── cyan.json
│   │       │           │   │   ├── disconnected.json
│   │       │           │   │   ├── gray.json
│   │       │           │   │   ├── green.json
│   │       │           │   │   ├── light_blue.json
│   │       │           │   │   ├── light_gray.json
│   │       │           │   │   ├── lime.json
│   │       │           │   │   ├── loader.json
│   │       │           │   │   ├── magenta.json
│   │       │           │   │   ├── orange.json
│   │       │           │   │   ├── pink.json
│   │       │           │   │   ├── purple.json
│   │       │           │   │   ├── red.json
│   │       │           │   │   ├── white.json
│   │       │           │   │   └── yellow.json
│   │       │           │   ├── fluid_grid/
│   │       │           │   │   ├── black.json
│   │       │           │   │   ├── blue.json
│   │       │           │   │   ├── brown.json
│   │       │           │   │   ├── cyan.json
│   │       │           │   │   ├── disconnected.json
│   │       │           │   │   ├── gray.json
│   │       │           │   │   ├── green.json
│   │       │           │   │   ├── light_blue.json
│   │       │           │   │   ├── light_gray.json
│   │       │           │   │   ├── lime.json
│   │       │           │   │   ├── magenta.json
│   │       │           │   │   ├── orange.json
│   │       │           │   │   ├── pink.json
│   │       │           │   │   ├── purple.json
│   │       │           │   │   ├── red.json
│   │       │           │   │   ├── white.json
│   │       │           │   │   └── yellow.json
│   │       │           │   ├── grid/
│   │       │           │   │   ├── black.json
│   │       │           │   │   ├── blue.json
│   │       │           │   │   ├── brown.json
│   │       │           │   │   ├── cyan.json
│   │       │           │   │   ├── disconnected.json
│   │       │           │   │   ├── gray.json
│   │       │           │   │   ├── green.json
│   │       │           │   │   ├── light_blue.json
│   │       │           │   │   ├── light_gray.json
│   │       │           │   │   ├── lime.json
│   │       │           │   │   ├── magenta.json
│   │       │           │   │   ├── orange.json
│   │       │           │   │   ├── pink.json
│   │       │           │   │   ├── purple.json
│   │       │           │   │   ├── red.json
│   │       │           │   │   ├── white.json
│   │       │           │   │   └── yellow.json
│   │       │           │   ├── network_receiver/
│   │       │           │   │   ├── black.json
│   │       │           │   │   ├── blue.json
│   │       │           │   │   ├── brown.json
│   │       │           │   │   ├── cyan.json
│   │       │           │   │   ├── disconnected.json
│   │       │           │   │   ├── gray.json
│   │       │           │   │   ├── green.json
│   │       │           │   │   ├── light_blue.json
│   │       │           │   │   ├── light_gray.json
│   │       │           │   │   ├── lime.json
│   │       │           │   │   ├── magenta.json
│   │       │           │   │   ├── orange.json
│   │       │           │   │   ├── pink.json
│   │       │           │   │   ├── purple.json
│   │       │           │   │   ├── red.json
│   │       │           │   │   ├── white.json
│   │       │           │   │   └── yellow.json
│   │       │           │   ├── network_transmitter/
│   │       │           │   │   ├── black.json
│   │       │           │   │   ├── blue.json
│   │       │           │   │   ├── brown.json
│   │       │           │   │   ├── cyan.json
│   │       │           │   │   ├── disconnected.json
│   │       │           │   │   ├── gray.json
│   │       │           │   │   ├── green.json
│   │       │           │   │   ├── light_blue.json
│   │       │           │   │   ├── light_gray.json
│   │       │           │   │   ├── lime.json
│   │       │           │   │   ├── magenta.json
│   │       │           │   │   ├── orange.json
│   │       │           │   │   ├── pink.json
│   │       │           │   │   ├── purple.json
│   │       │           │   │   ├── red.json
│   │       │           │   │   ├── white.json
│   │       │           │   │   └── yellow.json
│   │       │           │   ├── pattern_grid/
│   │       │           │   │   ├── black.json
│   │       │           │   │   ├── blue.json
│   │       │           │   │   ├── brown.json
│   │       │           │   │   ├── cyan.json
│   │       │           │   │   ├── disconnected.json
│   │       │           │   │   ├── gray.json
│   │       │           │   │   ├── green.json
│   │       │           │   │   ├── light_blue.json
│   │       │           │   │   ├── light_gray.json
│   │       │           │   │   ├── lime.json
│   │       │           │   │   ├── magenta.json
│   │       │           │   │   ├── orange.json
│   │       │           │   │   ├── pink.json
│   │       │           │   │   ├── purple.json
│   │       │           │   │   ├── red.json
│   │       │           │   │   ├── white.json
│   │       │           │   │   └── yellow.json
│   │       │           │   ├── relay/
│   │       │           │   │   ├── black.json
│   │       │           │   │   ├── blue.json
│   │       │           │   │   ├── brown.json
│   │       │           │   │   ├── cyan.json
│   │       │           │   │   ├── disconnected.json
│   │       │           │   │   ├── gray.json
│   │       │           │   │   ├── green.json
│   │       │           │   │   ├── light_blue.json
│   │       │           │   │   ├── light_gray.json
│   │       │           │   │   ├── lime.json
│   │       │           │   │   ├── magenta.json
│   │       │           │   │   ├── orange.json
│   │       │           │   │   ├── pink.json
│   │       │           │   │   ├── purple.json
│   │       │           │   │   ├── red.json
│   │       │           │   │   ├── white.json
│   │       │           │   │   └── yellow.json
│   │       │           │   ├── security_manager/
│   │       │           │   │   ├── black.json
│   │       │           │   │   ├── blue.json
│   │       │           │   │   ├── brown.json
│   │       │           │   │   ├── cyan.json
│   │       │           │   │   ├── disconnected.json
│   │       │           │   │   ├── gray.json
│   │       │           │   │   ├── green.json
│   │       │           │   │   ├── light_blue.json
│   │       │           │   │   ├── light_gray.json
│   │       │           │   │   ├── lime.json
│   │       │           │   │   ├── magenta.json
│   │       │           │   │   ├── orange.json
│   │       │           │   │   ├── pink.json
│   │       │           │   │   ├── purple.json
│   │       │           │   │   ├── red.json
│   │       │           │   │   ├── white.json
│   │       │           │   │   └── yellow.json
│   │       │           │   └── wireless_transmitter/
│   │       │           │       ├── black.json
│   │       │           │       ├── blue.json
│   │       │           │       ├── brown.json
│   │       │           │       ├── cyan.json
│   │       │           │       ├── disconnected.json
│   │       │           │       ├── gray.json
│   │       │           │       ├── green.json
│   │       │           │       ├── light_blue.json
│   │       │           │       ├── light_gray.json
│   │       │           │       ├── lime.json
│   │       │           │       ├── magenta.json
│   │       │           │       ├── orange.json
│   │       │           │       ├── pink.json
│   │       │           │       ├── purple.json
│   │       │           │       ├── red.json
│   │       │           │       ├── white.json
│   │       │           │       └── yellow.json
│   │       │           └── item/
│   │       │               ├── black_controller.json
│   │       │               ├── black_crafter.json
│   │       │               ├── black_crafter_manager.json
│   │       │               ├── black_crafting_grid.json
│   │       │               ├── black_crafting_monitor.json
│   │       │               ├── black_creative_controller.json
│   │       │               ├── black_detector.json
│   │       │               ├── black_disk_manipulator.json
│   │       │               ├── black_fluid_grid.json
│   │       │               ├── black_grid.json
│   │       │               ├── black_network_receiver.json
│   │       │               ├── black_network_transmitter.json
│   │       │               ├── black_pattern_grid.json
│   │       │               ├── black_relay.json
│   │       │               ├── black_security_manager.json
│   │       │               ├── black_wireless_transmitter.json
│   │       │               ├── blue_controller.json
│   │       │               ├── blue_crafter.json
│   │       │               ├── blue_crafter_manager.json
│   │       │               ├── blue_crafting_grid.json
│   │       │               ├── blue_crafting_monitor.json
│   │       │               ├── blue_creative_controller.json
│   │       │               ├── blue_detector.json
│   │       │               ├── blue_disk_manipulator.json
│   │       │               ├── blue_fluid_grid.json
│   │       │               ├── blue_grid.json
│   │       │               ├── blue_network_receiver.json
│   │       │               ├── blue_network_transmitter.json
│   │       │               ├── blue_pattern_grid.json
│   │       │               ├── blue_relay.json
│   │       │               ├── blue_security_manager.json
│   │       │               ├── blue_wireless_transmitter.json
│   │       │               ├── brown_controller.json
│   │       │               ├── brown_crafter.json
│   │       │               ├── brown_crafter_manager.json
│   │       │               ├── brown_crafting_grid.json
│   │       │               ├── brown_crafting_monitor.json
│   │       │               ├── brown_creative_controller.json
│   │       │               ├── brown_detector.json
│   │       │               ├── brown_disk_manipulator.json
│   │       │               ├── brown_fluid_grid.json
│   │       │               ├── brown_grid.json
│   │       │               ├── brown_network_receiver.json
│   │       │               ├── brown_network_transmitter.json
│   │       │               ├── brown_pattern_grid.json
│   │       │               ├── brown_relay.json
│   │       │               ├── brown_security_manager.json
│   │       │               ├── brown_wireless_transmitter.json
│   │       │               ├── controller.json
│   │       │               ├── crafter.json
│   │       │               ├── crafter_manager.json
│   │       │               ├── crafting_grid.json
│   │       │               ├── crafting_monitor.json
│   │       │               ├── creative_controller.json
│   │       │               ├── cyan_controller.json
│   │       │               ├── cyan_crafter.json
│   │       │               ├── cyan_crafter_manager.json
│   │       │               ├── cyan_crafting_grid.json
│   │       │               ├── cyan_crafting_monitor.json
│   │       │               ├── cyan_creative_controller.json
│   │       │               ├── cyan_detector.json
│   │       │               ├── cyan_disk_manipulator.json
│   │       │               ├── cyan_fluid_grid.json
│   │       │               ├── cyan_grid.json
│   │       │               ├── cyan_network_receiver.json
│   │       │               ├── cyan_network_transmitter.json
│   │       │               ├── cyan_pattern_grid.json
│   │       │               ├── cyan_relay.json
│   │       │               ├── cyan_security_manager.json
│   │       │               ├── cyan_wireless_transmitter.json
│   │       │               ├── detector.json
│   │       │               ├── disk_manipulator.json
│   │       │               ├── fluid_grid.json
│   │       │               ├── gray_controller.json
│   │       │               ├── gray_crafter.json
│   │       │               ├── gray_crafter_manager.json
│   │       │               ├── gray_crafting_grid.json
│   │       │               ├── gray_crafting_monitor.json
│   │       │               ├── gray_creative_controller.json
│   │       │               ├── gray_detector.json
│   │       │               ├── gray_disk_manipulator.json
│   │       │               ├── gray_fluid_grid.json
│   │       │               ├── gray_grid.json
│   │       │               ├── gray_network_receiver.json
│   │       │               ├── gray_network_transmitter.json
│   │       │               ├── gray_pattern_grid.json
│   │       │               ├── gray_relay.json
│   │       │               ├── gray_security_manager.json
│   │       │               ├── gray_wireless_transmitter.json
│   │       │               ├── green_controller.json
│   │       │               ├── green_crafter.json
│   │       │               ├── green_crafter_manager.json
│   │       │               ├── green_crafting_grid.json
│   │       │               ├── green_crafting_monitor.json
│   │       │               ├── green_creative_controller.json
│   │       │               ├── green_detector.json
│   │       │               ├── green_disk_manipulator.json
│   │       │               ├── green_fluid_grid.json
│   │       │               ├── green_grid.json
│   │       │               ├── green_network_receiver.json
│   │       │               ├── green_network_transmitter.json
│   │       │               ├── green_pattern_grid.json
│   │       │               ├── green_relay.json
│   │       │               ├── green_security_manager.json
│   │       │               ├── green_wireless_transmitter.json
│   │       │               ├── grid.json
│   │       │               ├── light_gray_controller.json
│   │       │               ├── light_gray_crafter.json
│   │       │               ├── light_gray_crafter_manager.json
│   │       │               ├── light_gray_crafting_grid.json
│   │       │               ├── light_gray_crafting_monitor.json
│   │       │               ├── light_gray_creative_controller.json
│   │       │               ├── light_gray_detector.json
│   │       │               ├── light_gray_disk_manipulator.json
│   │       │               ├── light_gray_fluid_grid.json
│   │       │               ├── light_gray_grid.json
│   │       │               ├── light_gray_network_receiver.json
│   │       │               ├── light_gray_network_transmitter.json
│   │       │               ├── light_gray_pattern_grid.json
│   │       │               ├── light_gray_relay.json
│   │       │               ├── light_gray_security_manager.json
│   │       │               ├── light_gray_wireless_transmitter.json
│   │       │               ├── lime_controller.json
│   │       │               ├── lime_crafter.json
│   │       │               ├── lime_crafter_manager.json
│   │       │               ├── lime_crafting_grid.json
│   │       │               ├── lime_crafting_monitor.json
│   │       │               ├── lime_creative_controller.json
│   │       │               ├── lime_detector.json
│   │       │               ├── lime_disk_manipulator.json
│   │       │               ├── lime_fluid_grid.json
│   │       │               ├── lime_grid.json
│   │       │               ├── lime_network_receiver.json
│   │       │               ├── lime_network_transmitter.json
│   │       │               ├── lime_pattern_grid.json
│   │       │               ├── lime_relay.json
│   │       │               ├── lime_security_manager.json
│   │       │               ├── lime_wireless_transmitter.json
│   │       │               ├── magenta_controller.json
│   │       │               ├── magenta_crafter.json
│   │       │               ├── magenta_crafter_manager.json
│   │       │               ├── magenta_crafting_grid.json
│   │       │               ├── magenta_crafting_monitor.json
│   │       │               ├── magenta_creative_controller.json
│   │       │               ├── magenta_detector.json
│   │       │               ├── magenta_disk_manipulator.json
│   │       │               ├── magenta_fluid_grid.json
│   │       │               ├── magenta_grid.json
│   │       │               ├── magenta_network_receiver.json
│   │       │               ├── magenta_network_transmitter.json
│   │       │               ├── magenta_pattern_grid.json
│   │       │               ├── magenta_relay.json
│   │       │               ├── magenta_security_manager.json
│   │       │               ├── magenta_wireless_transmitter.json
│   │       │               ├── network_receiver.json
│   │       │               ├── network_transmitter.json
│   │       │               ├── orange_controller.json
│   │       │               ├── orange_crafter.json
│   │       │               ├── orange_crafter_manager.json
│   │       │               ├── orange_crafting_grid.json
│   │       │               ├── orange_crafting_monitor.json
│   │       │               ├── orange_creative_controller.json
│   │       │               ├── orange_detector.json
│   │       │               ├── orange_disk_manipulator.json
│   │       │               ├── orange_fluid_grid.json
│   │       │               ├── orange_grid.json
│   │       │               ├── orange_network_receiver.json
│   │       │               ├── orange_network_transmitter.json
│   │       │               ├── orange_pattern_grid.json
│   │       │               ├── orange_relay.json
│   │       │               ├── orange_security_manager.json
│   │       │               ├── orange_wireless_transmitter.json
│   │       │               ├── pattern_grid.json
│   │       │               ├── pink_controller.json
│   │       │               ├── pink_crafter.json
│   │       │               ├── pink_crafter_manager.json
│   │       │               ├── pink_crafting_grid.json
│   │       │               ├── pink_crafting_monitor.json
│   │       │               ├── pink_creative_controller.json
│   │       │               ├── pink_detector.json
│   │       │               ├── pink_disk_manipulator.json
│   │       │               ├── pink_fluid_grid.json
│   │       │               ├── pink_grid.json
│   │       │               ├── pink_network_receiver.json
│   │       │               ├── pink_network_transmitter.json
│   │       │               ├── pink_pattern_grid.json
│   │       │               ├── pink_relay.json
│   │       │               ├── pink_security_manager.json
│   │       │               ├── pink_wireless_transmitter.json
│   │       │               ├── purple_controller.json
│   │       │               ├── purple_crafter.json
│   │       │               ├── purple_crafter_manager.json
│   │       │               ├── purple_crafting_grid.json
│   │       │               ├── purple_crafting_monitor.json
│   │       │               ├── purple_creative_controller.json
│   │       │               ├── purple_detector.json
│   │       │               ├── purple_disk_manipulator.json
│   │       │               ├── purple_fluid_grid.json
│   │       │               ├── purple_grid.json
│   │       │               ├── purple_network_receiver.json
│   │       │               ├── purple_network_transmitter.json
│   │       │               ├── purple_pattern_grid.json
│   │       │               ├── purple_relay.json
│   │       │               ├── purple_security_manager.json
│   │       │               ├── purple_wireless_transmitter.json
│   │       │               ├── red_controller.json
│   │       │               ├── red_crafter.json
│   │       │               ├── red_crafter_manager.json
│   │       │               ├── red_crafting_grid.json
│   │       │               ├── red_crafting_monitor.json
│   │       │               ├── red_creative_controller.json
│   │       │               ├── red_detector.json
│   │       │               ├── red_disk_manipulator.json
│   │       │               ├── red_fluid_grid.json
│   │       │               ├── red_grid.json
│   │       │               ├── red_network_receiver.json
│   │       │               ├── red_network_transmitter.json
│   │       │               ├── red_pattern_grid.json
│   │       │               ├── red_relay.json
│   │       │               ├── red_security_manager.json
│   │       │               ├── red_wireless_transmitter.json
│   │       │               ├── relay.json
│   │       │               ├── security_manager.json
│   │       │               ├── white_controller.json
│   │       │               ├── white_crafter.json
│   │       │               ├── white_crafter_manager.json
│   │       │               ├── white_crafting_grid.json
│   │       │               ├── white_crafting_monitor.json
│   │       │               ├── white_creative_controller.json
│   │       │               ├── white_detector.json
│   │       │               ├── white_disk_manipulator.json
│   │       │               ├── white_fluid_grid.json
│   │       │               ├── white_grid.json
│   │       │               ├── white_network_receiver.json
│   │       │               ├── white_network_transmitter.json
│   │       │               ├── white_pattern_grid.json
│   │       │               ├── white_relay.json
│   │       │               ├── white_security_manager.json
│   │       │               ├── white_wireless_transmitter.json
│   │       │               ├── wireless_transmitter.json
│   │       │               ├── yellow_controller.json
│   │       │               ├── yellow_crafter.json
│   │       │               ├── yellow_crafter_manager.json
│   │       │               ├── yellow_crafting_grid.json
│   │       │               ├── yellow_crafting_monitor.json
│   │       │               ├── yellow_creative_controller.json
│   │       │               ├── yellow_detector.json
│   │       │               ├── yellow_disk_manipulator.json
│   │       │               ├── yellow_fluid_grid.json
│   │       │               ├── yellow_grid.json
│   │       │               ├── yellow_network_receiver.json
│   │       │               ├── yellow_network_transmitter.json
│   │       │               ├── yellow_pattern_grid.json
│   │       │               ├── yellow_relay.json
│   │       │               ├── yellow_security_manager.json
│   │       │               └── yellow_wireless_transmitter.json
│   │       └── data/
│   │           ├── forge/
│   │           │   └── tags/
│   │           │       └── blocks/
│   │           │           └── relocation_not_supported.json
│   │           ├── packingtape/
│   │           │   └── tags/
│   │           │       └── block_entity_type/
│   │           │           └── blacklist/
│   │           │               └── problematic.json
│   │           └── refinedstorage/
│   │               ├── advancements/
│   │               │   └── recipes/
│   │               │       └── misc/
│   │               │           ├── coloring_recipes/
│   │               │           │   ├── black_controller.json
│   │               │           │   ├── black_crafter.json
│   │               │           │   ├── black_crafter_manager.json
│   │               │           │   ├── black_crafting_grid.json
│   │               │           │   ├── black_crafting_monitor.json
│   │               │           │   ├── black_detector.json
│   │               │           │   ├── black_disk_manipulator.json
│   │               │           │   ├── black_fluid_grid.json
│   │               │           │   ├── black_grid.json
│   │               │           │   ├── black_network_receiver.json
│   │               │           │   ├── black_network_transmitter.json
│   │               │           │   ├── black_pattern_grid.json
│   │               │           │   ├── black_relay.json
│   │               │           │   ├── black_security_manager.json
│   │               │           │   ├── black_wireless_transmitter.json
│   │               │           │   ├── blue_controller.json
│   │               │           │   ├── blue_crafter.json
│   │               │           │   ├── blue_crafter_manager.json
│   │               │           │   ├── blue_crafting_grid.json
│   │               │           │   ├── blue_crafting_monitor.json
│   │               │           │   ├── blue_detector.json
│   │               │           │   ├── blue_disk_manipulator.json
│   │               │           │   ├── blue_fluid_grid.json
│   │               │           │   ├── blue_grid.json
│   │               │           │   ├── blue_network_receiver.json
│   │               │           │   ├── blue_network_transmitter.json
│   │               │           │   ├── blue_pattern_grid.json
│   │               │           │   ├── blue_relay.json
│   │               │           │   ├── blue_security_manager.json
│   │               │           │   ├── blue_wireless_transmitter.json
│   │               │           │   ├── brown_controller.json
│   │               │           │   ├── brown_crafter.json
│   │               │           │   ├── brown_crafter_manager.json
│   │               │           │   ├── brown_crafting_grid.json
│   │               │           │   ├── brown_crafting_monitor.json
│   │               │           │   ├── brown_detector.json
│   │               │           │   ├── brown_disk_manipulator.json
│   │               │           │   ├── brown_fluid_grid.json
│   │               │           │   ├── brown_grid.json
│   │               │           │   ├── brown_network_receiver.json
│   │               │           │   ├── brown_network_transmitter.json
│   │               │           │   ├── brown_pattern_grid.json
│   │               │           │   ├── brown_relay.json
│   │               │           │   ├── brown_security_manager.json
│   │               │           │   ├── brown_wireless_transmitter.json
│   │               │           │   ├── controller.json
│   │               │           │   ├── crafter.json
│   │               │           │   ├── crafter_manager.json
│   │               │           │   ├── crafting_grid.json
│   │               │           │   ├── crafting_monitor.json
│   │               │           │   ├── cyan_controller.json
│   │               │           │   ├── cyan_crafter.json
│   │               │           │   ├── cyan_crafter_manager.json
│   │               │           │   ├── cyan_crafting_grid.json
│   │               │           │   ├── cyan_crafting_monitor.json
│   │               │           │   ├── cyan_detector.json
│   │               │           │   ├── cyan_disk_manipulator.json
│   │               │           │   ├── cyan_fluid_grid.json
│   │               │           │   ├── cyan_grid.json
│   │               │           │   ├── cyan_network_receiver.json
│   │               │           │   ├── cyan_network_transmitter.json
│   │               │           │   ├── cyan_pattern_grid.json
│   │               │           │   ├── cyan_relay.json
│   │               │           │   ├── cyan_security_manager.json
│   │               │           │   ├── cyan_wireless_transmitter.json
│   │               │           │   ├── detector.json
│   │               │           │   ├── disk_manipulator.json
│   │               │           │   ├── fluid_grid.json
│   │               │           │   ├── gray_controller.json
│   │               │           │   ├── gray_crafter.json
│   │               │           │   ├── gray_crafter_manager.json
│   │               │           │   ├── gray_crafting_grid.json
│   │               │           │   ├── gray_crafting_monitor.json
│   │               │           │   ├── gray_detector.json
│   │               │           │   ├── gray_disk_manipulator.json
│   │               │           │   ├── gray_fluid_grid.json
│   │               │           │   ├── gray_grid.json
│   │               │           │   ├── gray_network_receiver.json
│   │               │           │   ├── gray_network_transmitter.json
│   │               │           │   ├── gray_pattern_grid.json
│   │               │           │   ├── gray_relay.json
│   │               │           │   ├── gray_security_manager.json
│   │               │           │   ├── gray_wireless_transmitter.json
│   │               │           │   ├── green_controller.json
│   │               │           │   ├── green_crafter.json
│   │               │           │   ├── green_crafter_manager.json
│   │               │           │   ├── green_crafting_grid.json
│   │               │           │   ├── green_crafting_monitor.json
│   │               │           │   ├── green_detector.json
│   │               │           │   ├── green_disk_manipulator.json
│   │               │           │   ├── green_fluid_grid.json
│   │               │           │   ├── green_grid.json
│   │               │           │   ├── green_network_receiver.json
│   │               │           │   ├── green_network_transmitter.json
│   │               │           │   ├── green_pattern_grid.json
│   │               │           │   ├── green_relay.json
│   │               │           │   ├── green_security_manager.json
│   │               │           │   ├── green_wireless_transmitter.json
│   │               │           │   ├── grid.json
│   │               │           │   ├── light_gray_controller.json
│   │               │           │   ├── light_gray_crafter.json
│   │               │           │   ├── light_gray_crafter_manager.json
│   │               │           │   ├── light_gray_crafting_grid.json
│   │               │           │   ├── light_gray_crafting_monitor.json
│   │               │           │   ├── light_gray_detector.json
│   │               │           │   ├── light_gray_disk_manipulator.json
│   │               │           │   ├── light_gray_fluid_grid.json
│   │               │           │   ├── light_gray_grid.json
│   │               │           │   ├── light_gray_network_receiver.json
│   │               │           │   ├── light_gray_network_transmitter.json
│   │               │           │   ├── light_gray_pattern_grid.json
│   │               │           │   ├── light_gray_relay.json
│   │               │           │   ├── light_gray_security_manager.json
│   │               │           │   ├── light_gray_wireless_transmitter.json
│   │               │           │   ├── lime_controller.json
│   │               │           │   ├── lime_crafter.json
│   │               │           │   ├── lime_crafter_manager.json
│   │               │           │   ├── lime_crafting_grid.json
│   │               │           │   ├── lime_crafting_monitor.json
│   │               │           │   ├── lime_detector.json
│   │               │           │   ├── lime_disk_manipulator.json
│   │               │           │   ├── lime_fluid_grid.json
│   │               │           │   ├── lime_grid.json
│   │               │           │   ├── lime_network_receiver.json
│   │               │           │   ├── lime_network_transmitter.json
│   │               │           │   ├── lime_pattern_grid.json
│   │               │           │   ├── lime_relay.json
│   │               │           │   ├── lime_security_manager.json
│   │               │           │   ├── lime_wireless_transmitter.json
│   │               │           │   ├── magenta_controller.json
│   │               │           │   ├── magenta_crafter.json
│   │               │           │   ├── magenta_crafter_manager.json
│   │               │           │   ├── magenta_crafting_grid.json
│   │               │           │   ├── magenta_crafting_monitor.json
│   │               │           │   ├── magenta_detector.json
│   │               │           │   ├── magenta_disk_manipulator.json
│   │               │           │   ├── magenta_fluid_grid.json
│   │               │           │   ├── magenta_grid.json
│   │               │           │   ├── magenta_network_receiver.json
│   │               │           │   ├── magenta_network_transmitter.json
│   │               │           │   ├── magenta_pattern_grid.json
│   │               │           │   ├── magenta_relay.json
│   │               │           │   ├── magenta_security_manager.json
│   │               │           │   ├── magenta_wireless_transmitter.json
│   │               │           │   ├── network_receiver.json
│   │               │           │   ├── network_transmitter.json
│   │               │           │   ├── orange_controller.json
│   │               │           │   ├── orange_crafter.json
│   │               │           │   ├── orange_crafter_manager.json
│   │               │           │   ├── orange_crafting_grid.json
│   │               │           │   ├── orange_crafting_monitor.json
│   │               │           │   ├── orange_detector.json
│   │               │           │   ├── orange_disk_manipulator.json
│   │               │           │   ├── orange_fluid_grid.json
│   │               │           │   ├── orange_grid.json
│   │               │           │   ├── orange_network_receiver.json
│   │               │           │   ├── orange_network_transmitter.json
│   │               │           │   ├── orange_pattern_grid.json
│   │               │           │   ├── orange_relay.json
│   │               │           │   ├── orange_security_manager.json
│   │               │           │   ├── orange_wireless_transmitter.json
│   │               │           │   ├── pattern_grid.json
│   │               │           │   ├── pink_controller.json
│   │               │           │   ├── pink_crafter.json
│   │               │           │   ├── pink_crafter_manager.json
│   │               │           │   ├── pink_crafting_grid.json
│   │               │           │   ├── pink_crafting_monitor.json
│   │               │           │   ├── pink_detector.json
│   │               │           │   ├── pink_disk_manipulator.json
│   │               │           │   ├── pink_fluid_grid.json
│   │               │           │   ├── pink_grid.json
│   │               │           │   ├── pink_network_receiver.json
│   │               │           │   ├── pink_network_transmitter.json
│   │               │           │   ├── pink_pattern_grid.json
│   │               │           │   ├── pink_relay.json
│   │               │           │   ├── pink_security_manager.json
│   │               │           │   ├── pink_wireless_transmitter.json
│   │               │           │   ├── purple_controller.json
│   │               │           │   ├── purple_crafter.json
│   │               │           │   ├── purple_crafter_manager.json
│   │               │           │   ├── purple_crafting_grid.json
│   │               │           │   ├── purple_crafting_monitor.json
│   │               │           │   ├── purple_detector.json
│   │               │           │   ├── purple_disk_manipulator.json
│   │               │           │   ├── purple_fluid_grid.json
│   │               │           │   ├── purple_grid.json
│   │               │           │   ├── purple_network_receiver.json
│   │               │           │   ├── purple_network_transmitter.json
│   │               │           │   ├── purple_pattern_grid.json
│   │               │           │   ├── purple_relay.json
│   │               │           │   ├── purple_security_manager.json
│   │               │           │   ├── purple_wireless_transmitter.json
│   │               │           │   ├── red_controller.json
│   │               │           │   ├── red_crafter.json
│   │               │           │   ├── red_crafter_manager.json
│   │               │           │   ├── red_crafting_grid.json
│   │               │           │   ├── red_crafting_monitor.json
│   │               │           │   ├── red_detector.json
│   │               │           │   ├── red_disk_manipulator.json
│   │               │           │   ├── red_fluid_grid.json
│   │               │           │   ├── red_grid.json
│   │               │           │   ├── red_network_receiver.json
│   │               │           │   ├── red_network_transmitter.json
│   │               │           │   ├── red_pattern_grid.json
│   │               │           │   ├── red_relay.json
│   │               │           │   ├── red_security_manager.json
│   │               │           │   ├── red_wireless_transmitter.json
│   │               │           │   ├── relay.json
│   │               │           │   ├── security_manager.json
│   │               │           │   ├── white_controller.json
│   │               │           │   ├── white_crafter.json
│   │               │           │   ├── white_crafter_manager.json
│   │               │           │   ├── white_crafting_grid.json
│   │               │           │   ├── white_crafting_monitor.json
│   │               │           │   ├── white_detector.json
│   │               │           │   ├── white_disk_manipulator.json
│   │               │           │   ├── white_fluid_grid.json
│   │               │           │   ├── white_grid.json
│   │               │           │   ├── white_network_receiver.json
│   │               │           │   ├── white_network_transmitter.json
│   │               │           │   ├── white_pattern_grid.json
│   │               │           │   ├── white_relay.json
│   │               │           │   ├── white_security_manager.json
│   │               │           │   ├── white_wireless_transmitter.json
│   │               │           │   ├── wireless_transmitter.json
│   │               │           │   ├── yellow_controller.json
│   │               │           │   ├── yellow_crafter.json
│   │               │           │   ├── yellow_crafter_manager.json
│   │               │           │   ├── yellow_crafting_grid.json
│   │               │           │   ├── yellow_crafting_monitor.json
│   │               │           │   ├── yellow_detector.json
│   │               │           │   ├── yellow_disk_manipulator.json
│   │               │           │   ├── yellow_fluid_grid.json
│   │               │           │   ├── yellow_grid.json
│   │               │           │   ├── yellow_network_receiver.json
│   │               │           │   ├── yellow_network_transmitter.json
│   │               │           │   ├── yellow_pattern_grid.json
│   │               │           │   ├── yellow_relay.json
│   │               │           │   ├── yellow_security_manager.json
│   │               │           │   └── yellow_wireless_transmitter.json
│   │               │           ├── crafting_grid/
│   │               │           │   ├── black_crafting_grid.json
│   │               │           │   ├── blue_crafting_grid.json
│   │               │           │   ├── brown_crafting_grid.json
│   │               │           │   ├── crafting_grid.json
│   │               │           │   ├── cyan_crafting_grid.json
│   │               │           │   ├── gray_crafting_grid.json
│   │               │           │   ├── green_crafting_grid.json
│   │               │           │   ├── light_gray_crafting_grid.json
│   │               │           │   ├── lime_crafting_grid.json
│   │               │           │   ├── magenta_crafting_grid.json
│   │               │           │   ├── orange_crafting_grid.json
│   │               │           │   ├── pink_crafting_grid.json
│   │               │           │   ├── purple_crafting_grid.json
│   │               │           │   ├── red_crafting_grid.json
│   │               │           │   ├── white_crafting_grid.json
│   │               │           │   └── yellow_crafting_grid.json
│   │               │           ├── fluid_grid/
│   │               │           │   ├── black_fluid_grid.json
│   │               │           │   ├── blue_fluid_grid.json
│   │               │           │   ├── brown_fluid_grid.json
│   │               │           │   ├── cyan_fluid_grid.json
│   │               │           │   ├── fluid_grid.json
│   │               │           │   ├── gray_fluid_grid.json
│   │               │           │   ├── green_fluid_grid.json
│   │               │           │   ├── light_gray_fluid_grid.json
│   │               │           │   ├── lime_fluid_grid.json
│   │               │           │   ├── magenta_fluid_grid.json
│   │               │           │   ├── orange_fluid_grid.json
│   │               │           │   ├── pink_fluid_grid.json
│   │               │           │   ├── purple_fluid_grid.json
│   │               │           │   ├── red_fluid_grid.json
│   │               │           │   ├── white_fluid_grid.json
│   │               │           │   └── yellow_fluid_grid.json
│   │               │           └── pattern_grid/
│   │               │               ├── black_pattern_grid.json
│   │               │               ├── blue_pattern_grid.json
│   │               │               ├── brown_pattern_grid.json
│   │               │               ├── cyan_pattern_grid.json
│   │               │               ├── gray_pattern_grid.json
│   │               │               ├── green_pattern_grid.json
│   │               │               ├── light_gray_pattern_grid.json
│   │               │               ├── lime_pattern_grid.json
│   │               │               ├── magenta_pattern_grid.json
│   │               │               ├── orange_pattern_grid.json
│   │               │               ├── pattern_grid.json
│   │               │               ├── pink_pattern_grid.json
│   │               │               ├── purple_pattern_grid.json
│   │               │               ├── red_pattern_grid.json
│   │               │               ├── white_pattern_grid.json
│   │               │               └── yellow_pattern_grid.json
│   │               ├── loot_tables/
│   │               │   └── blocks/
│   │               │       ├── black_controller.json
│   │               │       ├── black_crafter.json
│   │               │       ├── black_crafter_manager.json
│   │               │       ├── black_crafting_grid.json
│   │               │       ├── black_crafting_monitor.json
│   │               │       ├── black_creative_controller.json
│   │               │       ├── black_detector.json
│   │               │       ├── black_disk_manipulator.json
│   │               │       ├── black_fluid_grid.json
│   │               │       ├── black_grid.json
│   │               │       ├── black_network_receiver.json
│   │               │       ├── black_network_transmitter.json
│   │               │       ├── black_pattern_grid.json
│   │               │       ├── black_relay.json
│   │               │       ├── black_security_manager.json
│   │               │       ├── black_wireless_transmitter.json
│   │               │       ├── blue_controller.json
│   │               │       ├── blue_crafter.json
│   │               │       ├── blue_crafter_manager.json
│   │               │       ├── blue_crafting_grid.json
│   │               │       ├── blue_crafting_monitor.json
│   │               │       ├── blue_creative_controller.json
│   │               │       ├── blue_detector.json
│   │               │       ├── blue_disk_manipulator.json
│   │               │       ├── blue_fluid_grid.json
│   │               │       ├── blue_grid.json
│   │               │       ├── blue_network_receiver.json
│   │               │       ├── blue_network_transmitter.json
│   │               │       ├── blue_pattern_grid.json
│   │               │       ├── blue_relay.json
│   │               │       ├── blue_security_manager.json
│   │               │       ├── blue_wireless_transmitter.json
│   │               │       ├── brown_controller.json
│   │               │       ├── brown_crafter.json
│   │               │       ├── brown_crafter_manager.json
│   │               │       ├── brown_crafting_grid.json
│   │               │       ├── brown_crafting_monitor.json
│   │               │       ├── brown_creative_controller.json
│   │               │       ├── brown_detector.json
│   │               │       ├── brown_disk_manipulator.json
│   │               │       ├── brown_fluid_grid.json
│   │               │       ├── brown_grid.json
│   │               │       ├── brown_network_receiver.json
│   │               │       ├── brown_network_transmitter.json
│   │               │       ├── brown_pattern_grid.json
│   │               │       ├── brown_relay.json
│   │               │       ├── brown_security_manager.json
│   │               │       ├── brown_wireless_transmitter.json
│   │               │       ├── controller.json
│   │               │       ├── crafter.json
│   │               │       ├── crafter_manager.json
│   │               │       ├── crafting_grid.json
│   │               │       ├── crafting_monitor.json
│   │               │       ├── creative_controller.json
│   │               │       ├── cyan_controller.json
│   │               │       ├── cyan_crafter.json
│   │               │       ├── cyan_crafter_manager.json
│   │               │       ├── cyan_crafting_grid.json
│   │               │       ├── cyan_crafting_monitor.json
│   │               │       ├── cyan_creative_controller.json
│   │               │       ├── cyan_detector.json
│   │               │       ├── cyan_disk_manipulator.json
│   │               │       ├── cyan_fluid_grid.json
│   │               │       ├── cyan_grid.json
│   │               │       ├── cyan_network_receiver.json
│   │               │       ├── cyan_network_transmitter.json
│   │               │       ├── cyan_pattern_grid.json
│   │               │       ├── cyan_relay.json
│   │               │       ├── cyan_security_manager.json
│   │               │       ├── cyan_wireless_transmitter.json
│   │               │       ├── detector.json
│   │               │       ├── disk_manipulator.json
│   │               │       ├── fluid_grid.json
│   │               │       ├── gray_controller.json
│   │               │       ├── gray_crafter.json
│   │               │       ├── gray_crafter_manager.json
│   │               │       ├── gray_crafting_grid.json
│   │               │       ├── gray_crafting_monitor.json
│   │               │       ├── gray_creative_controller.json
│   │               │       ├── gray_detector.json
│   │               │       ├── gray_disk_manipulator.json
│   │               │       ├── gray_fluid_grid.json
│   │               │       ├── gray_grid.json
│   │               │       ├── gray_network_receiver.json
│   │               │       ├── gray_network_transmitter.json
│   │               │       ├── gray_pattern_grid.json
│   │               │       ├── gray_relay.json
│   │               │       ├── gray_security_manager.json
│   │               │       ├── gray_wireless_transmitter.json
│   │               │       ├── green_controller.json
│   │               │       ├── green_crafter.json
│   │               │       ├── green_crafter_manager.json
│   │               │       ├── green_crafting_grid.json
│   │               │       ├── green_crafting_monitor.json
│   │               │       ├── green_creative_controller.json
│   │               │       ├── green_detector.json
│   │               │       ├── green_disk_manipulator.json
│   │               │       ├── green_fluid_grid.json
│   │               │       ├── green_grid.json
│   │               │       ├── green_network_receiver.json
│   │               │       ├── green_network_transmitter.json
│   │               │       ├── green_pattern_grid.json
│   │               │       ├── green_relay.json
│   │               │       ├── green_security_manager.json
│   │               │       ├── green_wireless_transmitter.json
│   │               │       ├── grid.json
│   │               │       ├── light_gray_controller.json
│   │               │       ├── light_gray_crafter.json
│   │               │       ├── light_gray_crafter_manager.json
│   │               │       ├── light_gray_crafting_grid.json
│   │               │       ├── light_gray_crafting_monitor.json
│   │               │       ├── light_gray_creative_controller.json
│   │               │       ├── light_gray_detector.json
│   │               │       ├── light_gray_disk_manipulator.json
│   │               │       ├── light_gray_fluid_grid.json
│   │               │       ├── light_gray_grid.json
│   │               │       ├── light_gray_network_receiver.json
│   │               │       ├── light_gray_network_transmitter.json
│   │               │       ├── light_gray_pattern_grid.json
│   │               │       ├── light_gray_relay.json
│   │               │       ├── light_gray_security_manager.json
│   │               │       ├── light_gray_wireless_transmitter.json
│   │               │       ├── lime_controller.json
│   │               │       ├── lime_crafter.json
│   │               │       ├── lime_crafter_manager.json
│   │               │       ├── lime_crafting_grid.json
│   │               │       ├── lime_crafting_monitor.json
│   │               │       ├── lime_creative_controller.json
│   │               │       ├── lime_detector.json
│   │               │       ├── lime_disk_manipulator.json
│   │               │       ├── lime_fluid_grid.json
│   │               │       ├── lime_grid.json
│   │               │       ├── lime_network_receiver.json
│   │               │       ├── lime_network_transmitter.json
│   │               │       ├── lime_pattern_grid.json
│   │               │       ├── lime_relay.json
│   │               │       ├── lime_security_manager.json
│   │               │       ├── lime_wireless_transmitter.json
│   │               │       ├── magenta_controller.json
│   │               │       ├── magenta_crafter.json
│   │               │       ├── magenta_crafter_manager.json
│   │               │       ├── magenta_crafting_grid.json
│   │               │       ├── magenta_crafting_monitor.json
│   │               │       ├── magenta_creative_controller.json
│   │               │       ├── magenta_detector.json
│   │               │       ├── magenta_disk_manipulator.json
│   │               │       ├── magenta_fluid_grid.json
│   │               │       ├── magenta_grid.json
│   │               │       ├── magenta_network_receiver.json
│   │               │       ├── magenta_network_transmitter.json
│   │               │       ├── magenta_pattern_grid.json
│   │               │       ├── magenta_relay.json
│   │               │       ├── magenta_security_manager.json
│   │               │       ├── magenta_wireless_transmitter.json
│   │               │       ├── network_receiver.json
│   │               │       ├── network_transmitter.json
│   │               │       ├── orange_controller.json
│   │               │       ├── orange_crafter.json
│   │               │       ├── orange_crafter_manager.json
│   │               │       ├── orange_crafting_grid.json
│   │               │       ├── orange_crafting_monitor.json
│   │               │       ├── orange_creative_controller.json
│   │               │       ├── orange_detector.json
│   │               │       ├── orange_disk_manipulator.json
│   │               │       ├── orange_fluid_grid.json
│   │               │       ├── orange_grid.json
│   │               │       ├── orange_network_receiver.json
│   │               │       ├── orange_network_transmitter.json
│   │               │       ├── orange_pattern_grid.json
│   │               │       ├── orange_relay.json
│   │               │       ├── orange_security_manager.json
│   │               │       ├── orange_wireless_transmitter.json
│   │               │       ├── pattern_grid.json
│   │               │       ├── pink_controller.json
│   │               │       ├── pink_crafter.json
│   │               │       ├── pink_crafter_manager.json
│   │               │       ├── pink_crafting_grid.json
│   │               │       ├── pink_crafting_monitor.json
│   │               │       ├── pink_creative_controller.json
│   │               │       ├── pink_detector.json
│   │               │       ├── pink_disk_manipulator.json
│   │               │       ├── pink_fluid_grid.json
│   │               │       ├── pink_grid.json
│   │               │       ├── pink_network_receiver.json
│   │               │       ├── pink_network_transmitter.json
│   │               │       ├── pink_pattern_grid.json
│   │               │       ├── pink_relay.json
│   │               │       ├── pink_security_manager.json
│   │               │       ├── pink_wireless_transmitter.json
│   │               │       ├── purple_controller.json
│   │               │       ├── purple_crafter.json
│   │               │       ├── purple_crafter_manager.json
│   │               │       ├── purple_crafting_grid.json
│   │               │       ├── purple_crafting_monitor.json
│   │               │       ├── purple_creative_controller.json
│   │               │       ├── purple_detector.json
│   │               │       ├── purple_disk_manipulator.json
│   │               │       ├── purple_fluid_grid.json
│   │               │       ├── purple_grid.json
│   │               │       ├── purple_network_receiver.json
│   │               │       ├── purple_network_transmitter.json
│   │               │       ├── purple_pattern_grid.json
│   │               │       ├── purple_relay.json
│   │               │       ├── purple_security_manager.json
│   │               │       ├── purple_wireless_transmitter.json
│   │               │       ├── red_controller.json
│   │               │       ├── red_crafter.json
│   │               │       ├── red_crafter_manager.json
│   │               │       ├── red_crafting_grid.json
│   │               │       ├── red_crafting_monitor.json
│   │               │       ├── red_creative_controller.json
│   │               │       ├── red_detector.json
│   │               │       ├── red_disk_manipulator.json
│   │               │       ├── red_fluid_grid.json
│   │               │       ├── red_grid.json
│   │               │       ├── red_network_receiver.json
│   │               │       ├── red_network_transmitter.json
│   │               │       ├── red_pattern_grid.json
│   │               │       ├── red_relay.json
│   │               │       ├── red_security_manager.json
│   │               │       ├── red_wireless_transmitter.json
│   │               │       ├── relay.json
│   │               │       ├── security_manager.json
│   │               │       ├── white_controller.json
│   │               │       ├── white_crafter.json
│   │               │       ├── white_crafter_manager.json
│   │               │       ├── white_crafting_grid.json
│   │               │       ├── white_crafting_monitor.json
│   │               │       ├── white_creative_controller.json
│   │               │       ├── white_detector.json
│   │               │       ├── white_disk_manipulator.json
│   │               │       ├── white_fluid_grid.json
│   │               │       ├── white_grid.json
│   │               │       ├── white_network_receiver.json
│   │               │       ├── white_network_transmitter.json
│   │               │       ├── white_pattern_grid.json
│   │               │       ├── white_relay.json
│   │               │       ├── white_security_manager.json
│   │               │       ├── white_wireless_transmitter.json
│   │               │       ├── wireless_transmitter.json
│   │               │       ├── yellow_controller.json
│   │               │       ├── yellow_crafter.json
│   │               │       ├── yellow_crafter_manager.json
│   │               │       ├── yellow_crafting_grid.json
│   │               │       ├── yellow_crafting_monitor.json
│   │               │       ├── yellow_creative_controller.json
│   │               │       ├── yellow_detector.json
│   │               │       ├── yellow_disk_manipulator.json
│   │               │       ├── yellow_fluid_grid.json
│   │               │       ├── yellow_grid.json
│   │               │       ├── yellow_network_receiver.json
│   │               │       ├── yellow_network_transmitter.json
│   │               │       ├── yellow_pattern_grid.json
│   │               │       ├── yellow_relay.json
│   │               │       ├── yellow_security_manager.json
│   │               │       └── yellow_wireless_transmitter.json
│   │               ├── recipes/
│   │               │   ├── coloring_recipes/
│   │               │   │   ├── black_controller.json
│   │               │   │   ├── black_crafter.json
│   │               │   │   ├── black_crafter_manager.json
│   │               │   │   ├── black_crafting_grid.json
│   │               │   │   ├── black_crafting_monitor.json
│   │               │   │   ├── black_detector.json
│   │               │   │   ├── black_disk_manipulator.json
│   │               │   │   ├── black_fluid_grid.json
│   │               │   │   ├── black_grid.json
│   │               │   │   ├── black_network_receiver.json
│   │               │   │   ├── black_network_transmitter.json
│   │               │   │   ├── black_pattern_grid.json
│   │               │   │   ├── black_relay.json
│   │               │   │   ├── black_security_manager.json
│   │               │   │   ├── black_wireless_transmitter.json
│   │               │   │   ├── blue_controller.json
│   │               │   │   ├── blue_crafter.json
│   │               │   │   ├── blue_crafter_manager.json
│   │               │   │   ├── blue_crafting_grid.json
│   │               │   │   ├── blue_crafting_monitor.json
│   │               │   │   ├── blue_detector.json
│   │               │   │   ├── blue_disk_manipulator.json
│   │               │   │   ├── blue_fluid_grid.json
│   │               │   │   ├── blue_grid.json
│   │               │   │   ├── blue_network_receiver.json
│   │               │   │   ├── blue_network_transmitter.json
│   │               │   │   ├── blue_pattern_grid.json
│   │               │   │   ├── blue_relay.json
│   │               │   │   ├── blue_security_manager.json
│   │               │   │   ├── blue_wireless_transmitter.json
│   │               │   │   ├── brown_controller.json
│   │               │   │   ├── brown_crafter.json
│   │               │   │   ├── brown_crafter_manager.json
│   │               │   │   ├── brown_crafting_grid.json
│   │               │   │   ├── brown_crafting_monitor.json
│   │               │   │   ├── brown_detector.json
│   │               │   │   ├── brown_disk_manipulator.json
│   │               │   │   ├── brown_fluid_grid.json
│   │               │   │   ├── brown_grid.json
│   │               │   │   ├── brown_network_receiver.json
│   │               │   │   ├── brown_network_transmitter.json
│   │               │   │   ├── brown_pattern_grid.json
│   │               │   │   ├── brown_relay.json
│   │               │   │   ├── brown_security_manager.json
│   │               │   │   ├── brown_wireless_transmitter.json
│   │               │   │   ├── controller.json
│   │               │   │   ├── crafter.json
│   │               │   │   ├── crafter_manager.json
│   │               │   │   ├── crafting_grid.json
│   │               │   │   ├── crafting_monitor.json
│   │               │   │   ├── cyan_controller.json
│   │               │   │   ├── cyan_crafter.json
│   │               │   │   ├── cyan_crafter_manager.json
│   │               │   │   ├── cyan_crafting_grid.json
│   │               │   │   ├── cyan_crafting_monitor.json
│   │               │   │   ├── cyan_detector.json
│   │               │   │   ├── cyan_disk_manipulator.json
│   │               │   │   ├── cyan_fluid_grid.json
│   │               │   │   ├── cyan_grid.json
│   │               │   │   ├── cyan_network_receiver.json
│   │               │   │   ├── cyan_network_transmitter.json
│   │               │   │   ├── cyan_pattern_grid.json
│   │               │   │   ├── cyan_relay.json
│   │               │   │   ├── cyan_security_manager.json
│   │               │   │   ├── cyan_wireless_transmitter.json
│   │               │   │   ├── detector.json
│   │               │   │   ├── disk_manipulator.json
│   │               │   │   ├── fluid_grid.json
│   │               │   │   ├── gray_controller.json
│   │               │   │   ├── gray_crafter.json
│   │               │   │   ├── gray_crafter_manager.json
│   │               │   │   ├── gray_crafting_grid.json
│   │               │   │   ├── gray_crafting_monitor.json
│   │               │   │   ├── gray_detector.json
│   │               │   │   ├── gray_disk_manipulator.json
│   │               │   │   ├── gray_fluid_grid.json
│   │               │   │   ├── gray_grid.json
│   │               │   │   ├── gray_network_receiver.json
│   │               │   │   ├── gray_network_transmitter.json
│   │               │   │   ├── gray_pattern_grid.json
│   │               │   │   ├── gray_relay.json
│   │               │   │   ├── gray_security_manager.json
│   │               │   │   ├── gray_wireless_transmitter.json
│   │               │   │   ├── green_controller.json
│   │               │   │   ├── green_crafter.json
│   │               │   │   ├── green_crafter_manager.json
│   │               │   │   ├── green_crafting_grid.json
│   │               │   │   ├── green_crafting_monitor.json
│   │               │   │   ├── green_detector.json
│   │               │   │   ├── green_disk_manipulator.json
│   │               │   │   ├── green_fluid_grid.json
│   │               │   │   ├── green_grid.json
│   │               │   │   ├── green_network_receiver.json
│   │               │   │   ├── green_network_transmitter.json
│   │               │   │   ├── green_pattern_grid.json
│   │               │   │   ├── green_relay.json
│   │               │   │   ├── green_security_manager.json
│   │               │   │   ├── green_wireless_transmitter.json
│   │               │   │   ├── grid.json
│   │               │   │   ├── light_gray_controller.json
│   │               │   │   ├── light_gray_crafter.json
│   │               │   │   ├── light_gray_crafter_manager.json
│   │               │   │   ├── light_gray_crafting_grid.json
│   │               │   │   ├── light_gray_crafting_monitor.json
│   │               │   │   ├── light_gray_detector.json
│   │               │   │   ├── light_gray_disk_manipulator.json
│   │               │   │   ├── light_gray_fluid_grid.json
│   │               │   │   ├── light_gray_grid.json
│   │               │   │   ├── light_gray_network_receiver.json
│   │               │   │   ├── light_gray_network_transmitter.json
│   │               │   │   ├── light_gray_pattern_grid.json
│   │               │   │   ├── light_gray_relay.json
│   │               │   │   ├── light_gray_security_manager.json
│   │               │   │   ├── light_gray_wireless_transmitter.json
│   │               │   │   ├── lime_controller.json
│   │               │   │   ├── lime_crafter.json
│   │               │   │   ├── lime_crafter_manager.json
│   │               │   │   ├── lime_crafting_grid.json
│   │               │   │   ├── lime_crafting_monitor.json
│   │               │   │   ├── lime_detector.json
│   │               │   │   ├── lime_disk_manipulator.json
│   │               │   │   ├── lime_fluid_grid.json
│   │               │   │   ├── lime_grid.json
│   │               │   │   ├── lime_network_receiver.json
│   │               │   │   ├── lime_network_transmitter.json
│   │               │   │   ├── lime_pattern_grid.json
│   │               │   │   ├── lime_relay.json
│   │               │   │   ├── lime_security_manager.json
│   │               │   │   ├── lime_wireless_transmitter.json
│   │               │   │   ├── magenta_controller.json
│   │               │   │   ├── magenta_crafter.json
│   │               │   │   ├── magenta_crafter_manager.json
│   │               │   │   ├── magenta_crafting_grid.json
│   │               │   │   ├── magenta_crafting_monitor.json
│   │               │   │   ├── magenta_detector.json
│   │               │   │   ├── magenta_disk_manipulator.json
│   │               │   │   ├── magenta_fluid_grid.json
│   │               │   │   ├── magenta_grid.json
│   │               │   │   ├── magenta_network_receiver.json
│   │               │   │   ├── magenta_network_transmitter.json
│   │               │   │   ├── magenta_pattern_grid.json
│   │               │   │   ├── magenta_relay.json
│   │               │   │   ├── magenta_security_manager.json
│   │               │   │   ├── magenta_wireless_transmitter.json
│   │               │   │   ├── network_receiver.json
│   │               │   │   ├── network_transmitter.json
│   │               │   │   ├── orange_controller.json
│   │               │   │   ├── orange_crafter.json
│   │               │   │   ├── orange_crafter_manager.json
│   │               │   │   ├── orange_crafting_grid.json
│   │               │   │   ├── orange_crafting_monitor.json
│   │               │   │   ├── orange_detector.json
│   │               │   │   ├── orange_disk_manipulator.json
│   │               │   │   ├── orange_fluid_grid.json
│   │               │   │   ├── orange_grid.json
│   │               │   │   ├── orange_network_receiver.json
│   │               │   │   ├── orange_network_transmitter.json
│   │               │   │   ├── orange_pattern_grid.json
│   │               │   │   ├── orange_relay.json
│   │               │   │   ├── orange_security_manager.json
│   │               │   │   ├── orange_wireless_transmitter.json
│   │               │   │   ├── pattern_grid.json
│   │               │   │   ├── pink_controller.json
│   │               │   │   ├── pink_crafter.json
│   │               │   │   ├── pink_crafter_manager.json
│   │               │   │   ├── pink_crafting_grid.json
│   │               │   │   ├── pink_crafting_monitor.json
│   │               │   │   ├── pink_detector.json
│   │               │   │   ├── pink_disk_manipulator.json
│   │               │   │   ├── pink_fluid_grid.json
│   │               │   │   ├── pink_grid.json
│   │               │   │   ├── pink_network_receiver.json
│   │               │   │   ├── pink_network_transmitter.json
│   │               │   │   ├── pink_pattern_grid.json
│   │               │   │   ├── pink_relay.json
│   │               │   │   ├── pink_security_manager.json
│   │               │   │   ├── pink_wireless_transmitter.json
│   │               │   │   ├── purple_controller.json
│   │               │   │   ├── purple_crafter.json
│   │               │   │   ├── purple_crafter_manager.json
│   │               │   │   ├── purple_crafting_grid.json
│   │               │   │   ├── purple_crafting_monitor.json
│   │               │   │   ├── purple_detector.json
│   │               │   │   ├── purple_disk_manipulator.json
│   │               │   │   ├── purple_fluid_grid.json
│   │               │   │   ├── purple_grid.json
│   │               │   │   ├── purple_network_receiver.json
│   │               │   │   ├── purple_network_transmitter.json
│   │               │   │   ├── purple_pattern_grid.json
│   │               │   │   ├── purple_relay.json
│   │               │   │   ├── purple_security_manager.json
│   │               │   │   ├── purple_wireless_transmitter.json
│   │               │   │   ├── red_controller.json
│   │               │   │   ├── red_crafter.json
│   │               │   │   ├── red_crafter_manager.json
│   │               │   │   ├── red_crafting_grid.json
│   │               │   │   ├── red_crafting_monitor.json
│   │               │   │   ├── red_detector.json
│   │               │   │   ├── red_disk_manipulator.json
│   │               │   │   ├── red_fluid_grid.json
│   │               │   │   ├── red_grid.json
│   │               │   │   ├── red_network_receiver.json
│   │               │   │   ├── red_network_transmitter.json
│   │               │   │   ├── red_pattern_grid.json
│   │               │   │   ├── red_relay.json
│   │               │   │   ├── red_security_manager.json
│   │               │   │   ├── red_wireless_transmitter.json
│   │               │   │   ├── relay.json
│   │               │   │   ├── security_manager.json
│   │               │   │   ├── white_controller.json
│   │               │   │   ├── white_crafter.json
│   │               │   │   ├── white_crafter_manager.json
│   │               │   │   ├── white_crafting_grid.json
│   │               │   │   ├── white_crafting_monitor.json
│   │               │   │   ├── white_detector.json
│   │               │   │   ├── white_disk_manipulator.json
│   │               │   │   ├── white_fluid_grid.json
│   │               │   │   ├── white_grid.json
│   │               │   │   ├── white_network_receiver.json
│   │               │   │   ├── white_network_transmitter.json
│   │               │   │   ├── white_pattern_grid.json
│   │               │   │   ├── white_relay.json
│   │               │   │   ├── white_security_manager.json
│   │               │   │   ├── white_wireless_transmitter.json
│   │               │   │   ├── wireless_transmitter.json
│   │               │   │   ├── yellow_controller.json
│   │               │   │   ├── yellow_crafter.json
│   │               │   │   ├── yellow_crafter_manager.json
│   │               │   │   ├── yellow_crafting_grid.json
│   │               │   │   ├── yellow_crafting_monitor.json
│   │               │   │   ├── yellow_detector.json
│   │               │   │   ├── yellow_disk_manipulator.json
│   │               │   │   ├── yellow_fluid_grid.json
│   │               │   │   ├── yellow_grid.json
│   │               │   │   ├── yellow_network_receiver.json
│   │               │   │   ├── yellow_network_transmitter.json
│   │               │   │   ├── yellow_pattern_grid.json
│   │               │   │   ├── yellow_relay.json
│   │               │   │   ├── yellow_security_manager.json
│   │               │   │   └── yellow_wireless_transmitter.json
│   │               │   ├── crafting_grid/
│   │               │   │   ├── black_crafting_grid.json
│   │               │   │   ├── blue_crafting_grid.json
│   │               │   │   ├── brown_crafting_grid.json
│   │               │   │   ├── crafting_grid.json
│   │               │   │   ├── cyan_crafting_grid.json
│   │               │   │   ├── gray_crafting_grid.json
│   │               │   │   ├── green_crafting_grid.json
│   │               │   │   ├── light_gray_crafting_grid.json
│   │               │   │   ├── lime_crafting_grid.json
│   │               │   │   ├── magenta_crafting_grid.json
│   │               │   │   ├── orange_crafting_grid.json
│   │               │   │   ├── pink_crafting_grid.json
│   │               │   │   ├── purple_crafting_grid.json
│   │               │   │   ├── red_crafting_grid.json
│   │               │   │   ├── white_crafting_grid.json
│   │               │   │   └── yellow_crafting_grid.json
│   │               │   ├── fluid_grid/
│   │               │   │   ├── black_fluid_grid.json
│   │               │   │   ├── blue_fluid_grid.json
│   │               │   │   ├── brown_fluid_grid.json
│   │               │   │   ├── cyan_fluid_grid.json
│   │               │   │   ├── fluid_grid.json
│   │               │   │   ├── gray_fluid_grid.json
│   │               │   │   ├── green_fluid_grid.json
│   │               │   │   ├── light_gray_fluid_grid.json
│   │               │   │   ├── lime_fluid_grid.json
│   │               │   │   ├── magenta_fluid_grid.json
│   │               │   │   ├── orange_fluid_grid.json
│   │               │   │   ├── pink_fluid_grid.json
│   │               │   │   ├── purple_fluid_grid.json
│   │               │   │   ├── red_fluid_grid.json
│   │               │   │   ├── white_fluid_grid.json
│   │               │   │   └── yellow_fluid_grid.json
│   │               │   └── pattern_grid/
│   │               │       ├── black_pattern_grid.json
│   │               │       ├── blue_pattern_grid.json
│   │               │       ├── brown_pattern_grid.json
│   │               │       ├── cyan_pattern_grid.json
│   │               │       ├── gray_pattern_grid.json
│   │               │       ├── green_pattern_grid.json
│   │               │       ├── light_gray_pattern_grid.json
│   │               │       ├── lime_pattern_grid.json
│   │               │       ├── magenta_pattern_grid.json
│   │               │       ├── orange_pattern_grid.json
│   │               │       ├── pattern_grid.json
│   │               │       ├── pink_pattern_grid.json
│   │               │       ├── purple_pattern_grid.json
│   │               │       ├── red_pattern_grid.json
│   │               │       ├── white_pattern_grid.json
│   │               │       └── yellow_pattern_grid.json
│   │               └── tags/
│   │                   ├── blocks/
│   │                   │   ├── controller.json
│   │                   │   ├── crafter.json
│   │                   │   ├── crafter_manager.json
│   │                   │   ├── crafting_grid.json
│   │                   │   ├── crafting_monitor.json
│   │                   │   ├── creative_controller.json
│   │                   │   ├── detector.json
│   │                   │   ├── disk_manipulator.json
│   │                   │   ├── fluid_grid.json
│   │                   │   ├── grid.json
│   │                   │   ├── network_receiver.json
│   │                   │   ├── network_transmitter.json
│   │                   │   ├── pattern_grid.json
│   │                   │   ├── relay.json
│   │                   │   ├── security_manager.json
│   │                   │   └── wireless_transmitter.json
│   │                   └── items/
│   │                       ├── controller.json
│   │                       ├── crafter.json
│   │                       ├── crafter_manager.json
│   │                       ├── crafting_grid.json
│   │                       ├── crafting_monitor.json
│   │                       ├── detector.json
│   │                       ├── disk_manipulator.json
│   │                       ├── fluid_grid.json
│   │                       ├── grid.json
│   │                       ├── network_receiver.json
│   │                       ├── network_transmitter.json
│   │                       ├── pattern_grid.json
│   │                       ├── relay.json
│   │                       ├── security_manager.json
│   │                       └── wireless_transmitter.json
│   └── main/
│       ├── java/
│       │   └── com/
│       │       └── refinedmods/
│       │           └── refinedstorage/
│       │               ├── RS.java
│       │               ├── RSBlockEntities.java
│       │               ├── RSBlocks.java
│       │               ├── RSContainerMenus.java
│       │               ├── RSCreativeModeTabItems.java
│       │               ├── RSItems.java
│       │               ├── RSKeyBindings.java
│       │               ├── RSLootFunctions.java
│       │               ├── RSRecipeSerializers.java
│       │               ├── api/
│       │               │   ├── IRSAPI.java
│       │               │   ├── RSAPIInject.java
│       │               │   ├── autocrafting/
│       │               │   │   ├── ICraftingManager.java
│       │               │   │   ├── ICraftingPattern.java
│       │               │   │   ├── ICraftingPatternContainer.java
│       │               │   │   ├── ICraftingPatternProvider.java
│       │               │   │   ├── ICraftingPatternRenderHandler.java
│       │               │   │   ├── craftingmonitor/
│       │               │   │   │   ├── ICraftingMonitorElement.java
│       │               │   │   │   ├── ICraftingMonitorElementList.java
│       │               │   │   │   ├── ICraftingMonitorElementRegistry.java
│       │               │   │   │   └── ICraftingMonitorListener.java
│       │               │   │   ├── preview/
│       │               │   │   │   ├── ICraftingPreviewElement.java
│       │               │   │   │   └── ICraftingPreviewElementRegistry.java
│       │               │   │   └── task/
│       │               │   │       ├── CalculationResultType.java
│       │               │   │       ├── CraftingTaskReadException.java
│       │               │   │       ├── ICalculationResult.java
│       │               │   │       ├── ICraftingRequestInfo.java
│       │               │   │       ├── ICraftingTask.java
│       │               │   │       ├── ICraftingTaskFactory.java
│       │               │   │       └── ICraftingTaskRegistry.java
│       │               │   ├── network/
│       │               │   │   ├── INetwork.java
│       │               │   │   ├── INetworkManager.java
│       │               │   │   ├── INetworkNodeGraph.java
│       │               │   │   ├── INetworkNodeGraphEntry.java
│       │               │   │   ├── INetworkNodeGraphListener.java
│       │               │   │   ├── INetworkNodeVisitor.java
│       │               │   │   ├── IWirelessTransmitter.java
│       │               │   │   ├── NetworkType.java
│       │               │   │   ├── grid/
│       │               │   │   │   ├── GridFactoryType.java
│       │               │   │   │   ├── GridType.java
│       │               │   │   │   ├── ICraftingGridBehavior.java
│       │               │   │   │   ├── ICraftingGridListener.java
│       │               │   │   │   ├── IGrid.java
│       │               │   │   │   ├── IGridFactory.java
│       │               │   │   │   ├── IGridManager.java
│       │               │   │   │   ├── IGridTab.java
│       │               │   │   │   ├── INetworkAwareGrid.java
│       │               │   │   │   └── handler/
│       │               │   │   │       ├── IFluidGridHandler.java
│       │               │   │   │       └── IItemGridHandler.java
│       │               │   │   ├── item/
│       │               │   │   │   ├── INetworkItem.java
│       │               │   │   │   ├── INetworkItemManager.java
│       │               │   │   │   └── INetworkItemProvider.java
│       │               │   │   ├── node/
│       │               │   │   │   ├── ICoverable.java
│       │               │   │   │   ├── INetworkNode.java
│       │               │   │   │   ├── INetworkNodeFactory.java
│       │               │   │   │   ├── INetworkNodeManager.java
│       │               │   │   │   ├── INetworkNodeProxy.java
│       │               │   │   │   └── INetworkNodeRegistry.java
│       │               │   │   └── security/
│       │               │   │       ├── ISecurityCard.java
│       │               │   │       ├── ISecurityCardContainer.java
│       │               │   │       ├── ISecurityManager.java
│       │               │   │       └── Permission.java
│       │               │   ├── render/
│       │               │   │   ├── IElementDrawer.java
│       │               │   │   └── IElementDrawers.java
│       │               │   ├── storage/
│       │               │   │   ├── AccessType.java
│       │               │   │   ├── IStorage.java
│       │               │   │   ├── IStorageProvider.java
│       │               │   │   ├── StorageType.java
│       │               │   │   ├── cache/
│       │               │   │   │   ├── IStorageCache.java
│       │               │   │   │   ├── IStorageCacheListener.java
│       │               │   │   │   └── InvalidateCause.java
│       │               │   │   ├── disk/
│       │               │   │   │   ├── IStorageDisk.java
│       │               │   │   │   ├── IStorageDiskContainerContext.java
│       │               │   │   │   ├── IStorageDiskFactory.java
│       │               │   │   │   ├── IStorageDiskListener.java
│       │               │   │   │   ├── IStorageDiskManager.java
│       │               │   │   │   ├── IStorageDiskProvider.java
│       │               │   │   │   ├── IStorageDiskRegistry.java
│       │               │   │   │   ├── IStorageDiskSync.java
│       │               │   │   │   └── StorageDiskSyncData.java
│       │               │   │   ├── externalstorage/
│       │               │   │   │   ├── IExternalStorage.java
│       │               │   │   │   ├── IExternalStorageContext.java
│       │               │   │   │   └── IExternalStorageProvider.java
│       │               │   │   └── tracker/
│       │               │   │       ├── IStorageTracker.java
│       │               │   │       ├── IStorageTrackerManager.java
│       │               │   │       └── StorageTrackerEntry.java
│       │               │   └── util/
│       │               │       ├── Action.java
│       │               │       ├── IComparer.java
│       │               │       ├── IFilter.java
│       │               │       ├── IQuantityFormatter.java
│       │               │       ├── IStackList.java
│       │               │       ├── StackListEntry.java
│       │               │       └── StackListResult.java
│       │               ├── apiimpl/
│       │               │   ├── API.java
│       │               │   ├── autocrafting/
│       │               │   │   ├── AllowedTagList.java
│       │               │   │   ├── CraftingManager.java
│       │               │   │   ├── CraftingPattern.java
│       │               │   │   ├── CraftingPatternContext.java
│       │               │   │   ├── CraftingPatternFactory.java
│       │               │   │   ├── CraftingPatternFactoryException.java
│       │               │   │   ├── CraftingPatternInputs.java
│       │               │   │   ├── CraftingPatternOutputs.java
│       │               │   │   ├── InvalidCraftingPattern.java
│       │               │   │   ├── craftingmonitor/
│       │               │   │   │   ├── CraftingMonitorElementList.java
│       │               │   │   │   ├── CraftingMonitorElementRegistry.java
│       │               │   │   │   ├── ErrorCraftingMonitorElement.java
│       │               │   │   │   ├── FluidCraftingMonitorElement.java
│       │               │   │   │   └── ItemCraftingMonitorElement.java
│       │               │   │   ├── preview/
│       │               │   │   │   ├── CraftingPreviewElementRegistry.java
│       │               │   │   │   ├── ErrorCraftingPreviewElement.java
│       │               │   │   │   ├── FluidCraftingPreviewElement.java
│       │               │   │   │   └── ItemCraftingPreviewElement.java
│       │               │   │   └── task/
│       │               │   │       ├── CraftingRequestInfo.java
│       │               │   │       ├── CraftingTaskRegistry.java
│       │               │   │       ├── README.md
│       │               │   │       └── v6/
│       │               │   │           ├── CraftingPatternInputs.java
│       │               │   │           ├── CraftingTask.java
│       │               │   │           ├── CraftingTaskFactory.java
│       │               │   │           ├── IoUtil.java
│       │               │   │           ├── SerializationUtil.java
│       │               │   │           ├── calculator/
│       │               │   │           │   ├── CalculationResult.java
│       │               │   │           │   ├── CraftingCalculator.java
│       │               │   │           │   ├── CraftingCalculatorException.java
│       │               │   │           │   └── PossibleInputs.java
│       │               │   │           ├── monitor/
│       │               │   │           │   └── CraftingMonitorElementFactory.java
│       │               │   │           ├── node/
│       │               │   │           │   ├── CraftingNode.java
│       │               │   │           │   ├── Node.java
│       │               │   │           │   ├── NodeList.java
│       │               │   │           │   ├── NodeListener.java
│       │               │   │           │   ├── NodeRequirements.java
│       │               │   │           │   ├── ProcessingNode.java
│       │               │   │           │   └── ProcessingState.java
│       │               │   │           └── preview/
│       │               │   │               ├── CraftingPreviewElementFactory.java
│       │               │   │               └── CraftingPreviewInfo.java
│       │               │   ├── network/
│       │               │   │   ├── Network.java
│       │               │   │   ├── NetworkListener.java
│       │               │   │   ├── NetworkManager.java
│       │               │   │   ├── NetworkNodeGraph.java
│       │               │   │   ├── NetworkNodeGraphEntry.java
│       │               │   │   ├── NetworkNodeListener.java
│       │               │   │   ├── NetworkNodeManager.java
│       │               │   │   ├── NetworkNodeRegistry.java
│       │               │   │   ├── grid/
│       │               │   │   │   ├── CraftingGridBehavior.java
│       │               │   │   │   ├── GridManager.java
│       │               │   │   │   ├── GridTab.java
│       │               │   │   │   ├── factory/
│       │               │   │   │   │   ├── GridBlockGridFactory.java
│       │               │   │   │   │   ├── PortableGridBlockGridFactory.java
│       │               │   │   │   │   ├── PortableGridGridFactory.java
│       │               │   │   │   │   ├── WirelessFluidGridGridFactory.java
│       │               │   │   │   │   └── WirelessGridGridFactory.java
│       │               │   │   │   └── handler/
│       │               │   │   │       ├── FluidGridHandler.java
│       │               │   │   │       ├── ItemGridHandler.java
│       │               │   │   │       ├── PortableFluidGridHandler.java
│       │               │   │   │       └── PortableItemGridHandler.java
│       │               │   │   ├── item/
│       │               │   │   │   ├── NetworkItemManager.java
│       │               │   │   │   ├── WirelessCraftingMonitorNetworkItem.java
│       │               │   │   │   ├── WirelessFluidGridNetworkItem.java
│       │               │   │   │   └── WirelessGridNetworkItem.java
│       │               │   │   ├── node/
│       │               │   │   │   ├── CableNetworkNode.java
│       │               │   │   │   ├── ConnectivityStateChangeCause.java
│       │               │   │   │   ├── ConstructorNetworkNode.java
│       │               │   │   │   ├── CrafterManagerNetworkNode.java
│       │               │   │   │   ├── CrafterNetworkNode.java
│       │               │   │   │   ├── CraftingMonitorNetworkNode.java
│       │               │   │   │   ├── DestructorNetworkNode.java
│       │               │   │   │   ├── DetectorNetworkNode.java
│       │               │   │   │   ├── DiskState.java
│       │               │   │   │   ├── ExporterNetworkNode.java
│       │               │   │   │   ├── ExternalStorageNetworkNode.java
│       │               │   │   │   ├── FluidInterfaceNetworkNode.java
│       │               │   │   │   ├── GridNetworkNode.java
│       │               │   │   │   ├── IStorageScreen.java
│       │               │   │   │   ├── ImporterNetworkNode.java
│       │               │   │   │   ├── InterfaceNetworkNode.java
│       │               │   │   │   ├── NetworkNode.java
│       │               │   │   │   ├── NetworkReceiverNetworkNode.java
│       │               │   │   │   ├── NetworkTransmitterNetworkNode.java
│       │               │   │   │   ├── RelayNetworkNode.java
│       │               │   │   │   ├── RootNetworkNode.java
│       │               │   │   │   ├── SecurityManagerNetworkNode.java
│       │               │   │   │   ├── SlottedCraftingRequest.java
│       │               │   │   │   ├── StorageMonitorNetworkNode.java
│       │               │   │   │   ├── WirelessTransmitterNetworkNode.java
│       │               │   │   │   ├── cover/
│       │               │   │   │   │   ├── Cover.java
│       │               │   │   │   │   ├── CoverManager.java
│       │               │   │   │   │   └── CoverType.java
│       │               │   │   │   ├── diskdrive/
│       │               │   │   │   │   ├── DiskDriveNetworkNode.java
│       │               │   │   │   │   ├── FluidDriveWrapperStorageDisk.java
│       │               │   │   │   │   └── ItemDriveWrapperStorageDisk.java
│       │               │   │   │   ├── diskmanipulator/
│       │               │   │   │   │   ├── DiskManipulatorNetworkNode.java
│       │               │   │   │   │   ├── StorageDiskFluidManipulatorWrapper.java
│       │               │   │   │   │   └── StorageDiskItemManipulatorWrapper.java
│       │               │   │   │   └── storage/
│       │               │   │   │       ├── FluidStorageNetworkNode.java
│       │               │   │   │       ├── FluidStorageWrapperStorageDisk.java
│       │               │   │   │       ├── ItemStorageWrapperStorageDisk.java
│       │               │   │   │       └── StorageNetworkNode.java
│       │               │   │   └── security/
│       │               │   │       ├── SecurityCard.java
│       │               │   │       └── SecurityManager.java
│       │               │   ├── render/
│       │               │   │   ├── CraftingMonitorElementDrawers.java
│       │               │   │   ├── CraftingPreviewElementDrawers.java
│       │               │   │   └── ElementDrawers.java
│       │               │   ├── storage/
│       │               │   │   ├── FluidStorageType.java
│       │               │   │   ├── ItemStorageType.java
│       │               │   │   ├── cache/
│       │               │   │   │   ├── FluidStorageCache.java
│       │               │   │   │   ├── ItemStorageCache.java
│       │               │   │   │   ├── PortableFluidStorageCache.java
│       │               │   │   │   ├── PortableItemStorageCache.java
│       │               │   │   │   └── listener/
│       │               │   │   │       ├── FluidGridStorageCacheListener.java
│       │               │   │   │       ├── ItemGridStorageCacheListener.java
│       │               │   │   │       ├── PortableFluidGridStorageCacheListener.java
│       │               │   │   │       └── PortableItemGridStorageCacheListener.java
│       │               │   │   ├── disk/
│       │               │   │   │   ├── FluidStorageDisk.java
│       │               │   │   │   ├── ItemStorageDisk.java
│       │               │   │   │   ├── PortableFluidStorageDisk.java
│       │               │   │   │   ├── PortableItemStorageDisk.java
│       │               │   │   │   ├── StorageDiskManager.java
│       │               │   │   │   ├── StorageDiskRegistry.java
│       │               │   │   │   ├── StorageDiskSync.java
│       │               │   │   │   └── factory/
│       │               │   │   │       ├── FluidStorageDiskFactory.java
│       │               │   │   │       └── ItemStorageDiskFactory.java
│       │               │   │   ├── externalstorage/
│       │               │   │   │   ├── FluidExternalStorage.java
│       │               │   │   │   ├── FluidExternalStorageCache.java
│       │               │   │   │   ├── FluidExternalStorageProvider.java
│       │               │   │   │   ├── ItemExternalStorage.java
│       │               │   │   │   ├── ItemExternalStorageCache.java
│       │               │   │   │   └── ItemExternalStorageProvider.java
│       │               │   │   └── tracker/
│       │               │   │       ├── FluidStorageTracker.java
│       │               │   │       ├── ItemStorageTracker.java
│       │               │   │       └── StorageTrackerManager.java
│       │               │   └── util/
│       │               │       ├── Comparer.java
│       │               │       ├── FluidFilter.java
│       │               │       ├── FluidStackList.java
│       │               │       ├── ItemFilter.java
│       │               │       ├── ItemStackList.java
│       │               │       ├── QuantityFormatter.java
│       │               │       └── RSSavedData.java
│       │               ├── block/
│       │               │   ├── BaseBlock.java
│       │               │   ├── BlockDirection.java
│       │               │   ├── BlockListener.java
│       │               │   ├── CableBlock.java
│       │               │   ├── ColoredNetworkBlock.java
│       │               │   ├── ConstructorBlock.java
│       │               │   ├── ControllerBlock.java
│       │               │   ├── CrafterBlock.java
│       │               │   ├── CrafterManagerBlock.java
│       │               │   ├── CraftingMonitorBlock.java
│       │               │   ├── DestructorBlock.java
│       │               │   ├── DetectorBlock.java
│       │               │   ├── DiskDriveBlock.java
│       │               │   ├── DiskManipulatorBlock.java
│       │               │   ├── ExporterBlock.java
│       │               │   ├── ExternalStorageBlock.java
│       │               │   ├── FluidInterfaceBlock.java
│       │               │   ├── FluidStorageBlock.java
│       │               │   ├── GridBlock.java
│       │               │   ├── ImporterBlock.java
│       │               │   ├── InterfaceBlock.java
│       │               │   ├── MachineCasingBlock.java
│       │               │   ├── NetworkNodeBlock.java
│       │               │   ├── NetworkReceiverBlock.java
│       │               │   ├── NetworkTransmitterBlock.java
│       │               │   ├── PortableGridBlock.java
│       │               │   ├── QuartzEnrichedIronBlock.java
│       │               │   ├── RelayBlock.java
│       │               │   ├── SecurityManagerBlock.java
│       │               │   ├── StorageBlock.java
│       │               │   ├── StorageMonitorBlock.java
│       │               │   ├── WirelessTransmitterBlock.java
│       │               │   └── shape/
│       │               │       └── ShapeCache.java
│       │               ├── blockentity/
│       │               │   ├── BaseBlockEntity.java
│       │               │   ├── CableBlockEntity.java
│       │               │   ├── ClientNode.java
│       │               │   ├── ConstructorBlockEntity.java
│       │               │   ├── ControllerBlockEntity.java
│       │               │   ├── CrafterBlockEntity.java
│       │               │   ├── CrafterManagerBlockEntity.java
│       │               │   ├── DestructorBlockEntity.java
│       │               │   ├── DetectorBlockEntity.java
│       │               │   ├── DiskDriveBlockEntity.java
│       │               │   ├── DiskManipulatorBlockEntity.java
│       │               │   ├── ExporterBlockEntity.java
│       │               │   ├── ExternalStorageBlockEntity.java
│       │               │   ├── FluidInterfaceBlockEntity.java
│       │               │   ├── FluidStorageBlockEntity.java
│       │               │   ├── ImporterBlockEntity.java
│       │               │   ├── InterfaceBlockEntity.java
│       │               │   ├── NetworkNodeBlockEntity.java
│       │               │   ├── NetworkReceiverBlockEntity.java
│       │               │   ├── NetworkTransmitterBlockEntity.java
│       │               │   ├── RelayBlockEntity.java
│       │               │   ├── SecurityManagerBlockEntity.java
│       │               │   ├── StorageBlockEntity.java
│       │               │   ├── StorageMonitorBlockEntity.java
│       │               │   ├── WirelessTransmitterBlockEntity.java
│       │               │   ├── config/
│       │               │   │   ├── IAccessType.java
│       │               │   │   ├── IComparable.java
│       │               │   │   ├── IPrioritizable.java
│       │               │   │   ├── IRedstoneConfigurable.java
│       │               │   │   ├── IType.java
│       │               │   │   ├── IWhitelistBlacklist.java
│       │               │   │   └── RedstoneMode.java
│       │               │   ├── craftingmonitor/
│       │               │   │   ├── CraftingMonitorBlockEntity.java
│       │               │   │   ├── ICraftingMonitor.java
│       │               │   │   └── WirelessCraftingMonitor.java
│       │               │   ├── data/
│       │               │   │   ├── BlockEntitySynchronizationClientListener.java
│       │               │   │   ├── BlockEntitySynchronizationManager.java
│       │               │   │   ├── BlockEntitySynchronizationParameter.java
│       │               │   │   ├── BlockEntitySynchronizationSpec.java
│       │               │   │   ├── BlockEntitySynchronizationWatcher.java
│       │               │   │   └── RSSerializers.java
│       │               │   └── grid/
│       │               │       ├── GridBlockEntity.java
│       │               │       ├── WirelessFluidGrid.java
│       │               │       ├── WirelessGrid.java
│       │               │       └── portable/
│       │               │           ├── IPortableGrid.java
│       │               │           ├── PortableGrid.java
│       │               │           ├── PortableGridBlockEntity.java
│       │               │           └── PortableGridDiskState.java
│       │               ├── command/
│       │               │   ├── disk/
│       │               │   │   ├── CreateDiskCommand.java
│       │               │   │   ├── ListDiskCommand.java
│       │               │   │   ├── ListDiskForPlayerCommand.java
│       │               │   │   └── StorageDiskIdSuggestionProvider.java
│       │               │   ├── network/
│       │               │   │   ├── GetNetworkCommand.java
│       │               │   │   ├── ListNetworkCommand.java
│       │               │   │   ├── NetworkCommand.java
│       │               │   │   ├── NetworkPositionSuggestionProvider.java
│       │               │   │   └── autocrafting/
│       │               │   │       ├── AutocraftingIdSuggestionProvider.java
│       │               │   │       ├── CancelAllAutocraftingCommand.java
│       │               │   │       ├── CancelSingleAutocraftingCommand.java
│       │               │   │       ├── GetAutocraftingCommand.java
│       │               │   │       └── ListAutocraftingCommand.java
│       │               │   └── pattern/
│       │               │       └── PatternDumpCommand.java
│       │               ├── config/
│       │               │   ├── ClientConfig.java
│       │               │   └── ServerConfig.java
│       │               ├── container/
│       │               │   ├── AlternativesContainerMenu.java
│       │               │   ├── AmountContainerMenu.java
│       │               │   ├── BaseContainerMenu.java
│       │               │   ├── ConstructorContainerMenu.java
│       │               │   ├── ControllerContainerMenu.java
│       │               │   ├── CrafterContainerMenu.java
│       │               │   ├── CrafterManagerContainerMenu.java
│       │               │   ├── CraftingMonitorContainerMenu.java
│       │               │   ├── CraftingSettingsContainerMenu.java
│       │               │   ├── DestructorContainerMenu.java
│       │               │   ├── DetectorContainerMenu.java
│       │               │   ├── DiskDriveContainerMenu.java
│       │               │   ├── DiskManipulatorContainerMenu.java
│       │               │   ├── ExporterContainerMenu.java
│       │               │   ├── ExternalStorageContainerMenu.java
│       │               │   ├── FilterContainerMenu.java
│       │               │   ├── FluidAmountContainerMenu.java
│       │               │   ├── FluidInterfaceContainerMenu.java
│       │               │   ├── FluidStorageContainerMenu.java
│       │               │   ├── GridContainerMenu.java
│       │               │   ├── ImporterContainerMenu.java
│       │               │   ├── InterfaceContainerMenu.java
│       │               │   ├── NetworkTransmitterContainerMenu.java
│       │               │   ├── RelayContainerMenu.java
│       │               │   ├── SecurityManagerContainerMenu.java
│       │               │   ├── StorageContainerMenu.java
│       │               │   ├── StorageMonitorContainerMenu.java
│       │               │   ├── WirelessTransmitterContainerMenu.java
│       │               │   ├── factory/
│       │               │   │   ├── BlockEntityContainerFactory.java
│       │               │   │   ├── BlockEntityMenuProvider.java
│       │               │   │   ├── CrafterManagerContainerFactory.java
│       │               │   │   ├── CrafterManagerMenuProvider.java
│       │               │   │   ├── CraftingMonitorContainerFactory.java
│       │               │   │   ├── CraftingMonitorMenuProvider.java
│       │               │   │   ├── GridContainerFactory.java
│       │               │   │   ├── GridMenuProvider.java
│       │               │   │   └── WirelessCraftingMonitorContainerFactory.java
│       │               │   ├── slot/
│       │               │   │   ├── BaseSlot.java
│       │               │   │   ├── CrafterManagerSlot.java
│       │               │   │   ├── DisabledSlot.java
│       │               │   │   ├── OutputSlot.java
│       │               │   │   ├── filter/
│       │               │   │   │   ├── DisabledFluidFilterSlot.java
│       │               │   │   │   ├── FilterSlot.java
│       │               │   │   │   └── FluidFilterSlot.java
│       │               │   │   ├── grid/
│       │               │   │   │   ├── CraftingGridSlot.java
│       │               │   │   │   └── ResultCraftingGridSlot.java
│       │               │   │   └── legacy/
│       │               │   │       ├── LegacyBaseSlot.java
│       │               │   │       ├── LegacyDisabledSlot.java
│       │               │   │       └── LegacyFilterSlot.java
│       │               │   └── transfer/
│       │               │       ├── FilterInventoryWrapper.java
│       │               │       ├── FluidFilterInventoryWrapper.java
│       │               │       ├── IInventoryWrapper.java
│       │               │       ├── InsertionResult.java
│       │               │       ├── InsertionResultType.java
│       │               │       ├── InventoryInventoryWrapper.java
│       │               │       ├── ItemFilterInventoryWrapper.java
│       │               │       ├── ItemHandlerInventoryWrapper.java
│       │               │       └── TransferManager.java
│       │               ├── datageneration/
│       │               │   ├── BlockEntityTagGenerator.java
│       │               │   ├── BlockModelGenerator.java
│       │               │   ├── BlockModels.java
│       │               │   ├── BlockTagGenerator.java
│       │               │   ├── DataGenerators.java
│       │               │   ├── ItemTagGenerator.java
│       │               │   ├── LootTableGenerator.java
│       │               │   └── RecipeGenerator.java
│       │               ├── energy/
│       │               │   ├── BaseEnergyStorage.java
│       │               │   └── ItemEnergyStorage.java
│       │               ├── integration/
│       │               │   ├── craftingtweaks/
│       │               │   │   └── CraftingTweaksIntegration.java
│       │               │   ├── curios/
│       │               │   │   └── CuriosIntegration.java
│       │               │   ├── inventorysorter/
│       │               │   │   └── InventorySorterIntegration.java
│       │               │   ├── inventorytweaks/
│       │               │   │   └── InventoryTweaksIntegration.java
│       │               │   └── jei/
│       │               │       ├── CoverCraftingCategoryExtension.java
│       │               │       ├── GhostIngredientHandler.java
│       │               │       ├── GridRecipeTransferHandler.java
│       │               │       ├── GuiContainerHandler.java
│       │               │       ├── HollowCoverCraftingCategoryExtension.java
│       │               │       ├── Ingredient.java
│       │               │       ├── IngredientTracker.java
│       │               │       ├── JeiHelper.java
│       │               │       ├── JeiIntegration.java
│       │               │       ├── RSJeiPlugin.java
│       │               │       ├── RecipeTransferCraftingGridError.java
│       │               │       └── RecipeTransferPatternGridError.java
│       │               ├── inventory/
│       │               │   ├── fluid/
│       │               │   │   ├── ConfiguredFluidsInFilterItemHandler.java
│       │               │   │   ├── ConfiguredIconInFluidFilterItemHandler.java
│       │               │   │   ├── FluidInventory.java
│       │               │   │   └── ProxyFluidHandler.java
│       │               │   ├── item/
│       │               │   │   ├── BaseItemHandler.java
│       │               │   │   ├── ConfiguredIconInFilterItemHandler.java
│       │               │   │   ├── ConfiguredItemsInFilterItemHandler.java
│       │               │   │   ├── FilterItemHandler.java
│       │               │   │   ├── ProxyItemHandler.java
│       │               │   │   ├── UpgradeItemHandler.java
│       │               │   │   └── validator/
│       │               │   │       ├── ItemValidator.java
│       │               │   │       ├── PatternItemValidator.java
│       │               │   │       ├── StorageDiskItemValidator.java
│       │               │   │       └── UpgradeItemValidator.java
│       │               │   ├── listener/
│       │               │   │   ├── BlockEntityInventoryListener.java
│       │               │   │   ├── InventoryListener.java
│       │               │   │   ├── NetworkNodeFluidInventoryListener.java
│       │               │   │   └── NetworkNodeInventoryListener.java
│       │               │   └── player/
│       │               │       └── PlayerSlot.java
│       │               ├── item/
│       │               │   ├── CoreItem.java
│       │               │   ├── CoverItem.java
│       │               │   ├── EnergyItem.java
│       │               │   ├── FilterItem.java
│       │               │   ├── FluidStorageDiskItem.java
│       │               │   ├── FluidStoragePartItem.java
│       │               │   ├── HollowCoverItem.java
│       │               │   ├── NetworkCardItem.java
│       │               │   ├── NetworkItem.java
│       │               │   ├── PatternItem.java
│       │               │   ├── ProcessorBindingItem.java
│       │               │   ├── ProcessorItem.java
│       │               │   ├── QuartzEnrichedIronItem.java
│       │               │   ├── SecurityCardItem.java
│       │               │   ├── SiliconItem.java
│       │               │   ├── StorageDiskItem.java
│       │               │   ├── StorageHousingItem.java
│       │               │   ├── StoragePartItem.java
│       │               │   ├── UpgradeItem.java
│       │               │   ├── WirelessCraftingMonitorItem.java
│       │               │   ├── WirelessFluidGridItem.java
│       │               │   ├── WirelessGridItem.java
│       │               │   ├── WrenchItem.java
│       │               │   ├── blockitem/
│       │               │   │   ├── BaseBlockItem.java
│       │               │   │   ├── ColoredBlockItem.java
│       │               │   │   ├── ControllerBlockItem.java
│       │               │   │   ├── EnergyBlockItem.java
│       │               │   │   ├── FluidStorageBlockItem.java
│       │               │   │   ├── PortableGridBlockItem.java
│       │               │   │   └── StorageBlockItem.java
│       │               │   └── property/
│       │               │       ├── ControllerItemPropertyGetter.java
│       │               │       ├── NetworkItemPropertyGetter.java
│       │               │       └── SecurityCardItemPropertyGetter.java
│       │               ├── loottable/
│       │               │   ├── ControllerLootFunction.java
│       │               │   ├── CrafterLootFunction.java
│       │               │   ├── PortableGridBlockLootFunction.java
│       │               │   └── StorageBlockLootFunction.java
│       │               ├── network/
│       │               │   ├── ClientProxy.java
│       │               │   ├── FilterUpdateMessage.java
│       │               │   ├── FluidFilterSlotUpdateMessage.java
│       │               │   ├── NetworkHandler.java
│       │               │   ├── OpenNetworkItemMessage.java
│       │               │   ├── SecurityManagerUpdateMessage.java
│       │               │   ├── SetFilterSlotMessage.java
│       │               │   ├── SetFluidFilterSlotMessage.java
│       │               │   ├── craftingmonitor/
│       │               │   │   ├── CraftingMonitorCancelMessage.java
│       │               │   │   ├── CraftingMonitorSyncTask.java
│       │               │   │   ├── CraftingMonitorUpdateMessage.java
│       │               │   │   └── WirelessCraftingMonitorSettingsUpdateMessage.java
│       │               │   ├── disk/
│       │               │   │   ├── StorageDiskSizeRequestMessage.java
│       │               │   │   └── StorageDiskSizeResponseMessage.java
│       │               │   ├── grid/
│       │               │   │   ├── GridClearMessage.java
│       │               │   │   ├── GridCraftingPreviewRequestMessage.java
│       │               │   │   ├── GridCraftingPreviewResponseMessage.java
│       │               │   │   ├── GridCraftingStartRequestMessage.java
│       │               │   │   ├── GridCraftingStartResponseMessage.java
│       │               │   │   ├── GridFluidDeltaMessage.java
│       │               │   │   ├── GridFluidInsertHeldMessage.java
│       │               │   │   ├── GridFluidPullMessage.java
│       │               │   │   ├── GridFluidUpdateMessage.java
│       │               │   │   ├── GridItemDeltaMessage.java
│       │               │   │   ├── GridItemGridScrollMessage.java
│       │               │   │   ├── GridItemInsertHeldMessage.java
│       │               │   │   ├── GridItemInventoryScrollMessage.java
│       │               │   │   ├── GridItemPullMessage.java
│       │               │   │   ├── GridItemUpdateMessage.java
│       │               │   │   ├── GridPatternCreateMessage.java
│       │               │   │   ├── GridProcessingTransferMessage.java
│       │               │   │   ├── GridStackDelta.java
│       │               │   │   ├── GridTransferMessage.java
│       │               │   │   ├── PortableGridSettingsUpdateMessage.java
│       │               │   │   ├── WirelessFluidGridSettingsUpdateMessage.java
│       │               │   │   └── WirelessGridSettingsUpdateMessage.java
│       │               │   └── sync/
│       │               │       ├── BlockEntitySynchronizationParameterMessage.java
│       │               │       └── BlockEntitySynchronizationParameterUpdateMessage.java
│       │               ├── recipe/
│       │               │   ├── CoverRecipe.java
│       │               │   ├── HollowCoverRecipe.java
│       │               │   ├── UpgradeWithEnchantedBookRecipe.java
│       │               │   └── UpgradeWithEnchantedBookRecipeSerializer.java
│       │               ├── render/
│       │               │   ├── BakedModelOverrideRegistry.java
│       │               │   ├── ConstantsCable.java
│       │               │   ├── FluidRenderer.java
│       │               │   ├── RenderSettings.java
│       │               │   ├── Styles.java
│       │               │   ├── blockentity/
│       │               │   │   ├── PatternItemBlockEntityRenderer.java
│       │               │   │   └── StorageMonitorBlockEntityRenderer.java
│       │               │   ├── collision/
│       │               │   │   └── CollisionGroup.java
│       │               │   ├── color/
│       │               │   │   └── PatternItemColor.java
│       │               │   ├── model/
│       │               │   │   ├── CubeBuilder.java
│       │               │   │   ├── DiskDriveGeometryLoader.java
│       │               │   │   ├── DiskDriveUnbakedGeometry.java
│       │               │   │   ├── DiskManipulatorGeometryLoader.java
│       │               │   │   ├── DiskManipulatorUnbakedGeometry.java
│       │               │   │   ├── PortableGridGeometryLoader.java
│       │               │   │   ├── PortableGridUnbakedGeometry.java
│       │               │   │   └── baked/
│       │               │   │       ├── CableCoverBakedModel.java
│       │               │   │       ├── CableCoverItemBakedModel.java
│       │               │   │       ├── DiskDriveBakedModel.java
│       │               │   │       ├── DiskManipulatorBakedModel.java
│       │               │   │       ├── PatternBakedModel.java
│       │               │   │       ├── PortableGridBakedModel.java
│       │               │   │       └── PortableGridItemBakedModel.java
│       │               │   └── resourcepack/
│       │               │       ├── RSResourcePackSection.java
│       │               │       ├── RSResourcePackSectionDeserializer.java
│       │               │       └── ResourcePackListener.java
│       │               ├── screen/
│       │               │   ├── AmountSpecifyingScreen.java
│       │               │   ├── BaseScreen.java
│       │               │   ├── ConstructorScreen.java
│       │               │   ├── ControllerScreen.java
│       │               │   ├── CrafterBlockEntitySynchronizationClientListener.java
│       │               │   ├── CrafterManagerScreen.java
│       │               │   ├── CrafterScreen.java
│       │               │   ├── CraftingMonitorScreen.java
│       │               │   ├── DestructorScreen.java
│       │               │   ├── DetectorScreen.java
│       │               │   ├── DiskDriveScreen.java
│       │               │   ├── DiskManipulatorScreen.java
│       │               │   ├── EmptyScreenInfoProvider.java
│       │               │   ├── ExporterScreen.java
│       │               │   ├── ExternalStorageScreen.java
│       │               │   ├── FilterScreen.java
│       │               │   ├── FluidAmountScreen.java
│       │               │   ├── FluidInterfaceScreen.java
│       │               │   ├── FluidStorageBlockScreen.java
│       │               │   ├── IScreenInfoProvider.java
│       │               │   ├── ImporterScreen.java
│       │               │   ├── InterfaceScreen.java
│       │               │   ├── ItemAmountScreen.java
│       │               │   ├── KeyInputListener.java
│       │               │   ├── NetworkTransmitterScreen.java
│       │               │   ├── PriorityScreen.java
│       │               │   ├── RelayScreen.java
│       │               │   ├── SecurityManagerScreen.java
│       │               │   ├── StorageBlockScreen.java
│       │               │   ├── StorageMonitorScreen.java
│       │               │   ├── StorageScreen.java
│       │               │   ├── StorageScreenSynchronizationParameters.java
│       │               │   ├── WirelessTransmitterScreen.java
│       │               │   ├── factory/
│       │               │   │   ├── CrafterManagerScreenFactory.java
│       │               │   │   └── GridScreenFactory.java
│       │               │   ├── grid/
│       │               │   │   ├── AlternativesScreen.java
│       │               │   │   ├── CraftingPreviewScreen.java
│       │               │   │   ├── CraftingSettingsScreen.java
│       │               │   │   ├── GridScreen.java
│       │               │   │   ├── SmallClientTooltipComponent.java
│       │               │   │   ├── filtering/
│       │               │   │   │   ├── AndGridFilter.java
│       │               │   │   │   ├── CraftableGridFilter.java
│       │               │   │   │   ├── FilterGridFilter.java
│       │               │   │   │   ├── GridFilterParser.java
│       │               │   │   │   ├── ModGridFilter.java
│       │               │   │   │   ├── NameGridFilter.java
│       │               │   │   │   ├── OrGridFilter.java
│       │               │   │   │   ├── TagGridFilter.java
│       │               │   │   │   └── TooltipGridFilter.java
│       │               │   │   ├── sorting/
│       │               │   │   │   ├── IGridSorter.java
│       │               │   │   │   ├── IdGridSorter.java
│       │               │   │   │   ├── LastModifiedGridSorter.java
│       │               │   │   │   ├── NameGridSorter.java
│       │               │   │   │   ├── QuantityGridSorter.java
│       │               │   │   │   └── SortingDirection.java
│       │               │   │   ├── stack/
│       │               │   │   │   ├── FluidGridStack.java
│       │               │   │   │   ├── IGridStack.java
│       │               │   │   │   └── ItemGridStack.java
│       │               │   │   └── view/
│       │               │   │       ├── GridViewImpl.java
│       │               │   │       └── IGridView.java
│       │               │   └── widget/
│       │               │       ├── ScrollbarWidget.java
│       │               │       ├── ScrollbarWidgetListener.java
│       │               │       ├── SearchWidget.java
│       │               │       ├── SmallCheckboxWidget.java
│       │               │       ├── TabListWidget.java
│       │               │       └── sidebutton/
│       │               │           ├── AccessTypeSideButton.java
│       │               │           ├── ConstructorDropSideButton.java
│       │               │           ├── CrafterManagerSearchBoxModeSideButton.java
│       │               │           ├── CrafterModeSideButton.java
│       │               │           ├── DestructorPickupSideButton.java
│       │               │           ├── DetectorModeSideButton.java
│       │               │           ├── ExactModeSideButton.java
│       │               │           ├── FilterTypeSideButton.java
│       │               │           ├── GridSearchBoxModeSideButton.java
│       │               │           ├── GridSizeSideButton.java
│       │               │           ├── GridSortingDirectionSideButton.java
│       │               │           ├── GridSortingTypeSideButton.java
│       │               │           ├── GridViewTypeSideButton.java
│       │               │           ├── IoModeSideButton.java
│       │               │           ├── RedstoneModeSideButton.java
│       │               │           ├── SearchBoxModeSideButton.java
│       │               │           ├── SideButton.java
│       │               │           ├── TypeSideButton.java
│       │               │           └── WhitelistBlacklistSideButton.java
│       │               ├── setup/
│       │               │   ├── ClientSetup.java
│       │               │   ├── CommonSetup.java
│       │               │   └── ServerSetup.java
│       │               └── util/
│       │                   ├── AccessTypeUtils.java
│       │                   ├── BlockColorMap.java
│       │                   ├── BlockUtils.java
│       │                   ├── CollisionUtils.java
│       │                   ├── ColorMap.java
│       │                   ├── DirectionUtils.java
│       │                   ├── ItemColorMap.java
│       │                   ├── ItemStackKey.java
│       │                   ├── LevelUtils.java
│       │                   ├── NetworkUtils.java
│       │                   ├── PacketBufferUtils.java
│       │                   ├── PlayerUtils.java
│       │                   ├── RenderUtils.java
│       │                   ├── StackUtils.java
│       │                   └── TimeUtils.java
│       └── resources/
│           ├── META-INF/
│           │   ├── accesstransformer.cfg
│           │   └── mods.toml
│           ├── assets/
│           │   └── refinedstorage/
│           │       ├── blockstates/
│           │       │   ├── 1024k_fluid_storage_block.json
│           │       │   ├── 16k_storage_block.json
│           │       │   ├── 1k_storage_block.json
│           │       │   ├── 256k_fluid_storage_block.json
│           │       │   ├── 4096k_fluid_storage_block.json
│           │       │   ├── 4k_storage_block.json
│           │       │   ├── 64k_fluid_storage_block.json
│           │       │   ├── 64k_storage_block.json
│           │       │   ├── cable.json
│           │       │   ├── constructor.json
│           │       │   ├── creative_fluid_storage_block.json
│           │       │   ├── creative_portable_grid.json
│           │       │   ├── creative_storage_block.json
│           │       │   ├── destructor.json
│           │       │   ├── disk_drive.json
│           │       │   ├── exporter.json
│           │       │   ├── external_storage.json
│           │       │   ├── fluid_interface.json
│           │       │   ├── importer.json
│           │       │   ├── interface.json
│           │       │   ├── machine_casing.json
│           │       │   ├── portable_grid.json
│           │       │   ├── quartz_enriched_iron_block.json
│           │       │   └── storage_monitor.json
│           │       ├── lang/
│           │       │   ├── de_de.json
│           │       │   ├── en_us.json
│           │       │   ├── es_es.json
│           │       │   ├── fr_fr.json
│           │       │   ├── hu_hu.json
│           │       │   ├── it_it.json
│           │       │   ├── ja_jp.json
│           │       │   ├── ko_kr.json
│           │       │   ├── nl_nl.json
│           │       │   ├── pl_pl.json
│           │       │   ├── pt_br.json
│           │       │   ├── ru_ru.json
│           │       │   ├── zh_cn.json
│           │       │   └── zh_tw.json
│           │       ├── models/
│           │       │   ├── block/
│           │       │   │   ├── 1024k_fluid_storage_block.json
│           │       │   │   ├── 16k_storage_block.json
│           │       │   │   ├── 1k_storage_block.json
│           │       │   │   ├── 256k_fluid_storage_block.json
│           │       │   │   ├── 4096k_fluid_storage_block.json
│           │       │   │   ├── 4k_storage_block.json
│           │       │   │   ├── 64k_fluid_storage_block.json
│           │       │   │   ├── 64k_storage_block.json
│           │       │   │   ├── cable_core.json
│           │       │   │   ├── cable_extension.json
│           │       │   │   ├── constructor_connected.json
│           │       │   │   ├── constructor_destructor.json
│           │       │   │   ├── constructor_destructor_nonemissive.json
│           │       │   │   ├── constructor_disconnected.json
│           │       │   │   ├── controller_nearly.json
│           │       │   │   ├── creative_fluid_storage_block.json
│           │       │   │   ├── creative_storage_block.json
│           │       │   │   ├── cube_all_cutout.json
│           │       │   │   ├── cube_all_cutout_nonemissive.json
│           │       │   │   ├── cube_cutout.json
│           │       │   │   ├── cube_cutout_nonemissive.json
│           │       │   │   ├── cube_north_cutout.json
│           │       │   │   ├── cube_north_cutout_nonemissive.json
│           │       │   │   ├── destructor_connected.json
│           │       │   │   ├── destructor_disconnected.json
│           │       │   │   ├── detector.json
│           │       │   │   ├── detector_nonemissive.json
│           │       │   │   ├── disk_drive.json
│           │       │   │   ├── disk_drive_base.json
│           │       │   │   ├── disks/
│           │       │   │   │   ├── disk.json
│           │       │   │   │   ├── disk_disconnected.json
│           │       │   │   │   ├── disk_full.json
│           │       │   │   │   ├── disk_near_capacity.json
│           │       │   │   │   ├── portable_grid_disk.json
│           │       │   │   │   ├── portable_grid_disk_disconnected.json
│           │       │   │   │   ├── portable_grid_disk_full.json
│           │       │   │   │   └── portable_grid_disk_near_capacity.json
│           │       │   │   ├── exporter.json
│           │       │   │   ├── external_storage.json
│           │       │   │   ├── fluid_interface_connected.json
│           │       │   │   ├── fluid_interface_disconnected.json
│           │       │   │   ├── importer.json
│           │       │   │   ├── interface_connected.json
│           │       │   │   ├── interface_disconnected.json
│           │       │   │   ├── machine_casing.json
│           │       │   │   ├── portable_grid.json
│           │       │   │   ├── portable_grid_base.json
│           │       │   │   ├── portable_grid_connected.json
│           │       │   │   ├── portable_grid_disconnected.json
│           │       │   │   ├── quartz_enriched_iron_block.json
│           │       │   │   ├── storage_monitor.json
│           │       │   │   ├── wireless_transmitter.json
│           │       │   │   └── wireless_transmitter_nonemissive.json
│           │       │   └── item/
│           │       │       ├── 1024k_fluid_storage_block.json
│           │       │       ├── 1024k_fluid_storage_disk.json
│           │       │       ├── 1024k_fluid_storage_part.json
│           │       │       ├── 16k_storage_block.json
│           │       │       ├── 16k_storage_disk.json
│           │       │       ├── 16k_storage_part.json
│           │       │       ├── 1k_storage_block.json
│           │       │       ├── 1k_storage_disk.json
│           │       │       ├── 1k_storage_part.json
│           │       │       ├── 256k_fluid_storage_block.json
│           │       │       ├── 256k_fluid_storage_disk.json
│           │       │       ├── 256k_fluid_storage_part.json
│           │       │       ├── 4096k_fluid_storage_block.json
│           │       │       ├── 4096k_fluid_storage_disk.json
│           │       │       ├── 4096k_fluid_storage_part.json
│           │       │       ├── 4k_storage_block.json
│           │       │       ├── 4k_storage_disk.json
│           │       │       ├── 4k_storage_part.json
│           │       │       ├── 64k_fluid_storage_block.json
│           │       │       ├── 64k_fluid_storage_disk.json
│           │       │       ├── 64k_fluid_storage_part.json
│           │       │       ├── 64k_storage_block.json
│           │       │       ├── 64k_storage_disk.json
│           │       │       ├── 64k_storage_part.json
│           │       │       ├── advanced_processor.json
│           │       │       ├── basic_processor.json
│           │       │       ├── cable.json
│           │       │       ├── construction_core.json
│           │       │       ├── constructor.json
│           │       │       ├── crafting_upgrade.json
│           │       │       ├── creative_fluid_storage_block.json
│           │       │       ├── creative_fluid_storage_disk.json
│           │       │       ├── creative_portable_grid.json
│           │       │       ├── creative_storage_block.json
│           │       │       ├── creative_storage_disk.json
│           │       │       ├── creative_wireless_crafting_monitor.json
│           │       │       ├── creative_wireless_fluid_grid.json
│           │       │       ├── creative_wireless_grid.json
│           │       │       ├── destruction_core.json
│           │       │       ├── destructor.json
│           │       │       ├── disk_drive.json
│           │       │       ├── exporter.json
│           │       │       ├── external_storage.json
│           │       │       ├── filter.json
│           │       │       ├── fluid_interface.json
│           │       │       ├── fortune_1_upgrade.json
│           │       │       ├── fortune_2_upgrade.json
│           │       │       ├── fortune_3_upgrade.json
│           │       │       ├── importer.json
│           │       │       ├── improved_processor.json
│           │       │       ├── interface.json
│           │       │       ├── machine_casing.json
│           │       │       ├── network_card.json
│           │       │       ├── pattern.json
│           │       │       ├── portable_grid.json
│           │       │       ├── processor_binding.json
│           │       │       ├── quartz_enriched_iron.json
│           │       │       ├── quartz_enriched_iron_block.json
│           │       │       ├── range_upgrade.json
│           │       │       ├── raw_advanced_processor.json
│           │       │       ├── raw_basic_processor.json
│           │       │       ├── raw_improved_processor.json
│           │       │       ├── regulator_upgrade.json
│           │       │       ├── security_card.json
│           │       │       ├── security_card_active.json
│           │       │       ├── security_card_inactive.json
│           │       │       ├── silicon.json
│           │       │       ├── silk_touch_upgrade.json
│           │       │       ├── speed_upgrade.json
│           │       │       ├── stack_upgrade.json
│           │       │       ├── storage_housing.json
│           │       │       ├── storage_monitor.json
│           │       │       ├── upgrade.json
│           │       │       ├── wireless_crafting_monitor.json
│           │       │       ├── wireless_crafting_monitor_connected.json
│           │       │       ├── wireless_crafting_monitor_disconnected.json
│           │       │       ├── wireless_fluid_grid.json
│           │       │       ├── wireless_fluid_grid_connected.json
│           │       │       ├── wireless_fluid_grid_disconnected.json
│           │       │       ├── wireless_grid.json
│           │       │       ├── wireless_grid_connected.json
│           │       │       ├── wireless_grid_disconnected.json
│           │       │       └── wrench.json
│           │       └── textures/
│           │           └── block/
│           │               ├── constructor/
│           │               │   └── cutouts/
│           │               │       └── connected.png.mcmeta
│           │               ├── controller/
│           │               │   └── cutouts/
│           │               │       ├── black.png.mcmeta
│           │               │       ├── blue.png.mcmeta
│           │               │       ├── brown.png.mcmeta
│           │               │       ├── cyan.png.mcmeta
│           │               │       ├── gray.png.mcmeta
│           │               │       ├── green.png.mcmeta
│           │               │       ├── light_blue.png.mcmeta
│           │               │       ├── light_gray.png.mcmeta
│           │               │       ├── lime.png.mcmeta
│           │               │       ├── magenta.png.mcmeta
│           │               │       ├── nearly_off.png.mcmeta
│           │               │       ├── nearly_off_gray.png.mcmeta
│           │               │       ├── nearly_on.png.mcmeta
│           │               │       ├── nearly_on_gray.png.mcmeta
│           │               │       ├── on.png.mcmeta
│           │               │       ├── orange.png.mcmeta
│           │               │       ├── pink.png.mcmeta
│           │               │       ├── purple.png.mcmeta
│           │               │       ├── red.png.mcmeta
│           │               │       ├── white.png.mcmeta
│           │               │       └── yellow.png.mcmeta
│           │               └── destructor/
│           │                   └── cutouts/
│           │                       └── connected.png.mcmeta
│           ├── data/
│           │   ├── curios/
│           │   │   └── tags/
│           │   │       └── items/
│           │   │           └── curio.json
│           │   ├── forge/
│           │   │   └── tags/
│           │   │       └── items/
│           │   │           └── silicon.json
│           │   └── refinedstorage/
│           │       ├── advancements/
│           │       │   ├── autocrafting.json
│           │       │   ├── better_than_a_barrel.json
│           │       │   ├── conditional_connecting.json
│           │       │   ├── connecting.json
│           │       │   ├── construction.json
│           │       │   ├── crafting_on_demand.json
│           │       │   ├── destruction.json
│           │       │   ├── detecting.json
│           │       │   ├── drives.json
│           │       │   ├── exporting.json
│           │       │   ├── importing.json
│           │       │   ├── interface_to_the_world.json
│           │       │   ├── managing_patterns.json
│           │       │   ├── manipulating_disks.json
│           │       │   ├── monitoring.json
│           │       │   ├── no_cables_required.json
│           │       │   ├── pattern_creation.json
│           │       │   ├── portable_storage.json
│           │       │   ├── root.json
│           │       │   ├── security.json
│           │       │   ├── storing_externally.json
│           │       │   ├── storing_fluids.json
│           │       │   ├── storing_items.json
│           │       │   ├── upgrading.json
│           │       │   ├── upgrading_your_grid.json
│           │       │   ├── viewing_fluids.json
│           │       │   ├── viewing_items.json
│           │       │   ├── wireless.json
│           │       │   ├── wireless_fluids.json
│           │       │   ├── wireless_items.json
│           │       │   └── wireless_monitoring.json
│           │       ├── loot_tables/
│           │       │   └── blocks/
│           │       │       ├── 1024k_fluid_storage_block.json
│           │       │       ├── 16k_storage_block.json
│           │       │       ├── 1k_storage_block.json
│           │       │       ├── 256k_fluid_storage_block.json
│           │       │       ├── 4096k_fluid_storage_block.json
│           │       │       ├── 4k_storage_block.json
│           │       │       ├── 64k_fluid_storage_block.json
│           │       │       ├── 64k_storage_block.json
│           │       │       ├── cable.json
│           │       │       ├── constructor.json
│           │       │       ├── creative_fluid_storage_block.json
│           │       │       ├── creative_portable_grid.json
│           │       │       ├── creative_storage_block.json
│           │       │       ├── destructor.json
│           │       │       ├── disk_drive.json
│           │       │       ├── exporter.json
│           │       │       ├── external_storage.json
│           │       │       ├── fluid_interface.json
│           │       │       ├── importer.json
│           │       │       ├── interface.json
│           │       │       ├── machine_casing.json
│           │       │       ├── portable_grid.json
│           │       │       ├── quartz_enriched_iron_block.json
│           │       │       └── storage_monitor.json
│           │       ├── recipes/
│           │       │   ├── 1024k_fluid_storage_block.json
│           │       │   ├── 1024k_fluid_storage_disk.json
│           │       │   ├── 1024k_fluid_storage_disk_from_storage_housing.json
│           │       │   ├── 1024k_fluid_storage_part.json
│           │       │   ├── 16k_storage_block.json
│           │       │   ├── 16k_storage_disk.json
│           │       │   ├── 16k_storage_disk_from_storage_housing.json
│           │       │   ├── 16k_storage_part.json
│           │       │   ├── 1k_storage_block.json
│           │       │   ├── 1k_storage_disk.json
│           │       │   ├── 1k_storage_disk_from_storage_housing.json
│           │       │   ├── 1k_storage_part.json
│           │       │   ├── 256k_fluid_storage_block.json
│           │       │   ├── 256k_fluid_storage_disk.json
│           │       │   ├── 256k_fluid_storage_disk_from_storage_housing.json
│           │       │   ├── 256k_fluid_storage_part.json
│           │       │   ├── 4096k_fluid_storage_block.json
│           │       │   ├── 4096k_fluid_storage_disk.json
│           │       │   ├── 4096k_fluid_storage_disk_from_storage_housing.json
│           │       │   ├── 4096k_fluid_storage_part.json
│           │       │   ├── 4k_storage_block.json
│           │       │   ├── 4k_storage_disk.json
│           │       │   ├── 4k_storage_disk_from_storage_housing.json
│           │       │   ├── 4k_storage_part.json
│           │       │   ├── 64k_fluid_storage_block.json
│           │       │   ├── 64k_fluid_storage_disk.json
│           │       │   ├── 64k_fluid_storage_disk_from_storage_housing.json
│           │       │   ├── 64k_fluid_storage_part.json
│           │       │   ├── 64k_storage_block.json
│           │       │   ├── 64k_storage_disk.json
│           │       │   ├── 64k_storage_disk_from_storage_housing.json
│           │       │   ├── 64k_storage_part.json
│           │       │   ├── advanced_processor.json
│           │       │   ├── basic_processor.json
│           │       │   ├── block_of_quartz_enriched_iron.json
│           │       │   ├── cable.json
│           │       │   ├── construction_core.json
│           │       │   ├── constructor.json
│           │       │   ├── controller.json
│           │       │   ├── cover.json
│           │       │   ├── crafter.json
│           │       │   ├── crafter_manager.json
│           │       │   ├── crafting_monitor.json
│           │       │   ├── crafting_upgrade.json
│           │       │   ├── destruction_core.json
│           │       │   ├── destructor.json
│           │       │   ├── detector.json
│           │       │   ├── disk_drive.json
│           │       │   ├── disk_manipulator.json
│           │       │   ├── exporter.json
│           │       │   ├── external_storage.json
│           │       │   ├── filter.json
│           │       │   ├── fluid_interface.json
│           │       │   ├── fortune_1_upgrade.json
│           │       │   ├── fortune_2_upgrade.json
│           │       │   ├── fortune_3_upgrade.json
│           │       │   ├── grid.json
│           │       │   ├── hollow_cover.json
│           │       │   ├── importer.json
│           │       │   ├── improved_processor.json
│           │       │   ├── interface.json
│           │       │   ├── machine_casing.json
│           │       │   ├── network_card.json
│           │       │   ├── network_receiver.json
│           │       │   ├── network_transmitter.json
│           │       │   ├── pattern.json
│           │       │   ├── portable_grid.json
│           │       │   ├── processor_binding.json
│           │       │   ├── quartz_enriched_iron.json
│           │       │   ├── quartz_enriched_iron_from_block.json
│           │       │   ├── range_upgrade.json
│           │       │   ├── raw_advanced_processor.json
│           │       │   ├── raw_basic_processor.json
│           │       │   ├── raw_improved_processor.json
│           │       │   ├── regulator_upgrade.json
│           │       │   ├── relay.json
│           │       │   ├── security_card.json
│           │       │   ├── security_manager.json
│           │       │   ├── silicon.json
│           │       │   ├── silk_touch_upgrade.json
│           │       │   ├── speed_upgrade.json
│           │       │   ├── stack_upgrade.json
│           │       │   ├── storage_housing.json
│           │       │   ├── storage_monitor.json
│           │       │   ├── upgrade.json
│           │       │   ├── wireless_crafting_monitor.json
│           │       │   ├── wireless_fluid_grid.json
│           │       │   ├── wireless_grid.json
│           │       │   ├── wireless_transmitter.json
│           │       │   └── wrench.json
│           │       └── tags/
│           │           └── items/
│           │               └── crafting_tables.json
│           └── pack.mcmeta
└── tools/
    └── missing-translation-keys.sh
Download .txt
Showing preview only (416K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (5045 symbols across 638 files)

FILE: src/main/java/com/refinedmods/refinedstorage/RS.java
  class RS (line 21) | @Mod(RS.ID)
    method RS (line 30) | public RS(IEventBus eventBus) {

FILE: src/main/java/com/refinedmods/refinedstorage/RSBlockEntities.java
  class RSBlockEntities (line 21) | public final class RSBlockEntities {
    method registerSynchronizationParameters (line 101) | private static <T extends BlockEntity> BlockEntityType<T> registerSync...
    method RSBlockEntities (line 106) | private RSBlockEntities() {

FILE: src/main/java/com/refinedmods/refinedstorage/RSBlocks.java
  class RSBlocks (line 23) | public final class RSBlocks {
    method RSBlocks (line 103) | private RSBlocks() {
    method register (line 106) | public static void register(IEventBus bus) {

FILE: src/main/java/com/refinedmods/refinedstorage/RSContainerMenus.java
  class RSContainerMenus (line 13) | public final class RSContainerMenus {
    method RSContainerMenus (line 42) | private RSContainerMenus() {

FILE: src/main/java/com/refinedmods/refinedstorage/RSCreativeModeTabItems.java
  class RSCreativeModeTabItems (line 18) | public class RSCreativeModeTabItems {
    method RSCreativeModeTabItems (line 19) | private RSCreativeModeTabItems() {
    method register (line 22) | public static void register(RegisterEvent.RegisterHelper<CreativeModeT...
    method append (line 30) | public static void append(CreativeModeTab.Output output) {
    method addCovers (line 128) | private static void addCovers(CreativeModeTab.Output output) {
    method addCovers (line 146) | private static void addCovers(CreativeModeTab.Output output, ItemStack...
    method add (line 155) | private static void add(CreativeModeTab.Output output, ColorMap<Item, ...
    method add (line 159) | private static void add(CreativeModeTab.Output output, ItemStorageType...
    method addStorageBlock (line 167) | private static void addStorageBlock(CreativeModeTab.Output output, Ite...
    method addStorageBlock (line 171) | private static void addStorageBlock(CreativeModeTab.Output output, Flu...
    method add (line 175) | private static void add(CreativeModeTab.Output output, FluidStorageTyp...
    method add (line 183) | private static void add(CreativeModeTab.Output output, UpgradeItem.Typ...
    method add (line 187) | private static void add(CreativeModeTab.Output output, DeferredHolder<...

FILE: src/main/java/com/refinedmods/refinedstorage/RSItems.java
  class RSItems (line 54) | public final class RSItems {
    method RSItems (line 280) | private RSItems() {
    method registerBlockItemFor (line 283) | private static <T extends BaseBlock> DeferredHolder<Item, BlockItem> r...
    method register (line 288) | public static void register(IEventBus bus) {

FILE: src/main/java/com/refinedmods/refinedstorage/RSKeyBindings.java
  class RSKeyBindings (line 9) | public final class RSKeyBindings {
    method RSKeyBindings (line 55) | private RSKeyBindings() {

FILE: src/main/java/com/refinedmods/refinedstorage/RSLootFunctions.java
  class RSLootFunctions (line 14) | public final class RSLootFunctions {
    method RSLootFunctions (line 20) | private RSLootFunctions() {
    method register (line 23) | public static void register() {

FILE: src/main/java/com/refinedmods/refinedstorage/RSRecipeSerializers.java
  class RSRecipeSerializers (line 11) | public final class RSRecipeSerializers {
    method RSRecipeSerializers (line 20) | private RSRecipeSerializers() {

FILE: src/main/java/com/refinedmods/refinedstorage/api/IRSAPI.java
  type IRSAPI (line 39) | public interface IRSAPI {
    method getComparer (line 43) | @Nonnull
    method getQuantityFormatter (line 49) | @Nonnull
    method getNetworkNodeRegistry (line 55) | @Nonnull
    method getNetworkNodeManager (line 64) | INetworkNodeManager getNetworkNodeManager(ServerLevel level);
    method getNetworkManager (line 72) | INetworkManager getNetworkManager(ServerLevel level);
    method getCraftingTaskRegistry (line 77) | @Nonnull
    method getCraftingMonitorElementRegistry (line 83) | @Nonnull
    method getCraftingPreviewElementRegistry (line 89) | @Nonnull
    method createItemStackList (line 95) | @Nonnull
    method createFluidStackList (line 101) | @Nonnull
    method createCraftingMonitorElementList (line 107) | @Nonnull
    method getGridManager (line 113) | @Nonnull
    method getCraftingGridBehavior (line 119) | @Nonnull
    method getStorageDiskRegistry (line 125) | @Nonnull
    method getStorageDiskManager (line 132) | @Nonnull
    method getStorageDiskSync (line 138) | @Nonnull
    method getStorageTrackerManager (line 144) | @Nonnull
    method addExternalStorageProvider (line 153) | void addExternalStorageProvider(StorageType type, IExternalStorageProv...
    method getExternalStorageProviders (line 159) | <T> Set<IExternalStorageProvider<T>> getExternalStorageProviders(Stora...
    method createDefaultItemDisk (line 167) | @Nonnull
    method createDefaultFluidDisk (line 176) | @Nonnull
    method createCraftingRequestInfo (line 186) | ICraftingRequestInfo createCraftingRequestInfo(ItemStack stack, int co...
    method createCraftingRequestInfo (line 195) | ICraftingRequestInfo createCraftingRequestInfo(FluidStack stack, int c...
    method createCraftingRequestInfo (line 203) | ICraftingRequestInfo createCraftingRequestInfo(CompoundTag tag) throws...
    method addPatternRenderHandler (line 208) | void addPatternRenderHandler(ICraftingPatternRenderHandler renderHandl...
    method getPatternRenderHandlers (line 213) | List<ICraftingPatternRenderHandler> getPatternRenderHandlers();
    method getItemStackHashCode (line 219) | int getItemStackHashCode(ItemStack stack);
    method getFluidStackHashCode (line 225) | int getFluidStackHashCode(FluidStack stack);

FILE: src/main/java/com/refinedmods/refinedstorage/api/autocrafting/ICraftingManager.java
  type ICraftingManager (line 18) | public interface ICraftingManager {
    method getTasks (line 22) | Collection<ICraftingTask> getTasks();
    method getTask (line 30) | @Nullable
    method getNamedContainers (line 36) | Map<Component, List<IItemHandlerModifiable>> getNamedContainers();
    method start (line 43) | void start(@Nonnull ICraftingTask task);
    method cancel (line 50) | void cancel(@Nullable UUID id);
    method create (line 59) | ICalculationResult create(ItemStack stack, int quantity);
    method create (line 68) | ICalculationResult create(FluidStack stack, int quantity);
    method request (line 78) | @Nullable
    method request (line 89) | @Nullable
    method track (line 97) | int track(@Nonnull ItemStack stack, int size);
    method track (line 104) | int track(@Nonnull FluidStack stack, int size);
    method getPatterns (line 109) | List<ICraftingPattern> getPatterns();
    method invalidate (line 114) | void invalidate();
    method getPattern (line 122) | @Nullable
    method getPattern (line 131) | @Nullable
    method update (line 137) | void update();
    method readFromNbt (line 142) | void readFromNbt(CompoundTag tag);
    method writeToNbt (line 148) | CompoundTag writeToNbt(CompoundTag tag);
    method addListener (line 153) | void addListener(ICraftingMonitorListener listener);
    method removeListener (line 158) | void removeListener(ICraftingMonitorListener listener);
    method onTaskChanged (line 163) | void onTaskChanged();
    method getAllContainers (line 169) | Set<ICraftingPatternContainer> getAllContainers(ICraftingPattern patte...

FILE: src/main/java/com/refinedmods/refinedstorage/api/autocrafting/ICraftingPattern.java
  type ICraftingPattern (line 16) | public interface ICraftingPattern {
    method getContainer (line 20) | ICraftingPatternContainer getContainer();
    method getStack (line 25) | ItemStack getStack();
    method isValid (line 30) | boolean isValid();
    method getErrorMessage (line 35) | @Nullable
    method isProcessing (line 41) | boolean isProcessing();
    method getInputs (line 46) | List<NonNullList<ItemStack>> getInputs();
    method getOutputs (line 51) | NonNullList<ItemStack> getOutputs();
    method getOutput (line 58) | ItemStack getOutput(NonNullList<ItemStack> took, RegistryAccess regist...
    method getByproducts (line 63) | NonNullList<ItemStack> getByproducts();
    method getByproducts (line 69) | NonNullList<ItemStack> getByproducts(NonNullList<ItemStack> took);
    method getFluidInputs (line 74) | List<NonNullList<FluidStack>> getFluidInputs();
    method getFluidOutputs (line 79) | NonNullList<FluidStack> getFluidOutputs();
    method getCraftingTaskFactoryId (line 84) | ResourceLocation getCraftingTaskFactoryId();

FILE: src/main/java/com/refinedmods/refinedstorage/api/autocrafting/ICraftingPatternContainer.java
  type ICraftingPatternContainer (line 23) | public interface ICraftingPatternContainer {
    method getUpdateInterval (line 33) | default int getUpdateInterval() {
    method getMaximumSuccessfulCraftingUpdates (line 44) | default int getMaximumSuccessfulCraftingUpdates() {
    method getConnectedInventory (line 51) | @Nullable
    method getConnectedFluidInventory (line 57) | @Nullable
    method getConnectedBlockEntity (line 63) | @Nullable
    method getFacingBlockEntity (line 69) | BlockEntity getFacingBlockEntity();
    method getDirection (line 74) | Direction getDirection();
    method getPatterns (line 79) | List<ICraftingPattern> getPatterns();
    method getPatternInventory (line 84) | @Nullable
    method getName (line 93) | Component getName();
    method getCustomName (line 101) | @Nullable
    method getPosition (line 109) | BlockPos getPosition();
    method getRootContainer (line 119) | @Nullable
    method getUuid (line 125) | UUID getUuid();
    method isLocked (line 130) | default boolean isLocked() {
    method unlock (line 137) | void unlock();
    method onUsedForProcessing (line 142) | default void onUsedForProcessing() {
    method hasConnectedInventory (line 148) | default boolean hasConnectedInventory() {
    method hasConnectedFluidInventory (line 155) | default boolean hasConnectedFluidInventory() {
    method insertItemsIntoInventory (line 166) | default boolean insertItemsIntoInventory(Collection<ItemStack> toInser...
    method insertFluidsIntoInventory (line 227) | default boolean insertFluidsIntoInventory(Collection<FluidStack> toIns...

FILE: src/main/java/com/refinedmods/refinedstorage/api/autocrafting/ICraftingPatternProvider.java
  type ICraftingPatternProvider (line 12) | public interface ICraftingPatternProvider {
    method create (line 21) | @Nonnull

FILE: src/main/java/com/refinedmods/refinedstorage/api/autocrafting/ICraftingPatternRenderHandler.java
  type ICraftingPatternRenderHandler (line 10) | public interface ICraftingPatternRenderHandler {
    method canRenderOutput (line 18) | boolean canRenderOutput(ItemStack pattern);

FILE: src/main/java/com/refinedmods/refinedstorage/api/autocrafting/craftingmonitor/ICraftingMonitorElement.java
  type ICraftingMonitorElement (line 17) | public interface ICraftingMonitorElement {
    method draw (line 24) | @OnlyIn(Dist.CLIENT)
    method getBaseId (line 32) | ResourceLocation getBaseId();
    method getId (line 39) | ResourceLocation getId();
    method getTooltip (line 44) | default List<Component> getTooltip() {
    method write (line 53) | void write(FriendlyByteBuf buf);
    method merge (line 61) | boolean merge(ICraftingMonitorElement element);
    method baseElementHashCode (line 66) | int baseElementHashCode();
    method elementHashCode (line 71) | int elementHashCode();

FILE: src/main/java/com/refinedmods/refinedstorage/api/autocrafting/craftingmonitor/ICraftingMonitorElementList.java
  type ICraftingMonitorElementList (line 5) | public interface ICraftingMonitorElementList {
    method directAdd (line 11) | void directAdd(ICraftingMonitorElement element);
    method addStorage (line 19) | void addStorage(ICraftingMonitorElement element);
    method add (line 28) | void add(ICraftingMonitorElement element, boolean isProcessing);
    method add (line 36) | void add(ICraftingMonitorElement element);
    method commit (line 41) | void commit();
    method getElements (line 49) | List<ICraftingMonitorElement> getElements();

FILE: src/main/java/com/refinedmods/refinedstorage/api/autocrafting/craftingmonitor/ICraftingMonitorElementRegistry.java
  type ICraftingMonitorElementRegistry (line 12) | public interface ICraftingMonitorElementRegistry {
    method add (line 19) | void add(ResourceLocation id, Function<FriendlyByteBuf, ICraftingMonit...
    method get (line 27) | @Nullable

FILE: src/main/java/com/refinedmods/refinedstorage/api/autocrafting/craftingmonitor/ICraftingMonitorListener.java
  type ICraftingMonitorListener (line 8) | public interface ICraftingMonitorListener {
    method onAttached (line 12) | void onAttached();
    method onChanged (line 17) | void onChanged();

FILE: src/main/java/com/refinedmods/refinedstorage/api/autocrafting/preview/ICraftingPreviewElement.java
  type ICraftingPreviewElement (line 13) | public interface ICraftingPreviewElement {
    method draw (line 20) | @OnlyIn(Dist.CLIENT)
    method doesDisableTaskStarting (line 26) | boolean doesDisableTaskStarting();
    method write (line 31) | void write(FriendlyByteBuf buf);
    method getId (line 38) | ResourceLocation getId();

FILE: src/main/java/com/refinedmods/refinedstorage/api/autocrafting/preview/ICraftingPreviewElementRegistry.java
  type ICraftingPreviewElementRegistry (line 12) | public interface ICraftingPreviewElementRegistry {
    method add (line 19) | void add(ResourceLocation id, Function<FriendlyByteBuf, ICraftingPrevi...
    method get (line 27) | @Nullable

FILE: src/main/java/com/refinedmods/refinedstorage/api/autocrafting/task/CalculationResultType.java
  type CalculationResultType (line 6) | public enum CalculationResultType {

FILE: src/main/java/com/refinedmods/refinedstorage/api/autocrafting/task/CraftingTaskReadException.java
  class CraftingTaskReadException (line 8) | public class CraftingTaskReadException extends Exception {
    method CraftingTaskReadException (line 12) | public CraftingTaskReadException(String message) {

FILE: src/main/java/com/refinedmods/refinedstorage/api/autocrafting/task/ICalculationResult.java
  type ICalculationResult (line 12) | public interface ICalculationResult {
    method getType (line 16) | CalculationResultType getType();
    method getPreviewElements (line 21) | List<ICraftingPreviewElement> getPreviewElements();
    method getTask (line 26) | @Nullable
    method isOk (line 32) | boolean isOk();
    method getRecursedPattern (line 39) | @Nullable

FILE: src/main/java/com/refinedmods/refinedstorage/api/autocrafting/task/ICraftingRequestInfo.java
  type ICraftingRequestInfo (line 11) | public interface ICraftingRequestInfo {
    method getItem (line 15) | @Nullable
    method getFluid (line 21) | @Nullable
    method writeToNbt (line 27) | CompoundTag writeToNbt();

FILE: src/main/java/com/refinedmods/refinedstorage/api/autocrafting/task/ICraftingTask.java
  type ICraftingTask (line 15) | public interface ICraftingTask {
    method update (line 21) | boolean update();
    method onCancelled (line 26) | void onCancelled();
    method getQuantity (line 31) | int getQuantity();
    method getCompletionPercentage (line 36) | int getCompletionPercentage();
    method getRequested (line 41) | ICraftingRequestInfo getRequested();
    method onTrackedInsert (line 49) | int onTrackedInsert(ItemStack stack, int size);
    method onTrackedInsert (line 57) | int onTrackedInsert(FluidStack stack, int size);
    method writeToNbt (line 65) | CompoundTag writeToNbt(CompoundTag tag);
    method getCraftingMonitorElements (line 70) | List<ICraftingMonitorElement> getCraftingMonitorElements();
    method getPattern (line 75) | ICraftingPattern getPattern();
    method getStartTime (line 80) | long getStartTime();
    method getId (line 85) | UUID getId();
    method start (line 90) | void start();

FILE: src/main/java/com/refinedmods/refinedstorage/api/autocrafting/task/ICraftingTaskFactory.java
  type ICraftingTaskFactory (line 11) | public interface ICraftingTaskFactory {
    method create (line 21) | ICalculationResult create(INetwork network, ICraftingRequestInfo reque...
    method createFromNbt (line 30) | ICraftingTask createFromNbt(INetwork network, CompoundTag tag) throws ...

FILE: src/main/java/com/refinedmods/refinedstorage/api/autocrafting/task/ICraftingTaskRegistry.java
  type ICraftingTaskRegistry (line 11) | public interface ICraftingTaskRegistry {
    method add (line 19) | void add(ResourceLocation id, ICraftingTaskFactory factory);
    method get (line 27) | @Nullable

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/INetwork.java
  type INetwork (line 25) | public interface INetwork {
    method getEnergyUsage (line 29) | int getEnergyUsage();
    method getEnergyStorage (line 34) | IEnergyStorage getEnergyStorage();
    method getType (line 39) | NetworkType getType();
    method canRun (line 44) | boolean canRun();
    method update (line 49) | void update();
    method onRemoved (line 54) | void onRemoved();
    method getNodeGraph (line 59) | INetworkNodeGraph getNodeGraph();
    method getSecurityManager (line 64) | ISecurityManager getSecurityManager();
    method getCraftingManager (line 69) | ICraftingManager getCraftingManager();
    method getItemGridHandler (line 74) | IItemGridHandler getItemGridHandler();
    method getFluidGridHandler (line 79) | IFluidGridHandler getFluidGridHandler();
    method getNetworkItemManager (line 84) | INetworkItemManager getNetworkItemManager();
    method getItemStorageCache (line 89) | IStorageCache<ItemStack> getItemStorageCache();
    method getFluidStorageCache (line 94) | IStorageCache<FluidStack> getFluidStorageCache();
    method insertItem (line 104) | @Nonnull
    method insertItemTracked (line 114) | @Nonnull
    method extractItem (line 135) | @Nonnull
    method extractItem (line 147) | @Nonnull
    method extractItem (line 160) | @Nonnull
    method insertFluid (line 173) | @Nonnull
    method insertFluidTracked (line 183) | @Nonnull
    method extractFluid (line 203) | @Nonnull
    method extractFluid (line 215) | @Nonnull
    method extractFluid (line 228) | @Nonnull
    method getItemStorageTracker (line 236) | IStorageTracker<ItemStack> getItemStorageTracker();
    method getFluidStorageTracker (line 241) | IStorageTracker<FluidStack> getFluidStorageTracker();
    method getLevel (line 246) | Level getLevel();
    method getPosition (line 251) | BlockPos getPosition();
    method readFromNbt (line 256) | INetwork readFromNbt(CompoundTag tag);
    method writeToNbt (line 262) | CompoundTag writeToNbt(CompoundTag tag);
    method getTickTimes (line 267) | long[] getTickTimes();
    method markDirty (line 272) | void markDirty();

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/INetworkManager.java
  type INetworkManager (line 11) | public interface INetworkManager {
    method getNetwork (line 18) | @Nullable
    method removeNetwork (line 26) | void removeNetwork(BlockPos pos);
    method setNetwork (line 34) | void setNetwork(BlockPos pos, INetwork node);
    method all (line 39) | Collection<INetwork> all();
    method markForSaving (line 44) | void markForSaving();

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/INetworkNodeGraph.java
  type INetworkNodeGraph (line 13) | public interface INetworkNodeGraph {
    method invalidate (line 21) | void invalidate(Action action, Level level, BlockPos origin);
    method runActionWhenPossible (line 29) | void runActionWhenPossible(Consumer<INetwork> handler);
    method all (line 34) | Collection<INetworkNodeGraphEntry> all();
    method addListener (line 39) | void addListener(INetworkNodeGraphListener listener);
    method disconnectAll (line 44) | void disconnectAll();

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/INetworkNodeGraphEntry.java
  type INetworkNodeGraphEntry (line 9) | public interface INetworkNodeGraphEntry {
    method getNode (line 10) | INetworkNode getNode();

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/INetworkNodeGraphListener.java
  type INetworkNodeGraphListener (line 6) | public interface INetworkNodeGraphListener {
    method onChanged (line 10) | void onChanged();

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/INetworkNodeVisitor.java
  type INetworkNodeVisitor (line 13) | public interface INetworkNodeVisitor {
    method visit (line 19) | void visit(Operator operator);
    type Operator (line 24) | interface Operator {
      method apply (line 34) | void apply(Level level, BlockPos pos, @Nullable Direction side);
      method getAction (line 41) | Action getAction();

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/IWirelessTransmitter.java
  type IWirelessTransmitter (line 10) | public interface IWirelessTransmitter {
    method getRange (line 14) | int getRange();
    method getOrigin (line 19) | BlockPos getOrigin();
    method getDimension (line 24) | ResourceKey<Level> getDimension();

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/NetworkType.java
  type NetworkType (line 6) | public enum NetworkType {

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/grid/GridFactoryType.java
  type GridFactoryType (line 6) | public enum GridFactoryType {

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/grid/GridType.java
  type GridType (line 11) | public enum GridType implements StringRepresentable {
    method GridType (line 32) | GridType(int id, String name) {
    method getSerializedName (line 37) | @Nonnull
    method toString (line 43) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/grid/ICraftingGridBehavior.java
  type ICraftingGridBehavior (line 13) | public interface ICraftingGridBehavior {
    method onCrafted (line 23) | void onCrafted(INetworkAwareGrid grid, CraftingRecipe recipe, Player p...
    method onCraftedShift (line 31) | void onCraftedShift(INetworkAwareGrid grid, Player player);
    method onRecipeTransfer (line 40) | void onRecipeTransfer(INetworkAwareGrid grid, Player player, ItemStack...

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/grid/ICraftingGridListener.java
  type ICraftingGridListener (line 6) | public interface ICraftingGridListener {
    method onCraftingMatrixChanged (line 12) | void onCraftingMatrixChanged();

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/grid/IGrid.java
  type IGrid (line 22) | public interface IGrid {
    method isValidViewType (line 49) | static boolean isValidViewType(int type) {
    method isValidSearchBoxMode (line 55) | static boolean isValidSearchBoxMode(int mode) {
    method isSearchBoxModeWithAutoselection (line 64) | static boolean isSearchBoxModeWithAutoselection(int mode) {
    method doesSearchBoxModeUseJEI (line 70) | static boolean doesSearchBoxModeUseJEI(int mode) {
    method isValidSortingType (line 77) | static boolean isValidSortingType(int type) {
    method isValidSortingDirection (line 84) | static boolean isValidSortingDirection(int direction) {
    method isValidSize (line 88) | static boolean isValidSize(int size) {
    method getGridType (line 98) | GridType getGridType();
    method createListener (line 104) | IStorageCacheListener createListener(ServerPlayer player);
    method getStorageCache (line 109) | @Nullable
    method getItemHandler (line 115) | @Nullable
    method getFluidHandler (line 121) | @Nullable
    method addCraftingListener (line 127) | default void addCraftingListener(ICraftingGridListener listener) {
    method removeCraftingListener (line 133) | default void removeCraftingListener(ICraftingGridListener listener) {
    method getTitle (line 139) | Component getTitle();
    method getViewType (line 144) | int getViewType();
    method getSortingType (line 149) | int getSortingType();
    method getSortingDirection (line 154) | int getSortingDirection();
    method getSearchBoxMode (line 159) | int getSearchBoxMode();
    method getTabSelected (line 164) | int getTabSelected();
    method getTabPage (line 169) | int getTabPage();
    method getTotalTabPages (line 174) | int getTotalTabPages();
    method getSize (line 179) | int getSize();
    method onViewTypeChanged (line 184) | void onViewTypeChanged(int type);
    method onSortingTypeChanged (line 189) | void onSortingTypeChanged(int type);
    method onSortingDirectionChanged (line 194) | void onSortingDirectionChanged(int direction);
    method onSearchBoxModeChanged (line 199) | void onSearchBoxModeChanged(int searchBoxMode);
    method onSizeChanged (line 204) | void onSizeChanged(int size);
    method onTabSelectionChanged (line 209) | void onTabSelectionChanged(int tab);
    method onTabPageChanged (line 214) | void onTabPageChanged(int page);
    method getFilters (line 219) | List<IFilter> getFilters();
    method getTabs (line 224) | List<IGridTab> getTabs();
    method getFilter (line 229) | IItemHandlerModifiable getFilter();
    method getCraftingMatrix (line 234) | @Nullable
    method getCraftingResult (line 240) | @Nullable
    method onCraftingMatrixChanged (line 246) | void onCraftingMatrixChanged();
    method onCrafted (line 255) | void onCrafted(Player player, @Nullable IStackList<ItemStack> availabl...
    method onClear (line 260) | void onClear(Player player);
    method onCraftedShift (line 267) | void onCraftedShift(Player player);
    method onRecipeTransfer (line 275) | void onRecipeTransfer(Player player, ItemStack[][] recipe);
    method onClosed (line 282) | void onClosed(Player player);
    method isGridActive (line 287) | boolean isGridActive();
    method getSlotId (line 292) | int getSlotId();

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/grid/IGridFactory.java
  type IGridFactory (line 15) | public interface IGridFactory {
    method createFromStack (line 24) | @Nullable
    method createFromBlock (line 34) | @Nullable
    method getRelevantBlockEntity (line 44) | @Nullable
    method getType (line 50) | GridFactoryType getType();

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/grid/IGridManager.java
  type IGridManager (line 17) | public interface IGridManager {
    method add (line 22) | void add(ResourceLocation id, IGridFactory factory);
    method openGrid (line 31) | void openGrid(ResourceLocation id, ServerPlayer player, BlockPos pos);
    method openGrid (line 41) | void openGrid(ResourceLocation id, ServerPlayer player, ItemStack stac...
    method createGrid (line 53) | @Nullable

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/grid/IGridTab.java
  type IGridTab (line 14) | public interface IGridTab {
    method getFilters (line 21) | List<IFilter> getFilters();
    method drawTooltip (line 31) | void drawTooltip(Font font, GuiGraphics graphics, int x, int y);
    method drawIcon (line 40) | void drawIcon(GuiGraphics graphics, int x, int y, IElementDrawer<ItemS...

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/grid/INetworkAwareGrid.java
  type INetworkAwareGrid (line 10) | public interface INetworkAwareGrid extends IGrid {
    method getNetwork (line 14) | @Nullable

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/grid/handler/IFluidGridHandler.java
  type IFluidGridHandler (line 13) | public interface IFluidGridHandler {
    method onExtract (line 21) | void onExtract(ServerPlayer player, UUID id, boolean shift);
    method onInsert (line 30) | @Nonnull
    method onInsertHeldContainer (line 38) | void onInsertHeldContainer(ServerPlayer player);
    method onCraftingPreviewRequested (line 48) | void onCraftingPreviewRequested(ServerPlayer player, UUID id, int quan...
    method onCraftingRequested (line 57) | void onCraftingRequested(ServerPlayer player, UUID id, int quantity);

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/grid/handler/IItemGridHandler.java
  type IItemGridHandler (line 14) | public interface IItemGridHandler {
    method onExtract (line 27) | void onExtract(ServerPlayer player, ItemStack stack, int preferredSlot...
    method onExtract (line 37) | void onExtract(ServerPlayer player, UUID id, int preferredSlot, int fl...
    method onInsert (line 47) | @Nonnull
    method onInsertHeldItem (line 56) | void onInsertHeldItem(ServerPlayer player, boolean single);
    method onCraftingPreviewRequested (line 66) | void onCraftingPreviewRequested(ServerPlayer player, UUID id, int quan...
    method onCraftingRequested (line 75) | void onCraftingRequested(ServerPlayer player, UUID id, int quantity);
    method onCraftingCancelRequested (line 83) | void onCraftingCancelRequested(ServerPlayer player, @Nullable UUID id);
    method onInventoryScroll (line 93) | void onInventoryScroll(ServerPlayer player, int slot, boolean shift, b...
    method onGridScroll (line 103) | void onGridScroll(ServerPlayer player, @Nullable UUID id, boolean shif...

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/item/INetworkItem.java
  type INetworkItem (line 11) | public interface INetworkItem {
    method getPlayer (line 15) | Player getPlayer();
    method onOpen (line 23) | boolean onOpen(INetwork network);
    method drainEnergy (line 28) | void drainEnergy(int energy);

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/item/INetworkItemManager.java
  type INetworkItemManager (line 13) | public interface INetworkItemManager {
    method open (line 21) | void open(Player player, ItemStack stack, PlayerSlot slot);
    method close (line 28) | void close(Player player);
    method getItem (line 36) | @Nullable
    method drainEnergy (line 43) | void drainEnergy(Player player, int energy);

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/item/INetworkItemProvider.java
  type INetworkItemProvider (line 12) | public interface INetworkItemProvider {
    method provide (line 22) | @Nonnull

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/node/ICoverable.java
  type ICoverable (line 5) | public interface ICoverable {
    method getCoverManager (line 7) | CoverManager getCoverManager();

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/node/INetworkNode.java
  type INetworkNode (line 18) | public interface INetworkNode {
    method getEnergyUsage (line 22) | int getEnergyUsage();
    method getItemStack (line 30) | @Nonnull
    method onConnected (line 38) | void onConnected(INetwork network);
    method onDisconnected (line 47) | void onDisconnected(INetwork network);
    method isActive (line 54) | boolean isActive();
    method getNetwork (line 59) | @Nullable
    method update (line 65) | void update();
    method write (line 73) | CompoundTag write(CompoundTag tag);
    method getPos (line 78) | BlockPos getPos();
    method getLevel (line 83) | Level getLevel();
    method markDirty (line 88) | void markDirty();
    method getId (line 93) | ResourceLocation getId();
    method canConduct (line 99) | default boolean canConduct(Direction direction) {
    method canReceive (line 107) | default boolean canReceive(Direction direction) {
    method getOwner (line 114) | @Nullable
    method setOwner (line 120) | void setOwner(@Nullable UUID owner);

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/node/INetworkNodeFactory.java
  type INetworkNodeFactory (line 12) | public interface INetworkNodeFactory {
    method create (line 21) | @Nonnull

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/node/INetworkNodeManager.java
  type INetworkNodeManager (line 11) | public interface INetworkNodeManager {
    method getNode (line 18) | @Nullable
    method removeNode (line 26) | void removeNode(BlockPos pos);
    method setNode (line 34) | void setNode(BlockPos pos, INetworkNode node);
    method all (line 39) | Collection<INetworkNode> all();
    method markForSaving (line 44) | void markForSaving();

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/node/INetworkNodeProxy.java
  type INetworkNodeProxy (line 10) | public interface INetworkNodeProxy<T extends INetworkNode> {
    method getNode (line 18) | @Nonnull

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/node/INetworkNodeRegistry.java
  type INetworkNodeRegistry (line 10) | public interface INetworkNodeRegistry {
    method add (line 17) | void add(ResourceLocation id, INetworkNodeFactory factory);
    method get (line 25) | @Nullable

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/security/ISecurityCard.java
  type ISecurityCard (line 9) | public interface ISecurityCard {
    method getOwner (line 13) | @Nullable
    method hasPermission (line 20) | boolean hasPermission(Permission permission);

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/security/ISecurityCardContainer.java
  type ISecurityCardContainer (line 9) | public interface ISecurityCardContainer {
    method getCards (line 13) | List<ISecurityCard> getCards();
    method getGlobalCard (line 18) | @Nullable

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/security/ISecurityManager.java
  type ISecurityManager (line 8) | public interface ISecurityManager {
    method hasPermission (line 14) | boolean hasPermission(Permission permission, Player player);
    method invalidate (line 19) | void invalidate();

FILE: src/main/java/com/refinedmods/refinedstorage/api/network/security/Permission.java
  type Permission (line 6) | public enum Permission {
    method Permission (line 34) | Permission(int id) {
    method getId (line 38) | public int getId() {

FILE: src/main/java/com/refinedmods/refinedstorage/api/render/IElementDrawer.java
  type IElementDrawer (line 11) | @FunctionalInterface
    method draw (line 19) | void draw(GuiGraphics graphics, int x, int y, T element);

FILE: src/main/java/com/refinedmods/refinedstorage/api/render/IElementDrawers.java
  type IElementDrawers (line 9) | public interface IElementDrawers {
    method getItemDrawer (line 13) | default IElementDrawer<ItemStack> getItemDrawer() {
    method getFluidDrawer (line 20) | default IElementDrawer<FluidStack> getFluidDrawer() {
    method getStringDrawer (line 27) | default IElementDrawer<String> getStringDrawer() {
    method getOverlayDrawer (line 34) | default IElementDrawer<Integer> getOverlayDrawer() {
    method getErrorDrawer (line 38) | default IElementDrawer<Void> getErrorDrawer() {
    method getNullDrawer (line 48) | default <T> IElementDrawer<T> getNullDrawer() {

FILE: src/main/java/com/refinedmods/refinedstorage/api/storage/AccessType.java
  type AccessType (line 6) | public enum AccessType {
    method AccessType (line 25) | AccessType(int id) {
    method getId (line 32) | public int getId() {

FILE: src/main/java/com/refinedmods/refinedstorage/api/storage/IStorage.java
  type IStorage (line 11) | public interface IStorage<T> {
    method getStacks (line 26) | Collection<T> getStacks();
    method insert (line 36) | @Nonnull
    method extract (line 50) | @Nonnull
    method getStored (line 56) | int getStored();
    method getPriority (line 61) | int getPriority();
    method getAccessType (line 66) | AccessType getAccessType();
    method getCacheDelta (line 76) | int getCacheDelta(int storedPreInsertion, int size, @Nullable T remain...

FILE: src/main/java/com/refinedmods/refinedstorage/api/storage/IStorageProvider.java
  type IStorageProvider (line 10) | public interface IStorageProvider {
    method addItemStorages (line 14) | void addItemStorages(List<IStorage<ItemStack>> storages);
    method addFluidStorages (line 19) | void addFluidStorages(List<IStorage<FluidStack>> storages);

FILE: src/main/java/com/refinedmods/refinedstorage/api/storage/StorageType.java
  type StorageType (line 6) | public enum StorageType {

FILE: src/main/java/com/refinedmods/refinedstorage/api/storage/cache/IStorageCache.java
  type IStorageCache (line 20) | public interface IStorageCache<T> {
    method invalidate (line 28) | void invalidate(InvalidateCause cause);
    method add (line 43) | void add(@Nonnull T stack, int size, boolean rebuilding, boolean batch...
    method remove (line 55) | void remove(@Nonnull T stack, int size, boolean batched);
    method flush (line 60) | void flush();
    method addListener (line 67) | void addListener(IStorageCacheListener<T> listener);
    method removeListener (line 74) | void removeListener(IStorageCacheListener<T> listener);
    method reAttachListeners (line 80) | void reAttachListeners();
    method sort (line 86) | void sort();
    method getList (line 91) | IStackList<T> getList();
    method getCraftablesList (line 96) | IStackList<T> getCraftablesList();
    method getGridStacks (line 101) | List<? extends IGridStack> getGridStacks();
    method getStorages (line 106) | List<IStorage<T>> getStorages();

FILE: src/main/java/com/refinedmods/refinedstorage/api/storage/cache/IStorageCacheListener.java
  type IStorageCacheListener (line 12) | public interface IStorageCacheListener<T> {
    method onAttached (line 16) | void onAttached();
    method onInvalidated (line 21) | void onInvalidated();
    method onChanged (line 28) | void onChanged(StackListResult<T> delta);
    method onChangedBulk (line 35) | void onChangedBulk(List<StackListResult<T>> deltas);

FILE: src/main/java/com/refinedmods/refinedstorage/api/storage/cache/InvalidateCause.java
  type InvalidateCause (line 3) | public enum InvalidateCause {

FILE: src/main/java/com/refinedmods/refinedstorage/api/storage/disk/IStorageDisk.java
  type IStorageDisk (line 15) | public interface IStorageDisk<T> extends IStorage<T> {
    method getCapacity (line 19) | int getCapacity();
    method getOwner (line 24) | @Nullable
    method setSettings (line 34) | void setSettings(@Nullable IStorageDiskListener listener, IStorageDisk...
    method writeToNbt (line 39) | CompoundTag writeToNbt();
    method getFactoryId (line 44) | ResourceLocation getFactoryId();

FILE: src/main/java/com/refinedmods/refinedstorage/api/storage/disk/IStorageDiskContainerContext.java
  type IStorageDiskContainerContext (line 8) | public interface IStorageDiskContainerContext {
    method getAccessType (line 12) | AccessType getAccessType();

FILE: src/main/java/com/refinedmods/refinedstorage/api/storage/disk/IStorageDiskFactory.java
  type IStorageDiskFactory (line 15) | public interface IStorageDiskFactory<T> {
    method createFromNbt (line 23) | IStorageDisk<T> createFromNbt(ServerLevel level, CompoundTag tag);
    method createDiskItem (line 32) | ItemStack createDiskItem(IStorageDisk<T> disk, UUID id);
    method create (line 42) | IStorageDisk<T> create(ServerLevel level, int capacity, @Nullable UUID...

FILE: src/main/java/com/refinedmods/refinedstorage/api/storage/disk/IStorageDiskListener.java
  type IStorageDiskListener (line 6) | public interface IStorageDiskListener {
    method onChanged (line 10) | void onChanged();

FILE: src/main/java/com/refinedmods/refinedstorage/api/storage/disk/IStorageDiskManager.java
  type IStorageDiskManager (line 12) | public interface IStorageDiskManager {
    method get (line 19) | @Nullable
    method getByStack (line 28) | @Nullable
    method getAll (line 34) | Map<UUID, IStorageDisk> getAll();
    method set (line 42) | void set(UUID id, IStorageDisk disk);
    method remove (line 49) | void remove(UUID id);
    method markForSaving (line 54) | void markForSaving();

FILE: src/main/java/com/refinedmods/refinedstorage/api/storage/disk/IStorageDiskProvider.java
  type IStorageDiskProvider (line 12) | public interface IStorageDiskProvider {
    method getId (line 17) | UUID getId(ItemStack disk);
    method setId (line 23) | void setId(ItemStack disk, UUID id);
    method isValid (line 29) | boolean isValid(ItemStack disk);
    method getCapacity (line 35) | int getCapacity(ItemStack disk);
    method getType (line 40) | StorageType getType();

FILE: src/main/java/com/refinedmods/refinedstorage/api/storage/disk/IStorageDiskRegistry.java
  type IStorageDiskRegistry (line 10) | public interface IStorageDiskRegistry {
    method add (line 17) | void add(ResourceLocation id, IStorageDiskFactory<?> factory);
    method get (line 25) | @Nullable

FILE: src/main/java/com/refinedmods/refinedstorage/api/storage/disk/IStorageDiskSync.java
  type IStorageDiskSync (line 9) | public interface IStorageDiskSync {
    method getData (line 17) | @Nullable
    method sendRequest (line 26) | void sendRequest(UUID id);

FILE: src/main/java/com/refinedmods/refinedstorage/api/storage/disk/StorageDiskSyncData.java
  class StorageDiskSyncData (line 6) | public class StorageDiskSyncData {
    method StorageDiskSyncData (line 10) | public StorageDiskSyncData(int stored, int capacity) {
    method getStored (line 18) | public int getStored() {
    method getCapacity (line 25) | public int getCapacity() {

FILE: src/main/java/com/refinedmods/refinedstorage/api/storage/externalstorage/IExternalStorage.java
  type IExternalStorage (line 12) | public interface IExternalStorage<T> extends IStorage<T> {
    method update (line 22) | void update(INetwork network);
    method getCapacity (line 27) | long getCapacity();

FILE: src/main/java/com/refinedmods/refinedstorage/api/storage/externalstorage/IExternalStorageContext.java
  type IExternalStorageContext (line 10) | public interface IExternalStorageContext {
    method getPriority (line 14) | int getPriority();
    method getAccessType (line 19) | AccessType getAccessType();
    method acceptsItem (line 25) | boolean acceptsItem(ItemStack stack);
    method acceptsFluid (line 31) | boolean acceptsFluid(FluidStack stack);

FILE: src/main/java/com/refinedmods/refinedstorage/api/storage/externalstorage/IExternalStorageProvider.java
  type IExternalStorageProvider (line 15) | public interface IExternalStorageProvider<T> {
    method canProvide (line 21) | boolean canProvide(Level level, BlockPos pos, Direction direction);
    method provide (line 29) | @Nonnull
    method getPriority (line 40) | int getPriority();

FILE: src/main/java/com/refinedmods/refinedstorage/api/storage/tracker/IStorageTracker.java
  type IStorageTracker (line 11) | public interface IStorageTracker<T> {
    method changed (line 18) | void changed(Player player, T stack);
    method get (line 24) | @Nullable
    method readFromNbt (line 32) | void readFromNbt(ListTag nbt);
    method serializeNbt (line 39) | ListTag serializeNbt();

FILE: src/main/java/com/refinedmods/refinedstorage/api/storage/tracker/IStorageTrackerManager.java
  type IStorageTrackerManager (line 7) | public interface IStorageTrackerManager {
    method markForSaving (line 12) | void markForSaving();
    method getOrCreate (line 21) | IStorageTracker<?> getOrCreate(UUID itemStorageTrackerId, StorageType ...
    method remove (line 26) | void remove(UUID id);

FILE: src/main/java/com/refinedmods/refinedstorage/api/storage/tracker/StorageTrackerEntry.java
  class StorageTrackerEntry (line 6) | public class StorageTrackerEntry {
    method StorageTrackerEntry (line 10) | public StorageTrackerEntry(long time, String name) {
    method getTime (line 18) | public long getTime() {
    method getName (line 25) | public String getName() {

FILE: src/main/java/com/refinedmods/refinedstorage/api/util/Action.java
  type Action (line 6) | public enum Action {

FILE: src/main/java/com/refinedmods/refinedstorage/api/util/IComparer.java
  type IComparer (line 10) | public interface IComparer {
    method isEqual (line 22) | boolean isEqual(@Nonnull ItemStack left, @Nonnull ItemStack right, int...
    method isEqual (line 31) | default boolean isEqual(@Nonnull ItemStack left, @Nonnull ItemStack ri...
    method isEqualNoQuantity (line 42) | default boolean isEqualNoQuantity(@Nonnull ItemStack left, @Nonnull It...
    method isEqual (line 54) | boolean isEqual(@Nonnull FluidStack left, @Nonnull FluidStack right, i...

FILE: src/main/java/com/refinedmods/refinedstorage/api/util/IFilter.java
  type IFilter (line 6) | public interface IFilter {
    method getStack (line 13) | Object getStack();
    method getCompare (line 18) | int getCompare();
    method getMode (line 23) | int getMode();
    method isModFilter (line 28) | boolean isModFilter();

FILE: src/main/java/com/refinedmods/refinedstorage/api/util/IQuantityFormatter.java
  type IQuantityFormatter (line 6) | public interface IQuantityFormatter {
    method formatWithUnits (line 17) | String formatWithUnits(int qty);
    method formatWithUnits (line 29) | String formatWithUnits(long qty);
    method format (line 38) | String format(int qty);
    method format (line 47) | String format(long qty);
    method formatInBucketForm (line 55) | String formatInBucketForm(int qty);
    method formatInBucketFormWithOnlyTrailingDigitsIfZero (line 63) | String formatInBucketFormWithOnlyTrailingDigitsIfZero(int qty);

FILE: src/main/java/com/refinedmods/refinedstorage/api/util/IStackList.java
  type IStackList (line 11) | public interface IStackList<T> {
    method add (line 19) | StackListResult<T> add(@Nonnull T stack, int size);
    method add (line 27) | StackListResult<T> add(@Nonnull T stack);
    method remove (line 36) | @Nullable
    method remove (line 45) | @Nullable
    method get (line 54) | @Nullable
    method getCount (line 66) | int getCount(@Nonnull T stack, int flags);
    method getCount (line 72) | default int getCount(@Nonnull T stack) {
    method get (line 83) | @Nullable
    method getEntry (line 93) | @Nullable
    method get (line 102) | @Nullable
    method clear (line 108) | void clear();
    method isEmpty (line 113) | boolean isEmpty();
    method getStacks (line 118) | @Nonnull
    method getStacks (line 124) | @Nonnull
    method copy (line 130) | @Nonnull
    method size (line 136) | int size();

FILE: src/main/java/com/refinedmods/refinedstorage/api/util/StackListEntry.java
  class StackListEntry (line 10) | public class StackListEntry<T> {
    method StackListEntry (line 14) | public StackListEntry(T stack) {
    method StackListEntry (line 19) | public StackListEntry(UUID id, T stack) {
    method getId (line 31) | public UUID getId() {
    method getStack (line 38) | public T getStack() {

FILE: src/main/java/com/refinedmods/refinedstorage/api/util/StackListResult.java
  class StackListResult (line 10) | public class StackListResult<T> {
    method StackListResult (line 15) | public StackListResult(T stack, UUID id, int change) {
    method getStack (line 24) | public T getStack() {
    method getId (line 31) | public UUID getId() {
    method getChange (line 38) | public int getChange() {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/API.java
  class API (line 76) | public class API implements IRSAPI {
    method instance (line 95) | public static IRSAPI instance() {
    method deliver (line 99) | public static void deliver() {
    method getComparer (line 128) | @Nonnull
    method getQuantityFormatter (line 134) | @Override
    method getNetworkNodeRegistry (line 140) | @Override
    method getNetworkNodeManager (line 146) | @Override
    method getNetworkManager (line 158) | @Override
    method getCraftingTaskRegistry (line 170) | @Override
    method getCraftingMonitorElementRegistry (line 176) | @Override
    method getCraftingPreviewElementRegistry (line 182) | @Override
    method createItemStackList (line 188) | @Nonnull
    method createFluidStackList (line 194) | @Override
    method createCraftingMonitorElementList (line 200) | @Override
    method getGridManager (line 206) | @Nonnull
    method getCraftingGridBehavior (line 212) | @Nonnull
    method getStorageDiskRegistry (line 218) | @Nonnull
    method getStorageDiskManager (line 224) | @Nonnull
    method getStorageDiskSync (line 239) | @Nonnull
    method getStorageTrackerManager (line 245) | @Nonnull
    method addExternalStorageProvider (line 259) | @Override
    method getExternalStorageProviders (line 265) | @Override
    method createDefaultItemDisk (line 272) | @Override
    method createDefaultFluidDisk (line 282) | @Override
    method createCraftingRequestInfo (line 292) | @Override
    method createCraftingRequestInfo (line 297) | @Override
    method createCraftingRequestInfo (line 302) | @Override
    method addPatternRenderHandler (line 307) | @Override
    method getPatternRenderHandlers (line 312) | @Override
    method getItemStackHashCode (line 317) | @Override
    method getHashCode (line 328) | private int getHashCode(Tag tag, int result) {
    method getHashCode (line 340) | private int getHashCode(CompoundTag tag, int result) {
    method getHashCode (line 349) | private int getHashCode(ListTag tag, int result) {
    method getFluidStackHashCode (line 357) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/AllowedTagList.java
  class AllowedTagList (line 15) | public class AllowedTagList {
    method AllowedTagList (line 23) | public AllowedTagList(@Nullable Runnable listener, int size) {
    method writeToNbt (line 32) | public CompoundTag writeToNbt() {
    method readFromNbt (line 41) | public void readFromNbt(CompoundTag tag) {
    method getList (line 51) | private ListTag getList(List<Set<ResourceLocation>> tagsPerSlot) {
    method applyList (line 65) | private void applyList(List<Set<ResourceLocation>> list, ListTag tagLi...
    method getAllowedItemTags (line 75) | public List<Set<ResourceLocation>> getAllowedItemTags() {
    method setAllowedItemTags (line 79) | public void setAllowedItemTags(List<Set<ResourceLocation>> allowedItem...
    method getAllowedFluidTags (line 85) | public List<Set<ResourceLocation>> getAllowedFluidTags() {
    method setAllowedFluidTags (line 89) | public void setAllowedFluidTags(List<Set<ResourceLocation>> allowedFlu...
    method setAllowedItemTags (line 95) | public void setAllowedItemTags(int slot, Set<ResourceLocation> allowed...
    method setAllowedFluidTags (line 101) | public void setAllowedFluidTags(int slot, Set<ResourceLocation> allowe...
    method clearItemTags (line 107) | public void clearItemTags(int slot) {
    method clearFluidTags (line 113) | public void clearFluidTags(int slot) {
    method notifyListener (line 119) | private void notifyListener() {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/CraftingManager.java
  class CraftingManager (line 30) | public class CraftingManager implements ICraftingManager {
    class FluidStackKey (line 55) | private static class FluidStackKey {
      method FluidStackKey (line 59) | public FluidStackKey(FluidStack fluidStack) {
      method equals (line 64) | @Override
      method hashCode (line 72) | @Override
    class ItemStackKey (line 78) | private static class ItemStackKey {
      method ItemStackKey (line 82) | public ItemStackKey(ItemStack itemStack) {
      method equals (line 87) | @Override
      method hashCode (line 95) | @Override
    method CraftingManager (line 101) | public CraftingManager(INetwork network) {
    method getTasks (line 105) | @Override
    method getTask (line 110) | @Override
    method getNamedContainers (line 116) | @Override
    method start (line 121) | @Override
    method cancel (line 129) | @Override
    method create (line 140) | @Override
    method create (line 155) | @Override
    method update (line 170) | @Override
    method processTasksToCancel (line 194) | private void processTasksToCancel() {
    method processTasksToAdd (line 204) | private void processTasksToAdd() {
    method updateTasks (line 211) | private boolean updateTasks() {
    method readTasks (line 228) | private void readTasks() {
    method readFromNbt (line 250) | @Override
    method writeToNbt (line 255) | @Override
    method addListener (line 273) | @Override
    method removeListener (line 280) | @Override
    method onTaskChanged (line 285) | @Override
    method request (line 290) | @Override
    method request (line 318) | @Nullable
    method throttle (line 346) | private void throttle(Object source) {
    method isThrottled (line 352) | private boolean isThrottled(Object source) {
    method track (line 365) | @Override
    method track (line 382) | @Override
    method getPatterns (line 399) | @Override
    method invalidate (line 404) | @Override
    method getContainers (line 445) | private List<ICraftingPatternContainer> getContainers() {
    method getAllContainers (line 459) | @Override
    method getPattern (line 464) | @Nullable
    method getPattern (line 470) | @Nullable

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/CraftingPattern.java
  class CraftingPattern (line 22) | public class CraftingPattern implements ICraftingPattern {
    method CraftingPattern (line 33) | public CraftingPattern(CraftingPatternContext context, boolean process...
    method getAllowedTagList (line 43) | @Nullable
    method getContainer (line 48) | @Override
    method getStack (line 53) | @Override
    method isValid (line 58) | @Override
    method getErrorMessage (line 63) | @Nullable
    method isProcessing (line 69) | @Override
    method getInputs (line 74) | @Override
    method getOutputs (line 79) | @Override
    method getOutput (line 84) | public ItemStack getOutput(NonNullList<ItemStack> took, RegistryAccess...
    method getByproducts (line 107) | @Override
    method getByproducts (line 116) | @Override
    method getFluidInputs (line 144) | @Override
    method getFluidOutputs (line 149) | @Override
    method getCraftingTaskFactoryId (line 154) | @Override
    method equals (line 159) | @Override
    method hashCode (line 235) | @Override
    class DummyCraftingContainer (line 269) | public static class DummyCraftingContainer extends TransientCraftingCo...
      method DummyCraftingContainer (line 270) | public DummyCraftingContainer() {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/CraftingPatternContext.java
  class CraftingPatternContext (line 6) | public class CraftingPatternContext {
    method CraftingPatternContext (line 10) | public CraftingPatternContext(ICraftingPatternContainer container, Ite...
    method getContainer (line 15) | public ICraftingPatternContainer getContainer() {
    method getStack (line 19) | public ItemStack getStack() {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/CraftingPatternFactory.java
  class CraftingPatternFactory (line 34) | public class CraftingPatternFactory {
    method create (line 37) | public ICraftingPattern create(Level level, ICraftingPatternContainer ...
    method fillProcessingInputs (line 109) | private void fillProcessingInputs(int i, ItemStack stack, List<NonNull...
    method fillProcessingFluidInputs (line 157) | private void fillProcessingFluidInputs(int i, ItemStack stack, List<No...
    method fillCraftingInputs (line 206) | private void fillCraftingInputs(CraftingContainer inv, ItemStack stack...
    method modifyCraftingInputsToUseAlternatives (line 215) | private void modifyCraftingInputsToUseAlternatives(CraftingRecipe reci...

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/CraftingPatternFactoryException.java
  class CraftingPatternFactoryException (line 5) | public class CraftingPatternFactoryException extends Exception {
    method CraftingPatternFactoryException (line 8) | public CraftingPatternFactoryException(Component errorMessage) {
    method getErrorMessage (line 12) | public Component getErrorMessage() {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/CraftingPatternInputs.java
  class CraftingPatternInputs (line 8) | public class CraftingPatternInputs {
    method CraftingPatternInputs (line 12) | public CraftingPatternInputs(List<NonNullList<ItemStack>> inputs, List...
    method getInputs (line 17) | public List<NonNullList<ItemStack>> getInputs() {
    method getFluidInputs (line 21) | public List<NonNullList<FluidStack>> getFluidInputs() {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/CraftingPatternOutputs.java
  class CraftingPatternOutputs (line 7) | public class CraftingPatternOutputs {
    method CraftingPatternOutputs (line 12) | public CraftingPatternOutputs(NonNullList<ItemStack> outputs, NonNullL...
    method getOutputs (line 18) | public NonNullList<ItemStack> getOutputs() {
    method getByproducts (line 22) | public NonNullList<ItemStack> getByproducts() {
    method getFluidOutputs (line 26) | public NonNullList<FluidStack> getFluidOutputs() {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/InvalidCraftingPattern.java
  class InvalidCraftingPattern (line 14) | public class InvalidCraftingPattern implements ICraftingPattern {
    method InvalidCraftingPattern (line 20) | public InvalidCraftingPattern(CraftingPatternContext context, Componen...
    method getContainer (line 25) | @Override
    method getStack (line 30) | @Override
    method isValid (line 35) | @Override
    method getErrorMessage (line 40) | @Nullable
    method isProcessing (line 46) | @Override
    method getInputs (line 51) | @Override
    method getOutputs (line 56) | @Override
    method getOutput (line 61) | @Override
    method getByproducts (line 66) | @Override
    method getByproducts (line 71) | @Override
    method getFluidInputs (line 76) | @Override
    method getFluidOutputs (line 81) | @Override
    method getCraftingTaskFactoryId (line 86) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/craftingmonitor/CraftingMonitorElementList.java
  class CraftingMonitorElementList (line 9) | public class CraftingMonitorElementList implements ICraftingMonitorEleme...
    method directAdd (line 16) | @Override
    method addStorage (line 21) | @Override
    method add (line 58) | @Override
    method add (line 83) | @Override
    method commit (line 103) | @Override
    method getElements (line 115) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/craftingmonitor/CraftingMonitorElementRegistry.java
  class CraftingMonitorElementRegistry (line 13) | public class CraftingMonitorElementRegistry implements ICraftingMonitorE...
    method add (line 16) | @Override
    method get (line 21) | @Nullable

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/craftingmonitor/ErrorCraftingMonitorElement.java
  class ErrorCraftingMonitorElement (line 17) | public class ErrorCraftingMonitorElement implements ICraftingMonitorElem...
    method ErrorCraftingMonitorElement (line 23) | public ErrorCraftingMonitorElement(ICraftingMonitorElement base, Strin...
    method read (line 28) | public static ErrorCraftingMonitorElement read(FriendlyByteBuf buf) {
    method draw (line 38) | @Override
    method getTooltip (line 44) | @Nullable
    method getId (line 52) | @Override
    method getBaseId (line 57) | @Override
    method write (line 62) | @Override
    method merge (line 70) | @Override
    method baseElementHashCode (line 75) | @Override
    method elementHashCode (line 80) | @Override
    method mergeBases (line 85) | public void mergeBases(ICraftingMonitorElement element) {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/craftingmonitor/FluidCraftingMonitorElement.java
  class FluidCraftingMonitorElement (line 22) | public class FluidCraftingMonitorElement implements ICraftingMonitorElem...
    method FluidCraftingMonitorElement (line 35) | public FluidCraftingMonitorElement(FluidStack stack, int stored, int m...
    method read (line 44) | public static FluidCraftingMonitorElement read(FriendlyByteBuf buf) {
    method draw (line 55) | @Override
    method getBaseId (line 110) | @Override
    method getId (line 115) | @Override
    method getTooltip (line 120) | @Nullable
    method write (line 126) | @Override
    method merge (line 136) | @Override
    method baseElementHashCode (line 151) | @Override
    method elementHashCode (line 156) | @Override
    class Builder (line 161) | public static class Builder {
      method Builder (line 169) | public Builder(FluidStack stack) {
      method forStack (line 173) | public static FluidCraftingMonitorElement.Builder forStack(FluidStac...
      method stored (line 177) | public FluidCraftingMonitorElement.Builder stored(int stored) {
      method missing (line 182) | public FluidCraftingMonitorElement.Builder missing(int missing) {
      method processing (line 187) | public FluidCraftingMonitorElement.Builder processing(int processing) {
      method scheduled (line 192) | public FluidCraftingMonitorElement.Builder scheduled(int scheduled) {
      method crafting (line 197) | public FluidCraftingMonitorElement.Builder crafting(int crafting) {
      method build (line 202) | public FluidCraftingMonitorElement build() {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/craftingmonitor/ItemCraftingMonitorElement.java
  class ItemCraftingMonitorElement (line 22) | public class ItemCraftingMonitorElement implements ICraftingMonitorEleme...
    method ItemCraftingMonitorElement (line 35) | public ItemCraftingMonitorElement(ItemStack stack, int stored, int mis...
    method read (line 44) | public static ItemCraftingMonitorElement read(FriendlyByteBuf buf) {
    method draw (line 55) | @Override
    method getBaseId (line 110) | @Override
    method getId (line 115) | @Override
    method getTooltip (line 120) | @Nullable
    method write (line 126) | @Override
    method merge (line 136) | @Override
    method baseElementHashCode (line 151) | @Override
    method elementHashCode (line 156) | @Override
    class Builder (line 161) | public static class Builder {
      method Builder (line 169) | public Builder(ItemStack stack) {
      method forStack (line 173) | public static Builder forStack(ItemStack stack) {
      method stored (line 177) | public Builder stored(int stored) {
      method missing (line 182) | public Builder missing(int missing) {
      method processing (line 187) | public Builder processing(int processing) {
      method scheduled (line 192) | public Builder scheduled(int scheduled) {
      method crafting (line 197) | public Builder crafting(int crafting) {
      method build (line 202) | public ItemCraftingMonitorElement build() {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/preview/CraftingPreviewElementRegistry.java
  class CraftingPreviewElementRegistry (line 13) | public class CraftingPreviewElementRegistry implements ICraftingPreviewE...
    method add (line 16) | @Override
    method get (line 21) | @Nullable

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/preview/ErrorCraftingPreviewElement.java
  class ErrorCraftingPreviewElement (line 12) | public class ErrorCraftingPreviewElement implements ICraftingPreviewElem...
    method ErrorCraftingPreviewElement (line 18) | public ErrorCraftingPreviewElement(CalculationResultType type, ItemSta...
    method read (line 23) | public static ErrorCraftingPreviewElement read(FriendlyByteBuf buf) {
    method getRecursedPattern (line 31) | public ItemStack getRecursedPattern() {
    method draw (line 35) | @Override
    method doesDisableTaskStarting (line 40) | @Override
    method write (line 45) | @Override
    method getType (line 51) | public CalculationResultType getType() {
    method getId (line 55) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/preview/FluidCraftingPreviewElement.java
  class FluidCraftingPreviewElement (line 18) | public class FluidCraftingPreviewElement implements ICraftingPreviewElem...
    method FluidCraftingPreviewElement (line 27) | public FluidCraftingPreviewElement(FluidStack stack) {
    method FluidCraftingPreviewElement (line 31) | public FluidCraftingPreviewElement(FluidStack stack, int available, bo...
    method read (line 38) | public static FluidCraftingPreviewElement read(FriendlyByteBuf buf) {
    method write (line 47) | @Override
    method getStack (line 55) | public FluidStack getStack() {
    method draw (line 59) | @Override
    method addAvailable (line 94) | public void addAvailable(int amount) {
    method addToCraft (line 98) | public void addToCraft(int amount) {
    method setMissing (line 102) | public void setMissing(boolean missing) {
    method doesDisableTaskStarting (line 106) | @Override
    method getId (line 111) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/preview/ItemCraftingPreviewElement.java
  class ItemCraftingPreviewElement (line 18) | public class ItemCraftingPreviewElement implements ICraftingPreviewEleme...
    method ItemCraftingPreviewElement (line 27) | public ItemCraftingPreviewElement(ItemStack stack) {
    method ItemCraftingPreviewElement (line 31) | public ItemCraftingPreviewElement(ItemStack stack, int available, bool...
    method read (line 38) | public static ItemCraftingPreviewElement read(FriendlyByteBuf buf) {
    method getStack (line 47) | public ItemStack getStack() {
    method write (line 51) | @Override
    method draw (line 59) | @Override
    method addAvailable (line 94) | public void addAvailable(int amount) {
    method addToCraft (line 98) | public void addToCraft(int amount) {
    method setMissing (line 102) | public void setMissing(boolean missing) {
    method doesDisableTaskStarting (line 106) | @Override
    method getId (line 111) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/CraftingRequestInfo.java
  class CraftingRequestInfo (line 11) | public class CraftingRequestInfo implements ICraftingRequestInfo {
    method CraftingRequestInfo (line 18) | public CraftingRequestInfo(CompoundTag tag) throws CraftingTaskReadExc...
    method CraftingRequestInfo (line 34) | public CraftingRequestInfo(ItemStack item) {
    method CraftingRequestInfo (line 38) | public CraftingRequestInfo(FluidStack fluid) {
    method getItem (line 42) | @Nullable
    method getFluid (line 48) | @Nullable
    method writeToNbt (line 54) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/CraftingTaskRegistry.java
  class CraftingTaskRegistry (line 11) | public class CraftingTaskRegistry implements ICraftingTaskRegistry {
    method add (line 14) | @Override
    method get (line 19) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/CraftingPatternInputs.java
  class CraftingPatternInputs (line 13) | public class CraftingPatternInputs {
    method CraftingPatternInputs (line 18) | public CraftingPatternInputs(ICraftingPattern pattern) {
    method fillOutRecipe (line 24) | private void fillOutRecipe(ICraftingPattern pattern) {
    method combineItemInputs (line 34) | private void combineItemInputs(ICraftingPattern pattern) {
    method combineFluidInputs (line 50) | private void combineFluidInputs(ICraftingPattern pattern) {
    method findMatchingItemIngredient (line 66) | @Nullable
    method findMatchingFluidIngredient (line 88) | @Nullable
    method getRecipe (line 110) | public NonNullList<ItemStack> getRecipe() {
    method getItemIngredients (line 114) | public List<Ingredient<ItemStack>> getItemIngredients() {
    method getFluidIngredients (line 118) | public List<Ingredient<FluidStack>> getFluidIngredients() {
    class Ingredient (line 122) | public static class Ingredient<T> {
      method Ingredient (line 126) | public Ingredient(NonNullList<T> inputs, int count) {
      method getInputs (line 131) | public NonNullList<T> getInputs() {
      method getCount (line 135) | public int getCount() {
      method increaseCount (line 139) | public void increaseCount(int count) {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/CraftingTask.java
  class CraftingTask (line 32) | public class CraftingTask implements ICraftingTask, NodeListener {
    method CraftingTask (line 64) | public CraftingTask(INetwork network,
    method CraftingTask (line 86) | public CraftingTask(INetwork network, CompoundTag tag) throws Crafting...
    method writeToNbt (line 113) | @Override
    method start (line 137) | @Override
    method getCompletionPercentage (line 151) | @Override
    method update (line 160) | @Override
    method onCancelled (line 197) | @Override
    method getQuantity (line 210) | @Override
    method getRequested (line 215) | @Override
    method onTrackedInsert (line 220) | @Override
    method onTrackedInsert (line 256) | @Override
    method getCraftingMonitorElements (line 293) | @Override
    method getPattern (line 298) | @Override
    method getStartTime (line 303) | @Override
    method getId (line 308) | @Override
    method onAllDone (line 313) | @Override
    method onSingleDone (line 318) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/CraftingTaskFactory.java
  class CraftingTaskFactory (line 11) | public class CraftingTaskFactory implements ICraftingTaskFactory {
    method create (line 14) | @Override
    method createFromNbt (line 20) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/IoUtil.java
  class IoUtil (line 14) | public final class IoUtil {
    method IoUtil (line 17) | private IoUtil() {
    method extractFromInternalItemStorage (line 20) | public static List<ItemStack> extractFromInternalItemStorage(List<Item...
    method extractFromInternalFluidStorage (line 40) | public static List<FluidStack> extractFromInternalFluidStorage(List<Fl...
    method extractItemsFromNetwork (line 60) | public static void extractItemsFromNetwork(IStackList<ItemStack> toExt...
    method extractFluidsFromNetwork (line 86) | public static void extractFluidsFromNetwork(IStackList<FluidStack> toE...

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/SerializationUtil.java
  class SerializationUtil (line 20) | public class SerializationUtil {
    method SerializationUtil (line 24) | private SerializationUtil() {
    method writeItemStackList (line 27) | public static ListTag writeItemStackList(IStackList<ItemStack> stacks) {
    method readItemStackList (line 37) | public static IStackList<ItemStack> readItemStackList(ListTag list) th...
    method writeFluidStackList (line 53) | public static ListTag writeFluidStackList(IStackList<FluidStack> stack...
    method readFluidStackList (line 63) | public static IStackList<FluidStack> readFluidStackList(ListTag list) ...
    method writePatternToNbt (line 79) | public static CompoundTag writePatternToNbt(ICraftingPattern pattern) {
    method readPatternFromNbt (line 88) | public static ICraftingPattern readPatternFromNbt(CompoundTag tag, Lev...

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/calculator/CalculationResult.java
  class CalculationResult (line 13) | public class CalculationResult implements ICalculationResult {
    method CalculationResult (line 19) | public CalculationResult(CalculationResultType type) {
    method CalculationResult (line 26) | public CalculationResult(CalculationResultType type, ICraftingPattern ...
    method CalculationResult (line 33) | public CalculationResult(CalculationResultType type, List<ICraftingPre...
    method getType (line 40) | @Override
    method getPreviewElements (line 45) | @Override
    method getTask (line 50) | @Nullable
    method isOk (line 56) | @Override
    method getRecursedPattern (line 61) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/calculator/CraftingCalculator.java
  class CraftingCalculator (line 30) | public class CraftingCalculator {
    method CraftingCalculator (line 47) | public CraftingCalculator(INetwork network, ICraftingRequestInfo reque...
    method calculate (line 54) | public ICalculationResult calculate() {
    method calculateInternal (line 91) | private void calculateInternal(
    method calculateForItems (line 141) | private void calculateForItems(int qty,
    method calculateForFluids (line 238) | private void calculateForFluids(int qty,
    method getQuantityPerCraft (line 335) | private int getQuantityPerCraft(@Nullable ItemStack item, @Nullable Fl...
    method getQuantityPerCraftForFluid (line 345) | private int getQuantityPerCraftForFluid(FluidStack fluid, ICraftingPat...
    method getQuantityPerCraftForItem (line 357) | private int getQuantityPerCraftForItem(ItemStack item, ICraftingPatter...

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/calculator/CraftingCalculatorException.java
  class CraftingCalculatorException (line 8) | public class CraftingCalculatorException extends Exception {
    method CraftingCalculatorException (line 13) | public CraftingCalculatorException(CalculationResultType type) {
    method CraftingCalculatorException (line 18) | public CraftingCalculatorException(CalculationResultType type, @Nullab...
    method getType (line 23) | public CalculationResultType getType() {
    method getRecursedPattern (line 27) | @Nullable

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/calculator/PossibleInputs.java
  class PossibleInputs (line 8) | public class PossibleInputs<T> {
    method PossibleInputs (line 12) | public PossibleInputs(List<T> possibilities) {
    method get (line 16) | public T get() {
    method cycle (line 21) | public boolean cycle() {
    method sort (line 33) | public void sort(IStackList<T> mutatedStorage, IStackList<T> results) {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/monitor/CraftingMonitorElementFactory.java
  class CraftingMonitorElementFactory (line 20) | public class CraftingMonitorElementFactory {
    method getElements (line 21) | public List<ICraftingMonitorElement> getElements(Collection<Node> node...
    method addForProcessing (line 45) | private void addForProcessing(ICraftingMonitorElementList list, Proces...
    method wrapWithProcessingState (line 103) | private ICraftingMonitorElement wrapWithProcessingState(ICraftingMonit...
    method addForRecipe (line 115) | private void addForRecipe(ICraftingMonitorElementList list, CraftingNo...

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/node/CraftingNode.java
  class CraftingNode (line 18) | public class CraftingNode extends Node {
    method CraftingNode (line 23) | public CraftingNode(ICraftingPattern pattern, boolean root, NonNullLis...
    method CraftingNode (line 29) | public CraftingNode(INetwork network, CompoundTag tag) throws Crafting...
    method update (line 40) | @Override
    method writeToNbt (line 97) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/node/Node.java
  class Node (line 12) | public abstract class Node {
    method Node (line 24) | protected Node(ICraftingPattern pattern, boolean root) {
    method Node (line 29) | protected Node(INetwork network, CompoundTag tag) throws CraftingTaskR...
    method fromNbt (line 37) | public static Node fromNbt(INetwork network, CompoundTag tag) throws C...
    method update (line 41) | public abstract void update(INetwork network, int ticks, NodeList node...
    method onCalculationFinished (line 43) | public void onCalculationFinished() {
    method getPattern (line 47) | public ICraftingPattern getPattern() {
    method getQuantity (line 51) | public int getQuantity() {
    method addQuantity (line 55) | public void addQuantity(int quantity) {
    method next (line 59) | protected void next() {
    method isRoot (line 63) | public boolean isRoot() {
    method getRequirements (line 67) | public NodeRequirements getRequirements() {
    method writeToNbt (line 71) | public CompoundTag writeToNbt() {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/node/NodeList.java
  class NodeList (line 11) | public class NodeList {
    method removeMarkedForRemoval (line 15) | public void removeMarkedForRemoval() {
    method all (line 22) | public Collection<Node> all() {
    method unlockAll (line 26) | public void unlockAll(INetwork network) {
    method isEmpty (line 34) | public boolean isEmpty() {
    method remove (line 38) | public void remove(Node node) {
    method createOrAddToExistingNode (line 42) | public Node createOrAddToExistingNode(ICraftingPattern pattern, boolea...
    method createNode (line 49) | private Node createNode(ICraftingPattern pattern, boolean root, NonNul...
    method put (line 53) | public void put(ICraftingPattern pattern, Node node) {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/node/NodeListener.java
  type NodeListener (line 3) | public interface NodeListener {
    method onAllDone (line 4) | void onAllDone(Node node);
    method onSingleDone (line 6) | void onSingleDone(Node node);

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/node/NodeRequirements.java
  class NodeRequirements (line 18) | public class NodeRequirements {
    method addItemRequirement (line 36) | public void addItemRequirement(int ingredientNumber, ItemStack stack, ...
    method addFluidRequirement (line 46) | public void addFluidRequirement(int ingredientNumber, FluidStack stack...
    method getSingleItemRequirementSet (line 56) | public List<ItemStack> getSingleItemRequirementSet(boolean simulate) {
    method getSingleFluidRequirementSet (line 101) | public List<FluidStack> getSingleFluidRequirementSet(boolean simulate) {
    method readFromNbt (line 148) | public void readFromNbt(CompoundTag tag) throws CraftingTaskReadExcept...
    method writeToNbt (line 170) | public CompoundTag writeToNbt(CompoundTag tag) {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/node/ProcessingNode.java
  class ProcessingNode (line 22) | public class ProcessingNode extends Node {
    method ProcessingNode (line 42) | public ProcessingNode(ICraftingPattern pattern, boolean root) {
    method ProcessingNode (line 48) | public ProcessingNode(INetwork network, CompoundTag tag) throws Crafti...
    method initSetsToReceive (line 62) | private void initSetsToReceive() {
    method update (line 72) | @Override
    method getState (line 192) | public ProcessingState getState() {
    method getSingleItemSetToReceive (line 196) | public IStackList<ItemStack> getSingleItemSetToReceive() {
    method getSingleFluidSetToReceive (line 200) | public IStackList<FluidStack> getSingleFluidSetToReceive() {
    method getSingleItemSetToRequire (line 204) | public IStackList<ItemStack> getSingleItemSetToRequire() {
    method getSingleFluidSetToRequire (line 208) | public IStackList<FluidStack> getSingleFluidSetToRequire() {
    method getNeeded (line 212) | public int getNeeded(ItemStack stack) {
    method getNeeded (line 216) | public int getNeeded(FluidStack stack) {
    method getCurrentlyProcessing (line 220) | public int getCurrentlyProcessing() {
    method markReceived (line 225) | public void markReceived(ItemStack stack, int count) {
    method markReceived (line 230) | public void markReceived(FluidStack stack, int count) {
    method updateFinishedQuantity (line 235) | public void updateFinishedQuantity() {
    method onCalculationFinished (line 265) | @Override
    method writeToNbt (line 273) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/node/ProcessingState.java
  type ProcessingState (line 3) | public enum ProcessingState {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/preview/CraftingPreviewElementFactory.java
  class CraftingPreviewElementFactory (line 16) | public class CraftingPreviewElementFactory {
    method getElements (line 17) | public List<ICraftingPreviewElement> getElements(CraftingPreviewInfo i...

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/preview/CraftingPreviewInfo.java
  class CraftingPreviewInfo (line 10) | public class CraftingPreviewInfo {
    method getMissing (line 20) | public IStackList<ItemStack> getMissing() {
    method getMissingFluids (line 24) | public IStackList<FluidStack> getMissingFluids() {
    method hasMissing (line 28) | public boolean hasMissing() {
    method getToTake (line 32) | public IStackList<ItemStack> getToTake() {
    method getToTakeFluids (line 36) | public IStackList<FluidStack> getToTakeFluids() {
    method getToCraft (line 40) | public List<ItemStack> getToCraft() {
    method getToCraftFluids (line 44) | public List<FluidStack> getToCraftFluids() {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/Network.java
  class Network (line 56) | public class Network implements INetwork, IRedstoneConfigurable {
    method Network (line 98) | public Network(Level level, BlockPos pos, NetworkType type) {
    method getEnergyScaled (line 114) | public static int getEnergyScaled(int stored, int capacity, int scale) {
    method getEnergyType (line 118) | public static ControllerBlock.EnergyType getEnergyType(int stored, int...
    method getRoot (line 132) | public RootNetworkNode getRoot() {
    method getPosition (line 136) | @Override
    method canRun (line 141) | @Override
    method setRedstonePowered (line 146) | public void setRedstonePowered(boolean redstonePowered) {
    method getNodeGraph (line 150) | @Override
    method getSecurityManager (line 155) | @Override
    method getCraftingManager (line 160) | @Override
    method update (line 165) | @Override
    method getItemGridHandler (line 237) | @Override
    method getFluidGridHandler (line 242) | @Override
    method getNetworkItemManager (line 247) | @Override
    method onRemoved (line 252) | @Override
    method getItemStorageCache (line 263) | @Override
    method getFluidStorageCache (line 268) | @Override
    method insertItem (line 273) | @Override
    method extractItem (line 330) | @Override
    method insertFluid (line 380) | @Override
    method extractFluid (line 437) | @Override
    method getItemStorageTracker (line 487) | @Override
    method getFluidStorageTracker (line 500) | @Override
    method getLevel (line 513) | @Override
    method readFromNbt (line 518) | @Override
    method writeToNbt (line 539) | @Override
    method getTickTimes (line 557) | @Override
    method markDirty (line 562) | @Override
    method getEnergyType (line 567) | public ControllerBlock.EnergyType getEnergyType() {
    method getRedstoneMode (line 575) | @Override
    method setRedstoneMode (line 580) | @Override
    method updateEnergyUsage (line 587) | private void updateEnergyUsage() {
    method getEnergyUsage (line 604) | @Override
    method getEnergyStorage (line 609) | @Override
    method getType (line 614) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/NetworkListener.java
  class NetworkListener (line 10) | public class NetworkListener {
    method onLevelTick (line 11) | @SubscribeEvent

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/NetworkManager.java
  class NetworkManager (line 19) | public class NetworkManager extends RSSavedData implements INetworkManag...
    method NetworkManager (line 33) | public NetworkManager(Level level) {
    method load (line 37) | @Override
    method save (line 64) | @Override
    method getNetwork (line 87) | @Nullable
    method removeNetwork (line 93) | @Override
    method setNetwork (line 102) | @Override
    method all (line 115) | @Override
    method markForSaving (line 120) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/NetworkNodeGraph.java
  class NetworkNodeGraph (line 18) | public class NetworkNodeGraph implements INetworkNodeGraph {
    method NetworkNodeGraph (line 25) | public NetworkNodeGraph(INetwork network) {
    method invalidate (line 29) | @Override
    method runActionWhenPossible (line 67) | @Override
    method all (line 76) | @Override
    method addListener (line 81) | @Override
    method disconnectAll (line 86) | @Override
    method getLevel (line 94) | protected Level getLevel() {
    class Visitor (line 98) | private static class Visitor implements INetworkNodeVisitor {
      method Visitor (line 105) | Visitor(INetworkNode node, Level level, BlockPos pos, Direction side...
      method visit (line 113) | @Override
    class Operator (line 133) | private class Operator implements INetworkNodeVisitor.Operator {
      method Operator (line 143) | public Operator(Action action) {
      method apply (line 147) | @Override
      method dropConflictingBlock (line 178) | private void dropConflictingBlock(Level level, BlockPos pos) {
      method getAction (line 185) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/NetworkNodeGraphEntry.java
  class NetworkNodeGraphEntry (line 6) | public class NetworkNodeGraphEntry implements INetworkNodeGraphEntry {
    method NetworkNodeGraphEntry (line 9) | public NetworkNodeGraphEntry(INetworkNode node) {
    method getNode (line 13) | @Override
    method equals (line 18) | @Override
    method hashCode (line 36) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/NetworkNodeListener.java
  class NetworkNodeListener (line 17) | public class NetworkNodeListener {
    method onBlockPlace (line 18) | @SubscribeEvent
    method discoverNode (line 48) | private void discoverNode(LevelAccessor world, BlockPos pos) {
    method onBlockBreak (line 60) | @SubscribeEvent

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/NetworkNodeManager.java
  class NetworkNodeManager (line 21) | public class NetworkNodeManager extends RSSavedData implements INetworkN...
    method NetworkNodeManager (line 35) | public NetworkNodeManager(Level level) {
    method load (line 39) | @Override
    method save (line 74) | @Override
    method getNode (line 97) | @Nullable
    method removeNode (line 103) | @Override
    method setNode (line 112) | @Override
    method all (line 125) | @Override
    method markForSaving (line 130) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/NetworkNodeRegistry.java
  class NetworkNodeRegistry (line 11) | public class NetworkNodeRegistry implements INetworkNodeRegistry {
    method add (line 14) | @Override
    method get (line 19) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/grid/CraftingGridBehavior.java
  class CraftingGridBehavior (line 31) | public class CraftingGridBehavior implements ICraftingGridBehavior {
    method onCrafted (line 32) | @Override
    method onCraftedShift (line 89) | @Override
    method filterDuplicateStacks (line 149) | private void filterDuplicateStacks(INetwork network, CraftingContainer...
    method onRecipeTransfer (line 160) | @Override
    method compareByItemStackCounts (line 262) | private Comparator<ItemStack> compareByItemStackCounts(Player player, ...
    method makePlayerInventoryMap (line 286) | private Map<Item, ItemStack> makePlayerInventoryMap(Player player, INe...

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/grid/GridManager.java
  class GridManager (line 21) | public class GridManager implements IGridManager {
    method add (line 24) | @Override
    method openGrid (line 29) | @Override
    method openGrid (line 34) | @Override
    method openGrid (line 39) | private void openGrid(ResourceLocation id, ServerPlayer player, @Nulla...
    method createGrid (line 62) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/grid/GridTab.java
  class GridTab (line 17) | public class GridTab implements IGridTab {
    method GridTab (line 26) | public GridTab(List<IFilter> filters, String name, @Nonnull ItemStack ...
    method getFilters (line 33) | @Override
    method drawTooltip (line 38) | @Override
    method drawIcon (line 45) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/grid/factory/GridBlockGridFactory.java
  class GridBlockGridFactory (line 18) | public class GridBlockGridFactory implements IGridFactory {
    method createFromStack (line 21) | @Override
    method createFromBlock (line 27) | @Override
    method getRelevantBlockEntity (line 39) | @Nullable
    method getType (line 45) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/grid/factory/PortableGridBlockGridFactory.java
  class PortableGridBlockGridFactory (line 18) | public class PortableGridBlockGridFactory implements IGridFactory {
    method createFromStack (line 21) | @Override
    method createFromBlock (line 27) | @Override
    method getRelevantBlockEntity (line 39) | @Nullable
    method getType (line 45) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/grid/factory/PortableGridGridFactory.java
  class PortableGridGridFactory (line 18) | public class PortableGridGridFactory implements IGridFactory {
    method createFromStack (line 21) | @Nullable
    method createFromBlock (line 31) | @Nullable
    method getRelevantBlockEntity (line 37) | @Nullable
    method getType (line 43) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/grid/factory/WirelessFluidGridGridFactory.java
  class WirelessFluidGridGridFactory (line 18) | public class WirelessFluidGridGridFactory implements IGridFactory {
    method createFromStack (line 21) | @Nullable
    method createFromBlock (line 27) | @Nullable
    method getRelevantBlockEntity (line 33) | @Nullable
    method getType (line 39) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/grid/factory/WirelessGridGridFactory.java
  class WirelessGridGridFactory (line 18) | public class WirelessGridGridFactory implements IGridFactory {
    method createFromStack (line 21) | @Nullable
    method createFromBlock (line 27) | @Nullable
    method getRelevantBlockEntity (line 33) | @Nullable
    method getType (line 39) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/grid/handler/FluidGridHandler.java
  class FluidGridHandler (line 29) | public class FluidGridHandler implements IFluidGridHandler {
    method FluidGridHandler (line 32) | public FluidGridHandler(INetwork network) {
    method onExtract (line 36) | @Override
    method onInsert (line 66) | @Override
    method onInsertHeldContainer (line 90) | @Override
    method onCraftingPreviewRequested (line 95) | @Override
    method onCraftingRequested (line 137) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/grid/handler/ItemGridHandler.java
  class ItemGridHandler (line 30) | public class ItemGridHandler implements IItemGridHandler {
    method ItemGridHandler (line 33) | public ItemGridHandler(INetwork network) {
    method onInventoryScroll (line 37) | public static void onInventoryScroll(IItemGridHandler gridHandler, Ser...
    method onGridScroll (line 75) | public static void onGridScroll(IItemGridHandler gridHandler, ServerPl...
    method onExtract (line 116) | @Override
    method onExtract (line 124) | @Override
    method onInsert (line 208) | @Override
    method onInsertHeldItem (line 233) | @Override
    method onCraftingPreviewRequested (line 257) | @Override
    method onCraftingRequested (line 296) | @Override
    method onCraftingCancelRequested (line 312) | @Override
    method onInventoryScroll (line 323) | @Override
    method onGridScroll (line 328) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/grid/handler/PortableFluidGridHandler.java
  class PortableFluidGridHandler (line 23) | public class PortableFluidGridHandler implements IFluidGridHandler {
    method PortableFluidGridHandler (line 26) | public PortableFluidGridHandler(IPortableGrid portableGrid) {
    method onExtract (line 30) | @Override
    method onInsert (line 76) | @Override
    method onInsertHeldContainer (line 100) | @Override
    method onCraftingPreviewRequested (line 105) | @Override
    method onCraftingRequested (line 110) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/grid/handler/PortableItemGridHandler.java
  class PortableItemGridHandler (line 20) | public class PortableItemGridHandler implements IItemGridHandler {
    method PortableItemGridHandler (line 24) | public PortableItemGridHandler(IPortableGrid portableGrid, IGrid grid) {
    method onExtract (line 29) | @Override
    method onExtract (line 40) | @Override
    method onInsert (line 126) | @Override
    method onInsertHeldItem (line 150) | @Override
    method onCraftingPreviewRequested (line 174) | @Override
    method onCraftingRequested (line 179) | @Override
    method onCraftingCancelRequested (line 184) | @Override
    method onInventoryScroll (line 189) | @Override
    method onGridScroll (line 194) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/item/NetworkItemManager.java
  class NetworkItemManager (line 19) | public class NetworkItemManager implements INetworkItemManager {
    method NetworkItemManager (line 23) | public NetworkItemManager(INetwork network) {
    method open (line 27) | @Override
    method close (line 65) | @Override
    method getItem (line 70) | @Override
    method drainEnergy (line 75) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/item/WirelessCraftingMonitorNetworkItem.java
  class WirelessCraftingMonitorNetworkItem (line 20) | public class WirelessCraftingMonitorNetworkItem implements INetworkItem {
    method WirelessCraftingMonitorNetworkItem (line 26) | public WirelessCraftingMonitorNetworkItem(INetworkItemManager handler,...
    method getPlayer (line 33) | @Override
    method onOpen (line 38) | @Override
    method drainEnergy (line 70) | @Override
    method sendOutOfEnergyMessage (line 88) | private void sendOutOfEnergyMessage() {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/item/WirelessFluidGridNetworkItem.java
  class WirelessFluidGridNetworkItem (line 20) | public class WirelessFluidGridNetworkItem implements INetworkItem {
    method WirelessFluidGridNetworkItem (line 26) | public WirelessFluidGridNetworkItem(INetworkItemManager handler, Playe...
    method getPlayer (line 33) | @Override
    method onOpen (line 38) | @Override
    method drainEnergy (line 64) | @Override
    method sendOutOfEnergyMessage (line 82) | private void sendOutOfEnergyMessage() {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/item/WirelessGridNetworkItem.java
  class WirelessGridNetworkItem (line 20) | public class WirelessGridNetworkItem implements INetworkItem {
    method WirelessGridNetworkItem (line 26) | public WirelessGridNetworkItem(INetworkItemManager handler, Player pla...
    method getPlayer (line 33) | @Override
    method onOpen (line 38) | @Override
    method drainEnergy (line 64) | @Override
    method sendOutOfEnergyMessage (line 82) | private void sendOutOfEnergyMessage() {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/CableNetworkNode.java
  class CableNetworkNode (line 13) | public class CableNetworkNode extends NetworkNode implements ICoverable {
    method CableNetworkNode (line 18) | public CableNetworkNode(Level level, BlockPos pos) {
    method canConduct (line 23) | @Override
    method getEnergyUsage (line 28) | @Override
    method getId (line 33) | @Override
    method getCoverManager (line 38) | @Override
    method read (line 43) | @Override
    method write (line 51) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/ConnectivityStateChangeCause.java
  type ConnectivityStateChangeCause (line 3) | public enum ConnectivityStateChangeCause {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/ConstructorNetworkNode.java
  class ConstructorNetworkNode (line 46) | public class ConstructorNetworkNode extends NetworkNode implements IComp...
    method ConstructorNetworkNode (line 67) | public ConstructorNetworkNode(Level level, BlockPos pos) {
    method getEnergyUsage (line 72) | @Override
    method update (line 77) | @Override
    method extractAndPlaceFluid (line 98) | private void extractAndPlaceFluid(FluidStack stack) {
    method extractAndPlaceBlock (line 110) | private void extractAndPlaceBlock(ItemStack stack) {
    method extractAndDropItem (line 134) | private void extractAndDropItem(ItemStack stack) {
    method extractAndSpawnFireworks (line 145) | private void extractAndSpawnFireworks(ItemStack stack) {
    method getDispensePositionX (line 153) | private double getDispensePositionX() {
    method getDispensePositionY (line 157) | private double getDispensePositionY() {
    method getDispensePositionZ (line 161) | private double getDispensePositionZ() {
    method getCompare (line 165) | @Override
    method setCompare (line 170) | @Override
    method read (line 177) | @Override
    method getId (line 188) | @Override
    method write (line 193) | @Override
    method writeConfiguration (line 204) | @Override
    method readConfiguration (line 219) | @Override
    method isDrop (line 242) | public boolean isDrop() {
    method setDrop (line 246) | public void setDrop(boolean drop) {
    method getUpgrades (line 250) | public IItemHandler getUpgrades() {
    method getDrops (line 254) | @Override
    method getType (line 259) | @Override
    method setType (line 264) | @Override
    method getItemFilters (line 271) | @Override
    method getFluidFilters (line 276) | @Override
    method getCoverManager (line 281) | @Override
    class ConstructorBlockItemUseContext (line 286) | private static class ConstructorBlockItemUseContext extends BlockPlace...
      method ConstructorBlockItemUseContext (line 287) | public ConstructorBlockItemUseContext(Level level, @Nullable Player ...
    class NetworkFluidHandler (line 292) | private class NetworkFluidHandler implements IFluidHandler {
      method NetworkFluidHandler (line 295) | public NetworkFluidHandler(FluidStack resource) {
      method getTanks (line 299) | @Override
      method getFluidInTank (line 304) | @Nonnull
      method getTankCapacity (line 310) | @Override
      method isFluidValid (line 315) | @Override
      method fill (line 320) | @Override
      method drain (line 325) | @Nonnull
      method drain (line 331) | @Nonnull

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/CrafterManagerNetworkNode.java
  class CrafterManagerNetworkNode (line 14) | public class CrafterManagerNetworkNode extends NetworkNode {
    method CrafterManagerNetworkNode (line 23) | public CrafterManagerNetworkNode(Level level, BlockPos pos) {
    method getEnergyUsage (line 27) | @Override
    method getId (line 32) | @Override
    method getSize (line 37) | public int getSize() {
    method setSize (line 41) | public void setSize(int size) {
    method writeConfiguration (line 45) | @Override
    method readConfiguration (line 55) | @Override
    method getSearchBoxMode (line 68) | public int getSearchBoxMode() {
    method setSearchBoxMode (line 72) | public void setSearchBoxMode(int searchBoxMode) {
    method isActiveOnClient (line 76) | public boolean isActiveOnClient() {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/CrafterNetworkNode.java
  class CrafterNetworkNode (line 38) | public class CrafterNetworkNode extends NetworkNode implements ICrafting...
    method getSlotLimit (line 53) | @Override
    method insertItem (line 58) | @Nonnull
    method CrafterNetworkNode (line 89) | public CrafterNetworkNode(Level level, BlockPos pos) {
    method invalidate (line 93) | private void invalidate() {
    method getEnergyUsage (line 109) | @Override
    method update (line 114) | @Override
    method onConnectedStateChange (line 136) | @Override
    method onDisconnected (line 143) | @Override
    method onDirectionChanged (line 152) | @Override
    method read (line 163) | @Override
    method getId (line 194) | @Override
    method write (line 199) | @Override
    method getUpdateInterval (line 221) | @Override
    method getMaximumSuccessfulCraftingUpdates (line 239) | @Override
    method getConnectedInventory (line 257) | @Override
    method getConnectedFluidInventory (line 267) | @Nullable
    method getConnectedBlockEntity (line 277) | @Override
    method getPatterns (line 288) | @Override
    method getPatternInventory (line 293) | @Override
    method getCustomName (line 299) | @Override
    method getName (line 305) | @Override
    method getDisplayName (line 328) | @Nullable
    method setDisplayName (line 333) | public void setDisplayName(Component displayName) {
    method getPosition (line 337) | @Override
    method getMode (line 342) | public CrafterMode getMode() {
    method setMode (line 346) | public void setMode(CrafterMode mode) {
    method getUpgrades (line 354) | public IItemHandler getUpgrades() {
    method getDrops (line 358) | @Override
    method getRootContainer (line 363) | @Override
    method getRootContainerNotSelf (line 382) | public Optional<ICraftingPatternContainer> getRootContainerNotSelf() {
    method getUuid (line 392) | @Override
    method isLocked (line 403) | @Override
    method unlock (line 424) | @Override
    method onUsedForProcessing (line 429) | @Override
    type CrafterMode (line 445) | public enum CrafterMode {
      method getById (line 451) | public static CrafterMode getById(int id) {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/CraftingMonitorNetworkNode.java
  class CraftingMonitorNetworkNode (line 28) | public class CraftingMonitorNetworkNode extends NetworkNode implements I...
    method CraftingMonitorNetworkNode (line 37) | public CraftingMonitorNetworkNode(Level level, BlockPos pos) {
    method getEnergyUsage (line 41) | @Override
    method getId (line 46) | @Override
    method getTitle (line 51) | @Override
    method onCancelled (line 56) | @Override
    method getRedstoneModeParameter (line 63) | @Override
    method getTasks (line 68) | @Override
    method getCraftingManager (line 73) | @Nullable
    method isActiveOnClient (line 79) | @Override
    method write (line 90) | @Override
    method read (line 101) | @Override
    method onClosed (line 114) | @Override
    method getTabSelected (line 119) | @Override
    method setTabSelected (line 124) | public void setTabSelected(Optional<UUID> tabSelected) {
    method getTabPage (line 128) | @Override
    method setTabPage (line 133) | public void setTabPage(int tabPage) {
    method onTabSelectionChanged (line 137) | @Override
    method onTabPageChanged (line 142) | @Override
    method getSlotId (line 149) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/DestructorNetworkNode.java
  class DestructorNetworkNode (line 49) | public class DestructorNetworkNode extends NetworkNode implements ICompa...
    method DestructorNetworkNode (line 71) | public DestructorNetworkNode(Level level, BlockPos pos) {
    method getEnergyUsage (line 76) | @Override
    method update (line 81) | @Override
    method pickupItems (line 100) | private void pickupItems() {
    method breakBlock (line 127) | private void breakBlock() {
    method breakFluid (line 180) | private void breakFluid() {
    method createTool (line 219) | private ItemStack createTool() {
    method getCompare (line 235) | @Override
    method setCompare (line 240) | @Override
    method getWhitelistBlacklistMode (line 247) | @Override
    method setWhitelistBlacklistMode (line 252) | @Override
    method read (line 259) | @Override
    method getId (line 270) | @Override
    method write (line 275) | @Override
    method writeConfiguration (line 286) | @Override
    method readConfiguration (line 302) | @Override
    method getUpgrades (line 329) | public IItemHandler getUpgrades() {
    method getDrops (line 333) | @Override
    method getType (line 338) | @Override
    method setType (line 343) | @Override
    method getItemFilters (line 350) | @Override
    method getFluidFilters (line 355) | @Override
    method isPickupItem (line 360) | public boolean isPickupItem() {
    method setPickupItem (line 364) | public void setPickupItem(boolean pickupItem) {
    method getCoverManager (line 368) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/DetectorNetworkNode.java
  class DetectorNetworkNode (line 25) | public class DetectorNetworkNode extends NetworkNode implements ICompara...
    method DetectorNetworkNode (line 48) | public DetectorNetworkNode(Level level, BlockPos pos) {
    method getEnergyUsage (line 52) | @Override
    method update (line 57) | @Override
    method getId (line 93) | @Override
    method onConnectedStateChange (line 98) | @Override
    method isPowered (line 107) | public boolean isPowered() {
    method setPowered (line 111) | public void setPowered(boolean powered) {
    method isPowered (line 115) | private boolean isPowered(@Nullable Integer size) {
    method getCompare (line 136) | @Override
    method setCompare (line 141) | @Override
    method getMode (line 148) | public int getMode() {
    method setMode (line 152) | public void setMode(int mode) {
    method getAmount (line 156) | public int getAmount() {
    method setAmount (line 160) | public void setAmount(int amount) {
    method writeConfiguration (line 164) | @Override
    method readConfiguration (line 180) | @Override
    method setRedstoneMode (line 207) | @Override
    method getType (line 212) | @Override
    method setType (line 217) | @Override
    method getItemFilters (line 224) | @Override
    method getFluidFilters (line 229) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/DiskState.java
  type DiskState (line 3) | public enum DiskState {
    method get (line 12) | public static DiskState get(int stored, int capacity) {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/ExporterNetworkNode.java
  class ExporterNetworkNode (line 32) | public class ExporterNetworkNode extends NetworkNode implements ICompara...
    method ExporterNetworkNode (line 75) | public ExporterNetworkNode(Level level, BlockPos pos) {
    method getEnergyUsage (line 80) | @Override
    method update (line 85) | @Override
    method getCompare (line 236) | @Override
    method setCompare (line 241) | @Override
    method getId (line 248) | @Override
    method write (line 253) | @Override
    method writeConfiguration (line 263) | @Override
    method read (line 277) | @Override
    method readConfiguration (line 288) | @Override
    method getUpgrades (line 307) | public UpgradeItemHandler getUpgrades() {
    method getDrops (line 311) | @Override
    method getType (line 316) | @Override
    method setType (line 321) | @Override
    method getItemFilters (line 328) | @Override
    method getFluidFilters (line 333) | @Override
    method getCoverManager (line 338) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/ExternalStorageNetworkNode.java
  class ExternalStorageNetworkNode (line 44) | public class ExternalStorageNetworkNode extends NetworkNode implements I...
    method ExternalStorageNetworkNode (line 67) | public ExternalStorageNetworkNode(Level level, BlockPos pos) {
    method getEnergyUsage (line 72) | @Override
    method onConnectedStateChange (line 77) | @Override
    method update (line 86) | @Override
    method onDirectionChanged (line 107) | @Override
    method getId (line 116) | @Override
    method writeConfiguration (line 121) | @Override
    method readConfiguration (line 139) | @Override
    method getCompare (line 168) | @Override
    method setCompare (line 173) | @Override
    method getWhitelistBlacklistMode (line 180) | @Override
    method setWhitelistBlacklistMode (line 185) | @Override
    method getPriority (line 192) | @Override
    method setPriority (line 197) | @Override
    method updateStorage (line 209) | public void updateStorage(INetwork network, InvalidateCause cause) {
    method addItemStorages (line 239) | @Override
    method addFluidStorages (line 244) | @Override
    method getTitle (line 249) | @Override
    method getStored (line 254) | @Override
    method getCapacity (line 259) | @Override
    method getAccessType (line 264) | @Override
    method setAccessType (line 269) | @Override
    method acceptsItem (line 281) | @Override
    method acceptsFluid (line 286) | @Override
    method getType (line 291) | @Override
    method setType (line 296) | @Override
    method getItemFilters (line 307) | @Override
    method getFluidFilters (line 312) | @Override
    method getItemStorages (line 317) | public List<IExternalStorage<ItemStack>> getItemStorages() {
    method getFluidStorages (line 321) | public List<IExternalStorage<FluidStack>> getFluidStorages() {
    method getCoverManager (line 325) | @Override
    method read (line 330) | @Override
    method write (line 340) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/FluidInterfaceNetworkNode.java
  class FluidInterfaceNetworkNode (line 34) | public class FluidInterfaceNetworkNode extends NetworkNode {
    method onContentsChanged (line 44) | @Override
    method FluidInterfaceNetworkNode (line 64) | public FluidInterfaceNetworkNode(Level level, BlockPos pos) {
    method update (line 68) | @Override
    method isActingAsStorage (line 156) | private boolean isActingAsStorage() {
    method getEnergyUsage (line 171) | @Override
    method write (line 176) | @Override
    method read (line 189) | @Override
    method getId (line 205) | @Override
    method writeConfiguration (line 210) | @Override
    method readConfiguration (line 219) | @Override
    method getUpgrades (line 228) | public UpgradeItemHandler getUpgrades() {
    method getIn (line 232) | public BaseItemHandler getIn() {
    method getOut (line 236) | public FluidInventory getOut() {
    method getTank (line 240) | public ProxyFluidHandler getTank() {
    method getTankIn (line 244) | public FluidTank getTankIn() {
    method getTankOut (line 248) | public FluidTank getTankOut() {
    method onTankOutChanged (line 252) | private void onTankOutChanged() {
    method getDrops (line 260) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/GridNetworkNode.java
  class GridNetworkNode (line 59) | public class GridNetworkNode extends NetworkNode implements INetworkAwar...
    method stillValid (line 88) | @Override
    method quickMoveStack (line 93) | @Override
    method slotsChanged (line 98) | @Override
    method getSlotLimit (line 123) | @Override
    method insertItem (line 128) | @Nonnull
    method GridNetworkNode (line 184) | public GridNetworkNode(Level level, BlockPos pos, GridType type) {
    method getId (line 190) | public static ResourceLocation getId(GridType type) {
    method getAllowedTagList (line 205) | public AllowedTagList getAllowedTagList() {
    method updateAllowedTags (line 209) | private void updateAllowedTags() {
    method getEnergyUsage (line 220) | @Override
    method isExactPattern (line 236) | public boolean isExactPattern() {
    method setExactPattern (line 240) | public void setExactPattern(boolean exactPattern) {
    method isProcessingPattern (line 244) | public boolean isProcessingPattern() {
    method setProcessingPattern (line 248) | public void setProcessingPattern(boolean processingPattern) {
    method getGridType (line 252) | @Override
    method createListener (line 257) | @Override
    method getStorageCache (line 262) | @Nullable
    method getItemHandler (line 272) | @Nullable
    method getFluidHandler (line 278) | @Nullable
    method addCraftingListener (line 284) | @Override
    method removeCraftingListener (line 289) | @Override
    method getTitle (line 294) | @Override
    method getPatterns (line 308) | public IItemHandler getPatterns() {
    method getFilter (line 312) | @Override
    method getFilters (line 317) | @Override
    method getTabs (line 322) | @Override
    method getCraftingMatrix (line 327) | @Override
    method getCraftingResult (line 332) | @Override
    method getProcessingMatrix (line 337) | public BaseItemHandler getProcessingMatrix() {
    method getProcessingMatrixFluids (line 341) | public FluidInventory getProcessingMatrixFluids() {
    method onCraftingMatrixChanged (line 345) | @Override
    method onRecipeTransfer (line 366) | @Override
    method clearMatrix (line 371) | public void clearMatrix() {
    method onClosed (line 385) | @Override
    method isGridActive (line 390) | @Override
    method getSlotId (line 401) | @Override
    method onCrafted (line 406) | @Override
    method onClear (line 411) | @Override
    method onCraftedShift (line 441) | @Override
    method onCreatePattern (line 446) | public void onCreatePattern() {
    method isPatternAvailable (line 496) | private boolean isPatternAvailable() {
    method canCreatePattern (line 500) | public boolean canCreatePattern() {
    method getViewType (line 535) | @Override
    method setViewType (line 540) | public void setViewType(int viewType) {
    method getSortingDirection (line 544) | @Override
    method setSortingDirection (line 549) | public void setSortingDirection(int sortingDirection) {
    method getSortingType (line 553) | @Override
    method setSortingType (line 558) | public void setSortingType(int sortingType) {
    method getSearchBoxMode (line 562) | @Override
    method setSearchBoxMode (line 567) | public void setSearchBoxMode(int searchBoxMode) {
    method getSize (line 571) | @Override
    method setSize (line 576) | public void setSize(int size) {
    method getTabSelected (line 580) | @Override
    method setTabSelected (line 585) | public void setTabSelected(int tabSelected) {
    method getTabPage (line 589) | @Override
    method setTabPage (line 594) | public void setTabPage(int page) {
    method getTotalTabPages (line 598) | @Override
    method onViewTypeChanged (line 603) | @Override
    method onSortingTypeChanged (line 608) | @Override
    method onSortingDirectionChanged (line 613) | @Override
    method onSearchBoxModeChanged (line 618) | @Override
    method onSizeChanged (line 623) | @Override
    method onTabSelectionChanged (line 628) | @Override
    method onTabPageChanged (line 633) | @Override
    method getType (line 640) | @Override
    method setType (line 645) | @Override
    method getItemFilters (line 652) | @Override
    method getFluidFilters (line 657) | @Override
    method read (line 662) | @Override
    method getId (line 692) | @Override
    method write (line 697) | @Override
    method writeConfiguration (line 715) | @Override
    method readConfiguration (line 732) | @Override
    method getDrops (line 769) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/IStorageScreen.java
  type IStorageScreen (line 5) | public interface IStorageScreen {
    method getTitle (line 6) | Component getTitle();
    method getStored (line 8) | long getStored();
    method getCapacity (line 10) | long getCapacity();

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/ImporterNetworkNode.java
  class ImporterNetworkNode (line 33) | public class ImporterNetworkNode extends NetworkNode implements ICompara...
    method ImporterNetworkNode (line 51) | public ImporterNetworkNode(Level level, BlockPos pos) {
    method getEnergyUsage (line 56) | @Override
    method update (line 61) | @Override
    method getCompare (line 129) | @Override
    method setCompare (line 134) | @Override
    method getWhitelistBlacklistMode (line 141) | @Override
    method setWhitelistBlacklistMode (line 146) | @Override
    method read (line 153) | @Override
    method getId (line 164) | @Override
    method write (line 169) | @Override
    method writeConfiguration (line 180) | @Override
    method readConfiguration (line 195) | @Override
    method getUpgrades (line 218) | public IItemHandler getUpgrades() {
    method getDrops (line 222) | @Override
    method getType (line 227) | @Override
    method setType (line 232) | @Override
    method getItemFilters (line 239) | @Override
    method getFluidFilters (line 244) | @Override
    method getCoverManager (line 249) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/InterfaceNetworkNode.java
  class InterfaceNetworkNode (line 27) | public class InterfaceNetworkNode extends NetworkNode implements ICompar...
    method InterfaceNetworkNode (line 46) | public InterfaceNetworkNode(Level level, BlockPos pos) {
    method getEnergyUsage (line 50) | @Override
    method update (line 55) | @Override
    method isActingAsStorage (line 130) | private boolean isActingAsStorage() {
    method getCompare (line 145) | @Override
    method setCompare (line 150) | @Override
    method read (line 157) | @Override
    method getId (line 166) | @Override
    method write (line 171) | @Override
    method writeConfiguration (line 182) | @Override
    method readConfiguration (line 193) | @Override
    method getImportItems (line 204) | public IItemHandler getImportItems() {
    method getExportFilterItems (line 208) | public IItemHandler getExportFilterItems() {
    method getExportItems (line 212) | public IItemHandler getExportItems() {
    method getItems (line 216) | public IItemHandler getItems() {
    method getUpgrades (line 220) | public IItemHandler getUpgrades() {
    method getDrops (line 224) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/NetworkNode.java
  class NetworkNode (line 30) | public abstract class NetworkNode implements INetworkNode, INetworkNodeV...
    method NetworkNode (line 69) | protected NetworkNode(Level level, BlockPos pos) {
    method getRedstoneMode (line 78) | public RedstoneMode getRedstoneMode() {
    method setRedstoneMode (line 82) | public void setRedstoneMode(RedstoneMode redstoneMode) {
    method getItemStack (line 88) | @Nonnull
    method onConnected (line 94) | @Override
    method onDisconnected (line 101) | @Override
    method onConnectedStateChange (line 108) | protected void onConnectedStateChange(INetwork network, boolean state,...
    method markDirty (line 112) | @Override
    method isActive (line 119) | @Override
    method canUpdate (line 124) | protected final boolean canUpdate() {
    method getUpdateThrottleInactiveToActive (line 132) | protected int getUpdateThrottleInactiveToActive() {
    method getUpdateThrottleActiveToInactive (line 136) | protected int getUpdateThrottleActiveToInactive() {
    method setRedstonePowered (line 140) | public void setRedstonePowered(boolean redstonePowered) {
    method update (line 144) | @Override
    method write (line 181) | @Override
    method writeConfiguration (line 194) | public CompoundTag writeConfiguration(CompoundTag tag) {
    method read (line 200) | public void read(CompoundTag tag) {
    method readConfiguration (line 212) | public void readConfiguration(CompoundTag tag) {
    method getNetwork (line 216) | @Nullable
    method getPos (line 222) | @Override
    method getLevel (line 227) | @Override
    method canConduct (line 232) | @Override
    method visit (line 237) | @Override
    method getFacingBlockEntity (line 254) | @Nullable
    method getDirection (line 264) | public Direction getDirection() {
    method onDirectionChanged (line 283) | public void onDirectionChanged(Direction direction) {
    method getDrops (line 287) | @Nullable
    method shouldRebuildGraphOnChange (line 292) | public boolean shouldRebuildGraphOnChange() {
    method getOwner (line 296) | @Override
    method setOwner (line 302) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/NetworkReceiverNetworkNode.java
  class NetworkReceiverNetworkNode (line 8) | public class NetworkReceiverNetworkNode extends NetworkNode {
    method NetworkReceiverNetworkNode (line 11) | public NetworkReceiverNetworkNode(Level level, BlockPos pos) {
    method getEnergyUsage (line 15) | @Override
    method getId (line 20) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/NetworkTransmitterNetworkNode.java
  class NetworkTransmitterNetworkNode (line 22) | public class NetworkTransmitterNetworkNode extends NetworkNode {
    method NetworkTransmitterNetworkNode (line 45) | public NetworkTransmitterNetworkNode(Level level, BlockPos pos) {
    method write (line 49) | @Override
    method read (line 58) | @Override
    method getId (line 65) | @Override
    method getEnergyUsage (line 70) | @Override
    method getNetworkCard (line 75) | public BaseItemHandler getNetworkCard() {
    method getDrops (line 79) | @Override
    method getReceiverDimension (line 84) | @Nullable
    method getDistance (line 89) | public int getDistance() {
    method isSameDimension (line 97) | public boolean isSameDimension() {
    method canTransmit (line 101) | private boolean canTransmit() {
    method shouldRebuildGraphOnChange (line 105) | @Override
    method visit (line 110) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/RelayNetworkNode.java
  class RelayNetworkNode (line 10) | public class RelayNetworkNode extends NetworkNode {
    method RelayNetworkNode (line 13) | public RelayNetworkNode(Level level, BlockPos pos) {
    method getUpdateThrottleInactiveToActive (line 18) | @Override
    method getUpdateThrottleActiveToInactive (line 23) | @Override
    method getEnergyUsage (line 28) | @Override
    method getId (line 33) | @Override
    method canConduct (line 38) | @Override
    method canReceive (line 43) | @Override
    method shouldRebuildGraphOnChange (line 48) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/RootNetworkNode.java
  class RootNetworkNode (line 19) | public class RootNetworkNode implements INetworkNode, INetworkNodeVisitor {
    method RootNetworkNode (line 24) | public RootNetworkNode(INetwork network, Level level, BlockPos pos) {
    method getId (line 30) | @Override
    method getOwner (line 35) | @Nullable
    method setOwner (line 41) | @Override
    method getEnergyUsage (line 46) | @Override
    method getItemStack (line 51) | @Nonnull
    method onConnected (line 62) | @Override
    method onDisconnected (line 67) | @Override
    method isActive (line 72) | @Override
    method getNetwork (line 77) | @Override
    method update (line 82) | @Override
    method write (line 87) | @Override
    method getPos (line 92) | @Override
    method getLevel (line 97) | @Override
    method markDirty (line 102) | @Override
    method visit (line 107) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/SecurityManagerNetworkNode.java
  class SecurityManagerNetworkNode (line 27) | public class SecurityManagerNetworkNode extends NetworkNode implements I...
    method SecurityManagerNetworkNode (line 35) | public SecurityManagerNetworkNode(Level level, BlockPos pos) {
    method getEnergyUsage (line 50) | @Override
    method update (line 63) | @Override
    method invalidate (line 72) | private void invalidate() {
    method createCard (line 93) | private ISecurityCard createCard(ItemStack stack, @Nullable UUID uuid) {
    method read (line 103) | @Override
    method getId (line 111) | @Override
    method write (line 116) | @Override
    method onConnectedStateChange (line 126) | @Override
    method getCardsItems (line 133) | public BaseItemHandler getCardsItems() {
    method getEditCard (line 137) | public BaseItemHandler getEditCard() {
    method updatePermission (line 141) | public void updatePermission(Permission permission, boolean state) {
    method getCards (line 149) | @Override
    method getGlobalCard (line 154) | @Nullable
    method getDrops (line 160) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/SlottedCraftingRequest.java
  class SlottedCraftingRequest (line 7) | public class SlottedCraftingRequest {
    method SlottedCraftingRequest (line 11) | public SlottedCraftingRequest(INetworkNode node, int slot) {
    method equals (line 16) | @Override
    method hashCode (line 31) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/StorageMonitorNetworkNode.java
  class StorageMonitorNetworkNode (line 38) | public class StorageMonitorNetworkNode extends NetworkNode implements IC...
    method StorageMonitorNetworkNode (line 68) | public StorageMonitorNetworkNode(Level level, BlockPos pos) {
    method update (line 72) | @Override
    method depositAll (line 91) | public InteractionResult depositAll(Player player) {
    method deposit (line 126) | public InteractionResult deposit(Player player, ItemStack toInsert) {
    method depositItems (line 144) | private void depositItems(Player player, ItemStack toInsert) {
    method depositFluids (line 155) | private void depositFluids(Player player, ItemStack toInsert) {
    method extract (line 182) | public void extract(Player player, Direction side) {
    method extractItems (line 198) | private void extractItems(Player player) {
    method extractFluids (line 212) | private void extractFluids(Player player) {
    method getEnergyUsage (line 244) | @Override
    method getId (line 249) | @Override
    method getCompare (line 254) | @Override
    method setCompare (line 259) | @Override
    method writeConfiguration (line 268) | @Override
    method readConfiguration (line 282) | @Override
    method getAmount (line 301) | public int getAmount() {
    method getType (line 335) | @Override
    method setType (line 340) | @Override
    method getItemFilters (line 348) | public BaseItemHandler getItemFilters() {
    method getFluidFilters (line 352) | @Override
    method setRedstoneMode (line 357) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/WirelessTransmitterNetworkNode.java
  class WirelessTransmitterNetworkNode (line 18) | public class WirelessTransmitterNetworkNode extends NetworkNode implemen...
    method WirelessTransmitterNetworkNode (line 23) | public WirelessTransmitterNetworkNode(Level level, BlockPos pos) {
    method getEnergyUsage (line 27) | @Override
    method read (line 32) | @Override
    method getId (line 39) | @Override
    method write (line 44) | @Override
    method getRange (line 53) | @Override
    method getOrigin (line 58) | @Override
    method getDimension (line 63) | @Override
    method getUpgrades (line 68) | public BaseItemHandler getUpgrades() {
    method getDrops (line 72) | @Override
    method canConduct (line 77) | @Override
    method visit (line 82) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/cover/Cover.java
  class Cover (line 5) | public class Cover {
    method Cover (line 10) | public Cover(ItemStack stack, CoverType type) {
    method getStack (line 15) | public ItemStack getStack() {
    method getType (line 19) | public CoverType getType() {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/cover/CoverManager.java
  class CoverManager (line 22) | public class CoverManager {
    method CoverManager (line 32) | public CoverManager(NetworkNode node) {
    method isValidCover (line 36) | @SuppressWarnings("deprecation")
    method isModelSupported (line 54) | private static boolean isModelSupported(BlockState state) {
    method getBlock (line 62) | @Nullable
    method getBlockState (line 77) | @Nullable
    method getCover (line 86) | @Nullable
    method hasCover (line 91) | public boolean hasCover(Direction facing) {
    method setCover (line 95) | public boolean setCover(Direction facing, @Nullable Cover cover) {
    method removeCover (line 121) | @Nullable
    method readFromNbt (line 137) | public void readFromNbt(CompoundTag nbt) {
    method writeToNbt (line 157) | public CompoundTag writeToNbt() {
    method getAsInventory (line 172) | public IItemHandlerModifiable getAsInventory() {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/cover/CoverType.java
  type CoverType (line 6) | public enum CoverType {
    method createStack (line 10) | public ItemStack createStack() {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/diskdrive/DiskDriveNetworkNode.java
  class DiskDriveNetworkNode (line 41) | public class DiskDriveNetworkNode extends NetworkNode implements IStorag...
    method DiskDriveNetworkNode (line 90) | public DiskDriveNetworkNode(Level level, BlockPos pos) {
    method getItemDisks (line 94) | public IStorageDisk[] getItemDisks() {
    method getFluidDisks (line 98) | public IStorageDisk[] getFluidDisks() {
    method getEnergyUsage (line 102) | @Override
    method update (line 120) | @Override
    method requestBlockUpdate (line 138) | void requestBlockUpdate() {
    method onConnectedStateChange (line 142) | @Override
    method addItemStorages (line 154) | @Override
    method addFluidStorages (line 163) | @Override
    method read (line 172) | @Override
    method getId (line 179) | @Override
    method write (line 184) | @Override
    method writeConfiguration (line 193) | @Override
    method readConfiguration (line 210) | @Override
    method getCompare (line 239) | @Override
    method setCompare (line 244) | @Override
    method getWhitelistBlacklistMode (line 251) | @Override
    method setWhitelistBlacklistMode (line 256) | @Override
    method getAccessType (line 263) | @Override
    method setAccessType (line 268) | @Override
    method getPriority (line 280) | @Override
    method setPriority (line 285) | @Override
    method getDiskState (line 297) | public DiskState[] getDiskState() {
    method getDisks (line 320) | public IItemHandler getDisks() {
    method getType (line 324) | @Override
    method setType (line 329) | @Override
    method getItemFilters (line 336) | @Override
    method getFluidFilters (line 341) | @Override
    method getDrops (line 346) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/diskdrive/FluidDriveWrapperStorageDisk.java
  class FluidDriveWrapperStorageDisk (line 19) | public class FluidDriveWrapperStorageDisk implements IStorageDisk<FluidS...
    method FluidDriveWrapperStorageDisk (line 24) | public FluidDriveWrapperStorageDisk(DiskDriveNetworkNode diskDrive, IS...
    method getPriority (line 42) | @Override
    method getAccessType (line 47) | @Override
    method getStacks (line 52) | @Override
    method insert (line 57) | @Override
    method extract (line 67) | @Override
    method getStored (line 73) | @Override
    method getCacheDelta (line 78) | @Override
    method getCapacity (line 83) | @Override
    method getOwner (line 88) | @Nullable
    method setSettings (line 94) | @Override
    method writeToNbt (line 99) | @Override
    method getFactoryId (line 104) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/diskdrive/ItemDriveWrapperStorageDisk.java
  class ItemDriveWrapperStorageDisk (line 19) | public class ItemDriveWrapperStorageDisk implements IStorageDisk<ItemSta...
    method ItemDriveWrapperStorageDisk (line 24) | public ItemDriveWrapperStorageDisk(DiskDriveNetworkNode diskDrive, ISt...
    method getPriority (line 42) | @Override
    method getAccessType (line 47) | @Override
    method getStacks (line 52) | @Override
    method insert (line 57) | @Override
    method extract (line 67) | @Override
    method getStored (line 73) | @Override
    method getCacheDelta (line 78) | @Override
    method getCapacity (line 83) | @Override
    method getOwner (line 88) | @Nullable
    method setSettings (line 94) | @Override
    method writeToNbt (line 99) | @Override
    method getFactoryId (line 104) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/diskmanipulator/DiskManipulatorNetworkNode.java
  class DiskManipulatorNetworkNode (line 41) | public class DiskManipulatorNetworkNode extends NetworkNode implements I...
    method getStackInteractCount (line 101) | @Override
    method DiskManipulatorNetworkNode (line 114) | public DiskManipulatorNetworkNode(Level level, BlockPos pos) {
    method getEnergyUsage (line 118) | @Override
    method update (line 123) | @Override
    method insertItemIntoNetwork (line 167) | private void insertItemIntoNetwork(IStorageDisk<ItemStack> storage) {
    method isItemDiskDone (line 189) | private boolean isItemDiskDone(IStorageDisk<ItemStack> storage, int sl...
    method extractItemFromNetwork (line 224) | private void extractItemFromNetwork(IStorageDisk<ItemStack> storage, i...
    method insertFluidIntoNetwork (line 265) | private void insertFluidIntoNetwork(IStorageDisk<FluidStack> storage, ...
    method isFluidDiskDone (line 287) | private boolean isFluidDiskDone(IStorageDisk<FluidStack> storage, int ...
    method extractFluidFromNetwork (line 322) | private void extractFluidFromNetwork(IStorageDisk<FluidStack> storage,...
    method moveDriveToOutput (line 363) | private void moveDriveToOutput(int slot) {
    method getDiskState (line 380) | public DiskState[] getDiskState() {
    method getCompare (line 403) | @Override
    method setCompare (line 408) | @Override
    method getType (line 413) | @Override
    method setType (line 418) | @Override
    method getItemFilters (line 423) | @Override
    method getFluidFilters (line 428) | @Override
    method getWhitelistBlacklistMode (line 433) | @Override
    method setWhitelistBlacklistMode (line 438) | @Override
    method getIoMode (line 443) | public int getIoMode() {
    method setIoMode (line 447) | public void setIoMode(int ioMode) {
    method getInputDisks (line 451) | public IItemHandler getInputDisks() {
    method getOutputDisks (line 455) | public IItemHandler getOutputDisks() {
    method getDisks (line 459) | public ProxyItemHandler getDisks() {
    method getUpgrades (line 463) | public IItemHandler getUpgrades() {
    method read (line 467) | @Override
    method getId (line 476) | @Override
    method write (line 481) | @Override
    method writeConfiguration (line 492) | @Override
    method readConfiguration (line 507) | @Override
    method getDrops (line 534) | @Override
    method getAccessType (line 539) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/diskmanipulator/StorageDiskFluidManipulatorWrapper.java
  class StorageDiskFluidManipulatorWrapper (line 20) | public class StorageDiskFluidManipulatorWrapper implements IStorageDisk<...
    method StorageDiskFluidManipulatorWrapper (line 25) | public StorageDiskFluidManipulatorWrapper(DiskManipulatorNetworkNode d...
    method getCapacity (line 43) | @Override
    method getOwner (line 48) | @Nullable
    method setSettings (line 54) | @Override
    method writeToNbt (line 59) | @Override
    method getFactoryId (line 64) | @Override
    method getStacks (line 69) | @Override
    method insert (line 74) | @Override
    method extract (line 88) | @Override
    method getStored (line 98) | @Override
    method getPriority (line 103) | @Override
    method getAccessType (line 108) | @Override
    method getCacheDelta (line 113) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/diskmanipulator/StorageDiskItemManipulatorWrapper.java
  class StorageDiskItemManipulatorWrapper (line 20) | public class StorageDiskItemManipulatorWrapper implements IStorageDisk<I...
    method StorageDiskItemManipulatorWrapper (line 25) | public StorageDiskItemManipulatorWrapper(DiskManipulatorNetworkNode di...
    method getCapacity (line 43) | @Override
    method getOwner (line 48) | @Nullable
    method setSettings (line 54) | @Override
    method writeToNbt (line 59) | @Override
    method getStacks (line 64) | @Override
    method insert (line 69) | @Override
    method extract (line 83) | @Override
    method getStored (line 93) | @Override
    method getPriority (line 98) | @Override
    method getAccessType (line 103) | @Override
    method getCacheDelta (line 108) | @Override
    method getFactoryId (line 113) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/storage/FluidStorageNetworkNode.java
  class FluidStorageNetworkNode (line 43) | public class FluidStorageNetworkNode extends NetworkNode implements ISto...
    method FluidStorageNetworkNode (line 67) | public FluidStorageNetworkNode(Level level, BlockPos pos, FluidStorage...
    method getId (line 73) | public static ResourceLocation getId(FluidStorageType type) {
    method getEnergyUsage (line 90) | @Override
    method onConnectedStateChange (line 108) | @Override
    method addItemStorages (line 117) | @Override
    method addFluidStorages (line 122) | @Override
    method getId (line 131) | @Override
    method write (line 136) | @Override
    method read (line 145) | @Override
    method loadStorage (line 156) | public void loadStorage(@Nullable Player owner) {
    method getStorageId (line 169) | public UUID getStorageId() {
    method setStorageId (line 173) | public void setStorageId(UUID id) {
    method getStorage (line 179) | public IStorageDisk<FluidStack> getStorage() {
    method writeConfiguration (line 183) | @Override
    method readConfiguration (line 197) | @Override
    method getCompare (line 220) | @Override
    method setCompare (line 225) | @Override
    method getWhitelistBlacklistMode (line 232) | @Override
    method setWhitelistBlacklistMode (line 237) | @Override
    method getFilters (line 244) | public FluidInventory getFilters() {
    method getTitle (line 248) | @Override
    method getStored (line 253) | @Override
    method getCapacity (line 258) | @Override
    method getAccessType (line 263) | @Override
    method setAccessType (line 268) | @Override
    method getPriority (line 279) | @Override
    method setPriority (line 284) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/storage/FluidStorageWrapperStorageDisk.java
  class FluidStorageWrapperStorageDisk (line 18) | public class FluidStorageWrapperStorageDisk implements IStorageDisk<Flui...
    method FluidStorageWrapperStorageDisk (line 22) | public FluidStorageWrapperStorageDisk(FluidStorageNetworkNode storage,...
    method getPriority (line 28) | @Override
    method getAccessType (line 33) | @Override
    method getStacks (line 38) | @Override
    method insert (line 43) | @Override
    method extract (line 53) | @Override
    method getStored (line 59) | @Override
    method getCacheDelta (line 64) | @Override
    method getCapacity (line 69) | @Override
    method getOwner (line 74) | @Nullable
    method setSettings (line 80) | @Override
    method writeToNbt (line 85) | @Override
    method getFactoryId (line 90) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/storage/ItemStorageWrapperStorageDisk.java
  class ItemStorageWrapperStorageDisk (line 18) | public class ItemStorageWrapperStorageDisk implements IStorageDisk<ItemS...
    method ItemStorageWrapperStorageDisk (line 22) | public ItemStorageWrapperStorageDisk(StorageNetworkNode storage, IStor...
    method getPriority (line 28) | @Override
    method getAccessType (line 33) | @Override
    method getStacks (line 38) | @Override
    method insert (line 43) | @Override
    method extract (line 53) | @Override
    method getStored (line 59) | @Override
    method getCacheDelta (line 64) | @Override
    method getCapacity (line 69) | @Override
    method getOwner (line 74) | @Nullable
    method setSettings (line 80) | @Override
    method writeToNbt (line 85) | @Override
    method getFactoryId (line 90) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/storage/StorageNetworkNode.java
  class StorageNetworkNode (line 44) | public class StorageNetworkNode extends NetworkNode implements IStorageS...
    method StorageNetworkNode (line 67) | public StorageNetworkNode(Level level, BlockPos pos, ItemStorageType t...
    method getId (line 73) | public static ResourceLocation getId(ItemStorageType type) {
    method getEnergyUsage (line 90) | @Override
    method onConnectedStateChange (line 108) | @Override
    method addItemStorages (line 117) | @Override
    method addFluidStorages (line 126) | @Override
    method getId (line 131) | @Override
    method write (line 136) | @Override
    method read (line 145) | @Override
    method loadStorage (line 156) | public void loadStorage(@Nullable Player owner) {
    method getStorageId (line 169) | public UUID getStorageId() {
    method setStorageId (line 173) | public void setStorageId(UUID id) {
    method getStorage (line 179) | public IStorageDisk<ItemStack> getStorage() {
    method writeConfiguration (line 183) | @Override
    method readConfiguration (line 198) | @Override
    method getCompare (line 219) | @Override
    method setCompare (line 224) | @Override
    method getWhitelistBlacklistMode (line 231) | @Override
    method setWhitelistBlacklistMode (line 236) | @Override
    method getFilters (line 243) | public BaseItemHandler getFilters() {
    method getTitle (line 247) | @Override
    method getStored (line 252) | @Override
    method getCapacity (line 257) | @Override
    method getAccessType (line 262) | @Override
    method setAccessType (line 267) | @Override
    method getPriority (line 278) | @Override
    method setPriority (line 283) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/security/SecurityCard.java
  class SecurityCard (line 11) | public class SecurityCard implements ISecurityCard {
    method SecurityCard (line 15) | public SecurityCard(@Nullable UUID owner) {
    method getPermissions (line 19) | public Map<Permission, Boolean> getPermissions() {
    method getOwner (line 23) | @Override
    method hasPermission (line 29) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/network/security/SecurityManager.java
  class SecurityManager (line 16) | public class SecurityManager implements ISecurityManager {
    method SecurityManager (line 21) | public SecurityManager(INetwork network) {
    method hasPermission (line 25) | @Override
    method invalidate (line 46) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/render/CraftingMonitorElementDrawers.java
  class CraftingMonitorElementDrawers (line 10) | public class CraftingMonitorElementDrawers extends ElementDrawers<Crafti...
    method CraftingMonitorElementDrawers (line 16) | public CraftingMonitorElementDrawers(BaseScreen<CraftingMonitorContain...
    method getOverlayDrawer (line 30) | @Override
    method getErrorDrawer (line 35) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/render/CraftingPreviewElementDrawers.java
  class CraftingPreviewElementDrawers (line 8) | public class CraftingPreviewElementDrawers extends ElementDrawers<Abstra...
    method CraftingPreviewElementDrawers (line 14) | public CraftingPreviewElementDrawers(CraftingPreviewScreen screen) {
    method getOverlayDrawer (line 18) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/render/ElementDrawers.java
  class ElementDrawers (line 11) | public class ElementDrawers<T extends AbstractContainerMenu> implements ...
    method ElementDrawers (line 14) | public ElementDrawers(BaseScreen<T> screen) {
    method getItemDrawer (line 18) | @Override
    method getFluidDrawer (line 23) | @Override
    method getStringDrawer (line 28) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/FluidStorageType.java
  type FluidStorageType (line 3) | public enum FluidStorageType {
    method FluidStorageType (line 13) | FluidStorageType(String name, int capacity) {
    method getName (line 18) | public String getName() {
    method getCapacity (line 22) | public int getCapacity() {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/ItemStorageType.java
  type ItemStorageType (line 3) | public enum ItemStorageType {
    method ItemStorageType (line 13) | ItemStorageType(String name, int capacity) {
    method getName (line 18) | public String getName() {
    method getCapacity (line 22) | public int getCapacity() {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/cache/FluidStorageCache.java
  class FluidStorageCache (line 32) | public class FluidStorageCache implements IStorageCache<FluidStack> {
    method FluidStorageCache (line 44) | public FluidStorageCache(INetwork network) {
    method invalidate (line 48) | @Override
    method add (line 80) | @Override
    method remove (line 93) | @Override
    method flush (line 106) | @Override
    method addListener (line 119) | @Override
    method removeListener (line 126) | @Override
    method reAttachListeners (line 131) | @Override
    method sort (line 136) | @Override
    method getList (line 141) | @Override
    method getCraftablesList (line 146) | @Override
    method getGridStacks (line 151) | @Override
    method getStorages (line 176) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/cache/ItemStorageCache.java
  class ItemStorageCache (line 30) | public class ItemStorageCache implements IStorageCache<ItemStack> {
    method ItemStorageCache (line 42) | public ItemStorageCache(INetwork network) {
    method invalidate (line 46) | @Override
    method add (line 78) | @Override
    method remove (line 91) | @Override
    method flush (line 104) | @Override
    method addListener (line 117) | @Override
    method removeListener (line 124) | @Override
    method reAttachListeners (line 129) | @Override
    method sort (line 134) | @Override
    method getList (line 139) | @Override
    method getCraftablesList (line 144) | @Override
    method getGridStacks (line 149) | @Override
    method getStorages (line 174) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/cache/PortableFluidStorageCache.java
  class PortableFluidStorageCache (line 21) | public class PortableFluidStorageCache implements IStorageCache<FluidSta...
    method PortableFluidStorageCache (line 26) | public PortableFluidStorageCache(IPortableGrid portableGrid) {
    method invalidate (line 30) | @Override
    method add (line 41) | @Override
    method remove (line 50) | @Override
    method flush (line 59) | @Override
    method addListener (line 64) | @Override
    method removeListener (line 71) | @Override
    method reAttachListeners (line 76) | @Override
    method sort (line 81) | @Override
    method getList (line 86) | @Override
    method getCraftablesList (line 91) | @Override
    method getGridStacks (line 96) | @Override
    method getStorages (line 104) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/cache/PortableItemStorageCache.java
  class PortableItemStorageCache (line 21) | public class PortableItemStorageCache implements IStorageCache<ItemStack> {
    method PortableItemStorageCache (line 26) | public PortableItemStorageCache(IPortableGrid portableGrid) {
    method invalidate (line 30) | @Override
    method add (line 41) | @Override
    method remove (line 50) | @Override
    method flush (line 59) | @Override
    method addListener (line 64) | @Override
    method removeListener (line 71) | @Override
    method reAttachListeners (line 76) | @Override
    method sort (line 81) | @Override
    method getList (line 86) | @Override
    method getCraftablesList (line 91) | @Override
    method getGridStacks (line 96) | @Override
    method getStorages (line 104) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/cache/listener/FluidGridStorageCacheListener.java
  class FluidGridStorageCacheListener (line 21) | public class FluidGridStorageCacheListener implements IStorageCacheListe...
    method FluidGridStorageCacheListener (line 25) | public FluidGridStorageCacheListener(ServerPlayer player, INetwork net...
    method onAttached (line 30) | @Override
    method onInvalidated (line 38) | @Override
    method onChanged (line 43) | @Override
    method onChangedBulk (line 52) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/cache/listener/ItemGridStorageCacheListener.java
  class ItemGridStorageCacheListener (line 19) | public class ItemGridStorageCacheListener implements IStorageCacheListen...
    method ItemGridStorageCacheListener (line 23) | public ItemGridStorageCacheListener(ServerPlayer player, INetwork netw...
    method onAttached (line 28) | @Override
    method onInvalidated (line 36) | @Override
    method onChanged (line 41) | @Override
    method onChangedBulk (line 48) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/cache/listener/PortableFluidGridStorageCacheListener.java
  class PortableFluidGridStorageCacheListener (line 20) | public class PortableFluidGridStorageCacheListener implements IStorageCa...
    method PortableFluidGridStorageCacheListener (line 24) | public PortableFluidGridStorageCacheListener(IPortableGrid portableGri...
    method onAttached (line 29) | @Override
    method onInvalidated (line 37) | @Override
    method onChanged (line 42) | @Override
    method onChangedBulk (line 51) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/cache/listener/PortableItemGridStorageCacheListener.java
  class PortableItemGridStorageCacheListener (line 18) | public class PortableItemGridStorageCacheListener implements IStorageCac...
    method PortableItemGridStorageCacheListener (line 22) | public PortableItemGridStorageCacheListener(IPortableGrid portableGrid...
    method onAttached (line 27) | @Override
    method onInvalidated (line 35) | @Override
    method onChanged (line 40) | @Override
    method onChangedBulk (line 47) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/disk/FluidStorageDisk.java
  class FluidStorageDisk (line 24) | public class FluidStorageDisk implements IStorageDisk<FluidStack> {
    method FluidStorageDisk (line 41) | public FluidStorageDisk(@Nullable ServerLevel level, int capacity, @Nu...
    method writeToNbt (line 47) | @Override
    method getStacks (line 68) | @Override
    method insert (line 73) | @Override
    method extract (line 134) | @Override
    method getStored (line 164) | @Override
    method getPriority (line 169) | @Override
    method getAccessType (line 174) | @Override
    method getCapacity (line 179) | @Override
    method getOwner (line 184) | @Nullable
    method getCacheDelta (line 190) | @Override
    method setSettings (line 199) | @Override
    method getFactoryId (line 205) | @Override
    method getRawStacks (line 210) | public Multimap<Fluid, FluidStack> getRawStacks() {
    method onChanged (line 214) | private void onChanged() {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/disk/ItemStorageDisk.java
  class ItemStorageDisk (line 25) | public class ItemStorageDisk implements IStorageDisk<ItemStack> {
    method ItemStorageDisk (line 43) | public ItemStorageDisk(@Nullable ServerLevel level, int capacity, @Nul...
    method writeToNbt (line 49) | @Override
    method getFactoryId (line 70) | @Override
    method getStacks (line 75) | @Override
    method insert (line 80) | @Override
    method extract (line 143) | @Override
    method getStored (line 175) | @Override
    method getPriority (line 180) | @Override
    method getAccessType (line 185) | @Override
    method getCapacity (line 190) | @Override
    method getOwner (line 195) | @Nullable
    method setSettings (line 201) | @Override
    method getCacheDelta (line 207) | @Override
    method getRawStacks (line 216) | public Multimap<Item, ItemStack> getRawStacks() {
    method onChanged (line 220) | private void onChanged() {
    method updateItemCount (line 230) | public void updateItemCount() {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/disk/PortableFluidStorageDisk.java
  class PortableFluidStorageDisk (line 17) | public class PortableFluidStorageDisk implements IStorageDisk<FluidStack> {
    method PortableFluidStorageDisk (line 21) | public PortableFluidStorageDisk(IStorageDisk<FluidStack> parent, IPort...
    method getCapacity (line 26) | @Override
    method getOwner (line 31) | @Nullable
    method setSettings (line 37) | @Override
    method writeToNbt (line 42) | @Override
    method getStacks (line 47) | @Override
    method insert (line 52) | @Override
    method extract (line 70) | @Override
    method getStored (line 82) | @Override
    method getPriority (line 87) | @Override
    method getAccessType (line 92) | @Override
    method getCacheDelta (line 97) | @Override
    method getFactoryId (line 102) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/disk/PortableItemStorageDisk.java
  class PortableItemStorageDisk (line 18) | public class PortableItemStorageDisk implements IStorageDisk<ItemStack> {
    method PortableItemStorageDisk (line 22) | public PortableItemStorageDisk(IStorageDisk<ItemStack> parent, IPortab...
    method getCapacity (line 27) | @Override
    method getOwner (line 32) | @Nullable
    method setSettings (line 38) | @Override
    method writeToNbt (line 43) | @Override
    method getStacks (line 48) | @Override
    method insert (line 53) | @Override
    method extract (line 71) | @Override
    method getStored (line 83) | @Override
    method getPriority (line 88) | @Override
    method getAccessType (line 93) | @Override
    method getCacheDelta (line 98) | @Override
    method getFactoryId (line 103) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/disk/StorageDiskManager.java
  class StorageDiskManager (line 21) | public class StorageDiskManager extends RSSavedData implements IStorageD...
    method StorageDiskManager (line 32) | public StorageDiskManager(ServerLevel level) {
    method get (line 36) | @Override
    method getByStack (line 42) | @Nullable
    method getAll (line 58) | @Override
    method set (line 63) | @Override
    method remove (line 80) | @Override
    method markForSaving (line 89) | @Override
    method load (line 94) | @Override
    method save (line 114) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/disk/StorageDiskRegistry.java
  class StorageDiskRegistry (line 11) | public class StorageDiskRegistry implements IStorageDiskRegistry {
    method add (line 14) | @Override
    method get (line 19) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/disk/StorageDiskSync.java
  class StorageDiskSync (line 13) | public class StorageDiskSync implements IStorageDiskSync {
    method getData (line 19) | @Nullable
    method setData (line 25) | public void setData(UUID id, StorageDiskSyncData data) {
    method sendRequest (line 29) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/disk/factory/FluidStorageDiskFactory.java
  class FluidStorageDiskFactory (line 20) | public class FluidStorageDiskFactory implements IStorageDiskFactory<Flui...
    method createFromNbt (line 23) | @Override
    method createDiskItem (line 44) | @Override
    method create (line 70) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/disk/factory/ItemStorageDiskFactory.java
  class ItemStorageDiskFactory (line 21) | public class ItemStorageDiskFactory implements IStorageDiskFactory<ItemS...
    method createFromNbt (line 24) | @Override
    method createDiskItem (line 47) | @Override
    method create (line 73) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/externalstorage/FluidExternalStorage.java
  class FluidExternalStorage (line 19) | public class FluidExternalStorage implements IExternalStorage<FluidStack> {
    method FluidExternalStorage (line 25) | public FluidExternalStorage(IExternalStorageContext context, Supplier<...
    method isConnectedToInterface (line 31) | public boolean isConnectedToInterface() {
    method update (line 35) | @Override
    method getCapacity (line 44) | @Override
    method getStacks (line 61) | @Override
    method insert (line 80) | @Override
    method extract (line 103) | @Override
    method getStored (line 119) | @Override
    method getPriority (line 124) | @Override
    method getAccessType (line 129) | @Override
    method getCacheDelta (line 134) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/externalstorage/FluidExternalStorageCache.java
  class FluidExternalStorageCache (line 12) | public class FluidExternalStorageCache {
    method getStored (line 16) | public int getStored() {
    method initCache (line 20) | public boolean initCache(IFluidHandler handler) {
    method update (line 38) | public void update(INetwork network, @Nullable IFluidHandler handler) {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/externalstorage/FluidExternalStorageProvider.java
  class FluidExternalStorageProvider (line 15) | public class FluidExternalStorageProvider implements IExternalStoragePro...
    method canProvide (line 16) | @Override
    method provide (line 21) | @Nonnull
    method getPriority (line 33) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/externalstorage/ItemExternalStorage.java
  class ItemExternalStorage (line 20) | public class ItemExternalStorage implements IExternalStorage<ItemStack> {
    method ItemExternalStorage (line 26) | public ItemExternalStorage(IExternalStorageContext context, Supplier<I...
    method isConnectedToInterface (line 32) | public boolean isConnectedToInterface() {
    method update (line 36) | @Override
    method getCapacity (line 45) | @Override
    method getStacks (line 62) | @Override
    method insert (line 81) | @Override
    method extract (line 97) | @Override
    method getStored (line 139) | @Override
    method getPriority (line 144) | @Override
    method getAccessType (line 149) | @Override
    method getCacheDelta (line 154) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/externalstorage/ItemExternalStorageCache.java
  class ItemExternalStorageCache (line 11) | public class ItemExternalStorageCache {
    method getStored (line 15) | public int getStored() {
    method initCache (line 19) | public boolean initCache(IItemHandler handler) {
    method update (line 37) | public void update(INetwork network, @Nullable IItemHandler handler) {

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/externalstorage/ItemExternalStorageProvider.java
  class ItemExternalStorageProvider (line 19) | public class ItemExternalStorageProvider implements IExternalStorageProv...
    method canProvide (line 20) | @Override
    method provide (line 29) | @Nonnull
    method getPriority (line 41) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/tracker/FluidStorageTracker.java
  class FluidStorageTracker (line 14) | public class FluidStorageTracker implements IStorageTracker<FluidStack> {
    method FluidStorageTracker (line 22) | public FluidStorageTracker(Runnable listener) {
    method changed (line 26) | @Override
    method get (line 33) | @Override
    method readFromNbt (line 38) | @Override
    method serializeNbt (line 51) | @Override
    class Key (line 68) | private static class Key {
      method Key (line 71) | public Key(FluidStack stack) {
      method equals (line 75) | @Override
      method hashCode (line 80) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/tracker/ItemStorageTracker.java
  class ItemStorageTracker (line 15) | public class ItemStorageTracker implements IStorageTracker<ItemStack> {
    method ItemStorageTracker (line 23) | public ItemStorageTracker(Runnable listener) {
    method changed (line 27) | @Override
    method get (line 34) | @Override
    method readFromNbt (line 39) | @Override
    method serializeNbt (line 52) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/tracker/StorageTrackerManager.java
  class StorageTrackerManager (line 15) | public class StorageTrackerManager extends RSSavedData implements IStora...
    method markForSaving (line 25) | @Override
    method getOrCreate (line 30) | @Override
    method remove (line 47) | @Override
    method load (line 52) | @Override
    method save (line 70) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/util/Comparer.java
  class Comparer (line 8) | public class Comparer implements IComparer {
    method isEqual (line 9) | @Override
    method isEqual (line 30) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/util/FluidFilter.java
  class FluidFilter (line 6) | public class FluidFilter implements IFilter {
    method FluidFilter (line 12) | public FluidFilter(FluidStack stack, int compare, int mode, boolean mo...
    method getStack (line 19) | @Override
    method getCompare (line 24) | @Override
    method getMode (line 29) | @Override
    method isModFilter (line 34) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/util/FluidStackList.java
  class FluidStackList (line 17) | public class FluidStackList implements IStackList<FluidStack> {
    method FluidStackList (line 21) | public FluidStackList() {
    method FluidStackList (line 24) | public FluidStackList(Iterable<FluidStack> stacks) {
    method add (line 30) | @Override
    method add (line 61) | @Override
    method remove (line 66) | @Override
    method remove (line 88) | @Override
    method getCount (line 93) | @Override
    method get (line 103) | @Override
    method getEntry (line 117) | @Nullable
    method get (line 131) | @Override
    method clear (line 137) | @Override
    method isEmpty (line 143) | @Override
    method getStacks (line 148) | @Nonnull
    method getStacks (line 154) | @Override
    method copy (line 160) | @Override
    method size (line 175) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/util/ItemFilter.java
  class ItemFilter (line 6) | public class ItemFilter implements IFilter {
    method ItemFilter (line 12) | public ItemFilter(ItemStack stack, int compare, int mode, boolean modF...
    method getStack (line 19) | @Override
    method getCompare (line 24) | @Override
    method getMode (line 29) | @Override
    method isModFilter (line 34) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/util/ItemStackList.java
  class ItemStackList (line 18) | public class ItemStackList implements IStackList<ItemStack> {
    method ItemStackList (line 22) | public ItemStackList() {
    method ItemStackList (line 25) | public ItemStackList(Iterable<ItemStack> stacks) {
    method add (line 31) | @Override
    method add (line 59) | @Override
    method remove (line 64) | @Override
    method remove (line 86) | @Override
    method getCount (line 91) | @Override
    method get (line 101) | @Override
    method getEntry (line 115) | @Nullable
    method get (line 129) | @Override
    method clear (line 135) | @Override
    method isEmpty (line 141) | @Override
    method getStacks (line 146) | @Nonnull
    method getStacks (line 152) | @Override
    method copy (line 158) | @Override
    method size (line 173) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/util/QuantityFormatter.java
  class QuantityFormatter (line 11) | public class QuantityFormatter implements IQuantityFormatter {
    method QuantityFormatter (line 16) | public QuantityFormatter() {
    method formatWithUnits (line 20) | @Override
    method formatWithUnits (line 25) | @Override
    method format (line 50) | @Override
    method format (line 55) | @Override
    method formatInBucketForm (line 60) | @Override
    method formatInBucketFormWithOnlyTrailingDigitsIfZero (line 65) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/apiimpl/util/RSSavedData.java
  class RSSavedData (line 14) | public abstract class RSSavedData extends SavedData {
    method load (line 17) | public abstract void load(CompoundTag nbt);
    method save (line 19) | @Override
    method save (line 22) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/block/BaseBlock.java
  class BaseBlock (line 11) | public abstract class BaseBlock extends Block {
    method BaseBlock (line 12) | protected BaseBlock(Properties properties) {
    method getDirection (line 16) | public BlockDirection getDirection() {
    method rotate (line 20) | @Override
    method onDirectionChanged (line 33) | protected void onDirectionChanged(Level level, BlockPos pos, Direction...
    method onRemove (line 37) | @Override
    method checkIfDirectionHasChanged (line 45) | protected void checkIfDirectionHasChanged(BlockState state, Level leve...
    method createBlockStateDefinition (line 53) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/block/BlockDirection.java
  type BlockDirection (line 11) | public enum BlockDirection {
    method BlockDirection (line 19) | BlockDirection(Direction... allowed) {
    method getProperty (line 23) | public DirectionProperty getProperty() {
    method getFrom (line 27) | public Direction getFrom(Direction facing, BlockPos pos, LivingEntity ...
    method cycle (line 40) | public Direction cycle(Direction previous) {

FILE: src/main/java/com/refinedmods/refinedstorage/block/BlockListener.java
  class BlockListener (line 6) | public class BlockListener {
    method onHarvestCheck (line 8) | @SubscribeEvent

FILE: src/main/java/com/refinedmods/refinedstorage/block/CableBlock.java
  class CableBlock (line 37) | public class CableBlock extends NetworkNodeBlock implements SimpleWaterl...
    method CableBlock (line 59) | protected CableBlock(Properties props) {
    method CableBlock (line 64) | public CableBlock() {
    method getCableShape (line 70) | protected static VoxelShape getCableShape(BlockState state) {
    method hasVisualConnectionOnSide (line 100) | public static boolean hasVisualConnectionOnSide(BlockState state, Dire...
    method updateShape (line 118) | @Override
    method isPathfindable (line 124) | @Override
    method getShape (line 130) | @Override
    method onDirectionChanged (line 136) | @Override
    method neighborChanged (line 160) | @Override
    method getStateForPlacement (line 166) | @Nullable
    method getFluidState (line 173) | @Override
    method placeLiquid (line 179) | @Override
    method canPlaceLiquid (line 184) | @Override
    method hasNodeConnection (line 189) | private boolean hasNodeConnection(LevelAccessor level, BlockPos pos, B...
    method isSideCovered (line 205) | private boolean isSideCovered(BlockEntity blockEntity, Direction direc...
    method getState (line 224) | private BlockState getState(BlockState currentState, LevelAccessor lev...
    method newBlockEntity (line 241) | @Override
    method createBlockStateDefinition (line 246) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/block/ColoredNetworkBlock.java
  class ColoredNetworkBlock (line 7) | public abstract class ColoredNetworkBlock extends NetworkNodeBlock {
    method ColoredNetworkBlock (line 8) | public ColoredNetworkBlock(Properties props) {
    method onRemove (line 13) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/block/ConstructorBlock.java
  class ConstructorBlock (line 28) | public class ConstructorBlock extends CableBlock {
    method ConstructorBlock (line 36) | public ConstructorBlock() {
    method getDirection (line 40) | @Override
    method newBlockEntity (line 45) | @Override
    method getShape (line 50) | @Override
    method getHeadShape (line 61) | private VoxelShape getHeadShape(BlockState state) {
    method use (line 91) | @Override
    method hasConnectedState (line 108) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/block/ControllerBlock.java
  class ControllerBlock (line 41) | public class ControllerBlock extends BaseBlock implements EntityBlock {
    method ControllerBlock (line 45) | public ControllerBlock(NetworkType type) {
    method createBlockStateDefinition (line 52) | @Override
    method getType (line 59) | public NetworkType getType() {
    method setPlacedBy (line 63) | @Override
    method neighborChanged (line 78) | @Override
    method use (line 91) | @Override
    method onRemove (line 128) | @Override
    method newBlockEntity (line 136) | @Override
    type EnergyType (line 141) | public enum EnergyType implements StringRepresentable {
      method EnergyType (line 149) | EnergyType(String name) {
      method getSerializedName (line 153) | @Override
      method toString (line 158) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/block/CrafterBlock.java
  class CrafterBlock (line 23) | public class CrafterBlock extends ColoredNetworkBlock {
    method CrafterBlock (line 24) | public CrafterBlock() {
    method getDirection (line 28) | @Override
    method setPlacedBy (line 33) | @Override
    method use (line 47) | @Override
    method hasConnectedState (line 69) | @Override
    method newBlockEntity (line 74) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/block/CrafterManagerBlock.java
  class CrafterManagerBlock (line 18) | public class CrafterManagerBlock extends ColoredNetworkBlock {
    method CrafterManagerBlock (line 19) | public CrafterManagerBlock() {
    method getDirection (line 23) | @Override
    method newBlockEntity (line 28) | @Override
    method use (line 33) | @Override
    method hasConnectedState (line 51) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/block/CraftingMonitorBlock.java
  class CraftingMonitorBlock (line 19) | public class CraftingMonitorBlock extends ColoredNetworkBlock {
    method CraftingMonitorBlock (line 20) | public CraftingMonitorBlock() {
    method getDirection (line 24) | @Override
    method newBlockEntity (line 29) | @Override
    method use (line 34) | @Override
    method hasConnectedState (line 54) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/block/DestructorBlock.java
  class DestructorBlock (line 28) | public class DestructorBlock extends CableBlock {
    method DestructorBlock (line 36) | public DestructorBlock() {
    method getDirection (line 40) | @Override
    method newBlockEntity (line 45) | @Override
    method getShape (line 50) | @Override
    method getHeadShape (line 61) | private VoxelShape getHeadShape(BlockState state) {
    method use (line 91) | @Override
    method hasConnectedState (line 108) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/block/DetectorBlock.java
  class DetectorBlock (line 30) | public class DetectorBlock extends ColoredNetworkBlock {
    method DetectorBlock (line 35) | public DetectorBlock() {
    method createBlockStateDefinition (line 41) | @Override
    method getShape (line 48) | @Override
    method isSignalSource (line 54) | @Override
    method getSignal (line 60) | @Override
    method use (line 68) | @Override
    method newBlockEntity (line 94) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/block/DiskDriveBlock.java
  class DiskDriveBlock (line 20) | public class DiskDriveBlock extends NetworkNodeBlock {
    method DiskDriveBlock (line 21) | public DiskDriveBlock() {
    method getDirection (line 25) | @Override
    method newBlockEntity (line 30) | @Override
    method use (line 35) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/block/DiskManipulatorBlock.java
  class DiskManipulatorBlock (line 20) | public class DiskManipulatorBlock extends ColoredNetworkBlock {
    method DiskManipulatorBlock (line 21) | public DiskManipulatorBlock() {
    method newBlockEntity (line 25) | @Override
    method use (line 30) | @Override
    method getDirection (line 52) | @Override
    method hasConnectedState (line 57) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/block/ExporterBlock.java
  class ExporterBlock (line 28) | public class ExporterBlock extends CableBlock {
    method ExporterBlock (line 59) | public ExporterBlock() {
    method getDirection (line 63) | @Override
    method getShape (line 68) | @Override
    method getLineShape (line 80) | private VoxelShape getLineShape(BlockState state) {
    method newBlockEntity (line 110) | @Override
    method use (line 115) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/block/ExternalStorageBlock.java
  class ExternalStorageBlock (line 32) | public class ExternalStorageBlock extends CableBlock {
    method ExternalStorageBlock (line 40) | public ExternalStorageBlock() {
    method getDirection (line 44) | @Override
    method getShape (line 49) | @Override
    method getHeadShape (line 60) | private VoxelShape getHeadShape(BlockState state) {
    method newBlockEntity (line 90) | @Override
    method use (line 95) | @Override
    method neighborChanged (line 112) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/block/FluidInterfaceBlock.java
  class FluidInterfaceBlock (line 21) | public class FluidInterfaceBlock extends NetworkNodeBlock {
    method FluidInterfaceBlock (line 22) | public FluidInterfaceBlock() {
    method newBlockEntity (line 26) | @Override
    method use (line 31) | @Override
    method hasConnectedState (line 48) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/block/FluidStorageBlock.java
  class FluidStorageBlock (line 22) | public class FluidStorageBlock extends NetworkNodeBlock {
    method FluidStorageBlock (line 25) | public FluidStorageBlock(FluidStorageType type) {
    method getType (line 31) | public FluidStorageType getType() {
    method setPlacedBy (line 35) | @Override
    method newBlockEntity (line 51) | @Override
    method use (line 56) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/block/GridBlock.java
  class GridBlock (line 25) | public class GridBlock extends ColoredNetworkBlock {
    method GridBlock (line 28) | public GridBlock(GridType type) {
    method getDirection (line 34) | @Override
    method hasConnectedState (line 39) | @Override
    method newBlockEntity (line 44) | @Override
    method use (line 49) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/block/ImporterBlock.java
  class ImporterBlock (line 28) | public class ImporterBlock extends CableBlock {
    method ImporterBlock (line 59) | public ImporterBlock() {
    method getDirection (line 63) | @Override
    method getShape (line 68) | @Override
    method getLineShape (line 79) | private VoxelShape getLineShape(BlockState state) {
    method newBlockEntity (line 109) | @Override
    method use (line 114) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/block/InterfaceBlock.java
  class InterfaceBlock (line 21) | public class InterfaceBlock extends NetworkNodeBlock {
    method InterfaceBlock (line 22) | public InterfaceBlock() {
    method newBlockEntity (line 26) | @Override
    method use (line 31) | @Override
    method hasConnectedState (line 48) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/block/MachineCasingBlock.java
  class MachineCasingBlock (line 5) | public class MachineCasingBlock extends BaseBlock {
    method MachineCasingBlock (line 6) | public MachineCasingBlock() {

FILE: src/main/java/com/refinedmods/refinedstorage/block/NetworkNodeBlock.java
  class NetworkNodeBlock (line 24) | public abstract class NetworkNodeBlock extends BaseBlock implements Enti...
    method NetworkNodeBlock (line 27) | protected NetworkNodeBlock(BlockBehaviour.Properties props) {
    method neighborChanged (line 35) | @Override
    method onRemove (line 48) | @Override
    method onDirectionChanged (line 72) | @Override
    method createBlockStateDefinition (line 86) | @Override
    method hasConnectedState (line 95) | public boolean hasConnectedState() {

FILE: src/main/java/com/refinedmods/refinedstorage/block/NetworkReceiverBlock.java
  class NetworkReceiverBlock (line 15) | public class NetworkReceiverBlock extends ColoredNetworkBlock {
    method NetworkReceiverBlock (line 16) | public NetworkReceiverBlock() {
    method newBlockEntity (line 20) | @Override
    method hasConnectedState (line 25) | @Override
    method use (line 30) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/block/NetworkTransmitterBlock.java
  class NetworkTransmitterBlock (line 19) | public class NetworkTransmitterBlock extends ColoredNetworkBlock {
    method NetworkTransmitterBlock (line 20) | public NetworkTransmitterBlock() {
    method newBlockEntity (line 24) | @Override
    method use (line 29) | @Override
    method hasConnectedState (line 51) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/block/PortableGridBlock.java
  class PortableGridBlock (line 33) | public class PortableGridBlock extends BaseBlock implements EntityBlock {
    method PortableGridBlock (line 41) | public PortableGridBlock(PortableGridBlockItem.Type type) {
    method createBlockStateDefinition (line 48) | @Override
    method getShape (line 56) | @Override
    method getDirection (line 62) | @Override
    method newBlockEntity (line 67) | @Override
    method getTicker (line 72) | @Override
    method use (line 84) | @Override
    method setPlacedBy (line 96) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/block/QuartzEnrichedIronBlock.java
  class QuartzEnrichedIronBlock (line 5) | public class QuartzEnrichedIronBlock extends BaseBlock {
    method QuartzEnrichedIronBlock (line 6) | public QuartzEnrichedIronBlock() {

FILE: src/main/java/com/refinedmods/refinedstorage/block/RelayBlock.java
  class RelayBlock (line 20) | public class RelayBlock extends ColoredNetworkBlock {
    method RelayBlock (line 21) | public RelayBlock() {
    method newBlockEntity (line 25) | @Override
    method use (line 30) | @Override
    method hasConnectedState (line 52) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/block/SecurityManagerBlock.java
  class SecurityManagerBlock (line 21) | public class SecurityManagerBlock extends ColoredNetworkBlock {
    method SecurityManagerBlock (line 22) | public SecurityManagerBlock() {
    method getDirection (line 26) | @Override
    method use (line 31) | @Override
    method newBlockEntity (line 59) | @Override
    method hasConnectedState (line 64) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/block/StorageBlock.java
  class StorageBlock (line 23) | public class StorageBlock extends NetworkNodeBlock {
    method StorageBlock (line 26) | public StorageBlock(ItemStorageType type) {
    method getType (line 32) | public ItemStorageType getType() {
    method setPlacedBy (line 36) | @Override
    method newBlockEntity (line 52) | @Override
    method use (line 57) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/block/StorageMonitorBlock.java
  class StorageMonitorBlock (line 24) | public class StorageMonitorBlock extends NetworkNodeBlock {
    method StorageMonitorBlock (line 25) | public StorageMonitorBlock() {
    method getDirection (line 29) | @Override
    method newBlockEntity (line 34) | @Override
    method use (line 39) | @Override
    method attack (line 68) | @Override
    method hasConnectedState (line 84) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/block/WirelessTransmitterBlock.java
  class WirelessTransmitterBlock (line 25) | public class WirelessTransmitterBlock extends ColoredNetworkBlock {
    method WirelessTransmitterBlock (line 33) | public WirelessTransmitterBlock() {
    method getDirection (line 37) | @Override
    method hasConnectedState (line 42) | @Override
    method newBlockEntity (line 47) | @Override
    method getShape (line 52) | @Override
    method use (line 73) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/block/shape/ShapeCache.java
  class ShapeCache (line 10) | public final class ShapeCache {
    method ShapeCache (line 13) | private ShapeCache() {
    method getOrCreate (line 16) | public static VoxelShape getOrCreate(BlockState state, Function<BlockS...

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/BaseBlockEntity.java
  class BaseBlockEntity (line 13) | public abstract class BaseBlockEntity extends BlockEntity {
    method BaseBlockEntity (line 17) | protected BaseBlockEntity(BlockEntityType<?> type, BlockPos pos, Block...
    method getDataManager (line 22) | public BlockEntitySynchronizationManager getDataManager() {
    method writeUpdate (line 26) | public CompoundTag writeUpdate(CompoundTag tag) {
    method readUpdate (line 30) | public void readUpdate(CompoundTag tag) {
    method getUpdateTag (line 33) | @Override
    method getUpdatePacket (line 38) | @Override
    method onDataPacket (line 43) | @Override
    method handleUpdateTag (line 48) | @Override
    method setRemoved (line 54) | @Override
    method onRemovedNotDueToChunkUnload (line 66) | protected void onRemovedNotDueToChunkUnload() {
    method onChunkUnloaded (line 70) | @Override
    method setChanged (line 77) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/CableBlockEntity.java
  class CableBlockEntity (line 19) | public class CableBlockEntity extends NetworkNodeBlockEntity<CableNetwor...
    method CableBlockEntity (line 28) | public CableBlockEntity(BlockPos pos, BlockState state) {
    method createNode (line 32) | @Override
    method getModelData (line 38) | @Nonnull
    method writeUpdate (line 44) | @Override
    method readUpdate (line 53) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/ClientNode.java
  class ClientNode (line 6) | public class ClientNode {
    method ClientNode (line 11) | public ClientNode(ItemStack stack, int amount, int energyUsage) {
    method getStack (line 17) | public ItemStack getStack() {
    method getAmount (line 21) | public int getAmount() {
    method setAmount (line 25) | public void setAmount(int amount) {
    method getEnergyUsage (line 29) | public int getEnergyUsage() {
    method equals (line 33) | @Override
    method hashCode (line 46) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/ConstructorBlockEntity.java
  class ConstructorBlockEntity (line 21) | public class ConstructorBlockEntity extends NetworkNodeBlockEntity<Const...
    method ConstructorBlockEntity (line 43) | public ConstructorBlockEntity(BlockPos pos, BlockState state) {
    method createNode (line 47) | @Override
    method getModelData (line 53) | @Nonnull
    method writeUpdate (line 59) | @Override
    method readUpdate (line 68) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/ControllerBlockEntity.java
  class ControllerBlockEntity (line 31) | public class ControllerBlockEntity extends BaseBlockEntity implements IN...
    method ControllerBlockEntity (line 52) | public ControllerBlockEntity(NetworkType type, BlockPos pos, BlockStat...
    method collectClientNodes (line 57) | private static List<ClientNode> collectClientNodes(ControllerBlockEnti...
    method getNetwork (line 85) | public INetwork getNetwork() {
    method clearRemoved (line 107) | @Override
    method onRemovedNotDueToChunkUnload (line 121) | @Override
    method getRemovedNetwork (line 139) | public INetwork getRemovedNetwork() {
    method getNode (line 143) | @Override
    method getRedstoneMode (line 149) | @Override
    method setRedstoneMode (line 154) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/CrafterBlockEntity.java
  class CrafterBlockEntity (line 21) | public class CrafterBlockEntity extends NetworkNodeBlockEntity<CrafterNe...
    method CrafterBlockEntity (line 38) | public CrafterBlockEntity(BlockPos pos, BlockState state) {
    method createNode (line 42) | @Override
    method getPatterns (line 48) | public IItemHandler getPatterns(@Nullable Direction direction) {

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/CrafterManagerBlockEntity.java
  class CrafterManagerBlockEntity (line 17) | public class CrafterManagerBlockEntity extends NetworkNodeBlockEntity<Cr...
    method CrafterManagerBlockEntity (line 37) | public CrafterManagerBlockEntity(BlockPos pos, BlockState state) {
    method createNode (line 41) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/DestructorBlockEntity.java
  class DestructorBlockEntity (line 22) | public class DestructorBlockEntity extends NetworkNodeBlockEntity<Destru...
    method DestructorBlockEntity (line 46) | public DestructorBlockEntity(BlockPos pos, BlockState state) {
    method createNode (line 50) | @Override
    method getModelData (line 56) | @Nonnull
    method writeUpdate (line 62) | @Override
    method readUpdate (line 71) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/DetectorBlockEntity.java
  class DetectorBlockEntity (line 21) | public class DetectorBlockEntity extends NetworkNodeBlockEntity<Detector...
    method DetectorBlockEntity (line 45) | public DetectorBlockEntity(BlockPos pos, BlockState state) {
    method readUpdate (line 49) | @Override
    method writeUpdate (line 56) | @Override
    method createNode (line 65) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/DiskDriveBlockEntity.java
  class DiskDriveBlockEntity (line 27) | public class DiskDriveBlockEntity extends NetworkNodeBlockEntity<DiskDri...
    method DiskDriveBlockEntity (line 92) | public DiskDriveBlockEntity(BlockPos pos, BlockState state) {
    method writeUpdate (line 97) | @Override
    method readUpdate (line 112) | @Override
    method getModelData (line 127) | @Nonnull
    method createNode (line 133) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/DiskManipulatorBlockEntity.java
  class DiskManipulatorBlockEntity (line 27) | public class DiskManipulatorBlockEntity extends NetworkNodeBlockEntity<D...
    method DiskManipulatorBlockEntity (line 50) | public DiskManipulatorBlockEntity(BlockPos pos, BlockState state) {
    method writeUpdate (line 55) | @Override
    method readUpdate (line 70) | @Override
    method getModelData (line 85) | @Nonnull
    method createNode (line 91) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/ExporterBlockEntity.java
  class ExporterBlockEntity (line 21) | public class ExporterBlockEntity extends NetworkNodeBlockEntity<Exporter...
    method ExporterBlockEntity (line 39) | public ExporterBlockEntity(BlockPos pos, BlockState state) {
    method createNode (line 43) | @Override
    method getModelData (line 49) | @Nonnull
    method writeUpdate (line 55) | @Override
    method readUpdate (line 64) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/ExternalStorageBlockEntity.java
  class ExternalStorageBlockEntity (line 26) | public class ExternalStorageBlockEntity extends NetworkNodeBlockEntity<E...
    method ExternalStorageBlockEntity (line 74) | public ExternalStorageBlockEntity(BlockPos pos, BlockState state) {
    method createNode (line 78) | @Override
    method getModelData (line 84) | @Nonnull
    method writeUpdate (line 90) | @Override
    method readUpdate (line 99) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/FluidInterfaceBlockEntity.java
  class FluidInterfaceBlockEntity (line 16) | public class FluidInterfaceBlockEntity extends NetworkNodeBlockEntity<Fl...
    method FluidInterfaceBlockEntity (line 26) | public FluidInterfaceBlockEntity(BlockPos pos, BlockState state) {
    method createNode (line 30) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/FluidStorageBlockEntity.java
  class FluidStorageBlockEntity (line 23) | public class FluidStorageBlockEntity extends NetworkNodeBlockEntity<Flui...
    method FluidStorageBlockEntity (line 41) | public FluidStorageBlockEntity(FluidStorageType type, BlockPos pos, Bl...
    method getType (line 46) | public static BlockEntityType<FluidStorageBlockEntity> getType(FluidSt...
    method getFluidStorageType (line 56) | public FluidStorageType getFluidStorageType() {
    method createNode (line 60) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/ImporterBlockEntity.java
  class ImporterBlockEntity (line 22) | public class ImporterBlockEntity extends NetworkNodeBlockEntity<Importer...
    method ImporterBlockEntity (line 37) | public ImporterBlockEntity(BlockPos pos, BlockState state) {
    method createNode (line 41) | @Override
    method getModelData (line 47) | @Nonnull
    method writeUpdate (line 53) | @Override
    method readUpdate (line 62) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/InterfaceBlockEntity.java
  class InterfaceBlockEntity (line 15) | public class InterfaceBlockEntity extends NetworkNodeBlockEntity<Interfa...
    method InterfaceBlockEntity (line 23) | public InterfaceBlockEntity(BlockPos pos, BlockState state) {
    method createNode (line 27) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/NetworkNodeBlockEntity.java
  class NetworkNodeBlockEntity (line 27) | public abstract class NetworkNodeBlockEntity<N extends NetworkNode> exte...
    method NetworkNodeBlockEntity (line 36) | protected NetworkNodeBlockEntity(BlockEntityType<?> type, BlockPos pos...
    method getRedstoneMode (line 42) | @Override
    method setRedstoneMode (line 47) | @Override
    method getNode (line 52) | @Override
    method doCast (line 81) | private N doCast(INetworkNode node) {
    method createAndSetNode (line 88) | private INetworkNode createAndSetNode(INetworkNodeManager manager) {
    method clearRemoved (line 95) | @Override
    method onRemovedNotDueToChunkUnload (line 109) | @Override
    method getRemovedNode (line 135) | public N getRemovedNode() {
    method createNode (line 139) | public abstract N createNode(Level level, BlockPos pos);

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/NetworkReceiverBlockEntity.java
  class NetworkReceiverBlockEntity (line 12) | public class NetworkReceiverBlockEntity extends NetworkNodeBlockEntity<N...
    method NetworkReceiverBlockEntity (line 17) | public NetworkReceiverBlockEntity(BlockPos pos, BlockState state) {
    method createNode (line 21) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/NetworkTransmitterBlockEntity.java
  class NetworkTransmitterBlockEntity (line 17) | public class NetworkTransmitterBlockEntity extends NetworkNodeBlockEntit...
    method NetworkTransmitterBlockEntity (line 33) | public NetworkTransmitterBlockEntity(BlockPos pos, BlockState state) {
    method createNode (line 37) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/RelayBlockEntity.java
  class RelayBlockEntity (line 12) | public class RelayBlockEntity extends NetworkNodeBlockEntity<RelayNetwor...
    method RelayBlockEntity (line 17) | public RelayBlockEntity(BlockPos pos, BlockState state) {
    method createNode (line 21) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/SecurityManagerBlockEntity.java
  class SecurityManagerBlockEntity (line 12) | public class SecurityManagerBlockEntity extends NetworkNodeBlockEntity<S...
    method SecurityManagerBlockEntity (line 17) | public SecurityManagerBlockEntity(BlockPos pos, BlockState state) {
    method createNode (line 21) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/StorageBlockEntity.java
  class StorageBlockEntity (line 23) | public class StorageBlockEntity extends NetworkNodeBlockEntity<StorageNe...
    method StorageBlockEntity (line 41) | public StorageBlockEntity(ItemStorageType type, BlockPos pos, BlockSta...
    method getType (line 46) | public static BlockEntityType<StorageBlockEntity> getType(ItemStorageT...
    method getItemStorageType (line 56) | public ItemStorageType getItemStorageType() {
    method createNode (line 60) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/StorageMonitorBlockEntity.java
  class StorageMonitorBlockEntity (line 20) | public class StorageMonitorBlockEntity extends NetworkNodeBlockEntity<St...
    method StorageMonitorBlockEntity (line 42) | public StorageMonitorBlockEntity(BlockPos pos, BlockState state) {
    method createNode (line 46) | @Override
    method writeUpdate (line 51) | @Override
    method readUpdate (line 72) | @Override
    method getAmount (line 81) | public int getAmount() {
    method getStackType (line 85) | public int getStackType() {
    method getItemStack (line 89) | @Nullable
    method getFluidStack (line 94) | @Nullable

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/WirelessTransmitterBlockEntity.java
  class WirelessTransmitterBlockEntity (line 16) | public class WirelessTransmitterBlockEntity extends NetworkNodeBlockEnti...
    method WirelessTransmitterBlockEntity (line 24) | public WirelessTransmitterBlockEntity(BlockPos pos, BlockState state) {
    method createNode (line 28) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/config/IAccessType.java
  type IAccessType (line 10) | public interface IAccessType {
    method createParameter (line 11) | static <T extends BlockEntity & INetworkNodeProxy<?>> BlockEntitySynch...
    method getAccessType (line 15) | AccessType getAccessType();
    method setAccessType (line 17) | void setAccessType(AccessType accessType);

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/config/IComparable.java
  type IComparable (line 9) | public interface IComparable {
    method createParameter (line 10) | static <T extends BlockEntity & INetworkNodeProxy<?>> BlockEntitySynch...
    method getCompare (line 14) | int getCompare();
    method setCompare (line 16) | void setCompare(int compare);

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/config/IPrioritizable.java
  type IPrioritizable (line 9) | public interface IPrioritizable {
    method createParameter (line 10) | static <T extends BlockEntity & INetworkNodeProxy<?>> BlockEntitySynch...
    method getPriority (line 14) | int getPriority();
    method setPriority (line 16) | void setPriority(int priority);

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/config/IRedstoneConfigurable.java
  type IRedstoneConfigurable (line 3) | public interface IRedstoneConfigurable {
    method getRedstoneMode (line 4) | RedstoneMode getRedstoneMode();
    method setRedstoneMode (line 6) | void setRedstoneMode(RedstoneMode mode);

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/config/IType.java
  type IType (line 13) | public interface IType {
    method createParameter (line 17) | static <T extends BlockEntity & INetworkNodeProxy<?>> BlockEntitySynch...
    method createParameter (line 25) | static <T extends BlockEntity & INetworkNodeProxy<?>> BlockEntitySynch...
    method getType (line 29) | int getType();
    method setType (line 31) | void setType(int type);
    method getItemFilters (line 33) | IItemHandlerModifiable getItemFilters();
    method getFluidFilters (line 35) | FluidInventory getFluidFilters();

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/config/IWhitelistBlacklist.java
  type IWhitelistBlacklist (line 14) | public interface IWhitelistBlacklist {
    method createParameter (line 18) | static <T extends BlockEntity & INetworkNodeProxy<?>> BlockEntitySynch...
    method acceptsItem (line 26) | static boolean acceptsItem(IItemHandler filters, int mode, int compare...
    method acceptsFluid (line 52) | static boolean acceptsFluid(FluidInventory filters, int mode, int comp...
    method getWhitelistBlacklistMode (line 78) | int getWhitelistBlacklistMode();
    method setWhitelistBlacklistMode (line 80) | void setWhitelistBlacklistMode(int mode);

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/config/RedstoneMode.java
  type RedstoneMode (line 9) | public enum RedstoneMode {
    method read (line 14) | public static RedstoneMode read(CompoundTag tag) {
    method getById (line 22) | public static RedstoneMode getById(int id) {
    method createParameter (line 26) | public static <T extends BlockEntity & IRedstoneConfigurable> BlockEnt...
    method isEnabled (line 30) | public boolean isEnabled(boolean powered) {
    method write (line 43) | public void write(CompoundTag tag) {

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/craftingmonitor/CraftingMonitorBlockEntity.java
  class CraftingMonitorBlockEntity (line 19) | public class CraftingMonitorBlockEntity extends NetworkNodeBlockEntity<C...
    method CraftingMonitorBlockEntity (line 43) | public CraftingMonitorBlockEntity(BlockPos pos, BlockState state) {
    method createNode (line 47) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/craftingmonitor/ICraftingMonitor.java
  type ICraftingMonitor (line 15) | public interface ICraftingMonitor {
    method getTitle (line 18) | Component getTitle();
    method onCancelled (line 20) | void onCancelled(ServerPlayer player, @Nullable UUID id);
    method getRedstoneModeParameter (line 22) | BlockEntitySynchronizationParameter<Integer, ?> getRedstoneModeParamet...
    method getTasks (line 24) | Collection<ICraftingTask> getTasks();
    method getCraftingManager (line 26) | @Nullable
    method isActiveOnClient (line 29) | boolean isActiveOnClient();
    method onClosed (line 31) | void onClosed(Player player);
    method getTabSelected (line 33) | Optional<UUID> getTabSelected();
    method getTabPage (line 35) | int getTabPage();
    method onTabSelectionChanged (line 37) | void onTabSelectionChanged(Optional<UUID> taskId);
    method onTabPageChanged (line 39) | void onTabPageChanged(int page);
    method getSlotId (line 41) | int getSlotId();

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/craftingmonitor/WirelessCraftingMonitor.java
  class WirelessCraftingMonitor (line 28) | public class WirelessCraftingMonitor implements ICraftingMonitor {
    method WirelessCraftingMonitor (line 38) | public WirelessCraftingMonitor(ItemStack stack, @Nullable MinecraftSer...
    method setSettings (line 49) | public void setSettings(Optional<UUID> tabSelected, int tabPage) {
    method getTitle (line 57) | @Override
    method onCancelled (line 62) | @Override
    method getRedstoneModeParameter (line 71) | @Override
    method getTasks (line 76) | @Override
    method getCraftingManager (line 87) | @Nullable
    method getNetwork (line 99) | private INetwork getNetwork() {
    method getStack (line 110) | public ItemStack getStack() {
    method isActiveOnClient (line 114) | @Override
    method onClosed (line 119) | @Override
    method getTabSelected (line 128) | @Override
    method getTabPage (line 133) | @Override
    method onTabSelectionChanged (line 138) | @Override
    method onTabPageChanged (line 149) | @Override
    method getSlotId (line 158) | @Override

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/data/BlockEntitySynchronizationClientListener.java
  type BlockEntitySynchronizationClientListener (line 3) | public interface BlockEntitySynchronizationClientListener<T> {
    method onChanged (line 4) | void onChanged(boolean initial, T value);

FILE: src/main/java/com/refinedmods/refinedstorage/blockentity/data/BlockEntitySynchronizationManager.java
  class BlockEntitySynchronizationMana
Condensed preview — 2808 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (4,349K chars).
[
  {
    "path": ".github/CONTRIBUTING.md",
    "chars": 8267,
    "preview": "# Contributing\n\nWhen contributing to this repository, please first discuss the change you wish to make via\n[GitHub issue"
  },
  {
    "path": ".github/FUNDING.yml",
    "chars": 42,
    "preview": "patreon: raoulvdberge\nko_fi: raoulvdberge\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/config.yml",
    "chars": 673,
    "preview": "blank_issues_enabled: false\ncontact_links:\n    - name: 🚫 No support for v1.x\n      url: https://refinedmods.com/refined-"
  },
  {
    "path": ".github/SUPPORT.md",
    "chars": 340,
    "preview": "# Support\n\nIf you have a problem and need help, we offer various channels where you can ask for help.\n\n## I have a quest"
  },
  {
    "path": ".github/workflows/build.yml",
    "chars": 302,
    "preview": "name: Build\non:\n  push:\n    branches:\n      - develop\n      - main\n  pull_request:\n    types: [ opened, synchronize, reo"
  },
  {
    "path": ".github/workflows/draft-release.yml",
    "chars": 621,
    "preview": "name: Draft release\non:\n  workflow_dispatch:\n    inputs:\n      release-type:\n        description: 'Release type'\n       "
  },
  {
    "path": ".github/workflows/issue-for-unsupported-version.yml",
    "chars": 221,
    "preview": "name: Issue for unsupported version\non:\n  issues:\n    types: [ labeled, unlabeled, reopened ]\njobs:\n  unsupported-labele"
  },
  {
    "path": ".github/workflows/publish-release.yml",
    "chars": 391,
    "preview": "name: Publish release\non:\n  pull_request:\n    branches:\n      - main\n    types:\n      - closed\njobs:\n  publish-release:\n"
  },
  {
    "path": ".github/workflows/resolved-issue-locking.yml",
    "chars": 180,
    "preview": "name: Lock resolved issues and PRs\non:\n  schedule:\n    - cron: '0 0 * * *'\njobs:\n  lock:\n    uses: refinedmods/refinedar"
  },
  {
    "path": ".github/workflows/validate-branch-name.yml",
    "chars": 167,
    "preview": "name: Validate branch name\non: [ pull_request ]\njobs:\n  validate-branch-name:\n    uses: refinedmods/refinedarchitect/.gi"
  },
  {
    "path": ".github/workflows/validate-changelog.yml",
    "chars": 284,
    "preview": "name: Validate changelog\non:\n  pull_request:\n    types: [ opened, synchronize, reopened, ready_for_review, labeled, unla"
  },
  {
    "path": ".github/workflows/validate-commit-messages.yml",
    "chars": 179,
    "preview": "name: Validate commit messages\non: [ pull_request ]\njobs:\n  validate-commit-messages:\n    uses: refinedmods/refinedarchi"
  },
  {
    "path": ".gitignore",
    "chars": 160,
    "preview": ".gradle/\n.nb-gradle/\n.settings/\nbuild/\neclipse/\n.classpath\n.nb-gradle-properties\n.project\n*.launch\nruns/\n*.iml\n*.ipr\n*.i"
  },
  {
    "path": "CHANGELOG.md",
    "chars": 129005,
    "preview": "# Changelog\n\nAll notable changes to this project will be documented in this file.\n\nThe format is based on [Keep a Change"
  },
  {
    "path": "LICENSE.md",
    "chars": 1086,
    "preview": "# The MIT License (MIT)\n\nCopyright © 2015 - 2025 Refined Mods\n\nPermission is hereby granted, free of charge, to any pers"
  },
  {
    "path": "README.md",
    "chars": 3073,
    "preview": "<div align=\"center\">\n  <h2>⚠️ IMPORTANT NOTICE ⚠️</h2>\n  <p><strong>This repository is for <em>Refined Storage v1.x</em>"
  },
  {
    "path": "build.gradle",
    "chars": 1035,
    "preview": "apply from: \"https://raw.githubusercontent.com/refinedmods/refinedarchitect/v0.11.4/helper.gradle\"\r\n\r\nrepositories {\r\n  "
  },
  {
    "path": "config/checkstyle/checkstyle.xml",
    "chars": 316,
    "preview": "<?xml version=\"1.0\"?>\n<!DOCTYPE module PUBLIC\n        \"-//Checkstyle//DTD Checkstyle Configuration 1.3//EN\"\n        \"htt"
  },
  {
    "path": "docs/nav.json",
    "chars": 9497,
    "preview": "[\n  {\n    \"title\": \"Home\",\n    \"ref\": \"index.adoc\",\n    \"icon\": \"bi-house-fill\"\n  },\n  {\n    \"title\": \"News\",\n    \"ref\":"
  },
  {
    "path": "docs/pages/advanced-usage/commands.adoc",
    "chars": 2385,
    "preview": "= Commands\n\n[cols=\"1,1\"]\n|===\n|Refined Storage version|Command      |Explanation\n\n|v1.9.5 or higher        |`/refinedsto"
  },
  {
    "path": "docs/pages/advanced-usage/index.adoc",
    "chars": 203,
    "preview": "= Advanced usage\n\n- xref:commands.adoc[]\n- xref:profiling.adoc[]\n- xref:resource-packs.adoc[]\n- xref:translating-refined"
  },
  {
    "path": "docs/pages/advanced-usage/profiling.adoc",
    "chars": 1112,
    "preview": "= Profiling\n\nIf you have a performance, it's best to make a `.nps` file that you can send to the developers so that they"
  },
  {
    "path": "docs/pages/advanced-usage/resource-packs.adoc",
    "chars": 487,
    "preview": "= Resource packs\n\n== Color settings\n\nYou can change the text colors that Refined Storage uses in its GUIs by changing th"
  },
  {
    "path": "docs/pages/advanced-usage/translating-refined-storage.adoc",
    "chars": 1027,
    "preview": "= Translating Refined Storage\n\n== How to create a translation\n\nCopy link:https://github.com/refinedmods/refinedstorage/b"
  },
  {
    "path": "docs/pages/advanced-usage/using-development-builds.adoc",
    "chars": 424,
    "preview": "= Using development builds\n\nYou can use development builds straight from GitHub.\n\nFollow the following steps:\n\n- Head to"
  },
  {
    "path": "docs/pages/advanced-usage/using-the-api.adoc",
    "chars": 2494,
    "preview": "= Using the API\n\n== For Minecraft 1.18.2 or later\n\nStarting from Minecraft 1.18, you can include the Refined Storage API"
  },
  {
    "path": "docs/pages/autocrafting/autocrafting-with-filled-buckets.adoc",
    "chars": 644,
    "preview": "= Autocrafting with filled buckets\n\nSome crafting recipes may require a filled fluid bucket.\nTo use fluids from your flu"
  },
  {
    "path": "docs/pages/autocrafting/crafter-manager.adoc",
    "chars": 1022,
    "preview": "= Crafter Manager\n:icon: crafter-manager.png\n:from: v1.5.33\n\nThe Crafter Manager is a block that allows you to see all y"
  },
  {
    "path": "docs/pages/autocrafting/crafter.adoc",
    "chars": 1241,
    "preview": "= Crafter\n:icon: crafter.png\n:from: v0.6.0-alpha\n\nThe {doctitle} is a block that crafts items with xref:pattern.adoc[pat"
  },
  {
    "path": "docs/pages/autocrafting/crafting-monitor.adoc",
    "chars": 1268,
    "preview": "= Crafting Monitor\n:icon: crafting-monitor.png\n:from: v0.6.0-alpha\n\nThe {doctitle} is a block that shows all the current"
  },
  {
    "path": "docs/pages/autocrafting/fluid-autocrafting.adoc",
    "chars": 1479,
    "preview": "= Fluid autocrafting\n\nSo far you've set up autocrafting for items.\nSince Refined Storage has support for xref:../storage"
  },
  {
    "path": "docs/pages/autocrafting/getting-started-with-autocrafting.adoc",
    "chars": 4477,
    "preview": "= Getting started with autocrafting\n\n== What is autocrafting?\n\nAutocrafting is automated crafting through Refined Storag"
  },
  {
    "path": "docs/pages/autocrafting/index.adoc",
    "chars": 461,
    "preview": "= Autocrafting\n\n- xref:getting-started-with-autocrafting.adoc[]\n- xref:processing-recipes.adoc[]\n- xref:keeping-items-in"
  },
  {
    "path": "docs/pages/autocrafting/keeping-fluids-in-stock.adoc",
    "chars": 948,
    "preview": "= Keeping fluids in stock\n\nKeeping fluids in stock work the same way as xref:keeping-items-in-stock.adoc[keeping items i"
  },
  {
    "path": "docs/pages/autocrafting/keeping-items-in-stock.adoc",
    "chars": 630,
    "preview": "= Keeping items in stock\n\nCreate an xref:../input-and-output/interface.adoc[] with a xref:../upgrades/crafting-upgrade.a"
  },
  {
    "path": "docs/pages/autocrafting/locking-and-unlocking.adoc",
    "chars": 3098,
    "preview": "= Locking and unlocking\n:from: v1.6.6\n\nThe xref:crafter.adoc[] in Refined Storage supports locking mechanisms.\n\nLocking "
  },
  {
    "path": "docs/pages/autocrafting/pattern-grid.adoc",
    "chars": 2149,
    "preview": "= Pattern Grid\n:icon: pattern-grid.png\n:from: v0.6.0-alpha\n\nThe {doctitle} is the same as a regular xref:../viewing-reso"
  },
  {
    "path": "docs/pages/autocrafting/pattern.adoc",
    "chars": 1805,
    "preview": "= Pattern\n:icon: pattern.png\n:from: v0.6.0-alpha\n\nA {doctitle} is an item that is used in autocrafting.\nIt stores the re"
  },
  {
    "path": "docs/pages/autocrafting/processing-pattern-encoder.adoc",
    "chars": 807,
    "preview": "= Processing Pattern Encoder\n:icon: processing-pattern-encoder.png\n:from: v0.6.0-alpha\n:to: v1.5.6\n\n[.alert.alert-warnin"
  },
  {
    "path": "docs/pages/autocrafting/processing-recipes.adoc",
    "chars": 2183,
    "preview": "= Processing recipes\n\n== What are processing recipes?\n\nSo far, in xref:getting-started-with-autocrafting.adoc[] you lear"
  },
  {
    "path": "docs/pages/faq.adoc",
    "chars": 2753,
    "preview": "= Frequently asked questions (FAQ)\n\n== I have an idea for a feature that can be toggled on or off with an config option!"
  },
  {
    "path": "docs/pages/getting-started.adoc",
    "chars": 2523,
    "preview": "= Getting started\n\n== Core concepts\n\nRefined Storage is a storage mod where you can build a storage network made up of d"
  },
  {
    "path": "docs/pages/how-to-install.adoc",
    "chars": 2583,
    "preview": "= How to install\n\nInstalling Refined Storage is the same as for any other Forge mod.\n\n== Setting up Forge\n\nYou'll need a"
  },
  {
    "path": "docs/pages/index.adoc",
    "chars": 18,
    "preview": "= Refined Storage\n"
  },
  {
    "path": "docs/pages/index.html",
    "chars": 7730,
    "preview": "<!DOCTYPE html>\n<html layout:decorate=\"~{layout.html}\">\n<head>\n    <title th:utext=\"${title}\"></title>\n</head>\n<body>\n<d"
  },
  {
    "path": "docs/pages/input-and-output/constructor.adoc",
    "chars": 619,
    "preview": "= Constructor\n:icon: constructor.png\n:from: v0.3.0-alpha\n\nThe {doctitle} places items or fluids from the storage network"
  },
  {
    "path": "docs/pages/input-and-output/destructor.adoc",
    "chars": 563,
    "preview": "= Destructor\n:icon: destructor.png\n:from: v0.3.0-alpha\n\nThe {doctitle} destroys blocks or fluids in front of it and puts"
  },
  {
    "path": "docs/pages/input-and-output/disk-manipulator.adoc",
    "chars": 787,
    "preview": "= Disk Manipulator\n:icon: disk-manipulator.png\n:from: v1.0.5\n\nThe {doctitle} is a block that adds a fast way of transfer"
  },
  {
    "path": "docs/pages/input-and-output/exporter.adoc",
    "chars": 664,
    "preview": "= Exporter\n:icon: exporter.png\n:from: v0.3.0-alpha\n\nThe {doctitle} extracts items or fluids from the storage network and"
  },
  {
    "path": "docs/pages/input-and-output/fluid-interface.adoc",
    "chars": 836,
    "preview": "= Fluid Interface\n:icon: fluid-interface.png\n:from: v0.9.0-beta\n\nThe {doctitle} is the same as an xref:interface.adoc[] "
  },
  {
    "path": "docs/pages/input-and-output/getting-items-in-and-out.adoc",
    "chars": 1301,
    "preview": "= Getting items in and out\n\nSo far, you know xref:../getting-started.adoc[how to add storage disks to your network and v"
  },
  {
    "path": "docs/pages/input-and-output/importer.adoc",
    "chars": 711,
    "preview": "= Importer\n:icon: importer.png\n:from: v0.3.0-alpha\n\nThe {doctitle} imports items or fluids from an inventory in front of"
  },
  {
    "path": "docs/pages/input-and-output/index.adoc",
    "chars": 282,
    "preview": "= Input and output\n\n- xref:getting-items-in-and-out.adoc[]\n- xref:importer.adoc[]\n- xref:exporter.adoc[]\n- xref:construc"
  },
  {
    "path": "docs/pages/input-and-output/interface.adoc",
    "chars": 1426,
    "preview": "= Interface\n:icon: interface.png\n:from: v0.4.0-alpha\n\nThe Interface is a block that acts as a combination of the xref:im"
  },
  {
    "path": "docs/pages/input-and-output/reader.adoc",
    "chars": 630,
    "preview": "= Reader\n:icon: reader.png\n:from: v1.4.0-beta\n:to: v1.7.0-alpha\n\n[.alert.alert-warning]\n****\nThe {doctitle} has been rem"
  },
  {
    "path": "docs/pages/input-and-output/writer.adoc",
    "chars": 618,
    "preview": "= Writer\n:icon: writer.png\n:from: v1.4.0-beta\n:to: v1.7.0-alpha\n\n[.alert.alert-warning]\n****\nThe {doctitle} has been rem"
  },
  {
    "path": "docs/pages/need-help.adoc",
    "chars": 1007,
    "preview": "= Need help?\n\n== Supported versions\n\nBefore creating an issue on our issue tracker, ensure that your version is still su"
  },
  {
    "path": "docs/pages/need-help.html",
    "chars": 1928,
    "preview": "<!DOCTYPE html>\n<html layout:decorate=\"~{layout.html}\">\n<head>\n    <title th:utext=\"${title}\"></title>\n</head>\n<body>\n<d"
  },
  {
    "path": "docs/pages/networking/cable.adoc",
    "chars": 252,
    "preview": "= Cable\n:from: v0.3.0-alpha\n:icon: cable.png\n\n{doctitle} is used to connect devices to the xref:controller.adoc[].\n\nThey"
  },
  {
    "path": "docs/pages/networking/controller.adoc",
    "chars": 1474,
    "preview": "= Controller\n:from: v0.3.0-alpha\n:icon: controller.png\n\nThe {doctitle} is the core of the Refined Storage network.\nYou n"
  },
  {
    "path": "docs/pages/networking/creative-controller.adoc",
    "chars": 239,
    "preview": "= Creative Controller\n:from: v0.3.0-alpha\n:icon: controller.png\n\nThe {doctitle} is the same as a regular xref:controller"
  },
  {
    "path": "docs/pages/networking/detector.adoc",
    "chars": 848,
    "preview": "= Detector\n:icon: detector.png\n:from: v0.3.0-alpha\n\nThe {doctitle} is a block that emits a redstone signal if an item, o"
  },
  {
    "path": "docs/pages/networking/index.adoc",
    "chars": 135,
    "preview": "= Networking\n\n- xref:controller.adoc[]\n- xref:creative-controller.adoc[]\n- xref:cable.adoc[]\n- xref:detector.adoc[]\n- xr"
  },
  {
    "path": "docs/pages/networking/relay.adoc",
    "chars": 282,
    "preview": "= Relay\n:from: v0.4.0-alpha\n:icon: relay.png\n\nThe Relay acts as xref:cable.adoc[], but can be turned on or off depending"
  },
  {
    "path": "docs/pages/news/20210518-announcing-refined-storage-2.adoc",
    "chars": 1816,
    "preview": "= Announcing Refined Storage 2\n:type: article\n:description: A new major version of Refined Storage is in the works.\n:dat"
  },
  {
    "path": "docs/pages/news/20220704-a-big-milestone-for-refined-storage-2.adoc",
    "chars": 776,
    "preview": "= A big milestone for Refined Storage 2\n:type: article\n:description: The first milestone for Refined Storage 2 has been "
  },
  {
    "path": "docs/pages/news/20230707-a-week-of-modding.adoc",
    "chars": 1522,
    "preview": "= A week of modding\n:type: article\n:description: A week of modding for Refined Storage 1.x, Refined Storage Addons, and "
  },
  {
    "path": "docs/pages/news/20230819-refined-storage-2-milestone-2-completed.adoc",
    "chars": 2035,
    "preview": "= Refined Storage 2 - milestone 2 completed!\n:type: article\n:description: Milestone 2 for Refined Storage 2 has been com"
  },
  {
    "path": "docs/pages/news/20240319-refined-storage-2-status-update-march.adoc",
    "chars": 3173,
    "preview": "= Refined Storage 2 status update - March 2024\n:type: article\n:description: A status update on the development of Refine"
  },
  {
    "path": "docs/pages/news/20240628-refined-storage-2-milestone-3-completed.adoc",
    "chars": 3933,
    "preview": "= Refined Storage 2 - milestone 3 completed!\n:type: article\n:description: Milestone 3 for Refined Storage 2 has been com"
  },
  {
    "path": "docs/pages/news/index.adoc",
    "chars": 6,
    "preview": "= News"
  },
  {
    "path": "docs/pages/news/index.html",
    "chars": 1312,
    "preview": "<!DOCTYPE html>\n<html layout:decorate=\"~{layout.html}\">\n<head>\n    <title th:utext=\"${title}\"></title>\n</head>\n<body>\n<d"
  },
  {
    "path": "docs/pages/opencomputers-api.adoc",
    "chars": 1700,
    "preview": "= OpenComputers API\n\n[cols=\"1,1\"]\n|===\n|Method|Description|\n\n|`isConnected():boolean`|Whether the node is connected.\n|`g"
  },
  {
    "path": "docs/pages/release-notes.adoc",
    "chars": 16,
    "preview": "= Release notes\n"
  },
  {
    "path": "docs/pages/release-notes.html",
    "chars": 11544,
    "preview": "<!DOCTYPE html>\n<html layout:decorate=\"~{layout.html}\">\n<head>\n    <title th:utext=\"${title}\"></title>\n</head>\n<body>\n<d"
  },
  {
    "path": "docs/pages/security/index.adoc",
    "chars": 70,
    "preview": "= Security\n\n- xref:security-manager.adoc[]\n- xref:security-card.adoc[]"
  },
  {
    "path": "docs/pages/security/security-card.adoc",
    "chars": 245,
    "preview": "= Security Card\n:from: v1.4.0-beta\n:icon: security-card.png\n\nThe {doctitle} is an item that is bound to a player by righ"
  },
  {
    "path": "docs/pages/security/security-manager.adoc",
    "chars": 1554,
    "preview": "= Security Manager\n:from: v1.4.0-beta\n:icon: security-manager.png\n\nThe {doctitle} is a block that can store xref:securit"
  },
  {
    "path": "docs/pages/storage/1024k-fluid-storage-block.adoc",
    "chars": 234,
    "preview": "= 1024k Fluid Storage Block\n:icon: 1024k-fluid-storage-block.png\n:from: v0.9.0-beta\n\ninclude::../../partials/fluid-stora"
  },
  {
    "path": "docs/pages/storage/1024k-fluid-storage-disk.adoc",
    "chars": 231,
    "preview": "= 1024k Fluid Storage Disk\n:icon: 1024k-fluid-storage-disk.png\n:from: v0.9.0-beta\n\ninclude::../../partials/fluid-storage"
  },
  {
    "path": "docs/pages/storage/1024k-fluid-storage-part.adoc",
    "chars": 198,
    "preview": "= 1024k Fluid Storage Part\n:icon: 1024k-fluid-storage-part.png\n:from: v0.9.0-beta\n\nThe {doctitle} is used to craft the x"
  },
  {
    "path": "docs/pages/storage/16k-storage-block.adoc",
    "chars": 175,
    "preview": "= 16k Storage Block\n:icon: 16k-storage-block.png\n:from: v0.3.0-alpha\n\ninclude::../../partials/storage-block.adoc[]\n\n== S"
  },
  {
    "path": "docs/pages/storage/16k-storage-disk.adoc",
    "chars": 172,
    "preview": "= 16k Storage Disk\n:icon: 16k-storage-disk.png\n:from: v0.3.0-alpha\n\ninclude::../../partials/storage-disk.adoc[]\n\n== Stor"
  },
  {
    "path": "docs/pages/storage/16k-storage-part.adoc",
    "chars": 134,
    "preview": "= 16k Storage Part\n:icon: 16k-storage-part.png\n:from: v0.3.0-alpha\n\nThe {doctitle} is used to craft the xref:16k-storage"
  },
  {
    "path": "docs/pages/storage/1k-storage-block.adoc",
    "chars": 172,
    "preview": "= 1k Storage Block\n:icon: 1k-storage-block.png\n:from: v0.3.0-alpha\n\ninclude::../../partials/storage-block.adoc[]\n\n== Sto"
  },
  {
    "path": "docs/pages/storage/1k-storage-disk.adoc",
    "chars": 169,
    "preview": "= 1k Storage Disk\n:icon: 1k-storage-disk.png\n:from: v0.3.0-alpha\n\ninclude::../../partials/storage-disk.adoc[]\n\n== Storag"
  },
  {
    "path": "docs/pages/storage/1k-storage-part.adoc",
    "chars": 131,
    "preview": "= 1k Storage Part\n:icon: 1k-storage-part.png\n:from: v0.3.0-alpha\n\nThe {doctitle} is used to craft the xref:1k-storage-bl"
  },
  {
    "path": "docs/pages/storage/256k-fluid-storage-block.adoc",
    "chars": 230,
    "preview": "= 256k Fluid Storage Block\n:icon: 256k-fluid-storage-block.png\n:from: v0.9.0-beta\n\ninclude::../../partials/fluid-storage"
  },
  {
    "path": "docs/pages/storage/256k-fluid-storage-disk.adoc",
    "chars": 227,
    "preview": "= 256k Fluid Storage Disk\n:icon: 256k-fluid-storage-disk.png\n:from: v0.9.0-beta\n\ninclude::../../partials/fluid-storage-d"
  },
  {
    "path": "docs/pages/storage/256k-fluid-storage-part.adoc",
    "chars": 194,
    "preview": "= 256k Fluid Storage Part\n:icon: 256k-fluid-storage-part.png\n:from: v0.9.0-beta\n\nThe {doctitle} is used to craft the xre"
  },
  {
    "path": "docs/pages/storage/4096k-fluid-storage-block.adoc",
    "chars": 234,
    "preview": "= 4096k Fluid Storage Block\n:icon: 4096k-fluid-storage-block.png\n:from: v0.9.0-beta\n\ninclude::../../partials/fluid-stora"
  },
  {
    "path": "docs/pages/storage/4096k-fluid-storage-disk.adoc",
    "chars": 231,
    "preview": "= 4096k Fluid Storage Disk\n:icon: 4096k-fluid-storage-disk.png\n:from: v0.9.0-beta\n\ninclude::../../partials/fluid-storage"
  },
  {
    "path": "docs/pages/storage/4096k-fluid-storage-part.adoc",
    "chars": 198,
    "preview": "= 4096k Fluid Storage Part\n:icon: 4096k-fluid-storage-part.png\n:from: v0.9.0-beta\n\nThe {doctitle} is used to craft the x"
  },
  {
    "path": "docs/pages/storage/4k-storage-block.adoc",
    "chars": 172,
    "preview": "= 4k Storage Block\n:icon: 4k-storage-block.png\n:from: v0.3.0-alpha\n\ninclude::../../partials/storage-block.adoc[]\n\n== Sto"
  },
  {
    "path": "docs/pages/storage/4k-storage-disk.adoc",
    "chars": 169,
    "preview": "= 4k Storage Disk\n:icon: 4k-storage-disk.png\n:from: v0.3.0-alpha\n\ninclude::../../partials/storage-disk.adoc[]\n\n== Storag"
  },
  {
    "path": "docs/pages/storage/4k-storage-part.adoc",
    "chars": 131,
    "preview": "= 4k Storage Part\n:icon: 4k-storage-part.png\n:from: v0.3.0-alpha\n\nThe {doctitle} is used to craft the xref:4k-storage-bl"
  },
  {
    "path": "docs/pages/storage/64k-fluid-storage-block.adoc",
    "chars": 220,
    "preview": "= 64k Fluid Storage Block\n:icon: 64k-storage-block.png\n:from: v0.9.0-beta\n\ninclude::../../partials/fluid-storage-block.a"
  },
  {
    "path": "docs/pages/storage/64k-fluid-storage-disk.adoc",
    "chars": 223,
    "preview": "= 64k Fluid Storage Disk\n:icon: 64k-fluid-storage-disk.png\n:from: v0.9.0-beta\n\ninclude::../../partials/fluid-storage-dis"
  },
  {
    "path": "docs/pages/storage/64k-fluid-storage-part.adoc",
    "chars": 190,
    "preview": "= 64k Fluid Storage Part\n:icon: 64k-fluid-storage-part.png\n:from: v0.9.0-beta\n\nThe {doctitle} is used to craft the xref:"
  },
  {
    "path": "docs/pages/storage/64k-storage-block.adoc",
    "chars": 175,
    "preview": "= 64k Storage Block\n:icon: 64k-storage-block.png\n:from: v0.3.0-alpha\n\ninclude::../../partials/storage-block.adoc[]\n\n== S"
  },
  {
    "path": "docs/pages/storage/64k-storage-disk.adoc",
    "chars": 172,
    "preview": "= 64k Storage Disk\n:icon: 64k-storage-disk.png\n:from: v0.3.0-alpha\n\ninclude::../../partials/storage-disk.adoc[]\n\n== Stor"
  },
  {
    "path": "docs/pages/storage/64k-storage-part.adoc",
    "chars": 134,
    "preview": "= 64k Storage Part\n:icon: 64k-storage-part.png\n:from: v0.3.0-alpha\n\nThe {doctitle} is used to craft the xref:64k-storage"
  },
  {
    "path": "docs/pages/storage/creative-fluid-storage-block.adoc",
    "chars": 262,
    "preview": "= Creative Fluid Storage Block\n:icon: creative-fluid-storage-block.png\n:from: v0.9.0-beta\n\ninclude::../../partials/fluid"
  },
  {
    "path": "docs/pages/storage/creative-fluid-storage-disk.adoc",
    "chars": 259,
    "preview": "= Creative Fluid Storage Disk\n:icon: creative-fluid-storage-disk.png\n:from: v0.9.0-beta\n\ninclude::../../partials/fluid-s"
  },
  {
    "path": "docs/pages/storage/creative-storage-block.adoc",
    "chars": 243,
    "preview": "= Creative Storage Block\n:icon: creative-storage-block.png\n:from: v0.3.0-alpha\n\ninclude::../../partials/storage-block.ad"
  },
  {
    "path": "docs/pages/storage/creative-storage-disk.adoc",
    "chars": 240,
    "preview": "= Creative Storage Disk\n:icon: creative-storage-disk.png\n:from: v0.3.0-alpha\n\ninclude::../../partials/storage-disk.adoc["
  },
  {
    "path": "docs/pages/storage/disk-drive.adoc",
    "chars": 793,
    "preview": "= Disk Drive\n:icon: disk-drive.png\n:from: v0.3.0-alpha\n\nThe Disk Drive is the block in which you store xref:index.adoc#_"
  },
  {
    "path": "docs/pages/storage/external-storage.adoc",
    "chars": 685,
    "preview": "= External Storage\n:from: v0.3.0-alpha\n:icon: external-storage.png\n\nThe {doctitle} is a block that provides the storage "
  },
  {
    "path": "docs/pages/storage/index.adoc",
    "chars": 1403,
    "preview": "= Storage\n\n- xref:storing-externally.adoc[]\n- xref:storing-fluids.adoc[]\n\n== Network devices\n\n- xref:disk-drive.adoc[]\n-"
  },
  {
    "path": "docs/pages/storage/storage-housing.adoc",
    "chars": 635,
    "preview": "= Storage Housing\n:icon: storage-housing.png\n:from: v0.6.0-alpha\n\nA Storage Housing is a xref:index.adoc#_storage_disks["
  },
  {
    "path": "docs/pages/storage/storing-externally.adoc",
    "chars": 1203,
    "preview": "= Storing externally\n\nSo far you've used xref:index.adoc#_storage_disks[storage disks] or xref:index.adoc#_storage_block"
  },
  {
    "path": "docs/pages/storage/storing-fluids.adoc",
    "chars": 1012,
    "preview": "= Storing fluids\n\nAs opposed to only item storage, Refined Storage is able to store fluids as well.\nThis is done in the "
  },
  {
    "path": "docs/pages/upgrades/crafting-upgrade.adoc",
    "chars": 259,
    "preview": "= Crafting Upgrade\n:icon: crafting-upgrade.png\n:from: v0.6.0-alpha\n\nThe {doctitle} will schedule a crafting task when th"
  },
  {
    "path": "docs/pages/upgrades/fortune-upgrade.adoc",
    "chars": 374,
    "preview": "= Fortune Upgrade\n:icon: fortune-upgrade.png\n:from: v1.2.0\n\nThe {doctitle} will make the xref:../input-and-output/destru"
  },
  {
    "path": "docs/pages/upgrades/index.adoc",
    "chars": 283,
    "preview": "= Upgrades\n\n- xref:upgrade.adoc[]\n- xref:range-upgrade.adoc[]\n- xref:speed-upgrade.adoc[]\n- xref:stack-upgrade.adoc[]\n- "
  },
  {
    "path": "docs/pages/upgrades/interdimensional-upgrade.adoc",
    "chars": 481,
    "preview": "= Interdimensional Upgrade\n:icon: interdimensional-upgrade.png\n:from: v0.8.14-beta\n:to: v1.6.10\n\n[.alert.alert-warning]\n"
  },
  {
    "path": "docs/pages/upgrades/range-upgrade.adoc",
    "chars": 241,
    "preview": "= Range Upgrade\n:icon: range-upgrade.png\n:from: v0.6.0-alpha\n\nThe {doctitle} increases the range of the xref:../wireless"
  },
  {
    "path": "docs/pages/upgrades/regulator-upgrade.adoc",
    "chars": 775,
    "preview": "= Regulator Upgrade\n:icon: regulator-upgrade.png\n:from: v1.8.3-beta\n\nThe Regulator Upgrade is an upgrade that can be ins"
  },
  {
    "path": "docs/pages/upgrades/silk-touch-upgrade.adoc",
    "chars": 264,
    "preview": "= Silk Touch Upgrade\n:icon: silk-touch-upgrade.png\n:from: v1.2.0\n\nThe {doctitle} makes the xref:../input-and-output/dest"
  },
  {
    "path": "docs/pages/upgrades/speed-upgrade.adoc",
    "chars": 225,
    "preview": "= Speed Upgrade\n:icon: speed-upgrade.png\n:from: v0.6.0-alpha\n\nThe {doctitle} will increase the speed of the device that "
  },
  {
    "path": "docs/pages/upgrades/stack-upgrade.adoc",
    "chars": 374,
    "preview": "= Stack Upgrade\n:icon: stack-upgrade.png\n:from: v0.7.7-beta\n\nThe {doctitle} will improve item or fluid transfer speeds b"
  },
  {
    "path": "docs/pages/upgrades/upgrade.adoc",
    "chars": 130,
    "preview": "= Upgrade\n:icon: upgrade.png\n:from: v0.6.0-alpha\n\nThe {doctitle} is the base item used for xref:index.adoc[every type of"
  },
  {
    "path": "docs/pages/utility/advanced-processor.adoc",
    "chars": 112,
    "preview": "= Advanced Processor\n:icon: advanced-processor.png\n:from: v0.3.0-alpha\n\ninclude::../../partials/processor.adoc[]"
  },
  {
    "path": "docs/pages/utility/basic-processor.adoc",
    "chars": 106,
    "preview": "= Basic Processor\n:icon: basic-processor.png\n:from: v0.3.0-alpha\n\ninclude::../../partials/processor.adoc[]"
  },
  {
    "path": "docs/pages/utility/block-of-quartz-enriched-iron.adoc",
    "chars": 158,
    "preview": "= Block of Quartz Enriched Iron\n:from: v1.4.0-beta\n:icon: block-of-quartz-enriched-iron.png\n\nThe {doctitle} is xref:quar"
  },
  {
    "path": "docs/pages/utility/construction-core.adoc",
    "chars": 189,
    "preview": "= Construction Core\n:from: v0.3.0-alpha\n:icon: construction-core.png\n\nThe {doctitle} is used in recipes for devices that"
  },
  {
    "path": "docs/pages/utility/cover.adoc",
    "chars": 468,
    "preview": "= Cover\n:icon: cover.png\n:from: v1.6.0-alpha\n\nA {doctitle} is an item used to hide xref:../networking/cable.adoc[cables]"
  },
  {
    "path": "docs/pages/utility/cut-silicon.adoc",
    "chars": 295,
    "preview": "= Cut Silicon\n:icon: cut-silicon.png\n:from: v0.3.0-alpha\n:to: v1.6.6\n\n[.alert.alert-warning]\n****\n{doctitle} has been re"
  },
  {
    "path": "docs/pages/utility/cutting-tool.adoc",
    "chars": 290,
    "preview": "= Cutting Tool\n:icon: cutting-tool.png\n:from: v1.6.0\n:to: v1.7.0-alpha\n\n[.alert.alert-warning]\n****\nThe Cutting Tool has"
  },
  {
    "path": "docs/pages/utility/destruction-core.adoc",
    "chars": 187,
    "preview": "= Destruction Core\n:from: v0.3.0-alpha\n:icon: destruction-core.png\n\nThe {doctitle} is used in recipes for devices that t"
  },
  {
    "path": "docs/pages/utility/filter.adoc",
    "chars": 1112,
    "preview": "= Filter\n:icon: filter.png\n:from: v0.8.13-beta\n\nThe {doctitle} is an item that can be used in any xref:../viewing-resour"
  },
  {
    "path": "docs/pages/utility/hollow-cover.adoc",
    "chars": 466,
    "preview": "= Hollow Cover\n:icon: hollow-cover.png\n:from: v1.6.0\n\nA {doctitle} is the same as a xref:cover.adoc[] but has a hole so "
  },
  {
    "path": "docs/pages/utility/improved-processor.adoc",
    "chars": 112,
    "preview": "= Improved Processor\n:icon: improved-processor.png\n:from: v0.3.0-alpha\n\ninclude::../../partials/processor.adoc[]"
  },
  {
    "path": "docs/pages/utility/index.adoc",
    "chars": 663,
    "preview": "= Utility\n\n- xref:quartz-enriched-iron.adoc[]\n- xref:block-of-quartz-enriched-iron.adoc[]\n- xref:silicon.adoc[]\n- xref:c"
  },
  {
    "path": "docs/pages/utility/machine-casing.adoc",
    "chars": 148,
    "preview": "= Machine Casing\n:icon: machine-casing.png\n:from: v0.3.0-alpha\n\nThe {doctitle} is a block that is used to craft the vari"
  },
  {
    "path": "docs/pages/utility/processor-binding.adoc",
    "chars": 115,
    "preview": "= Processor Binding\n:icon: processor-binding.png\n:from: v1.6.6\n\n{doctitle} is used to craft the various processors."
  },
  {
    "path": "docs/pages/utility/quartz-enriched-iron.adoc",
    "chars": 194,
    "preview": "= Quartz Enriched Iron\n:icon: quartz-enriched-iron.png\n:from: v0.3.0-alpha\n\n{doctitle} is like the name says, iron enric"
  },
  {
    "path": "docs/pages/utility/raw-advanced-processor.adoc",
    "chars": 145,
    "preview": "= Raw Advanced Processor\n:icon: raw-advanced-processor.png\n:from: v0.3.0-alpha\n\nThe {doctitle} is used to craft a xref:a"
  },
  {
    "path": "docs/pages/utility/raw-basic-processor.adoc",
    "chars": 136,
    "preview": "= Raw Basic Processor\n:icon: raw-basic-processor.png\n:from: v0.3.0-alpha\n\nThe {doctitle} is used to craft a xref:basic-p"
  },
  {
    "path": "docs/pages/utility/raw-improved-processor.adoc",
    "chars": 145,
    "preview": "= Raw Improved Processor\n:icon: raw-improved-processor.png\n:from: v0.3.0-alpha\n\nThe {doctitle} is used to craft a xref:i"
  },
  {
    "path": "docs/pages/utility/silicon.adoc",
    "chars": 162,
    "preview": "= Silicon\n:icon: silicon.png\n:since: v0.3.0-alpha\n\n{doctitle} can be obtained by smelting quartz.\n\nThis item has no use "
  },
  {
    "path": "docs/pages/utility/solderer.adoc",
    "chars": 599,
    "preview": "= Solderer\n:icon: solderer.png\n:from: v0.3.0-alpha\n:to: v1.6.0\n\n[.alert.alert-warning]\n****\nThe {doctitle} has been remo"
  },
  {
    "path": "docs/pages/utility/wrench.adoc",
    "chars": 212,
    "preview": "= Wrench\n:icon: wrench.png\n:from: v1.2.0\n\nThe {doctitle} is a tool that can do two things:\n\n- Rotate blocks\n- Break Refi"
  },
  {
    "path": "docs/pages/viewing-resources/crafting-grid.adoc",
    "chars": 929,
    "preview": "= Crafting Grid\n:icon: crafting-grid.png\n:from: v0.3.0-alpha\n\nThe {doctitle} is the same as a regular xref:grid.adoc[], "
  },
  {
    "path": "docs/pages/viewing-resources/fluid-grid.adoc",
    "chars": 863,
    "preview": "= Fluid Grid\n:from: v0.9.0-beta\n:icon: fluid-grid.png\n\nThe {doctitle} is the same as a regular xref:grid.adoc[], but is "
  },
  {
    "path": "docs/pages/viewing-resources/grid.adoc",
    "chars": 3281,
    "preview": "= Grid\n:icon: grid.png\n:from: v0.3.0-alpha\n\nThe {doctitle} is a block that allows access to the items and fluids in the "
  },
  {
    "path": "docs/pages/viewing-resources/how-to-view-resources.adoc",
    "chars": 1294,
    "preview": "= How to view resources\n\n== Grid\n\nYou can use the xref:grid.adoc[], xref:crafting-grid.adoc[] or xref:fluid-grid.adoc[] "
  },
  {
    "path": "docs/pages/viewing-resources/index.adoc",
    "chars": 187,
    "preview": "= Viewing resources\n\n- xref:how-to-view-resources.adoc[]\n- xref:grid.adoc[]\n- xref:crafting-grid.adoc[]\n- xref:fluid-gri"
  },
  {
    "path": "docs/pages/viewing-resources/portable-grid.adoc",
    "chars": 1006,
    "preview": "= Portable Grid\n:icon: portable-grid.png\n:from: v1.4.5-beta\n\nThe {doctitle} is a portable storage that isn't connected t"
  },
  {
    "path": "docs/pages/viewing-resources/storage-monitor.adoc",
    "chars": 1075,
    "preview": "= Storage Monitor\n:icon: storage-monitor.png\n:from: v1.4.1-beta\n\nThe {doctitle} is a block that displays the current amo"
  },
  {
    "path": "docs/pages/wireless-networking/creative-wireless-crafting-monitor.adoc",
    "chars": 235,
    "preview": "= Creative Wireless Crafting Monitor\n:icon: wireless-crafting-monitor.png\n:from: v1.2.1\n\nThe {doctitle} is the same as a"
  },
  {
    "path": "docs/pages/wireless-networking/creative-wireless-fluid-grid.adoc",
    "chars": 221,
    "preview": "= Creative Wireless Fluid Grid\n:from: v1.4.0-beta\n:icon: wireless-fluid-grid.png\n\nThe {doctitle} is the same as a regula"
  },
  {
    "path": "docs/pages/wireless-networking/creative-wireless-grid.adoc",
    "chars": 204,
    "preview": "= Creative Wireless Grid\n:icon: wireless-grid.png\n:from: v0.5.3-alpha\n\nThe {doctitle} is the same as a regular xref:wire"
  },
  {
    "path": "docs/pages/wireless-networking/index.adoc",
    "chars": 504,
    "preview": "= Wireless networking\n\n- xref:networks-over-long-distances.adoc[]\n\n== Wireless tools\n\n- xref:wireless-transmitter.adoc[]"
  },
  {
    "path": "docs/pages/wireless-networking/network-card.adoc",
    "chars": 225,
    "preview": "= Network Card\n:from: v0.8.13-beta\n:icon: network-card.png\n\nA {doctitle} is an item that stores the coordinates of a xre"
  },
  {
    "path": "docs/pages/wireless-networking/network-receiver.adoc",
    "chars": 398,
    "preview": "= Network Receiver\n:icon: network-receiver.png\n:from: v0.8.13-beta\n\nThe {doctitle} is the block that receives a signal f"
  },
  {
    "path": "docs/pages/wireless-networking/network-transmitter.adoc",
    "chars": 573,
    "preview": "= Network Transmitter\n:icon: network-transmitter.png\n:from: v0.8.13-beta\n\nA {doctitle} sends a network signal to a xref:"
  },
  {
    "path": "docs/pages/wireless-networking/networks-over-long-distances.adoc",
    "chars": 2133,
    "preview": "= Networks over long distances\n\nRefined Storage supports 2 scenarios for long distance networking:\n\n- xref:../viewing-re"
  },
  {
    "path": "docs/pages/wireless-networking/wireless-crafting-grid.adoc",
    "chars": 1608,
    "preview": "= Wireless Crafting Grid\n:icon: wireless-crafting-grid.png\n\nWith the {doctitle} the player can access their items and ha"
  },
  {
    "path": "docs/pages/wireless-networking/wireless-crafting-monitor.adoc",
    "chars": 1407,
    "preview": "= Wireless Crafting Monitor\n:icon: wireless-crafting-monitor.png\n:from: v1.2.1\n\nWith the {doctitle} the player can see w"
  },
  {
    "path": "docs/pages/wireless-networking/wireless-fluid-grid.adoc",
    "chars": 1416,
    "preview": "= Wireless Fluid Grid\n:icon: wireless-fluid-grid.png\n:from: v1.4.0-beta\n\nWith the {doctitle} the player can access their"
  },
  {
    "path": "docs/pages/wireless-networking/wireless-grid.adoc",
    "chars": 1418,
    "preview": "= Wireless Grid\n:from: v0.3.0-alpha\n:icon: wireless-grid.png\n\nWith the {doctitle} the player can access their items from"
  },
  {
    "path": "docs/pages/wireless-networking/wireless-transmitter.adoc",
    "chars": 1054,
    "preview": "= Wireless Transmitter\n:icon: wireless-transmitter.png\n:from: v0.6.0-alpha\n\nThe {doctitle} is used to send signals to wi"
  },
  {
    "path": "docs/partials/fluid-storage-block.adoc",
    "chars": 1121,
    "preview": "The {doctitle} is a block that provides the system with storage.\nIt is similar to the xref:../pages/storage/index.adoc#_"
  },
  {
    "path": "docs/partials/fluid-storage-disk.adoc",
    "chars": 446,
    "preview": "A {doctitle} is an item where items from the storage system are stored on.\nIt has to be put in a xref:../pages/storage/d"
  },
  {
    "path": "docs/partials/processor.adoc",
    "chars": 68,
    "preview": "The {doctitle} is used to craft the various Refined Storage devices."
  },
  {
    "path": "docs/partials/recoloring.adoc",
    "chars": 143,
    "preview": "== Recoloring\n\nYou can recolor the {doctitle} in 2 ways:\n\n- Using a dye on the {doctitle}\n- Combining the block with a d"
  },
  {
    "path": "docs/partials/search-box.adoc",
    "chars": 1873,
    "preview": "== Search box modes\n\n[cols=\"1,1\"]\n|===\n|Type|Description\n\n|Normal|The default search box mode\n|Normal (autoselected)|Aut"
  },
  {
    "path": "docs/partials/storage-block.adoc",
    "chars": 1094,
    "preview": "The {doctitle} is a block that provides the system with storage.\nIt is similar to the xref:../pages/storage/index.adoc#_"
  },
  {
    "path": "docs/partials/storage-disk.adoc",
    "chars": 435,
    "preview": "A {doctitle} is an item where items from the storage network are stored on.\nIt has to be put in a xref:../pages/storage/"
  },
  {
    "path": "gradle/wrapper/gradle-wrapper.properties",
    "chars": 250,
    "preview": "distributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\ndistributionUrl=https\\://services.gradle.org/distributi"
  },
  {
    "path": "gradle.properties",
    "chars": 236,
    "preview": "# Sets default memory used for gradle commands. Can be overridden by user or command line properties.\n# This is required"
  },
  {
    "path": "gradlew",
    "chars": 8165,
    "preview": "#!/bin/sh\n\n#\n# Copyright © 2015-2021 the original authors.\n#\n# Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "gradlew.bat",
    "chars": 2747,
    "preview": "@rem\n@rem Copyright 2015 the original author or authors.\n@rem\n@rem Licensed under the Apache License, Version 2.0 (the \""
  },
  {
    "path": "images/description.md",
    "chars": 916,
    "preview": "![Refined Storage logo](https://i.imgur.com/Ro6lk7U.png)\n\n## Refined Storage is a mass storage mod for Minecraft that of"
  },
  {
    "path": "src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d",
    "chars": 26852,
    "preview": "// 1.20.4\t2024-02-12T20:34:18.534056485\tLoot Tables\n24df81614f6b28c4c7e59589d79fd2c929d71727 data/refinedstorage/loot_ta"
  },
  {
    "path": "src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e",
    "chars": 68260,
    "preview": "// 1.20.4\t2024-02-12T20:34:18.538076766\tRecipes\nd350b2771bd4ad63c80d048da51e610005d6daca data/refinedstorage/advancement"
  },
  {
    "path": "src/generated/resources/.cache/c52895b732924e707cb6e5ddd1c6b6962039449c",
    "chars": 171,
    "preview": "// 1.20.4\t2024-02-12T20:34:18.531158825\tBlock Entity Type Tags\n98555d946827da8ddb7a7c451a1c99f4d0184ad3 data/packingtape"
  },
  {
    "path": "src/generated/resources/.cache/cb654f100e416ac39358630d6623170b9bfdc5d2",
    "chars": 1443,
    "preview": "// 1.20.4\t2024-02-12T20:34:18.533198729\tTags for minecraft:item mod id refinedstorage\n061bf4c2f3bdd530115615f2b04e55c260"
  },
  {
    "path": "src/generated/resources/.cache/f481442ce31db2c3b3dabb5b6d85f9a78568164e",
    "chars": 1651,
    "preview": "// 1.20.4\t2024-02-12T20:34:18.553572165\tTags for minecraft:block mod id refinedstorage\n7af8948adf9214476b9b2995799c32277"
  },
  {
    "path": "src/generated/resources/.cache/fd27170b6bf91459ed2598d25721edfeafc82e0a",
    "chars": 77245,
    "preview": "// 1.20.4\t2024-02-12T20:34:18.545348794\tBlock States: refinedstorage\n7b69e3ab3a7471a50e264579d36c04adb8acad35 assets/ref"
  },
  {
    "path": "src/generated/resources/assets/refinedstorage/blockstates/black_controller.json",
    "chars": 389,
    "preview": "{\n  \"variants\": {\n    \"energy_type=nearly_off\": {\n      \"model\": \"refinedstorage:block/controller/nearly_off\"\n    },\n   "
  },
  {
    "path": "src/generated/resources/assets/refinedstorage/blockstates/black_crafter.json",
    "chars": 1492,
    "preview": "{\n  \"variants\": {\n    \"connected=false,direction=down\": {\n      \"model\": \"refinedstorage:block/crafter/disconnected\",\n  "
  },
  {
    "path": "src/generated/resources/assets/refinedstorage/blockstates/black_crafter_manager.json",
    "chars": 1000,
    "preview": "{\n  \"variants\": {\n    \"connected=false,direction=east\": {\n      \"model\": \"refinedstorage:block/crafter_manager/disconnec"
  },
  {
    "path": "src/generated/resources/assets/refinedstorage/blockstates/black_crafting_grid.json",
    "chars": 984,
    "preview": "{\n  \"variants\": {\n    \"connected=false,direction=east\": {\n      \"model\": \"refinedstorage:block/crafting_grid/disconnecte"
  },
  {
    "path": "src/generated/resources/assets/refinedstorage/blockstates/black_crafting_monitor.json",
    "chars": 1008,
    "preview": "{\n  \"variants\": {\n    \"connected=false,direction=east\": {\n      \"model\": \"refinedstorage:block/crafting_monitor/disconne"
  },
  {
    "path": "src/generated/resources/assets/refinedstorage/blockstates/black_creative_controller.json",
    "chars": 389,
    "preview": "{\n  \"variants\": {\n    \"energy_type=nearly_off\": {\n      \"model\": \"refinedstorage:block/controller/nearly_off\"\n    },\n   "
  },
  {
    "path": "src/generated/resources/assets/refinedstorage/blockstates/black_detector.json",
    "chars": 185,
    "preview": "{\n  \"variants\": {\n    \"powered=false\": {\n      \"model\": \"refinedstorage:block/detector/off\"\n    },\n    \"powered=true\": {"
  },
  {
    "path": "src/generated/resources/assets/refinedstorage/blockstates/black_disk_manipulator.json",
    "chars": 101,
    "preview": "{\n  \"variants\": {\n    \"\": {\n      \"model\": \"refinedstorage:block/disk_manipulator/loader\"\n    }\n  }\n}"
  },
  {
    "path": "src/generated/resources/assets/refinedstorage/blockstates/black_fluid_grid.json",
    "chars": 960,
    "preview": "{\n  \"variants\": {\n    \"connected=false,direction=east\": {\n      \"model\": \"refinedstorage:block/fluid_grid/disconnected\","
  },
  {
    "path": "src/generated/resources/assets/refinedstorage/blockstates/black_grid.json",
    "chars": 912,
    "preview": "{\n  \"variants\": {\n    \"connected=false,direction=east\": {\n      \"model\": \"refinedstorage:block/grid/disconnected\",\n     "
  },
  {
    "path": "src/generated/resources/assets/refinedstorage/blockstates/black_network_receiver.json",
    "chars": 214,
    "preview": "{\n  \"variants\": {\n    \"connected=false\": {\n      \"model\": \"refinedstorage:block/network_receiver/disconnected\"\n    },\n  "
  },
  {
    "path": "src/generated/resources/assets/refinedstorage/blockstates/black_network_transmitter.json",
    "chars": 220,
    "preview": "{\n  \"variants\": {\n    \"connected=false\": {\n      \"model\": \"refinedstorage:block/network_transmitter/disconnected\"\n    },"
  },
  {
    "path": "src/generated/resources/assets/refinedstorage/blockstates/black_pattern_grid.json",
    "chars": 976,
    "preview": "{\n  \"variants\": {\n    \"connected=false,direction=east\": {\n      \"model\": \"refinedstorage:block/pattern_grid/disconnected"
  },
  {
    "path": "src/generated/resources/assets/refinedstorage/blockstates/black_relay.json",
    "chars": 192,
    "preview": "{\n  \"variants\": {\n    \"connected=false\": {\n      \"model\": \"refinedstorage:block/relay/disconnected\"\n    },\n    \"connecte"
  },
  {
    "path": "src/generated/resources/assets/refinedstorage/blockstates/black_security_manager.json",
    "chars": 1008,
    "preview": "{\n  \"variants\": {\n    \"connected=false,direction=east\": {\n      \"model\": \"refinedstorage:block/security_manager/disconne"
  },
  {
    "path": "src/generated/resources/assets/refinedstorage/blockstates/black_wireless_transmitter.json",
    "chars": 1648,
    "preview": "{\n  \"variants\": {\n    \"connected=false,direction=down\": {\n      \"model\": \"refinedstorage:block/wireless_transmitter/disc"
  },
  {
    "path": "src/generated/resources/assets/refinedstorage/blockstates/blue_controller.json",
    "chars": 388,
    "preview": "{\n  \"variants\": {\n    \"energy_type=nearly_off\": {\n      \"model\": \"refinedstorage:block/controller/nearly_off\"\n    },\n   "
  },
  {
    "path": "src/generated/resources/assets/refinedstorage/blockstates/blue_crafter.json",
    "chars": 1486,
    "preview": "{\n  \"variants\": {\n    \"connected=false,direction=down\": {\n      \"model\": \"refinedstorage:block/crafter/disconnected\",\n  "
  },
  {
    "path": "src/generated/resources/assets/refinedstorage/blockstates/blue_crafter_manager.json",
    "chars": 996,
    "preview": "{\n  \"variants\": {\n    \"connected=false,direction=east\": {\n      \"model\": \"refinedstorage:block/crafter_manager/disconnec"
  }
]

// ... and 2608 more files (download for full content)

About this extraction

This page contains the full source code of the refinedmods/refinedstorage GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 2808 files (3.6 MB), approximately 1.1M tokens, and a symbol index with 5045 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!