Full Code of CyclopsMC/IntegratedDynamics for AI

master-26 66ff328cf5f8 cached
2703 files
6.2 MB
1.8M tokens
8967 symbols
1 requests
Download .txt
Showing preview only (7,401K chars total). Download the full file or copy to clipboard to get everything.
Repository: CyclopsMC/IntegratedDynamics
Branch: master-26
Commit: 66ff328cf5f8
Files: 2703
Total size: 6.2 MB

Directory structure:
gitextract_lqd2fk71/

├── .gitattributes
├── .github/
│   ├── CONTRIBUTING.md
│   ├── FUNDING.yml
│   ├── ISSUE_TEMPLATE/
│   │   ├── Bug_report.md
│   │   ├── Feature_request.md
│   │   ├── Performance_issue.md
│   │   └── Question.md
│   ├── ISSUE_TEMPLATE.md
│   ├── issue-commenter.yml
│   ├── labeler.yml
│   ├── no-response.yml
│   ├── parse_benchmark_results.sh
│   └── workflows/
│       ├── ci.yml
│       ├── close-issues-no-response.yml
│       ├── copilot-setup-steps.yml
│       ├── crowdin.yml
│       ├── fuzzing.yml
│       ├── issue-label-commenter.yml
│       ├── issue-label-to-project-board.yml
│       ├── new-issue-label.yml
│       ├── performance.yml
│       └── publish-github-release.yml
├── .gitignore
├── .gitmodules
├── AGENTS.md
├── CHANGELOG-1.19.2.md
├── CHANGELOG-1.20.1.md
├── CHANGELOG-1.21.1.md
├── CHANGELOG-26.1.1.md
├── CHANGELOG-26.1.2.md
├── LICENSE.txt
├── PERFORMANCE_BENCHMARKING.md
├── README.md
├── build.gradle
├── crowdin.yml
├── gradle/
│   └── wrapper/
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── keystore.jks.enc
├── resources/
│   ├── cfmodel/
│   │   ├── display.model
│   │   ├── reader.model
│   │   ├── squeezer.model
│   │   └── writer.model
│   ├── changelog/
│   │   ├── 1.10.2-0.6.0.txt
│   │   ├── 1.10.2-0.6.1.txt
│   │   ├── 1.10.2-0.6.10.txt
│   │   ├── 1.10.2-0.6.11.txt
│   │   ├── 1.10.2-0.6.12.txt
│   │   ├── 1.10.2-0.6.2.txt
│   │   ├── 1.10.2-0.6.3.txt
│   │   ├── 1.10.2-0.6.4.txt
│   │   ├── 1.10.2-0.6.5.txt
│   │   ├── 1.10.2-0.6.6.txt
│   │   ├── 1.10.2-0.6.7.txt
│   │   ├── 1.10.2-0.6.8.txt
│   │   ├── 1.10.2-0.6.9.txt
│   │   ├── 1.10.2-0.7.0.txt
│   │   ├── 1.10.2-0.7.1.txt
│   │   ├── 1.10.2-0.7.2.txt
│   │   ├── 1.10.2-0.7.3.txt
│   │   ├── 1.10.2-0.7.4.txt
│   │   ├── 1.10.2-0.7.5.txt
│   │   ├── 1.10.2-0.7.6.txt
│   │   ├── 1.10.2-0.7.7.txt
│   │   ├── 1.10.2-0.7.8.txt
│   │   ├── 1.10.2-0.7.9.txt
│   │   ├── 1.11.2-0.6.10.txt
│   │   ├── 1.11.2-0.6.11.txt
│   │   ├── 1.11.2-0.6.12.txt
│   │   ├── 1.11.2-0.6.5.txt
│   │   ├── 1.11.2-0.6.7.txt
│   │   ├── 1.11.2-0.6.8.txt
│   │   ├── 1.11.2-0.6.9.txt
│   │   ├── 1.11.2-0.7.0.txt
│   │   ├── 1.11.2-0.7.1.txt
│   │   ├── 1.11.2-0.7.2.txt
│   │   ├── 1.11.2-0.7.3.txt
│   │   ├── 1.11.2-0.7.4.txt
│   │   ├── 1.11.2-0.7.5.txt
│   │   ├── 1.11.2-0.7.6.txt
│   │   ├── 1.11.2-0.7.7.txt
│   │   ├── 1.11.2-0.8.0.txt
│   │   ├── 1.11.2-0.8.1.txt
│   │   ├── 1.11.2-0.8.2.txt
│   │   ├── 1.11.2-0.8.3.txt
│   │   ├── 1.11.2-0.8.4.txt
│   │   ├── 1.11.2-0.8.5.txt
│   │   ├── 1.12-0.7.5.txt
│   │   ├── 1.12-0.7.6.txt
│   │   ├── 1.12-0.7.7.txt
│   │   ├── 1.12-0.8.0.txt
│   │   ├── 1.12-0.8.1.txt
│   │   ├── 1.12-0.8.2.txt
│   │   ├── 1.12-0.8.3.txt
│   │   ├── 1.12-0.8.4.txt
│   │   ├── 1.12-0.8.5.txt
│   │   ├── 1.12-0.8.6.txt
│   │   ├── 1.12-0.8.7.txt
│   │   ├── 1.12-0.9.0.txt
│   │   ├── 1.12-0.9.1.txt
│   │   ├── 1.12-0.9.2.txt
│   │   ├── 1.12-0.9.3.txt
│   │   ├── 1.12.2-0.10.0.txt
│   │   ├── 1.12.2-0.10.1.txt
│   │   ├── 1.12.2-0.10.2.txt
│   │   ├── 1.12.2-0.10.3.txt
│   │   ├── 1.12.2-0.10.4.txt
│   │   ├── 1.12.2-0.11.0.txt
│   │   ├── 1.12.2-0.11.1.txt
│   │   ├── 1.12.2-0.11.10.txt
│   │   ├── 1.12.2-0.11.11.txt
│   │   ├── 1.12.2-0.11.12.txt
│   │   ├── 1.12.2-0.11.13.txt
│   │   ├── 1.12.2-0.11.14.txt
│   │   ├── 1.12.2-0.11.15.txt
│   │   ├── 1.12.2-0.11.16.txt
│   │   ├── 1.12.2-0.11.17.txt
│   │   ├── 1.12.2-0.11.18.txt
│   │   ├── 1.12.2-0.11.2.txt
│   │   ├── 1.12.2-0.11.3.txt
│   │   ├── 1.12.2-0.11.4.txt
│   │   ├── 1.12.2-0.11.5.txt
│   │   ├── 1.12.2-0.11.6.txt
│   │   ├── 1.12.2-0.11.7.txt
│   │   ├── 1.12.2-0.11.8.txt
│   │   ├── 1.12.2-0.11.9.txt
│   │   ├── 1.12.2-0.9.4.txt
│   │   ├── 1.12.2-0.9.5.txt
│   │   ├── 1.12.2-0.9.6.txt
│   │   ├── 1.12.2-0.9.7.txt
│   │   ├── 1.12.2-0.9.8.txt
│   │   ├── 1.12.2-0.9.9.txt
│   │   ├── 1.12.2-1.0.0.txt
│   │   ├── 1.12.2-1.0.1.txt
│   │   ├── 1.12.2-1.0.10.txt
│   │   ├── 1.12.2-1.0.11.txt
│   │   ├── 1.12.2-1.0.12.txt
│   │   ├── 1.12.2-1.0.13.txt
│   │   ├── 1.12.2-1.0.14.txt
│   │   ├── 1.12.2-1.0.15.txt
│   │   ├── 1.12.2-1.0.16.txt
│   │   ├── 1.12.2-1.0.17.txt
│   │   ├── 1.12.2-1.0.18.txt
│   │   ├── 1.12.2-1.0.2.txt
│   │   ├── 1.12.2-1.0.3.txt
│   │   ├── 1.12.2-1.0.4.txt
│   │   ├── 1.12.2-1.0.5.txt
│   │   ├── 1.12.2-1.0.6.txt
│   │   ├── 1.12.2-1.0.7.txt
│   │   ├── 1.12.2-1.0.8.txt
│   │   ├── 1.12.2-1.0.9.txt
│   │   ├── 1.12.2-1.1.0.txt
│   │   ├── 1.12.2-1.1.1.txt
│   │   ├── 1.12.2-1.1.10.txt
│   │   ├── 1.12.2-1.1.11.txt
│   │   ├── 1.12.2-1.1.2.txt
│   │   ├── 1.12.2-1.1.3.txt
│   │   ├── 1.12.2-1.1.4.txt
│   │   ├── 1.12.2-1.1.5.txt
│   │   ├── 1.12.2-1.1.6.txt
│   │   ├── 1.12.2-1.1.7.txt
│   │   ├── 1.12.2-1.1.8.txt
│   │   ├── 1.12.2-1.1.9.txt
│   │   ├── 1.15.2-1.1.10.txt
│   │   ├── 1.15.2-1.1.11.txt
│   │   ├── 1.15.2-1.1.12.txt
│   │   ├── 1.15.2-1.1.13.txt
│   │   ├── 1.15.2-1.1.14.txt
│   │   ├── 1.15.2-1.1.15.txt
│   │   ├── 1.15.2-1.1.16.txt
│   │   ├── 1.15.2-1.1.17.txt
│   │   ├── 1.15.2-1.1.18.txt
│   │   ├── 1.15.2-1.1.19.txt
│   │   ├── 1.15.2-1.1.20.txt
│   │   ├── 1.15.2-1.1.6.txt
│   │   ├── 1.15.2-1.1.7.txt
│   │   ├── 1.15.2-1.1.8.txt
│   │   ├── 1.15.2-1.1.9.txt
│   │   ├── 1.16.4-1.1.20.txt
│   │   ├── 1.16.4-1.1.21.txt
│   │   ├── 1.16.4-1.1.22.txt
│   │   ├── 1.16.4-1.2.0.txt
│   │   ├── 1.16.4-1.3.0.txt
│   │   ├── 1.16.4-1.4.0.txt
│   │   ├── 1.16.4-1.4.1.txt
│   │   ├── 1.16.4-1.4.2.txt
│   │   ├── 1.16.4-1.4.3.txt
│   │   ├── 1.16.5-1.10.0.txt
│   │   ├── 1.16.5-1.10.1.txt
│   │   ├── 1.16.5-1.10.10.txt
│   │   ├── 1.16.5-1.10.11.txt
│   │   ├── 1.16.5-1.10.12.txt
│   │   ├── 1.16.5-1.10.13.txt
│   │   ├── 1.16.5-1.10.14.txt
│   │   ├── 1.16.5-1.10.15.txt
│   │   ├── 1.16.5-1.10.2.txt
│   │   ├── 1.16.5-1.10.3.txt
│   │   ├── 1.16.5-1.10.4.txt
│   │   ├── 1.16.5-1.10.5.txt
│   │   ├── 1.16.5-1.10.6.txt
│   │   ├── 1.16.5-1.10.7.txt
│   │   ├── 1.16.5-1.10.8.txt
│   │   ├── 1.16.5-1.10.9.txt
│   │   ├── 1.16.5-1.5.0.txt
│   │   ├── 1.16.5-1.5.1.txt
│   │   ├── 1.16.5-1.6.0.txt
│   │   ├── 1.16.5-1.6.1.txt
│   │   ├── 1.16.5-1.7.0.txt
│   │   ├── 1.16.5-1.7.1.txt
│   │   ├── 1.16.5-1.7.2.txt
│   │   ├── 1.16.5-1.8.0.txt
│   │   ├── 1.16.5-1.8.1.txt
│   │   ├── 1.16.5-1.8.2.txt
│   │   ├── 1.16.5-1.8.3.txt
│   │   ├── 1.16.5-1.8.4.txt
│   │   ├── 1.16.5-1.8.5.txt
│   │   ├── 1.16.5-1.9.0.txt
│   │   ├── 1.16.5-1.9.1.txt
│   │   ├── 1.16.5-1.9.2.txt
│   │   ├── 1.16.5-1.9.3.txt
│   │   ├── 1.16.5-1.9.4.txt
│   │   ├── 1.18.1-1.10.10.txt
│   │   ├── 1.18.1-1.10.11.txt
│   │   ├── 1.18.1-1.10.12.txt
│   │   ├── 1.18.1-1.10.13.txt
│   │   ├── 1.18.1-1.10.6.txt
│   │   ├── 1.18.1-1.10.7.txt
│   │   ├── 1.18.1-1.10.8.txt
│   │   ├── 1.18.1-1.10.9.txt
│   │   ├── 1.18.2-1.10.13.txt
│   │   ├── 1.18.2-1.10.14.txt
│   │   ├── 1.18.2-1.10.15.txt
│   │   ├── 1.18.2-1.10.16.txt
│   │   ├── 1.18.2-1.10.17.txt
│   │   ├── 1.18.2-1.10.18.txt
│   │   ├── 1.18.2-1.11.0.txt
│   │   ├── 1.18.2-1.11.1.txt
│   │   ├── 1.18.2-1.11.10.txt
│   │   ├── 1.18.2-1.11.11.txt
│   │   ├── 1.18.2-1.11.12.txt
│   │   ├── 1.18.2-1.11.13.txt
│   │   ├── 1.18.2-1.11.2.txt
│   │   ├── 1.18.2-1.11.3.txt
│   │   ├── 1.18.2-1.11.4.txt
│   │   ├── 1.18.2-1.11.5.txt
│   │   ├── 1.18.2-1.11.6.txt
│   │   ├── 1.18.2-1.11.7.txt
│   │   ├── 1.18.2-1.11.8.txt
│   │   ├── 1.18.2-1.11.9.txt
│   │   ├── 1.18.2-1.12.0.txt
│   │   ├── 1.18.2-1.12.1.txt
│   │   ├── 1.18.2-1.12.2.txt
│   │   ├── 1.18.2-1.12.3.txt
│   │   ├── 1.18.2-1.12.4.txt
│   │   ├── 1.18.2-1.12.5.txt
│   │   ├── 1.18.2-1.13.0.txt
│   │   ├── 1.18.2-1.13.1.txt
│   │   ├── 1.18.2-1.13.2.txt
│   │   ├── 1.18.2-1.13.3.txt
│   │   ├── 1.18.2-1.13.4.txt
│   │   ├── 1.18.2-1.13.5.txt
│   │   ├── 1.18.2-1.13.6.txt
│   │   ├── 1.18.2-1.13.7.txt
│   │   ├── 1.18.2-1.13.8.txt
│   │   ├── 1.18.2-1.14.0.txt
│   │   ├── 1.18.2-1.15.0.txt
│   │   ├── 1.18.2-1.16.0.txt
│   │   ├── 1.18.2-1.16.1.txt
│   │   ├── 1.18.2-1.17.0.txt
│   │   ├── 1.18.2-1.17.1.txt
│   │   ├── 1.18.2-1.17.2.txt
│   │   ├── 1.18.2-1.17.3.txt
│   │   ├── 1.18.2-1.17.4.txt
│   │   ├── 1.18.2-1.17.5.txt
│   │   ├── 1.19-1.11.3.txt
│   │   ├── 1.19-1.11.4.txt
│   │   ├── 1.19-1.11.5.txt
│   │   ├── 1.19-1.11.6.txt
│   │   ├── 1.19-1.11.7.txt
│   │   ├── 1.19.2-1.11.10.txt
│   │   ├── 1.19.2-1.11.11.txt
│   │   ├── 1.19.2-1.11.7.txt
│   │   ├── 1.19.2-1.11.8.txt
│   │   ├── 1.19.2-1.11.9.txt
│   │   ├── 1.19.2-1.12.0.txt
│   │   ├── 1.19.2-1.13.0.txt
│   │   ├── 1.19.2-1.13.1.txt
│   │   ├── 1.19.2-1.14.0.txt
│   │   ├── 1.19.2-1.14.1.txt
│   │   ├── 1.19.2-1.14.2.txt
│   │   ├── 1.19.2-1.14.3.txt
│   │   ├── 1.19.2-1.14.4.txt
│   │   ├── 1.19.2-1.14.5.txt
│   │   ├── 1.19.2-1.14.6.txt
│   │   ├── 1.19.2-1.14.7.txt
│   │   ├── 1.19.2-1.15.0.txt
│   │   ├── 1.19.2-1.15.1.txt
│   │   ├── 1.19.2-1.15.2.txt
│   │   ├── 1.19.2-1.16.0.txt
│   │   ├── 1.19.2-1.16.1.txt
│   │   ├── 1.19.2-1.16.10.txt
│   │   ├── 1.19.2-1.16.2.txt
│   │   ├── 1.19.2-1.16.3.txt
│   │   ├── 1.19.2-1.16.4.txt
│   │   ├── 1.19.2-1.16.5.txt
│   │   ├── 1.19.2-1.16.6.txt
│   │   ├── 1.19.2-1.16.7.txt
│   │   ├── 1.19.2-1.16.8.txt
│   │   ├── 1.19.2-1.16.9.txt
│   │   ├── 1.19.2-1.17.0.txt
│   │   ├── 1.19.2-1.18.0.txt
│   │   ├── 1.19.2-1.19.0.txt
│   │   ├── 1.19.2-1.19.1.txt
│   │   ├── 1.19.2-1.20.0.txt
│   │   ├── 1.19.2-1.20.1.txt
│   │   ├── 1.19.2-1.20.2.txt
│   │   ├── 1.19.2-1.20.3.txt
│   │   ├── 1.19.2-1.21.0.txt
│   │   ├── 1.19.2-1.21.1.txt
│   │   ├── 1.19.2-1.21.2.txt
│   │   ├── 1.19.2-1.21.3.txt
│   │   ├── 1.19.2-1.22.0.txt
│   │   ├── 1.19.2-1.22.1.txt
│   │   ├── 1.19.2-1.22.2.txt
│   │   ├── 1.19.2-1.23.0.txt
│   │   ├── 1.19.2-1.23.1.txt
│   │   ├── 1.19.2-1.23.10.txt
│   │   ├── 1.19.2-1.23.11.txt
│   │   ├── 1.19.2-1.23.2.txt
│   │   ├── 1.19.2-1.23.3.txt
│   │   ├── 1.19.2-1.23.4.txt
│   │   ├── 1.19.2-1.23.5.txt
│   │   ├── 1.19.2-1.23.6.txt
│   │   ├── 1.19.2-1.23.7.txt
│   │   ├── 1.19.2-1.23.8.txt
│   │   ├── 1.19.2-1.23.9.txt
│   │   ├── 1.19.2-1.24.0.txt
│   │   ├── 1.19.2-1.24.1.txt
│   │   ├── 1.19.2-1.24.2.txt
│   │   ├── 1.19.2-1.24.3.txt
│   │   ├── 1.19.2-1.24.4.txt
│   │   ├── 1.19.2-1.25.0.txt
│   │   ├── 1.19.2-1.25.1.txt
│   │   ├── 1.19.2-1.25.2.txt
│   │   ├── 1.19.2-1.25.3.txt
│   │   ├── 1.19.2-1.25.4.txt
│   │   ├── 1.19.2-1.25.5.txt
│   │   ├── 1.19.2-1.26.0.txt
│   │   ├── 1.19.2-1.26.1.txt
│   │   ├── 1.19.2-1.27.0.txt
│   │   ├── 1.19.2-1.27.1.txt
│   │   ├── 1.19.2-1.27.2.txt
│   │   ├── 1.19.2-1.27.3.txt
│   │   ├── 1.19.2-1.27.4.txt
│   │   ├── 1.19.2-1.27.5.txt
│   │   ├── 1.19.2-1.27.6.txt
│   │   ├── 1.19.2-1.28.0.txt
│   │   ├── 1.19.2-1.28.1.txt
│   │   ├── 1.19.2-1.28.2.txt
│   │   ├── 1.19.2-1.28.3.txt
│   │   ├── 1.19.2-1.28.4.txt
│   │   ├── 1.19.2-1.28.5.txt
│   │   ├── 1.19.2-1.28.6.txt
│   │   ├── 1.19.2-1.29.0.txt
│   │   ├── 1.19.2-1.29.1.txt
│   │   ├── 1.19.2-1.29.2.txt
│   │   ├── 1.19.2-1.29.3.txt
│   │   ├── 1.19.2-1.30.0.txt
│   │   ├── 1.19.2-1.30.1.txt
│   │   ├── 1.19.3-1.14.6.txt
│   │   ├── 1.19.3-1.14.7.txt
│   │   ├── 1.19.3-1.14.8.txt
│   │   ├── 1.19.3-1.15.0.txt
│   │   ├── 1.19.3-1.15.1.txt
│   │   ├── 1.19.3-1.15.2.txt
│   │   ├── 1.19.3-1.16.0.txt
│   │   ├── 1.19.3-1.16.1.txt
│   │   ├── 1.19.3-1.16.2.txt
│   │   ├── 1.19.4-1.16.2.txt
│   │   ├── 1.19.4-1.16.3.txt
│   │   ├── 1.19.4-1.16.4.txt
│   │   ├── 1.19.4-1.16.5.txt
│   │   ├── 1.19.4-1.16.6.txt
│   │   ├── 1.19.4-1.16.7.txt
│   │   ├── 1.20.1-1.16.10.txt
│   │   ├── 1.20.1-1.16.7.txt
│   │   ├── 1.20.1-1.16.8.txt
│   │   ├── 1.20.1-1.16.9.txt
│   │   ├── 1.20.1-1.17.0.txt
│   │   ├── 1.20.1-1.18.0.txt
│   │   ├── 1.20.1-1.19.0.txt
│   │   ├── 1.20.1-1.19.1.txt
│   │   ├── 1.20.1-1.20.0.txt
│   │   ├── 1.20.1-1.20.1.txt
│   │   ├── 1.20.1-1.20.2.txt
│   │   ├── 1.20.1-1.20.3.txt
│   │   ├── 1.20.1-1.20.4.txt
│   │   ├── 1.20.1-1.21.0.txt
│   │   ├── 1.20.1-1.21.1.txt
│   │   ├── 1.20.1-1.21.2.txt
│   │   ├── 1.20.1-1.21.3.txt
│   │   ├── 1.20.1-1.22.0.txt
│   │   ├── 1.20.1-1.22.1.txt
│   │   ├── 1.20.1-1.22.2.txt
│   │   ├── 1.20.1-1.23.0.txt
│   │   ├── 1.20.1-1.23.1.txt
│   │   ├── 1.20.1-1.23.10.txt
│   │   ├── 1.20.1-1.23.11.txt
│   │   ├── 1.20.1-1.23.12.txt
│   │   ├── 1.20.1-1.23.13.txt
│   │   ├── 1.20.1-1.23.2.txt
│   │   ├── 1.20.1-1.23.3.txt
│   │   ├── 1.20.1-1.23.4.txt
│   │   ├── 1.20.1-1.23.5.txt
│   │   ├── 1.20.1-1.23.6.txt
│   │   ├── 1.20.1-1.23.7.txt
│   │   ├── 1.20.1-1.23.8.txt
│   │   ├── 1.20.1-1.23.9.txt
│   │   ├── 1.20.1-1.24.0.txt
│   │   ├── 1.20.1-1.24.1.txt
│   │   ├── 1.20.1-1.24.2.txt
│   │   ├── 1.20.1-1.24.3.txt
│   │   ├── 1.20.1-1.25.0.txt
│   │   ├── 1.20.1-1.25.1.txt
│   │   ├── 1.20.1-1.25.2.txt
│   │   ├── 1.20.1-1.25.3.txt
│   │   ├── 1.20.1-1.25.4.txt
│   │   ├── 1.20.1-1.25.5.txt
│   │   ├── 1.20.1-1.25.6.txt
│   │   ├── 1.20.1-1.26.0.txt
│   │   ├── 1.20.1-1.26.1.txt
│   │   ├── 1.20.1-1.27.0.txt
│   │   ├── 1.20.1-1.27.1.txt
│   │   ├── 1.20.1-1.27.2.txt
│   │   ├── 1.20.1-1.27.3.txt
│   │   ├── 1.20.1-1.27.4.txt
│   │   ├── 1.20.1-1.27.5.txt
│   │   ├── 1.20.1-1.27.6.txt
│   │   ├── 1.20.1-1.28.0.txt
│   │   ├── 1.20.1-1.28.1.txt
│   │   ├── 1.20.1-1.29.0.txt
│   │   ├── 1.20.1-1.29.1.txt
│   │   ├── 1.20.1-1.29.10.txt
│   │   ├── 1.20.1-1.29.11.txt
│   │   ├── 1.20.1-1.29.2.txt
│   │   ├── 1.20.1-1.29.3.txt
│   │   ├── 1.20.1-1.29.4.txt
│   │   ├── 1.20.1-1.29.5.txt
│   │   ├── 1.20.1-1.29.6.txt
│   │   ├── 1.20.1-1.29.7.txt
│   │   ├── 1.20.1-1.29.8.txt
│   │   ├── 1.20.1-1.29.9.txt
│   │   ├── 1.20.1-1.30.0.txt
│   │   ├── 1.20.1-1.30.1.txt
│   │   ├── 1.20.1-1.30.2.txt
│   │   ├── 1.20.1-1.30.3.txt
│   │   ├── 1.20.1-1.30.4.txt
│   │   ├── 1.20.1-1.30.5.txt
│   │   ├── 1.20.4-1.21.2.txt
│   │   ├── 1.20.4-1.21.3.txt
│   │   ├── 1.20.4-1.21.4.txt
│   │   ├── 1.20.4-1.21.5.txt
│   │   ├── 1.20.4-1.21.6.txt
│   │   ├── 1.20.4-1.21.7.txt
│   │   ├── 1.20.4-1.21.8.txt
│   │   ├── 1.21-1.21.10.txt
│   │   ├── 1.21-1.21.4.txt
│   │   ├── 1.21-1.21.5.txt
│   │   ├── 1.21-1.21.6.txt
│   │   ├── 1.21-1.21.7.txt
│   │   ├── 1.21-1.21.8.txt
│   │   ├── 1.21-1.21.9.txt
│   │   ├── 1.21-1.22.0.txt
│   │   ├── 1.21-1.22.1.txt
│   │   ├── 1.21-1.22.2.txt
│   │   ├── 1.21-1.23.0.txt
│   │   ├── 1.21-1.23.1.txt
│   │   ├── 1.21.1-1.23.10.txt
│   │   ├── 1.21.1-1.23.11.txt
│   │   ├── 1.21.1-1.23.12.txt
│   │   ├── 1.21.1-1.23.13.txt
│   │   ├── 1.21.1-1.23.14.txt
│   │   ├── 1.21.1-1.23.15.txt
│   │   ├── 1.21.1-1.23.16.txt
│   │   ├── 1.21.1-1.23.17.txt
│   │   ├── 1.21.1-1.23.18.txt
│   │   ├── 1.21.1-1.23.19.txt
│   │   ├── 1.21.1-1.23.2.txt
│   │   ├── 1.21.1-1.23.3.txt
│   │   ├── 1.21.1-1.23.4.txt
│   │   ├── 1.21.1-1.23.5.txt
│   │   ├── 1.21.1-1.23.6.txt
│   │   ├── 1.21.1-1.23.7.txt
│   │   ├── 1.21.1-1.23.8.txt
│   │   ├── 1.21.1-1.23.9.txt
│   │   ├── 1.21.1-1.24.0.txt
│   │   ├── 1.21.1-1.24.1.txt
│   │   ├── 1.21.1-1.24.2.txt
│   │   ├── 1.21.1-1.24.3.txt
│   │   ├── 1.21.1-1.25.0.txt
│   │   ├── 1.21.1-1.25.1.txt
│   │   ├── 1.21.1-1.25.10.txt
│   │   ├── 1.21.1-1.25.11.txt
│   │   ├── 1.21.1-1.25.12.txt
│   │   ├── 1.21.1-1.25.2.txt
│   │   ├── 1.21.1-1.25.3.txt
│   │   ├── 1.21.1-1.25.4.txt
│   │   ├── 1.21.1-1.25.5.txt
│   │   ├── 1.21.1-1.25.6.txt
│   │   ├── 1.21.1-1.25.7.txt
│   │   ├── 1.21.1-1.25.8.txt
│   │   ├── 1.21.1-1.25.9.txt
│   │   ├── 1.21.1-1.26.0.txt
│   │   ├── 1.21.1-1.26.1.txt
│   │   ├── 1.21.1-1.26.2.txt
│   │   ├── 1.21.1-1.27.0.txt
│   │   ├── 1.21.1-1.27.1.txt
│   │   ├── 1.21.1-1.27.2.txt
│   │   ├── 1.21.1-1.27.3.txt
│   │   ├── 1.21.1-1.27.4.txt
│   │   ├── 1.21.1-1.27.5.txt
│   │   ├── 1.21.1-1.27.6.txt
│   │   ├── 1.21.1-1.27.7.txt
│   │   ├── 1.21.1-1.27.8.txt
│   │   ├── 1.21.1-1.27.9.txt
│   │   ├── 1.21.1-1.28.0.txt
│   │   ├── 1.21.1-1.28.1.txt
│   │   ├── 1.21.1-1.29.0.txt
│   │   ├── 1.21.1-1.29.1.txt
│   │   ├── 1.21.1-1.29.2.txt
│   │   ├── 1.21.1-1.29.3.txt
│   │   ├── 1.21.1-1.29.4.txt
│   │   ├── 1.21.1-1.29.5.txt
│   │   ├── 1.21.1-1.29.6.txt
│   │   ├── 1.21.1-1.29.7.txt
│   │   ├── 1.21.1-1.30.0.txt
│   │   ├── 1.21.1-1.30.1.txt
│   │   ├── 1.21.1-1.30.2.txt
│   │   ├── 1.21.1-1.30.3.txt
│   │   ├── 1.21.1-1.30.4.txt
│   │   ├── 1.21.1-1.30.5.txt
│   │   ├── 1.21.1-1.31.0.txt
│   │   ├── 1.21.1-1.32.0.txt
│   │   ├── 1.21.1-1.32.1.txt
│   │   ├── 1.21.1-1.32.2.txt
│   │   ├── 1.21.1-1.32.3.txt
│   │   ├── 1.21.1-1.32.4.txt
│   │   ├── 1.21.1-1.32.5.txt
│   │   ├── 1.21.1-1.32.6.txt
│   │   ├── 1.8-0.1.0.txt
│   │   ├── 1.8.9-0.2.0.txt
│   │   ├── 1.8.9-0.3.0.txt
│   │   ├── 1.8.9-0.3.1.txt
│   │   ├── 1.8.9-0.3.2.txt
│   │   ├── 1.8.9-0.3.3.txt
│   │   ├── 1.8.9-0.3.4.txt
│   │   ├── 1.8.9-0.3.5.txt
│   │   ├── 1.8.9-0.3.6.txt
│   │   ├── 1.8.9-0.3.7.txt
│   │   ├── 1.8.9-0.3.8.txt
│   │   ├── 1.8.9-0.3.9.txt
│   │   ├── 1.9-0.3.4.txt
│   │   ├── 1.9-0.3.5.txt
│   │   ├── 1.9-0.3.6.txt
│   │   ├── 1.9-0.3.7.txt
│   │   ├── 1.9-0.3.8.txt
│   │   ├── 1.9-0.3.9.txt
│   │   ├── 1.9.4-0.3.10.txt
│   │   ├── 1.9.4-0.4.0.txt
│   │   ├── 1.9.4-0.4.1.txt
│   │   ├── 1.9.4-0.4.2.txt
│   │   ├── 1.9.4-0.5.0.txt
│   │   ├── 1.9.4-0.5.1.txt
│   │   ├── 26.1.1-1.32.10.txt
│   │   ├── 26.1.1-1.32.11.txt
│   │   ├── 26.1.1-1.32.3.txt
│   │   ├── 26.1.1-1.32.4.txt
│   │   ├── 26.1.1-1.32.5.txt
│   │   ├── 26.1.1-1.32.6.txt
│   │   ├── 26.1.1-1.32.7.txt
│   │   ├── 26.1.1-1.32.8.txt
│   │   ├── 26.1.1-1.32.9.txt
│   │   ├── 26.1.2-1.32.11.txt
│   │   ├── 26.1.2-1.32.12.txt
│   │   ├── 26.1.2-1.32.13.txt
│   │   └── 26.1.2-1.33.0.txt
│   ├── textures/
│   │   └── gui/
│   │       ├── mechanical_drying_basin.psd
│   │       └── mechanical_squeezer.psd
│   └── uml/
│       └── integrateddynamics.vpp
├── scripts/
│   └── pre-commit
├── secrets.properties_template
├── settings.gradle
└── src/
    ├── main/
    │   ├── java/
    │   │   └── org/
    │   │       └── cyclops/
    │   │           └── integrateddynamics/
    │   │               ├── Capabilities.java
    │   │               ├── Configs.java
    │   │               ├── GeneralConfig.java
    │   │               ├── IntegratedDynamics.java
    │   │               ├── Reference.java
    │   │               ├── RegistryEntries.java
    │   │               ├── advancement/
    │   │               │   └── criterion/
    │   │               │       ├── NetworkInitializedTrigger.java
    │   │               │       ├── NetworkInitializedTriggerConfig.java
    │   │               │       ├── PartReaderAspectTrigger.java
    │   │               │       ├── PartReaderAspectTriggerConfig.java
    │   │               │       ├── PartVariableDrivenAspectTrigger.java
    │   │               │       ├── PartVariableDrivenAspectTriggerConfig.java
    │   │               │       ├── PartWriterAspectTrigger.java
    │   │               │       ├── PartWriterAspectTriggerConfig.java
    │   │               │       ├── VariableCreatedTrigger.java
    │   │               │       └── VariableCreatedTriggerConfig.java
    │   │               ├── api/
    │   │               │   ├── APIReference.java
    │   │               │   ├── IntegratedDynamicsAPI.java
    │   │               │   ├── PartStateException.java
    │   │               │   ├── advancement/
    │   │               │   │   └── criterion/
    │   │               │   │       ├── ValuePredicate.java
    │   │               │   │       ├── VariableFacadePredicate.java
    │   │               │   │       └── VariablePredicate.java
    │   │               │   ├── block/
    │   │               │   │   ├── IDynamicLight.java
    │   │               │   │   ├── IDynamicRedstone.java
    │   │               │   │   ├── IFacadeable.java
    │   │               │   │   ├── IVariableContainer.java
    │   │               │   │   └── cable/
    │   │               │   │       ├── ICable.java
    │   │               │   │       └── ICableFakeable.java
    │   │               │   ├── client/
    │   │               │   │   ├── gui/
    │   │               │   │   │   └── subgui/
    │   │               │   │   │       ├── IGuiInputElement.java
    │   │               │   │   │       ├── IGuiInputElementClient.java
    │   │               │   │   │       ├── IGuiInputElementValueType.java
    │   │               │   │   │       ├── IGuiInputElementValueTypeClient.java
    │   │               │   │   │       ├── ISubGui.java
    │   │               │   │   │       └── ISubGuiBox.java
    │   │               │   │   ├── model/
    │   │               │   │   │   ├── IVariableModelBaked.java
    │   │               │   │   │   ├── IVariableModelProvider.java
    │   │               │   │   │   └── IVariableModelProviderRegistry.java
    │   │               │   │   └── render/
    │   │               │   │       ├── part/
    │   │               │   │       │   ├── IPartOverlayRenderer.java
    │   │               │   │       │   └── IPartOverlayRendererRegistry.java
    │   │               │   │       └── valuetype/
    │   │               │   │           ├── IValueTypeWorldRenderer.java
    │   │               │   │           └── IValueTypeWorldRendererRegistry.java
    │   │               │   ├── evaluate/
    │   │               │   │   ├── EvaluationException.java
    │   │               │   │   ├── IValueInterface.java
    │   │               │   │   ├── InvalidValueTypeException.java
    │   │               │   │   ├── expression/
    │   │               │   │   │   ├── IExpression.java
    │   │               │   │   │   ├── ILazyExpressionValueCache.java
    │   │               │   │   │   └── VariableAdapter.java
    │   │               │   │   ├── operator/
    │   │               │   │   │   ├── IOperator.java
    │   │               │   │   │   ├── IOperatorRegistry.java
    │   │               │   │   │   └── IOperatorSerializer.java
    │   │               │   │   └── variable/
    │   │               │   │       ├── IValue.java
    │   │               │   │       ├── IValueCastRegistry.java
    │   │               │   │       ├── IValueType.java
    │   │               │   │       ├── IValueTypeCategory.java
    │   │               │   │       ├── IValueTypeClient.java
    │   │               │   │       ├── IValueTypeLightLevelRegistry.java
    │   │               │   │       ├── IValueTypeListProxy.java
    │   │               │   │       ├── IValueTypeListProxyFactoryTypeRegistry.java
    │   │               │   │       ├── IValueTypeNamed.java
    │   │               │   │       ├── IValueTypeNullable.java
    │   │               │   │       ├── IValueTypeNumber.java
    │   │               │   │       ├── IValueTypeRegistry.java
    │   │               │   │       ├── IValueTypeRegistryClient.java
    │   │               │   │       ├── IValueTypeUniquelyNamed.java
    │   │               │   │       ├── IVariable.java
    │   │               │   │       ├── IVariableInvalidateListener.java
    │   │               │   │       ├── ValueDeseralizationContext.java
    │   │               │   │       └── ValueDeseralizationContextClient.java
    │   │               │   ├── ingredient/
    │   │               │   │   ├── IIngredientComponentHandler.java
    │   │               │   │   ├── IIngredientComponentHandlerRegistry.java
    │   │               │   │   ├── IIngredientComponentStorageObservable.java
    │   │               │   │   ├── IIngredientPositionsIndex.java
    │   │               │   │   └── capability/
    │   │               │   │       ├── DefaultPositionedAddonsNetworkIngredientsHandler.java
    │   │               │   │       └── IPositionedAddonsNetworkIngredientsHandler.java
    │   │               │   ├── item/
    │   │               │   │   ├── IAspectVariableFacade.java
    │   │               │   │   ├── IDelayVariableFacade.java
    │   │               │   │   ├── IOperatorVariableFacade.java
    │   │               │   │   ├── IProxyVariableFacade.java
    │   │               │   │   ├── IValueTypeVariableFacade.java
    │   │               │   │   ├── IVariableFacade.java
    │   │               │   │   ├── IVariableFacadeClient.java
    │   │               │   │   ├── IVariableFacadeHandler.java
    │   │               │   │   ├── IVariableFacadeHandlerRegistry.java
    │   │               │   │   ├── IVariableFacadeHolder.java
    │   │               │   │   └── TagPathElement.java
    │   │               │   ├── logicprogrammer/
    │   │               │   │   ├── IConfigRenderPattern.java
    │   │               │   │   ├── ILogicProgrammerElement.java
    │   │               │   │   ├── ILogicProgrammerElementClient.java
    │   │               │   │   ├── ILogicProgrammerElementType.java
    │   │               │   │   ├── ILogicProgrammerElementTypeRegistry.java
    │   │               │   │   └── IValueTypeLogicProgrammerElement.java
    │   │               │   ├── network/
    │   │               │   │   ├── AttachCapabilitiesEventNetwork.java
    │   │               │   │   ├── FullNetworkListenerAdapter.java
    │   │               │   │   ├── IEnergyConsumingNetworkElement.java
    │   │               │   │   ├── IEnergyNetwork.java
    │   │               │   │   ├── IEventListenableNetworkElement.java
    │   │               │   │   ├── IFullNetworkListener.java
    │   │               │   │   ├── IIdentifiableNetworkElement.java
    │   │               │   │   ├── INetwork.java
    │   │               │   │   ├── INetworkCarrier.java
    │   │               │   │   ├── INetworkCraftingHandler.java
    │   │               │   │   ├── INetworkCraftingHandlerRegistry.java
    │   │               │   │   ├── INetworkElement.java
    │   │               │   │   ├── INetworkElementProvider.java
    │   │               │   │   ├── INetworkEventListener.java
    │   │               │   │   ├── INetworkIngredientsChannel.java
    │   │               │   │   ├── IPartNetwork.java
    │   │               │   │   ├── IPartNetworkElement.java
    │   │               │   │   ├── IPartPosIteratorHandler.java
    │   │               │   │   ├── IPositionedAddonsNetwork.java
    │   │               │   │   ├── IPositionedAddonsNetworkIngredients.java
    │   │               │   │   ├── IPositionedNetworkElement.java
    │   │               │   │   ├── ISidedNetworkElement.java
    │   │               │   │   ├── NetworkCapability.java
    │   │               │   │   ├── PositionedAddonsNetworkIngredientsFilter.java
    │   │               │   │   └── event/
    │   │               │   │       ├── ICancelableNetworkEvent.java
    │   │               │   │       ├── INetworkEvent.java
    │   │               │   │       └── INetworkEventBus.java
    │   │               │   ├── part/
    │   │               │   │   ├── AttachCapabilitiesEventPart.java
    │   │               │   │   ├── IPartContainer.java
    │   │               │   │   ├── IPartState.java
    │   │               │   │   ├── IPartType.java
    │   │               │   │   ├── IPartTypeActiveVariable.java
    │   │               │   │   ├── IPartTypeRegistry.java
    │   │               │   │   ├── PartCapability.java
    │   │               │   │   ├── PartPathElement.java
    │   │               │   │   ├── PartPos.java
    │   │               │   │   ├── PartRenderPosition.java
    │   │               │   │   ├── PartTarget.java
    │   │               │   │   ├── PartTypeAdapter.java
    │   │               │   │   ├── PrioritizedPartPos.java
    │   │               │   │   ├── aspect/
    │   │               │   │   │   ├── AspectUpdateType.java
    │   │               │   │   │   ├── IAspect.java
    │   │               │   │   │   ├── IAspectRead.java
    │   │               │   │   │   ├── IAspectRegistry.java
    │   │               │   │   │   ├── IAspectRegistryClient.java
    │   │               │   │   │   ├── IAspectVariable.java
    │   │               │   │   │   ├── IAspectWrite.java
    │   │               │   │   │   ├── IPositionedVariable.java
    │   │               │   │   │   └── property/
    │   │               │   │   │       ├── IAspectProperties.java
    │   │               │   │   │       └── IAspectPropertyTypeInstance.java
    │   │               │   │   ├── read/
    │   │               │   │   │   ├── IPartStateReader.java
    │   │               │   │   │   └── IPartTypeReader.java
    │   │               │   │   └── write/
    │   │               │   │       ├── IPartStateWriter.java
    │   │               │   │       └── IPartTypeWriter.java
    │   │               │   └── path/
    │   │               │       ├── IPathElement.java
    │   │               │       ├── ISidedPathElement.java
    │   │               │       └── SidedPathElementParams.java
    │   │               ├── block/
    │   │               │   ├── BlockCable.java
    │   │               │   ├── BlockCableClientConfig.java
    │   │               │   ├── BlockCableConfig.java
    │   │               │   ├── BlockCoalGenerator.java
    │   │               │   ├── BlockCoalGeneratorConfig.java
    │   │               │   ├── BlockCreativeEnergyBattery.java
    │   │               │   ├── BlockCreativeEnergyBatteryConfig.java
    │   │               │   ├── BlockCreativeEnergyBatteryConfigClient.java
    │   │               │   ├── BlockCrystalizedChorusBlockConfig.java
    │   │               │   ├── BlockCrystalizedChorusBlockSlabConfig.java
    │   │               │   ├── BlockCrystalizedChorusBlockStairsConfig.java
    │   │               │   ├── BlockCrystalizedChorusBrickConfig.java
    │   │               │   ├── BlockCrystalizedChorusBrickSlabConfig.java
    │   │               │   ├── BlockCrystalizedChorusBrickStairsConfig.java
    │   │               │   ├── BlockCrystalizedMenrilBlockConfig.java
    │   │               │   ├── BlockCrystalizedMenrilBlockSlabConfig.java
    │   │               │   ├── BlockCrystalizedMenrilBlockStairsConfig.java
    │   │               │   ├── BlockCrystalizedMenrilBrickConfig.java
    │   │               │   ├── BlockCrystalizedMenrilBrickSlabConfig.java
    │   │               │   ├── BlockCrystalizedMenrilBrickStairsConfig.java
    │   │               │   ├── BlockDelay.java
    │   │               │   ├── BlockDelayConfig.java
    │   │               │   ├── BlockDryingBasin.java
    │   │               │   ├── BlockDryingBasinConfig.java
    │   │               │   ├── BlockEnergyBattery.java
    │   │               │   ├── BlockEnergyBatteryBase.java
    │   │               │   ├── BlockEnergyBatteryConfig.java
    │   │               │   ├── BlockEnergyBatteryConfigClient.java
    │   │               │   ├── BlockFluidLiquidChorus.java
    │   │               │   ├── BlockFluidLiquidChorusConfig.java
    │   │               │   ├── BlockFluidMenrilResin.java
    │   │               │   ├── BlockFluidMenrilResinConfig.java
    │   │               │   ├── BlockInvisibleLight.java
    │   │               │   ├── BlockInvisibleLightConfig.java
    │   │               │   ├── BlockLogicProgrammer.java
    │   │               │   ├── BlockLogicProgrammerConfig.java
    │   │               │   ├── BlockMaterializer.java
    │   │               │   ├── BlockMaterializerConfig.java
    │   │               │   ├── BlockMechanicalDryingBasin.java
    │   │               │   ├── BlockMechanicalDryingBasinConfig.java
    │   │               │   ├── BlockMechanicalSqueezer.java
    │   │               │   ├── BlockMechanicalSqueezerConfig.java
    │   │               │   ├── BlockMenrilDoorConfig.java
    │   │               │   ├── BlockMenrilFenceConfig.java
    │   │               │   ├── BlockMenrilFenceGateConfig.java
    │   │               │   ├── BlockMenrilLeavesClientConfig.java
    │   │               │   ├── BlockMenrilLeavesConfig.java
    │   │               │   ├── BlockMenrilLogConfig.java
    │   │               │   ├── BlockMenrilLogFilled.java
    │   │               │   ├── BlockMenrilLogFilledConfig.java
    │   │               │   ├── BlockMenrilLogStrippedConfig.java
    │   │               │   ├── BlockMenrilPlanksConfig.java
    │   │               │   ├── BlockMenrilPlanksStairsConfig.java
    │   │               │   ├── BlockMenrilSaplingConfig.java
    │   │               │   ├── BlockMenrilSlabConfig.java
    │   │               │   ├── BlockMenrilTorchConfig.java
    │   │               │   ├── BlockMenrilTorchStoneConfig.java
    │   │               │   ├── BlockMenrilTorchStoneWallConfig.java
    │   │               │   ├── BlockMenrilTorchWallConfig.java
    │   │               │   ├── BlockMenrilWoodConfig.java
    │   │               │   ├── BlockMenrilWoodStrippedConfig.java
    │   │               │   ├── BlockProxy.java
    │   │               │   ├── BlockProxyConfig.java
    │   │               │   ├── BlockSqueezer.java
    │   │               │   ├── BlockSqueezerConfig.java
    │   │               │   ├── BlockVariablestore.java
    │   │               │   ├── BlockVariablestoreConfig.java
    │   │               │   └── shapes/
    │   │               │       ├── CollisionContextBlockSupport.java
    │   │               │       ├── VoxelShapeComponentsFactoryHandlerCableCenter.java
    │   │               │       ├── VoxelShapeComponentsFactoryHandlerCableConnections.java
    │   │               │       ├── VoxelShapeComponentsFactoryHandlerFacade.java
    │   │               │       └── VoxelShapeComponentsFactoryHandlerParts.java
    │   │               ├── blockentity/
    │   │               │   ├── BlockEntityCoalGenerator.java
    │   │               │   ├── BlockEntityCoalGeneratorConfig.java
    │   │               │   ├── BlockEntityDelay.java
    │   │               │   ├── BlockEntityDelayConfig.java
    │   │               │   ├── BlockEntityDryingBasin.java
    │   │               │   ├── BlockEntityDryingBasinConfig.java
    │   │               │   ├── BlockEntityDryingBasinConfigClient.java
    │   │               │   ├── BlockEntityEnergyBattery.java
    │   │               │   ├── BlockEntityEnergyBatteryConfig.java
    │   │               │   ├── BlockEntityEnergyBatteryConfigClient.java
    │   │               │   ├── BlockEntityMaterializer.java
    │   │               │   ├── BlockEntityMaterializerConfig.java
    │   │               │   ├── BlockEntityMechanicalDryingBasin.java
    │   │               │   ├── BlockEntityMechanicalDryingBasinConfig.java
    │   │               │   ├── BlockEntityMechanicalSqueezer.java
    │   │               │   ├── BlockEntityMechanicalSqueezerConfig.java
    │   │               │   ├── BlockEntityMultipartTickingConfigClient.java
    │   │               │   ├── BlockEntityProxy.java
    │   │               │   ├── BlockEntityProxyConfig.java
    │   │               │   ├── BlockEntitySqueezer.java
    │   │               │   ├── BlockEntitySqueezerConfig.java
    │   │               │   ├── BlockEntitySqueezerConfigClient.java
    │   │               │   ├── BlockEntityVariableStoreConfig.java
    │   │               │   └── BlockEntityVariablestore.java
    │   │               ├── capability/
    │   │               │   ├── cable/
    │   │               │   │   ├── CableDefault.java
    │   │               │   │   ├── CableFakeableDefault.java
    │   │               │   │   ├── CableFakeableMultipartTicking.java
    │   │               │   │   ├── CableTile.java
    │   │               │   │   └── CableTileMultipartTicking.java
    │   │               │   ├── dynamiclight/
    │   │               │   │   ├── DynamicLightDefault.java
    │   │               │   │   └── DynamicLightTileMultipartTicking.java
    │   │               │   ├── dynamicredstone/
    │   │               │   │   ├── DynamicRedstoneDefault.java
    │   │               │   │   ├── DynamicRedstoneHolderGlobal.java
    │   │               │   │   └── DynamicRedstoneTileMultipartTicking.java
    │   │               │   ├── energystorage/
    │   │               │   │   ├── EnergyStorageItemBlockEnergyContainer.java
    │   │               │   │   ├── IEnergyStorageCapacity.java
    │   │               │   │   ├── IEnergyStorageMutable.java
    │   │               │   │   └── SimpleEnergyHandlerCapacity.java
    │   │               │   ├── facadeable/
    │   │               │   │   ├── FacadeableDefault.java
    │   │               │   │   └── FacadeableTileMultipartTicking.java
    │   │               │   ├── ingredient/
    │   │               │   │   └── IngredientComponentCapabilities.java
    │   │               │   ├── network/
    │   │               │   │   ├── NetworkCapabilityConstructors.java
    │   │               │   │   └── NetworkCarrierDefault.java
    │   │               │   ├── networkelementprovider/
    │   │               │   │   ├── NetworkElementProviderEmpty.java
    │   │               │   │   ├── NetworkElementProviderPartContainer.java
    │   │               │   │   └── NetworkElementProviderSingleton.java
    │   │               │   ├── partcontainer/
    │   │               │   │   ├── PartContainerDefault.java
    │   │               │   │   └── PartContainerTileMultipartTicking.java
    │   │               │   ├── path/
    │   │               │   │   ├── PathElementCable.java
    │   │               │   │   ├── PathElementDefault.java
    │   │               │   │   ├── PathElementTile.java
    │   │               │   │   ├── PathElementTileMultipartTicking.java
    │   │               │   │   └── SidedPathElement.java
    │   │               │   ├── valueinterface/
    │   │               │   │   └── ValueInterfaceDefault.java
    │   │               │   ├── variablecontainer/
    │   │               │   │   └── VariableContainerDefault.java
    │   │               │   └── variablefacade/
    │   │               │       └── VariableFacadeHolderDefault.java
    │   │               ├── client/
    │   │               │   ├── gui/
    │   │               │   │   ├── container/
    │   │               │   │   │   ├── ContainerScreenCoalGenerator.java
    │   │               │   │   │   ├── ContainerScreenDelay.java
    │   │               │   │   │   ├── ContainerScreenLabeller.java
    │   │               │   │   │   ├── ContainerScreenLogicProgrammer.java
    │   │               │   │   │   ├── ContainerScreenLogicProgrammerBase.java
    │   │               │   │   │   ├── ContainerScreenLogicProgrammerPortable.java
    │   │               │   │   │   ├── ContainerScreenMaterializer.java
    │   │               │   │   │   ├── ContainerScreenMechanicalDryingBasin.java
    │   │               │   │   │   ├── ContainerScreenMechanicalSqueezer.java
    │   │               │   │   │   ├── ContainerScreenOnTheDynamicsOfIntegration.java
    │   │               │   │   │   ├── ContainerScreenPartDisplay.java
    │   │               │   │   │   ├── ContainerScreenPartReader.java
    │   │               │   │   │   ├── ContainerScreenPartWriter.java
    │   │               │   │   │   ├── ContainerScreenProxy.java
    │   │               │   │   │   └── ContainerScreenVariablestore.java
    │   │               │   │   └── image/
    │   │               │   │       └── Images.java
    │   │               │   ├── model/
    │   │               │   │   ├── CableModel.java
    │   │               │   │   ├── CableModelBase.java
    │   │               │   │   ├── CableRenderState.java
    │   │               │   │   └── IRenderState.java
    │   │               │   └── render/
    │   │               │       ├── blockentity/
    │   │               │       │   ├── ItemStackBlockEntityEnergyBatteryRender.java
    │   │               │       │   ├── RenderBlockEntityDryingBasin.java
    │   │               │       │   ├── RenderBlockEntityEnergyBattery.java
    │   │               │       │   ├── RenderBlockEntitySqueezer.java
    │   │               │       │   ├── RenderCable.java
    │   │               │       │   └── SpecialModelRendererVariableOverlay.java
    │   │               │       ├── level/
    │   │               │       │   └── PartOffsetsOverlayRenderer.java
    │   │               │       ├── model/
    │   │               │       │   └── FacadeModel.java
    │   │               │       ├── part/
    │   │               │       │   ├── ConnectorOmniPartOverlayRenderer.java
    │   │               │       │   ├── DisplayPartOverlayRenderer.java
    │   │               │       │   ├── PartOverlayRendererBase.java
    │   │               │       │   ├── PartOverlayRendererRegistry.java
    │   │               │       │   └── PartOverlayRenderers.java
    │   │               │       └── valuetype/
    │   │               │           ├── BlockValueTypeWorldRenderer.java
    │   │               │           ├── FluidValueTypeWorldRenderer.java
    │   │               │           ├── IngredientsValueTypeWorldRenderer.java
    │   │               │           ├── ItemValueTypeWorldRenderer.java
    │   │               │           ├── ListValueTypeWorldRenderer.java
    │   │               │           ├── NbtValueTypeWorldRenderer.java
    │   │               │           ├── OperatorValueTypeWorldRenderer.java
    │   │               │           ├── RecipeValueTypeWorldRenderer.java
    │   │               │           ├── TextValueTypeWorldRenderer.java
    │   │               │           ├── ValueTypeWorldRendererRegistry.java
    │   │               │           └── ValueTypeWorldRenderers.java
    │   │               ├── command/
    │   │               │   ├── CommandCrash.java
    │   │               │   ├── CommandGenerateNetwork.java
    │   │               │   ├── CommandNetworkDiagnostics.java
    │   │               │   └── CommandTest.java
    │   │               ├── component/
    │   │               │   ├── DataComponentActivatedConfig.java
    │   │               │   ├── DataComponentFacadeBlockConfig.java
    │   │               │   ├── DataComponentFluidContentInOutConfig.java
    │   │               │   ├── DataComponentOmnidirectionalGroupConfig.java
    │   │               │   ├── DataComponentPartEnhancementConfig.java
    │   │               │   ├── DataComponentPartStateConfig.java
    │   │               │   ├── DataComponentProxyIdConfig.java
    │   │               │   ├── DataComponentVariableFacadeConfig.java
    │   │               │   ├── DataComponentWrenchModeConfig.java
    │   │               │   ├── DataComponentWrenchTargetBlockPosConfig.java
    │   │               │   └── DataComponentWrenchTargetDirectionConfig.java
    │   │               ├── core/
    │   │               │   ├── NoteBlockEventReceiver.java
    │   │               │   ├── TickHandler.java
    │   │               │   ├── block/
    │   │               │   │   ├── BlockContainerCabled.java
    │   │               │   │   ├── BlockMechanicalMachine.java
    │   │               │   │   ├── BlockRayTraceResultComponent.java
    │   │               │   │   ├── BlockWithEntityGuiCabled.java
    │   │               │   │   ├── IgnoredBlock.java
    │   │               │   │   ├── IgnoredBlockStatus.java
    │   │               │   │   ├── VoxelShapeComponents.java
    │   │               │   │   └── VoxelShapeComponentsFactory.java
    │   │               │   ├── blockentity/
    │   │               │   │   ├── BlockEntityActiveVariableBase.java
    │   │               │   │   ├── BlockEntityCableConnectable.java
    │   │               │   │   ├── BlockEntityCableConnectableInventory.java
    │   │               │   │   ├── BlockEntityMechanicalMachine.java
    │   │               │   │   ├── BlockEntityMultipartTicking.java
    │   │               │   │   └── BlockEntityMultipartTickingConfig.java
    │   │               │   ├── client/
    │   │               │   │   ├── gui/
    │   │               │   │   │   ├── ContainerScreenActiveVariableBase.java
    │   │               │   │   │   ├── ContainerScreenMechanicalMachine.java
    │   │               │   │   │   ├── IDropdownEntry.java
    │   │               │   │   │   ├── IDropdownEntryListener.java
    │   │               │   │   │   ├── WidgetTextFieldDropdown.java
    │   │               │   │   │   ├── container/
    │   │               │   │   │   │   ├── ContainerScreenAspectSettings.java
    │   │               │   │   │   │   ├── ContainerScreenMultipart.java
    │   │               │   │   │   │   ├── ContainerScreenMultipartAspects.java
    │   │               │   │   │   │   ├── ContainerScreenPartOffset.java
    │   │               │   │   │   │   ├── ContainerScreenPartSettings.java
    │   │               │   │   │   │   └── DisplayErrorsComponent.java
    │   │               │   │   │   └── subgui/
    │   │               │   │   │       ├── SubGuiBox.java
    │   │               │   │   │       └── SubGuiHolder.java
    │   │               │   │   └── model/
    │   │               │   │       ├── AspectVariableModelProvider.java
    │   │               │   │       ├── BakedMapVariableModelProvider.java
    │   │               │   │       ├── BakedSingleVariableModelProvider.java
    │   │               │   │       ├── CustomModelException.java
    │   │               │   │       ├── ItemModelCable.java
    │   │               │   │       ├── ItemModelFacade.java
    │   │               │   │       ├── ItemModelVariableOverlay.java
    │   │               │   │       ├── ItemModelVariableOverlays.java
    │   │               │   │       ├── SingleVariableModelProvider.java
    │   │               │   │       ├── ValueTypeVariableModelProvider.java
    │   │               │   │       ├── VariableModelProviderRegistry.java
    │   │               │   │       └── VariableModelProviders.java
    │   │               │   ├── datastructure/
    │   │               │   │   └── MapWrapper.java
    │   │               │   ├── evaluate/
    │   │               │   │   ├── DelayVariableFacadeHandler.java
    │   │               │   │   ├── IOperatorValuePropagator.java
    │   │               │   │   ├── InventoryVariableEvaluator.java
    │   │               │   │   ├── OperatorBuilders.java
    │   │               │   │   ├── ProxyVariableFacadeHandler.java
    │   │               │   │   ├── build/
    │   │               │   │   │   └── OperatorBuilder.java
    │   │               │   │   ├── expression/
    │   │               │   │   │   └── LazyExpression.java
    │   │               │   │   ├── operator/
    │   │               │   │   │   ├── CastOperator.java
    │   │               │   │   │   ├── CombinedOperator.java
    │   │               │   │   │   ├── CompositionalOperator.java
    │   │               │   │   │   ├── CurriedOperator.java
    │   │               │   │   │   ├── GeneralChoiceOperator.java
    │   │               │   │   │   ├── GeneralConstantOperator.java
    │   │               │   │   │   ├── GeneralIdentityOperator.java
    │   │               │   │   │   ├── GeneralOperator.java
    │   │               │   │   │   ├── IterativeFunction.java
    │   │               │   │   │   ├── OperatorBase.java
    │   │               │   │   │   ├── OperatorRegistry.java
    │   │               │   │   │   ├── OperatorSerializerDefault.java
    │   │               │   │   │   ├── Operators.java
    │   │               │   │   │   ├── ParseOperator.java
    │   │               │   │   │   ├── PositionedOperator.java
    │   │               │   │   │   ├── PositionedOperatorNetworkVariableById.java
    │   │               │   │   │   ├── PositionedOperatorRecipeHandler.java
    │   │               │   │   │   ├── PositionedOperatorRecipeHandlerInputs.java
    │   │               │   │   │   ├── PositionedOperatorRecipeHandlerOutput.java
    │   │               │   │   │   ├── PositionedOperatorRecipeHandlerRecipeByInput.java
    │   │               │   │   │   ├── PositionedOperatorRecipeHandlerRecipeByOutput.java
    │   │               │   │   │   ├── PositionedOperatorRecipeHandlerRecipesByInput.java
    │   │               │   │   │   ├── PositionedOperatorRecipeHandlerRecipesByOutput.java
    │   │               │   │   │   └── PredicateOperator.java
    │   │               │   │   └── variable/
    │   │               │   │       ├── ValueBase.java
    │   │               │   │       ├── ValueCastMappings.java
    │   │               │   │       ├── ValueCastRegistry.java
    │   │               │   │       ├── ValueHelpers.java
    │   │               │   │       ├── ValueObjectTypeBase.java
    │   │               │   │       ├── ValueObjectTypeBlock.java
    │   │               │   │       ├── ValueObjectTypeEntity.java
    │   │               │   │       ├── ValueObjectTypeEntityClient.java
    │   │               │   │       ├── ValueObjectTypeFluidStack.java
    │   │               │   │       ├── ValueObjectTypeIngredients.java
    │   │               │   │       ├── ValueObjectTypeItemStack.java
    │   │               │   │       ├── ValueObjectTypeRecipe.java
    │   │               │   │       ├── ValueObjectTypeRecipeClient.java
    │   │               │   │       ├── ValueOptionalBase.java
    │   │               │   │       ├── ValueTypeBase.java
    │   │               │   │       ├── ValueTypeBaseClient.java
    │   │               │   │       ├── ValueTypeBoolean.java
    │   │               │   │       ├── ValueTypeCategoryAny.java
    │   │               │   │       ├── ValueTypeCategoryBase.java
    │   │               │   │       ├── ValueTypeCategoryNamed.java
    │   │               │   │       ├── ValueTypeCategoryNullable.java
    │   │               │   │       ├── ValueTypeCategoryNumber.java
    │   │               │   │       ├── ValueTypeCategoryUniquelyNamed.java
    │   │               │   │       ├── ValueTypeDouble.java
    │   │               │   │       ├── ValueTypeInteger.java
    │   │               │   │       ├── ValueTypeLightLevelRegistry.java
    │   │               │   │       ├── ValueTypeLightLevels.java
    │   │               │   │       ├── ValueTypeList.java
    │   │               │   │       ├── ValueTypeListProxyAppend.java
    │   │               │   │       ├── ValueTypeListProxyBase.java
    │   │               │   │       ├── ValueTypeListProxyConcat.java
    │   │               │   │       ├── ValueTypeListProxyEntityArmorInventory.java
    │   │               │   │       ├── ValueTypeListProxyEntityBase.java
    │   │               │   │       ├── ValueTypeListProxyEntityCapability.java
    │   │               │   │       ├── ValueTypeListProxyEntityFluids.java
    │   │               │   │       ├── ValueTypeListProxyEntityInventory.java
    │   │               │   │       ├── ValueTypeListProxyEntityItems.java
    │   │               │   │       ├── ValueTypeListProxyFactories.java
    │   │               │   │       ├── ValueTypeListProxyFactoryTypeRegistry.java
    │   │               │   │       ├── ValueTypeListProxyLazyBuilt.java
    │   │               │   │       ├── ValueTypeListProxyMaterialized.java
    │   │               │   │       ├── ValueTypeListProxyMaterializedFactory.java
    │   │               │   │       ├── ValueTypeListProxyNBTFactory.java
    │   │               │   │       ├── ValueTypeListProxyNBTFactorySimple.java
    │   │               │   │       ├── ValueTypeListProxyNbtAsListByte.java
    │   │               │   │       ├── ValueTypeListProxyNbtAsListGeneric.java
    │   │               │   │       ├── ValueTypeListProxyNbtAsListInt.java
    │   │               │   │       ├── ValueTypeListProxyNbtAsListLong.java
    │   │               │   │       ├── ValueTypeListProxyNbtAsListTag.java
    │   │               │   │       ├── ValueTypeListProxyNbtKeys.java
    │   │               │   │       ├── ValueTypeListProxyNbtValueListByte.java
    │   │               │   │       ├── ValueTypeListProxyNbtValueListGeneric.java
    │   │               │   │       ├── ValueTypeListProxyNbtValueListInt.java
    │   │               │   │       ├── ValueTypeListProxyNbtValueListLong.java
    │   │               │   │       ├── ValueTypeListProxyNbtValueListTag.java
    │   │               │   │       ├── ValueTypeListProxyOperatorMapped.java
    │   │               │   │       ├── ValueTypeListProxyPositioned.java
    │   │               │   │       ├── ValueTypeListProxyPositionedInventory.java
    │   │               │   │       ├── ValueTypeListProxyPositionedRecipes.java
    │   │               │   │       ├── ValueTypeListProxyPositionedTankCapacities.java
    │   │               │   │       ├── ValueTypeListProxyPositionedTankFluidStacks.java
    │   │               │   │       ├── ValueTypeListProxySlice.java
    │   │               │   │       ├── ValueTypeListProxyTail.java
    │   │               │   │       ├── ValueTypeLong.java
    │   │               │   │       ├── ValueTypeNbt.java
    │   │               │   │       ├── ValueTypeOperator.java
    │   │               │   │       ├── ValueTypeRegistry.java
    │   │               │   │       ├── ValueTypeRegistryClient.java
    │   │               │   │       ├── ValueTypeString.java
    │   │               │   │       ├── ValueTypes.java
    │   │               │   │       ├── Variable.java
    │   │               │   │       ├── VariableFacadePredicateTyped.java
    │   │               │   │       ├── VariablePredicateTyped.java
    │   │               │   │       └── gui/
    │   │               │   │           ├── GuiElementValueTypeBoolean.java
    │   │               │   │           ├── GuiElementValueTypeBooleanClient.java
    │   │               │   │           ├── GuiElementValueTypeBooleanRenderPattern.java
    │   │               │   │           ├── GuiElementValueTypeDropdownList.java
    │   │               │   │           ├── GuiElementValueTypeDropdownListClient.java
    │   │               │   │           ├── GuiElementValueTypeDropdownListRenderPattern.java
    │   │               │   │           ├── GuiElementValueTypeString.java
    │   │               │   │           ├── GuiElementValueTypeStringClient.java
    │   │               │   │           ├── GuiElementValueTypeStringRenderPattern.java
    │   │               │   │           └── SubGuiValueTypeInfoBase.java
    │   │               │   ├── event/
    │   │               │   │   └── IntegratedDynamicsSetupEvent.java
    │   │               │   ├── helper/
    │   │               │   │   ├── CableHelpers.java
    │   │               │   │   ├── Codecs.java
    │   │               │   │   ├── EnergyHelpers.java
    │   │               │   │   ├── Helpers.java
    │   │               │   │   ├── L10NValues.java
    │   │               │   │   ├── NbtHelpers.java
    │   │               │   │   ├── NetworkHelpers.java
    │   │               │   │   ├── PartHelpers.java
    │   │               │   │   └── WrenchHelpers.java
    │   │               │   ├── ingredient/
    │   │               │   │   ├── ExtendedIngredientsList.java
    │   │               │   │   ├── ExtendedIngredientsSingle.java
    │   │               │   │   ├── IngredientComponentHandlerRegistry.java
    │   │               │   │   ├── IngredientComponentHandlers.java
    │   │               │   │   ├── ItemMatchProperties.java
    │   │               │   │   └── WrappedIngredients.java
    │   │               │   ├── inventory/
    │   │               │   │   └── container/
    │   │               │   │       ├── ContainerActiveVariableBase.java
    │   │               │   │       ├── ContainerAspectSettings.java
    │   │               │   │       ├── ContainerAspectSettingsConfig.java
    │   │               │   │       ├── ContainerAspectSettingsConfigScreenFactoryProvider.java
    │   │               │   │       ├── ContainerMechanicalMachine.java
    │   │               │   │       ├── ContainerMultipart.java
    │   │               │   │       ├── ContainerMultipartAspects.java
    │   │               │   │       ├── ContainerPartOffset.java
    │   │               │   │       ├── ContainerPartOffsetConfig.java
    │   │               │   │       ├── ContainerPartOffsetConfigScreenFactoryProvider.java
    │   │               │   │       ├── ContainerPartSettings.java
    │   │               │   │       ├── ContainerPartSettingsConfig.java
    │   │               │   │       ├── ContainerPartSettingsConfigScreenFactoryProvider.java
    │   │               │   │       └── slot/
    │   │               │   │           └── SlotVariable.java
    │   │               │   ├── item/
    │   │               │   │   ├── AspectVariableFacade.java
    │   │               │   │   ├── AspectVariableFacadeClient.java
    │   │               │   │   ├── DelayVariableFacade.java
    │   │               │   │   ├── DelayVariableFacadeClient.java
    │   │               │   │   ├── DummyVariableFacadeClient.java
    │   │               │   │   ├── ItemBlockEnergyContainer.java
    │   │               │   │   ├── ItemBlockEnergyContainerAutoSupply.java
    │   │               │   │   ├── ItemPart.java
    │   │               │   │   ├── OperatorVariableFacade.java
    │   │               │   │   ├── OperatorVariableFacadeClient.java
    │   │               │   │   ├── ProxyVariableFacade.java
    │   │               │   │   ├── ProxyVariableFacadeClient.java
    │   │               │   │   ├── ValueTypeVariableFacade.java
    │   │               │   │   ├── ValueTypeVariableFacadeClient.java
    │   │               │   │   ├── VariableFacadeBase.java
    │   │               │   │   └── VariableFacadeHandlerRegistry.java
    │   │               │   ├── logicprogrammer/
    │   │               │   │   ├── IRenderPatternValueTypeTooltip.java
    │   │               │   │   ├── LogicProgrammerElementTypeRegistry.java
    │   │               │   │   ├── LogicProgrammerElementTypes.java
    │   │               │   │   ├── OperatorLPElement.java
    │   │               │   │   ├── OperatorLPElementType.java
    │   │               │   │   ├── RenderPatternCommon.java
    │   │               │   │   ├── SingleLPElementType.java
    │   │               │   │   ├── ValueTypeBooleanLPElement.java
    │   │               │   │   ├── ValueTypeIngredientsLPElement.java
    │   │               │   │   ├── ValueTypeItemStackLPElement.java
    │   │               │   │   ├── ValueTypeLPElementBase.java
    │   │               │   │   ├── ValueTypeLPElementType.java
    │   │               │   │   ├── ValueTypeListLPElement.java
    │   │               │   │   ├── ValueTypeOperatorLPElement.java
    │   │               │   │   ├── ValueTypeRecipeAdapterLPElementPropertiesSubGui.java
    │   │               │   │   ├── ValueTypeRecipeLPElement.java
    │   │               │   │   ├── ValueTypeStringLPElement.java
    │   │               │   │   ├── client/
    │   │               │   │   │   ├── OperatorLPElementClient.java
    │   │               │   │   │   ├── OperatorLPElementRenderPattern.java
    │   │               │   │   │   ├── RenderPattern.java
    │   │               │   │   │   ├── ValueTypeBooleanLPElementClient.java
    │   │               │   │   │   ├── ValueTypeIngredientsLPElementClient.java
    │   │               │   │   │   ├── ValueTypeItemStackLPElementClient.java
    │   │               │   │   │   ├── ValueTypeLPElementBaseClient.java
    │   │               │   │   │   ├── ValueTypeListLPElementClient.java
    │   │               │   │   │   ├── ValueTypeOperatorLPElementClient.java
    │   │               │   │   │   ├── ValueTypeOperatorLPElementRenderPattern.java
    │   │               │   │   │   ├── ValueTypeRecipeLPElementClient.java
    │   │               │   │   │   ├── ValueTypeRecipeLPElementMasterSubGui.java
    │   │               │   │   │   ├── ValueTypeRecipeLPElementPropertiesSubGui.java
    │   │               │   │   │   ├── ValueTypeRecipeLPElementRecipeSubGui.java
    │   │               │   │   │   ├── ValueTypeStringLPElementClient.java
    │   │               │   │   │   └── ValueTypeStringLPElementRenderPattern.java
    │   │               │   │   └── event/
    │   │               │   │       ├── LogicProgrammerEvent.java
    │   │               │   │       └── LogicProgrammerVariableFacadeCreatedEvent.java
    │   │               │   ├── network/
    │   │               │   │   ├── ConcurrentWorldIngredientsProxy.java
    │   │               │   │   ├── ConsumingNetworkElementBase.java
    │   │               │   │   ├── EnergyNetwork.java
    │   │               │   │   ├── IIngredientChannelInsertPreConsumer.java
    │   │               │   │   ├── IngredientChannelAdapter.java
    │   │               │   │   ├── IngredientChannelAdapterWrapperSlotted.java
    │   │               │   │   ├── IngredientChannelIndexed.java
    │   │               │   │   ├── IngredientChannelPositioned.java
    │   │               │   │   ├── IngredientObserver.java
    │   │               │   │   ├── IngredientPositionsIndex.java
    │   │               │   │   ├── IngredientPositionsIndexEmpty.java
    │   │               │   │   ├── Network.java
    │   │               │   │   ├── NetworkCraftingHandlerRegistry.java
    │   │               │   │   ├── NetworkElementBase.java
    │   │               │   │   ├── NetworkParams.java
    │   │               │   │   ├── PartNetwork.java
    │   │               │   │   ├── PartNetworkElement.java
    │   │               │   │   ├── PartOffsetsClientNotifier.java
    │   │               │   │   ├── PartPosIteratorHandlerDummy.java
    │   │               │   │   ├── PartPosIteratorHandlerRoundRobin.java
    │   │               │   │   ├── PositionedAddonsNetwork.java
    │   │               │   │   ├── PositionedAddonsNetworkIngredients.java
    │   │               │   │   ├── TileNetworkElement.java
    │   │               │   │   ├── diagnostics/
    │   │               │   │   │   ├── IRawData.java
    │   │               │   │   │   ├── NetworkDataClient.java
    │   │               │   │   │   ├── NetworkDiagnostics.java
    │   │               │   │   │   ├── NetworkDiagnosticsPartOverlayRenderer.java
    │   │               │   │   │   ├── RawNetworkData.java
    │   │               │   │   │   ├── RawObserverData.java
    │   │               │   │   │   ├── RawPartData.java
    │   │               │   │   │   ├── RawRootData.java
    │   │               │   │   │   └── http/
    │   │               │   │   │       ├── DiagnosticsWebServer.java
    │   │               │   │   │       ├── DiagnosticsWebServerHandler.java
    │   │               │   │   │       └── DiagnosticsWebServerInitializer.java
    │   │               │   │   └── event/
    │   │               │   │       ├── NetworkElementAddEvent.java
    │   │               │   │       ├── NetworkElementRemoveEvent.java
    │   │               │   │       ├── NetworkEvent.java
    │   │               │   │       ├── NetworkEventBus.java
    │   │               │   │       ├── NetworkInitializedEvent.java
    │   │               │   │       ├── UnknownPartEvent.java
    │   │               │   │       └── VariableContentsUpdatedEvent.java
    │   │               │   ├── part/
    │   │               │   │   ├── PartStateActiveVariableBase.java
    │   │               │   │   ├── PartStateBase.java
    │   │               │   │   ├── PartStateEmpty.java
    │   │               │   │   ├── PartStateOffsetHandler.java
    │   │               │   │   ├── PartTypeAspects.java
    │   │               │   │   ├── PartTypeBase.java
    │   │               │   │   ├── PartTypeConfigurable.java
    │   │               │   │   ├── PartTypeRegistry.java
    │   │               │   │   ├── PartTypes.java
    │   │               │   │   ├── aspect/
    │   │               │   │   │   ├── AspectRegistry.java
    │   │               │   │   │   ├── AspectRegistryClient.java
    │   │               │   │   │   ├── LazyAspectVariable.java
    │   │               │   │   │   ├── UpdatingAspectVariable.java
    │   │               │   │   │   ├── build/
    │   │               │   │   │   │   ├── AspectBuilder.java
    │   │               │   │   │   │   ├── IAspectUpdateListener.java
    │   │               │   │   │   │   ├── IAspectValuePropagator.java
    │   │               │   │   │   │   ├── IAspectWriteActivator.java
    │   │               │   │   │   │   └── IAspectWriteDeactivator.java
    │   │               │   │   │   └── property/
    │   │               │   │   │       ├── AspectProperties.java
    │   │               │   │   │       └── AspectPropertyTypeInstance.java
    │   │               │   │   ├── event/
    │   │               │   │   │   ├── PartAspectEvent.java
    │   │               │   │   │   ├── PartEvent.java
    │   │               │   │   │   ├── PartReaderAspectEvent.java
    │   │               │   │   │   ├── PartVariableDrivenVariableContentsUpdatedEvent.java
    │   │               │   │   │   ├── PartWriterAspectEvent.java
    │   │               │   │   │   └── RegisterPartCapabilitiesEvent.java
    │   │               │   │   ├── panel/
    │   │               │   │   │   ├── PartTypePanel.java
    │   │               │   │   │   └── PartTypePanelVariableDriven.java
    │   │               │   │   ├── read/
    │   │               │   │   │   ├── PartStateReaderBase.java
    │   │               │   │   │   └── PartTypeReadBase.java
    │   │               │   │   └── write/
    │   │               │   │       ├── PartStateWriterBase.java
    │   │               │   │       └── PartTypeWriteBase.java
    │   │               │   ├── path/
    │   │               │   │   ├── Cluster.java
    │   │               │   │   └── PathFinder.java
    │   │               │   ├── persist/
    │   │               │   │   └── world/
    │   │               │   │       ├── LabelsWorldStorage.java
    │   │               │   │       └── NetworkWorldStorage.java
    │   │               │   ├── recipe/
    │   │               │   │   ├── category/
    │   │               │   │   │   ├── RecipeBookCategoryDryingBasinConfig.java
    │   │               │   │   │   ├── RecipeBookCategoryMechanicalDryingBasinConfig.java
    │   │               │   │   │   ├── RecipeBookCategoryMechanicalSqueezerConfig.java
    │   │               │   │   │   └── RecipeBookCategorySqueezerConfig.java
    │   │               │   │   ├── display/
    │   │               │   │   │   ├── RecipeDisplayDryingBasin.java
    │   │               │   │   │   ├── RecipeDisplayDryingBasinConfig.java
    │   │               │   │   │   ├── RecipeDisplaySqueezer.java
    │   │               │   │   │   └── RecipeDisplaySqueezerConfig.java
    │   │               │   │   ├── handler/
    │   │               │   │   │   ├── RecipeHandlerDryingBasin.java
    │   │               │   │   │   └── RecipeHandlerSqueezer.java
    │   │               │   │   └── type/
    │   │               │   │       ├── RecipeDryingBasin.java
    │   │               │   │       ├── RecipeEnergyContainerCombination.java
    │   │               │   │       ├── RecipeEnergyContainerCombinationConfig.java
    │   │               │   │       ├── RecipeMechanicalDryingBasin.java
    │   │               │   │       ├── RecipeMechanicalSqueezer.java
    │   │               │   │       ├── RecipeMechanicalSqueezerFacade.java
    │   │               │   │       ├── RecipeNbtClear.java
    │   │               │   │       ├── RecipeSerializerDryingBasin.java
    │   │               │   │       ├── RecipeSerializerDryingBasinConfig.java
    │   │               │   │       ├── RecipeSerializerEnergyContainerCombination.java
    │   │               │   │       ├── RecipeSerializerMechanicalDryingBasin.java
    │   │               │   │       ├── RecipeSerializerMechanicalDryingBasinConfig.java
    │   │               │   │       ├── RecipeSerializerMechanicalSqueezer.java
    │   │               │   │       ├── RecipeSerializerMechanicalSqueezerConfig.java
    │   │               │   │       ├── RecipeSerializerMechanicalSqueezerFacade.java
    │   │               │   │       ├── RecipeSerializerMechanicalSqueezerFacadeConfig.java
    │   │               │   │       ├── RecipeSerializerNbtClear.java
    │   │               │   │       ├── RecipeSerializerNbtClearConfig.java
    │   │               │   │       ├── RecipeSerializerSqueezer.java
    │   │               │   │       ├── RecipeSerializerSqueezerConfig.java
    │   │               │   │       ├── RecipeSerializerSqueezerFacade.java
    │   │               │   │       ├── RecipeSerializerSqueezerFacadeConfig.java
    │   │               │   │       ├── RecipeSqueezer.java
    │   │               │   │       ├── RecipeSqueezerFacade.java
    │   │               │   │       ├── RecipeTypeDryingBasinConfig.java
    │   │               │   │       ├── RecipeTypeMechanicalDryingBasinConfig.java
    │   │               │   │       ├── RecipeTypeMechanicalSqueezerConfig.java
    │   │               │   │       └── RecipeTypeSqueezerConfig.java
    │   │               │   └── test/
    │   │               │       ├── IntegrationBefore.java
    │   │               │       ├── IntegrationTest.java
    │   │               │       └── TestHelpers.java
    │   │               ├── entity/
    │   │               │   └── item/
    │   │               │       ├── EntityItemTargetted.java
    │   │               │       ├── EntityItemTargettedConfig.java
    │   │               │       └── EntityItemTargettedConfigClient.java
    │   │               ├── fluid/
    │   │               │   ├── FluidLiquidChorusConfig.java
    │   │               │   └── FluidMenrilResinConfig.java
    │   │               ├── gametest/
    │   │               │   ├── GameTestHelpersIntegratedDynamics.java
    │   │               │   ├── GameTestsAdvancements.java
    │   │               │   ├── GameTestsAspectsReadAudio.java
    │   │               │   ├── GameTestsAspectsReadBlock.java
    │   │               │   ├── GameTestsAspectsReadEntity.java
    │   │               │   ├── GameTestsAspectsReadExtraDimensional.java
    │   │               │   ├── GameTestsAspectsReadFluid.java
    │   │               │   ├── GameTestsAspectsReadInventory.java
    │   │               │   ├── GameTestsAspectsReadMachine.java
    │   │               │   ├── GameTestsAspectsReadNetwork.java
    │   │               │   ├── GameTestsAspectsReadRedstone.java
    │   │               │   ├── GameTestsAspectsReadWorld.java
    │   │               │   ├── GameTestsAspectsWriteRedstone.java
    │   │               │   ├── GameTestsBattery.java
    │   │               │   ├── GameTestsCombinedAspects.java
    │   │               │   ├── GameTestsDelayer.java
    │   │               │   ├── GameTestsDryingBasin.java
    │   │               │   ├── GameTestsFacades.java
    │   │               │   ├── GameTestsFluids.java
    │   │               │   ├── GameTestsFuzzing.java
    │   │               │   ├── GameTestsGenerator.java
    │   │               │   ├── GameTestsMaterializer.java
    │   │               │   ├── GameTestsMechanicalDryingBasin.java
    │   │               │   ├── GameTestsMechanicalSqueezer.java
    │   │               │   ├── GameTestsNetwork.java
    │   │               │   ├── GameTestsOffsets.java
    │   │               │   ├── GameTestsParts.java
    │   │               │   ├── GameTestsPerformance.java
    │   │               │   ├── GameTestsProxy.java
    │   │               │   ├── GameTestsSqueezer.java
    │   │               │   ├── GameTestsWrench.java
    │   │               │   ├── fuzzing/
    │   │               │   │   ├── FuzzingGameTestInstance.java
    │   │               │   │   ├── FuzzingGameTestInstanceConfig.java
    │   │               │   │   ├── NetworkFuzzer.java
    │   │               │   │   └── NetworkFuzzerException.java
    │   │               │   └── integration/
    │   │               │       ├── Asserts.java
    │   │               │       ├── DummyValueType.java
    │   │               │       ├── DummyVariable.java
    │   │               │       ├── DummyVariableBlock.java
    │   │               │       ├── DummyVariableEntity.java
    │   │               │       ├── DummyVariableFluidStack.java
    │   │               │       ├── DummyVariableIngredients.java
    │   │               │       ├── DummyVariableItemStack.java
    │   │               │       ├── DummyVariableRecipe.java
    │   │               │       ├── GameTester.java
    │   │               │       ├── IntegrationMethodGameTestInstance.java
    │   │               │       ├── IntegrationMethodGameTestInstanceConfig.java
    │   │               │       ├── TestBlockOperators.java
    │   │               │       ├── TestEntityOperators.java
    │   │               │       ├── TestFluidStackOperators.java
    │   │               │       ├── TestIngredientsOperators.java
    │   │               │       ├── TestItemStackOperators.java
    │   │               │       ├── TestRecipeOperators.java
    │   │               │       ├── TestVariables.java
    │   │               │       └── ValueEntityMock.java
    │   │               ├── infobook/
    │   │               │   ├── OnTheDynamicsOfIntegrationBook.java
    │   │               │   └── pageelement/
    │   │               │       ├── AspectAppendix.java
    │   │               │       ├── AspectAppendixClient.java
    │   │               │       ├── DryingBasinRecipeAppendix.java
    │   │               │       ├── DryingBasinRecipeAppendixClient.java
    │   │               │       ├── MechanicalDryingBasinRecipeAppendix.java
    │   │               │       ├── MechanicalSqueezerRecipeAppendix.java
    │   │               │       ├── OperatorAppendix.java
    │   │               │       ├── OperatorAppendixClient.java
    │   │               │       ├── SqueezerRecipeAppendix.java
    │   │               │       └── SqueezerRecipeAppendixClient.java
    │   │               ├── inventory/
    │   │               │   ├── container/
    │   │               │   │   ├── ContainerCoalGenerator.java
    │   │               │   │   ├── ContainerCoalGeneratorConfig.java
    │   │               │   │   ├── ContainerCoalGeneratorConfigScreenFactoryProvider.java
    │   │               │   │   ├── ContainerDelay.java
    │   │               │   │   ├── ContainerDelayConfig.java
    │   │               │   │   ├── ContainerDelayConfigScreenFactoryProvider.java
    │   │               │   │   ├── ContainerLabeller.java
    │   │               │   │   ├── ContainerLabellerConfig.java
    │   │               │   │   ├── ContainerLabellerConfigScreenFactoryProvider.java
    │   │               │   │   ├── ContainerLogicProgrammer.java
    │   │               │   │   ├── ContainerLogicProgrammerBase.java
    │   │               │   │   ├── ContainerLogicProgrammerConfig.java
    │   │               │   │   ├── ContainerLogicProgrammerConfigScreenFactoryProvider.java
    │   │               │   │   ├── ContainerLogicProgrammerPortable.java
    │   │               │   │   ├── ContainerLogicProgrammerPortableConfig.java
    │   │               │   │   ├── ContainerLogicProgrammerPortableConfigScreenFactoryProvider.java
    │   │               │   │   ├── ContainerMaterializer.java
    │   │               │   │   ├── ContainerMaterializerConfig.java
    │   │               │   │   ├── ContainerMaterializerConfigScreenFactoryProvider.java
    │   │               │   │   ├── ContainerMechanicalDryingBasin.java
    │   │               │   │   ├── ContainerMechanicalDryingBasinConfig.java
    │   │               │   │   ├── ContainerMechanicalDryingBasinConfigScreenFactoryProvider.java
    │   │               │   │   ├── ContainerMechanicalSqueezer.java
    │   │               │   │   ├── ContainerMechanicalSqueezerConfig.java
    │   │               │   │   ├── ContainerMechanicalSqueezerConfigScreenFactoryProvider.java
    │   │               │   │   ├── ContainerOnTheDynamicsOfIntegration.java
    │   │               │   │   ├── ContainerOnTheDynamicsOfIntegrationConfig.java
    │   │               │   │   ├── ContainerOnTheDynamicsOfIntegrationConfigScreenFactoryProvider.java
    │   │               │   │   ├── ContainerPartDisplayConfig.java
    │   │               │   │   ├── ContainerPartDisplayConfigScreenFactoryProvider.java
    │   │               │   │   ├── ContainerPartPanelVariableDriven.java
    │   │               │   │   ├── ContainerPartReader.java
    │   │               │   │   ├── ContainerPartReaderConfig.java
    │   │               │   │   ├── ContainerPartReaderConfigScreenFactoryProvider.java
    │   │               │   │   ├── ContainerPartWriter.java
    │   │               │   │   ├── ContainerPartWriterConfig.java
    │   │               │   │   ├── ContainerPartWriterConfigScreenFactoryProvider.java
    │   │               │   │   ├── ContainerProxy.java
    │   │               │   │   ├── ContainerProxyConfig.java
    │   │               │   │   ├── ContainerProxyConfigScreenFactoryProvider.java
    │   │               │   │   ├── ContainerVariablestore.java
    │   │               │   │   ├── ContainerVariablestoreConfig.java
    │   │               │   │   └── ContainerVariablestoreConfigScreenFactoryProvider.java
    │   │               │   └── slot/
    │   │               │       └── FurnaceFuelSlotExtended.java
    │   │               ├── item/
    │   │               │   ├── ItemBlockCable.java
    │   │               │   ├── ItemBlockDelay.java
    │   │               │   ├── ItemBlockProxy.java
    │   │               │   ├── ItemBucketLiquidChorusConfig.java
    │   │               │   ├── ItemBucketMenrilResinConfig.java
    │   │               │   ├── ItemCrystalizedChorusChunkConfig.java
    │   │               │   ├── ItemCrystalizedMenrilChunkConfig.java
    │   │               │   ├── ItemEnhancement.java
    │   │               │   ├── ItemEnhancementOffsetConfig.java
    │   │               │   ├── ItemFacade.java
    │   │               │   ├── ItemFacadeConfig.java
    │   │               │   ├── ItemFacadeConfigClient.java
    │   │               │   ├── ItemLabeller.java
    │   │               │   ├── ItemLabellerConfig.java
    │   │               │   ├── ItemLogicDirectorConfig.java
    │   │               │   ├── ItemMenrilBerriesConfig.java
    │   │               │   ├── ItemOnTheDynamicsOfIntegration.java
    │   │               │   ├── ItemOnTheDynamicsOfIntegrationConfig.java
    │   │               │   ├── ItemPortableLogicProgrammer.java
    │   │               │   ├── ItemPortableLogicProgrammerConfig.java
    │   │               │   ├── ItemProtoChorusConfig.java
    │   │               │   ├── ItemVariable.java
    │   │               │   ├── ItemVariableConfig.java
    │   │               │   ├── ItemVariableConfigClient.java
    │   │               │   ├── ItemVariableTransformerConfig.java
    │   │               │   ├── ItemWrench.java
    │   │               │   └── ItemWrenchConfig.java
    │   │               ├── loot/
    │   │               │   ├── conditions/
    │   │               │   │   ├── LootConditionMatchWrench.java
    │   │               │   │   └── LootConditionMatchWrenchConfig.java
    │   │               │   └── functions/
    │   │               │       ├── LootFunctionCopyEnergyBatteryData.java
    │   │               │       ├── LootFunctionCopyEnergyBatteryDataConfig.java
    │   │               │       ├── LootFunctionCopyMechanicalDryingBasinTanks.java
    │   │               │       ├── LootFunctionCopyMechanicalDryingBasinTanksConfig.java
    │   │               │       ├── LootFunctionCopyMechanicalMachineEnergy.java
    │   │               │       ├── LootFunctionCopyMechanicalMachineEnergyConfig.java
    │   │               │       ├── LootFunctionCopyMechanicalSqueezerTank.java
    │   │               │       ├── LootFunctionCopyMechanicalSqueezerTankConfig.java
    │   │               │       ├── LootFunctionCopyProxyId.java
    │   │               │       └── LootFunctionCopyProxyIdConfig.java
    │   │               ├── metadata/
    │   │               │   ├── RegistryExportableAspect.java
    │   │               │   ├── RegistryExportableDryingBasinRecipe.java
    │   │               │   ├── RegistryExportableMechanicalDryingBasinRecipe.java
    │   │               │   ├── RegistryExportableMechanicalSqueezerRecipe.java
    │   │               │   ├── RegistryExportableOperator.java
    │   │               │   ├── RegistryExportablePartAspect.java
    │   │               │   ├── RegistryExportableSqueezerRecipe.java
    │   │               │   └── RegistryExportables.java
    │   │               ├── mixin/
    │   │               │   └── MixinBlockStateBase.java
    │   │               ├── network/
    │   │               │   ├── CoalGeneratorNetworkElement.java
    │   │               │   ├── DelayNetworkElement.java
    │   │               │   ├── EnergyBatteryNetworkElement.java
    │   │               │   ├── MaterializerNetworkElement.java
    │   │               │   ├── MechanicalMachineNetworkElement.java
    │   │               │   ├── ProxyNetworkElement.java
    │   │               │   ├── VariablestoreNetworkElement.java
    │   │               │   └── packet/
    │   │               │       ├── ActionLabelPacket.java
    │   │               │       ├── AllLabelsPacket.java
    │   │               │       ├── ItemStackRenamePacket.java
    │   │               │       ├── LogicProgrammerActivateElementPacket.java
    │   │               │       ├── LogicProgrammerLabelPacket.java
    │   │               │       ├── LogicProgrammerSetElementInventory.java
    │   │               │       ├── LogicProgrammerValueTypeBooleanValueChangedPacket.java
    │   │               │       ├── LogicProgrammerValueTypeIngredientsValueChangedPacket.java
    │   │               │       ├── LogicProgrammerValueTypeListValueChangedPacket.java
    │   │               │       ├── LogicProgrammerValueTypeOperatorValueChangedPacket.java
    │   │               │       ├── LogicProgrammerValueTypeRecipeSlotPropertiesChangedPacket.java
    │   │               │       ├── LogicProgrammerValueTypeRecipeValueChangedPacket.java
    │   │               │       ├── LogicProgrammerValueTypeSlottedValueChangedPacket.java
    │   │               │       ├── LogicProgrammerValueTypeStringValueChangedPacket.java
    │   │               │       ├── NetworkDiagnosticsNetworkPacket.java
    │   │               │       ├── NetworkDiagnosticsSubscribePacket.java
    │   │               │       ├── NetworkDiagnosticsTriggerClient.java
    │   │               │       ├── PartOffsetsDataPacket.java
    │   │               │       ├── PartOffsetsSubscribePacket.java
    │   │               │       ├── PlayerTeleportPacket.java
    │   │               │       └── SpeakTextPacket.java
    │   │               ├── part/
    │   │               │   ├── PartTypeAudioReader.java
    │   │               │   ├── PartTypeAudioWriter.java
    │   │               │   ├── PartTypeBlockReader.java
    │   │               │   ├── PartTypeConnector.java
    │   │               │   ├── PartTypeConnectorMonoDirectional.java
    │   │               │   ├── PartTypeConnectorOmniDirectional.java
    │   │               │   ├── PartTypeEffectWriter.java
    │   │               │   ├── PartTypeEntityReader.java
    │   │               │   ├── PartTypeEntityWriter.java
    │   │               │   ├── PartTypeExtraDimensionalReader.java
    │   │               │   ├── PartTypeFluidReader.java
    │   │               │   ├── PartTypeInventoryReader.java
    │   │               │   ├── PartTypeInventoryWriter.java
    │   │               │   ├── PartTypeMachineReader.java
    │   │               │   ├── PartTypeMachineWriter.java
    │   │               │   ├── PartTypeNetworkReader.java
    │   │               │   ├── PartTypePanelDisplay.java
    │   │               │   ├── PartTypePanelLightDynamic.java
    │   │               │   ├── PartTypePanelLightStatic.java
    │   │               │   ├── PartTypeRedstoneReader.java
    │   │               │   ├── PartTypeRedstoneWriter.java
    │   │               │   ├── PartTypeWorldReader.java
    │   │               │   └── aspect/
    │   │               │       ├── AspectBase.java
    │   │               │       ├── Aspects.java
    │   │               │       ├── read/
    │   │               │       │   ├── AspectReadBase.java
    │   │               │       │   ├── AspectReadBuilders.java
    │   │               │       │   └── redstone/
    │   │               │       │       ├── IReadRedstoneComponent.java
    │   │               │       │       └── ReadRedstoneComponent.java
    │   │               │       └── write/
    │   │               │           ├── AspectWriteBase.java
    │   │               │           ├── AspectWriteBuilders.java
    │   │               │           └── redstone/
    │   │               │               ├── IWriteRedstoneComponent.java
    │   │               │               └── WriteRedstoneComponent.java
    │   │               ├── proxy/
    │   │               │   ├── ClientProxy.java
    │   │               │   └── CommonProxy.java
    │   │               ├── recipe/
    │   │               │   ├── ItemFacadeRecipe.java
    │   │               │   ├── ItemFacadeRecipeConfig.java
    │   │               │   ├── ItemVariableCopyRecipe.java
    │   │               │   ├── ItemVariableCopyRecipeConfig.java
    │   │               │   ├── RecipeSerializerCraftingSpecialShapedOmniDirectional3Config.java
    │   │               │   ├── RecipeSerializerCraftingSpecialShapedOmniDirectionalConfig.java
    │   │               │   └── RecipeSerializerCraftingSpecialShapelessOmniDirectionalConfig.java
    │   │               ├── sound/
    │   │               │   ├── SoundEventEffectPageFlipMultipleConfig.java
    │   │               │   └── SoundEventEffectPageFlipSingleConfig.java
    │   │               └── world/
    │   │                   └── gen/
    │   │                       ├── foliageplacer/
    │   │                       │   ├── FoliagePlacerMenril.java
    │   │                       │   └── FoliagePlacerMenrilConfig.java
    │   │                       └── trunkplacer/
    │   │                           ├── TrunkPlacerMenril.java
    │   │                           └── TrunkPlacerMenrilConfig.java
    │   └── resources/
    │       ├── LICENSE-netty.txt
    │       ├── LICENSE-re2j.txt
    │       ├── META-INF/
    │       │   ├── accesstransformer.cfg
    │       │   └── neoforge.mods.toml
    │       ├── assets/
    │       │   ├── integrateddynamics/
    │       │   │   ├── blockstates/
    │       │   │   │   ├── block_liquid_chorus.json
    │       │   │   │   ├── block_menril_resin.json
    │       │   │   │   ├── cable.json
    │       │   │   │   ├── coal_generator.json
    │       │   │   │   ├── crystalized_chorus_block.json
    │       │   │   │   ├── crystalized_chorus_block_slab.json
    │       │   │   │   ├── crystalized_chorus_block_stairs.json
    │       │   │   │   ├── crystalized_chorus_brick.json
    │       │   │   │   ├── crystalized_chorus_brick_slab.json
    │       │   │   │   ├── crystalized_chorus_brick_stairs.json
    │       │   │   │   ├── crystalized_menril_block.json
    │       │   │   │   ├── crystalized_menril_block_slab.json
    │       │   │   │   ├── crystalized_menril_block_stairs.json
    │       │   │   │   ├── crystalized_menril_brick.json
    │       │   │   │   ├── crystalized_menril_brick_slab.json
    │       │   │   │   ├── crystalized_menril_brick_stairs.json
    │       │   │   │   ├── delay.json
    │       │   │   │   ├── drying_basin.json
    │       │   │   │   ├── energy_battery.json
    │       │   │   │   ├── energy_battery_creative.json
    │       │   │   │   ├── invisible_light.json
    │       │   │   │   ├── logic_programmer.json
    │       │   │   │   ├── materializer.json
    │       │   │   │   ├── mechanical_drying_basin.json
    │       │   │   │   ├── mechanical_squeezer.json
    │       │   │   │   ├── menril_door.json
    │       │   │   │   ├── menril_fence.json
    │       │   │   │   ├── menril_fence_gate.json
    │       │   │   │   ├── menril_leaves.json
    │       │   │   │   ├── menril_log.json
    │       │   │   │   ├── menril_log_filled.json
    │       │   │   │   ├── menril_log_stripped.json
    │       │   │   │   ├── menril_planks.json
    │       │   │   │   ├── menril_planks_stairs.json
    │       │   │   │   ├── menril_sapling.json
    │       │   │   │   ├── menril_slab.json
    │       │   │   │   ├── menril_torch.json
    │       │   │   │   ├── menril_torch_stone.json
    │       │   │   │   ├── menril_torch_stone_wall.json
    │       │   │   │   ├── menril_torch_wall.json
    │       │   │   │   ├── menril_wood.json
    │       │   │   │   ├── menril_wood_stripped.json
    │       │   │   │   ├── part_audio_reader.json
    │       │   │   │   ├── part_audio_writer.json
    │       │   │   │   ├── part_block_reader.json
    │       │   │   │   ├── part_connector_mono_directional.json
    │       │   │   │   ├── part_connector_omni_directional.json
    │       │   │   │   ├── part_display_panel.json
    │       │   │   │   ├── part_dynamic_light_panel.json
    │       │   │   │   ├── part_effect_writer.json
    │       │   │   │   ├── part_entity_reader.json
    │       │   │   │   ├── part_entity_writer.json
    │       │   │   │   ├── part_extradimensional_reader.json
    │       │   │   │   ├── part_fluid_reader.json
    │       │   │   │   ├── part_inventory_reader.json
    │       │   │   │   ├── part_inventory_writer.json
    │       │   │   │   ├── part_machine_reader.json
    │       │   │   │   ├── part_machine_writer.json
    │       │   │   │   ├── part_network_reader.json
    │       │   │   │   ├── part_redstone_reader.json
    │       │   │   │   ├── part_redstone_writer.json
    │       │   │   │   ├── part_static_light_panel.json
    │       │   │   │   ├── part_world_reader.json
    │       │   │   │   ├── proxy.json
    │       │   │   │   ├── squeezer.json
    │       │   │   │   └── variablestore.json
    │       │   │   ├── items/
    │       │   │   │   ├── block_liquid_chorus.json
    │       │   │   │   ├── block_menril_resin.json
    │       │   │   │   ├── bucket_liquid_chorus.json
    │       │   │   │   ├── bucket_menril_resin.json
    │       │   │   │   ├── cable.json
    │       │   │   │   ├── coal_generator.json
    │       │   │   │   ├── crystalized_chorus_block.json
    │       │   │   │   ├── crystalized_chorus_block_slab.json
    │       │   │   │   ├── crystalized_chorus_block_stairs.json
    │       │   │   │   ├── crystalized_chorus_brick.json
    │       │   │   │   ├── crystalized_chorus_brick_slab.json
    │       │   │   │   ├── crystalized_chorus_brick_stairs.json
    │       │   │   │   ├── crystalized_chorus_chunk.json
    │       │   │   │   ├── crystalized_menril_block.json
    │       │   │   │   ├── crystalized_menril_block_slab.json
    │       │   │   │   ├── crystalized_menril_block_stairs.json
    │       │   │   │   ├── crystalized_menril_brick.json
    │       │   │   │   ├── crystalized_menril_brick_slab.json
    │       │   │   │   ├── crystalized_menril_brick_stairs.json
    │       │   │   │   ├── crystalized_menril_chunk.json
    │       │   │   │   ├── delay.json
    │       │   │   │   ├── drying_basin.json
    │       │   │   │   ├── energy_battery.json
    │       │   │   │   ├── energy_battery_creative.json
    │       │   │   │   ├── enhancement_offset.json
    │       │   │   │   ├── facade.json
    │       │   │   │   ├── invisible_light.json
    │       │   │   │   ├── labeller.json
    │       │   │   │   ├── logic_director.json
    │       │   │   │   ├── logic_programmer.json
    │       │   │   │   ├── materializer.json
    │       │   │   │   ├── mechanical_drying_basin.json
    │       │   │   │   ├── mechanical_squeezer.json
    │       │   │   │   ├── menril_berries.json
    │       │   │   │   ├── menril_door.json
    │       │   │   │   ├── menril_fence.json
    │       │   │   │   ├── menril_fence_gate.json
    │       │   │   │   ├── menril_leaves.json
    │       │   │   │   ├── menril_log.json
    │       │   │   │   ├── menril_log_filled.json
    │       │   │   │   ├── menril_log_stripped.json
    │       │   │   │   ├── menril_planks.json
    │       │   │   │   ├── menril_planks_stairs.json
    │       │   │   │   ├── menril_sapling.json
    │       │   │   │   ├── menril_slab.json
    │       │   │   │   ├── menril_torch.json
    │       │   │   │   ├── menril_torch_stone.json
    │       │   │   │   ├── menril_wood.json
    │       │   │   │   ├── menril_wood_stripped.json
    │       │   │   │   ├── on_the_dynamics_of_integration.json
    │       │   │   │   ├── part_audio_reader.json
    │       │   │   │   ├── part_audio_writer.json
    │       │   │   │   ├── part_block_reader.json
    │       │   │   │   ├── part_connector_mono_directional.json
    │       │   │   │   ├── part_connector_omni_directional.json
    │       │   │   │   ├── part_display_panel.json
    │       │   │   │   ├── part_dynamic_light_panel.json
    │       │   │   │   ├── part_effect_writer.json
    │       │   │   │   ├── part_entity_reader.json
    │       │   │   │   ├── part_entity_writer.json
    │       │   │   │   ├── part_extradimensional_reader.json
    │       │   │   │   ├── part_fluid_reader.json
    │       │   │   │   ├── part_inventory_reader.json
    │       │   │   │   ├── part_inventory_writer.json
    │       │   │   │   ├── part_machine_reader.json
    │       │   │   │   ├── part_machine_writer.json
    │       │   │   │   ├── part_network_reader.json
    │       │   │   │   ├── part_redstone_reader.json
    │       │   │   │   ├── part_redstone_writer.json
    │       │   │   │   ├── part_static_light_panel.json
    │       │   │   │   ├── part_world_reader.json
    │       │   │   │   ├── portable_logic_programmer.json
    │       │   │   │   ├── proto_chorus.json
    │       │   │   │   ├── proxy.json
    │       │   │   │   ├── squeezer.json
    │       │   │   │   ├── variable.json
    │       │   │   │   ├── variable_transformer_input.json
    │       │   │   │   ├── variable_transformer_output.json
    │       │   │   │   ├── variablestore.json
    │       │   │   │   └── wrench.json
    │       │   │   ├── lang/
    │       │   │   │   ├── af_za.json
    │       │   │   │   ├── ar_sa.json
    │       │   │   │   ├── ca_es.json
    │       │   │   │   ├── cs_cz.json
    │       │   │   │   ├── da_dk.json
    │       │   │   │   ├── de_de.json
    │       │   │   │   ├── el_gr.json
    │       │   │   │   ├── en_us.json
    │       │   │   │   ├── es_es.json
    │       │   │   │   ├── fi_fi.json
    │       │   │   │   ├── fr_fr.json
    │       │   │   │   ├── he_il.json
    │       │   │   │   ├── hu_hu.json
    │       │   │   │   ├── it_it.json
    │       │   │   │   ├── ja_jp.json
    │       │   │   │   ├── ko_kr.json
    │       │   │   │   ├── nl_nl.json
    │       │   │   │   ├── no_no.json
    │       │   │   │   ├── pl_pl.json
    │       │   │   │   ├── pt_br.json
    │       │   │   │   ├── pt_pt.json
    │       │   │   │   ├── ro_ro.json
    │       │   │   │   ├── ru_ru.json
    │       │   │   │   ├── sr_sp.json
    │       │   │   │   ├── sv_se.json
    │       │   │   │   ├── tr_tr.json
    │       │   │   │   ├── uk_ua.json
    │       │   │   │   ├── vi_vn.json
    │       │   │   │   ├── zh_cn.json
    │       │   │   │   └── zh_tw.json
    │       │   │   ├── models/
    │       │   │   │   ├── aspect/
    │       │   │   │   │   ├── read/
    │       │   │   │   │   │   ├── any/
    │       │   │   │   │   │   │   └── network/
    │       │   │   │   │   │   │       └── value.json
    │       │   │   │   │   │   ├── block/
    │       │   │   │   │   │   │   └── block.json
    │       │   │   │   │   │   ├── boolean/
    │       │   │   │   │   │   │   ├── block/
    │       │   │   │   │   │   │   │   └── block.json
    │       │   │   │   │   │   │   ├── energy/
    │       │   │   │   │   │   │   │   ├── applicable.json
    │       │   │   │   │   │   │   │   ├── canextract.json
    │       │   │   │   │   │   │   │   ├── caninsert.json
    │       │   │   │   │   │   │   │   ├── isempty.json
    │       │   │   │   │   │   │   │   ├── isfull.json
    │       │   │   │   │   │   │   │   ├── isnonempty.json
    │       │   │   │   │   │   │   │   ├── isprovider.json
    │       │   │   │   │   │   │   │   └── isreceiver.json
    │       │   │   │   │   │   │   ├── fluid/
    │       │   │   │   │   │   │   │   ├── applicable.json
    │       │   │   │   │   │   │   │   ├── empty.json
    │       │   │   │   │   │   │   │   ├── full.json
    │       │   │   │   │   │   │   │   └── nonempty.json
    │       │   │   │   │   │   │   ├── inventory/
    │       │   │   │   │   │   │   │   ├── applicable.json
    │       │   │   │   │   │   │   │   ├── empty.json
    │       │   │   │   │   │   │   │   ├── full.json
    │       │   │   │   │   │   │   │   └── nonempty.json
    │       │   │   │   │   │   │   ├── machine/
    │       │   │   │   │   │   │   │   ├── canwork.json
    │       │   │   │   │   │   │   │   ├── haswork.json
    │       │   │   │   │   │   │   │   ├── isworker.json
    │       │   │   │   │   │   │   │   └── isworking.json
    │       │   │   │   │   │   │   ├── network/
    │       │   │   │   │   │   │   │   └── applicable.json
    │       │   │   │   │   │   │   ├── recipehandler/
    │       │   │   │   │   │   │   │   └── applicable.json
    │       │   │   │   │   │   │   ├── redstone/
    │       │   │   │   │   │   │   │   ├── clock.json
    │       │   │   │   │   │   │   │   ├── high.json
    │       │   │   │   │   │   │   │   ├── low.json
    │       │   │   │   │   │   │   │   └── nonlow.json
    │       │   │   │   │   │   │   ├── temperature/
    │       │   │   │   │   │   │   │   └── istemperature.json
    │       │   │   │   │   │   │   └── world/
    │       │   │   │   │   │   │       ├── animal.json
    │       │   │   │   │   │   │       ├── entity.json
    │       │   │   │   │   │   │       ├── isday.json
    │       │   │   │   │   │   │       ├── isnight.json
    │       │   │   │   │   │   │       ├── item.json
    │       │   │   │   │   │   │       ├── mob.json
    │       │   │   │   │   │   │       ├── player.json
    │       │   │   │   │   │   │       └── weather/
    │       │   │   │   │   │   │           ├── clear.json
    │       │   │   │   │   │   │           ├── raining.json
    │       │   │   │   │   │   │           └── thunder.json
    │       │   │   │   │   │   ├── double/
    │       │   │   │   │   │   │   ├── energy/
    │       │   │   │   │   │   │   │   └── fillratio.json
    │       │   │   │   │   │   │   ├── extradimensional/
    │       │   │   │   │   │   │   │   └── tps.json
    │       │   │   │   │   │   │   ├── fluid/
    │       │   │   │   │   │   │   │   └── fillratio.json
    │       │   │   │   │   │   │   ├── inventory/
    │       │   │   │   │   │   │   │   └── fillratio.json
    │       │   │   │   │   │   │   ├── temperature/
    │       │   │   │   │   │   │   │   ├── defaulttemperature.json
    │       │   │   │   │   │   │   │   ├── maxtemperature.json
    │       │   │   │   │   │   │   │   ├── mintemperature.json
    │       │   │   │   │   │   │   │   └── temperature.json
    │       │   │   │   │   │   │   └── world/
    │       │   │   │   │   │   │       └── tps.json
    │       │   │   │   │   │   ├── entity/
    │       │   │   │   │   │   │   └── entity.json
    │       │   │   │   │   │   ├── fluidstack/
    │       │   │   │   │   │   │   ├── block.json
    │       │   │   │   │   │   │   └── fluid.json
    │       │   │   │   │   │   ├── integer/
    │       │   │   │   │   │   │   ├── audio/
    │       │   │   │   │   │   │   │   └── instrument/
    │       │   │   │   │   │   │   │       ├── banjo.json
    │       │   │   │   │   │   │   │       ├── basedrum.json
    │       │   │   │   │   │   │   │       ├── bass.json
    │       │   │   │   │   │   │   │       ├── bell.json
    │       │   │   │   │   │   │   │       ├── bit.json
    │       │   │   │   │   │   │   │       ├── chime.json
    │       │   │   │   │   │   │   │       ├── cow_bell.json
    │       │   │   │   │   │   │   │       ├── creeper.json
    │       │   │   │   │   │   │   │       ├── custom_head.json
    │       │   │   │   │   │   │   │       ├── didgeridoo.json
    │       │   │   │   │   │   │   │       ├── dragon.json
    │       │   │   │   │   │   │   │       ├── flute.json
    │       │   │   │   │   │   │   │       ├── guitar.json
    │       │   │   │   │   │   │   │       ├── harp.json
    │       │   │   │   │   │   │   │       ├── hat.json
    │       │   │   │   │   │   │   │       ├── iron_xylophone.json
    │       │   │   │   │   │   │   │       ├── piglin.json
    │       │   │   │   │   │   │   │       ├── pling.json
    │       │   │   │   │   │   │   │       ├── skeleton.json
    │       │   │   │   │   │   │   │       ├── snare.json
    │       │   │   │   │   │   │   │       ├── wither_skeleton.json
    │       │   │   │   │   │   │   │       ├── xylophone.json
    │       │   │   │   │   │   │   │       └── zombie.json
    │       │   │   │   │   │   │   ├── block/
    │       │   │   │   │   │   │   │   ├── light.json
    │       │   │   │   │   │   │   │   ├── posx.json
    │       │   │   │   │   │   │   │   ├── posy.json
    │       │   │   │   │   │   │   │   └── posz.json
    │       │   │   │   │   │   │   ├── entity/
    │       │   │   │   │   │   │   │   └── itemframerotation.json
    │       │   │   │   │   │   │   ├── extradimensional/
    │       │   │   │   │   │   │   │   ├── playercount.json
    │       │   │   │   │   │   │   │   ├── random.json
    │       │   │   │   │   │   │   │   └── ticktime.json
    │       │   │   │   │   │   │   ├── fluid/
    │       │   │   │   │   │   │   │   └── tanks.json
    │       │   │   │   │   │   │   ├── inventory/
    │       │   │   │   │   │   │   │   ├── count.json
    │       │   │   │   │   │   │   │   ├── slots.json
    │       │   │   │   │   │   │   │   └── slotsfilled.json
    │       │   │   │   │   │   │   ├── network/
    │       │   │   │   │   │   │   │   ├── elementcount.json
    │       │   │   │   │   │   │   │   └── energy/
    │       │   │   │   │   │   │   │       ├── batterycount.json
    │       │   │   │   │   │   │   │       └── consumptionrate.json
    │       │   │   │   │   │   │   ├── redstone/
    │       │   │   │   │   │   │   │   ├── comparator.json
    │       │   │   │   │   │   │   │   └── value.json
    │       │   │   │   │   │   │   └── world/
    │       │   │   │   │   │   │       ├── daytime.json
    │       │   │   │   │   │   │       ├── entity.json
    │       │   │   │   │   │   │       ├── lightlevel.json
    │       │   │   │   │   │   │       ├── playercount.json
    │       │   │   │   │   │   │       ├── raincountdown.json
    │       │   │   │   │   │   │       └── ticktime.json
    │       │   │   │   │   │   ├── itemstack/
    │       │   │   │   │   │   │   ├── entity/
    │       │   │   │   │   │   │   │   └── itemframecontents.json
    │       │   │   │   │   │   │   └── inventory.json
    │       │   │   │   │   │   ├── list/
    │       │   │   │   │   │   │   ├── entity/
    │       │   │   │   │   │   │   │   ├── entities.json
    │       │   │   │   │   │   │   │   └── players.json
    │       │   │   │   │   │   │   ├── extradimensional/
    │       │   │   │   │   │   │   │   └── players.json
    │       │   │   │   │   │   │   ├── fluid/
    │       │   │   │   │   │   │   │   ├── capacities.json
    │       │   │   │   │   │   │   │   └── fluidstacks.json
    │       │   │   │   │   │   │   ├── inventory/
    │       │   │   │   │   │   │   │   └── itemstacks.json
    │       │   │   │   │   │   │   ├── recipehandler/
    │       │   │   │   │   │   │   │   └── recipes.json
    │       │   │   │   │   │   │   └── world/
    │       │   │   │   │   │   │       └── players.json
    │       │   │   │   │   │   ├── long/
    │       │   │   │   │   │   │   ├── energy/
    │       │   │   │   │   │   │   │   ├── amount.json
    │       │   │   │   │   │   │   │   └── capacity.json
    │       │   │   │   │   │   │   ├── fluid/
    │       │   │   │   │   │   │   │   ├── amount.json
    │       │   │   │   │   │   │   │   ├── capacity.json
    │       │   │   │   │   │   │   │   ├── totalamount.json
    │       │   │   │   │   │   │   │   └── totalcapacity.json
    │       │   │   │   │   │   │   ├── network/
    │       │   │   │   │   │   │   │   └── energy/
    │       │   │   │   │   │   │   │       ├── max.json
    │       │   │   │   │   │   │   │       └── stored.json
    │       │   │   │   │   │   │   └── world/
    │       │   │   │   │   │   │       ├── time.json
    │       │   │   │   │   │   │       └── totaltime.json
    │       │   │   │   │   │   ├── nbt/
    │       │   │   │   │   │   │   └── block/
    │       │   │   │   │   │   │       └── tile.json
    │       │   │   │   │   │   ├── operator/
    │       │   │   │   │   │   │   ├── network/
    │       │   │   │   │   │   │   │   └── variablebyid.json
    │       │   │   │   │   │   │   └── recipehandler/
    │       │   │   │   │   │   │       ├── recipebyinput.json
    │       │   │   │   │   │   │       ├── recipebyoutput.json
    │       │   │   │   │   │   │       ├── recipeinputsbyoutput.json
    │       │   │   │   │   │   │       ├── recipeoutputbyinput.json
    │       │   │   │   │   │   │       ├── recipesbyinput.json
    │       │   │   │   │   │   │       └── recipesbyoutput.json
    │       │   │   │   │   │   └── string/
    │       │   │   │   │   │       ├── block/
    │       │   │   │   │   │       │   ├── biome.json
    │       │   │   │   │   │       │   └── dimension.json
    │       │   │   │   │   │       └── world/
    │       │   │   │   │   │           └── worldname.json
    │       │   │   │   │   └── write/
    │       │   │   │   │       ├── boolean/
    │       │   │   │   │       │   ├── redstone/
    │       │   │   │   │       │   │   └── pulse.json
    │       │   │   │   │       │   └── redstone.json
    │       │   │   │   │       ├── double/
    │       │   │   │   │       │   └── effect/
    │       │   │   │   │       │       └── particle/
    │       │   │   │   │       │           ├── minecraft_ambient_entity_effect.json
    │       │   │   │   │       │           ├── minecraft_angry_villager.json
    │       │   │   │   │       │           ├── minecraft_ash.json
    │       │   │   │   │       │           ├── minecraft_barrier.json
    │       │   │   │   │       │           ├── minecraft_bubble.json
    │       │   │   │   │       │           ├── minecraft_bubble_column_up.json
    │       │   │   │   │       │           ├── minecraft_bubble_pop.json
    │       │   │   │   │       │           ├── minecraft_campfire_cosy_smoke.json
    │       │   │   │   │       │           ├── minecraft_campfire_signal_smoke.json
    │       │   │   │   │       │           ├── minecraft_cloud.json
    │       │   │   │   │       │           ├── minecraft_composter.json
    │       │   │   │   │       │           ├── minecraft_crimson_spore.json
    │       │   │   │   │       │           ├── minecraft_crit.json
    │       │   │   │   │       │           ├── minecraft_current_down.json
    │       │   │   │   │       │           ├── minecraft_damage_indicator.json
    │       │   │   │   │       │           ├── minecraft_dolphin.json
    │       │   │   │   │       │           ├── minecraft_dragon_breath.json
    │       │   │   │   │       │           ├── minecraft_dripping_dripstone_lava.json
    │       │   │   │   │       │           ├── minecraft_dripping_dripstone_water.json
    │       │   │   │   │       │           ├── minecraft_dripping_honey.json
    │       │   │   │   │       │           ├── minecraft_dripping_lava.json
    │       │   │   │   │       │           ├── minecraft_dripping_obsidian_tear.json
    │       │   │   │   │       │           ├── minecraft_dripping_water.json
    │       │   │   │   │       │           ├── minecraft_dust_plume.json
    │       │   │   │   │       │           ├── minecraft_effect.json
    │       │   │   │   │       │           ├── minecraft_egg_crack.json
    │       │   │   │   │       │           ├── minecraft_elder_guardian.json
    │       │   │   │   │       │           ├── minecraft_electric_spark.json
    │       │   │   │   │       │           ├── minecraft_enchant.json
    │       │   │   │   │       │           ├── minecraft_enchanted_hit.json
    │       │   │   │   │       │           ├── minecraft_end_rod.json
    │       │   │   │   │       │           ├── minecraft_entity_effect.json
    │       │   │   │   │       │           ├── minecraft_explosion.json
    │       │   │   │   │       │           ├── minecraft_explosion_emitter.json
    │       │   │   │   │       │           ├── minecraft_falling_dripstone_lava.json
    │       │   │   │   │       │           ├── minecraft_falling_dripstone_water.json
    │       │   │   │   │       │           ├── minecraft_falling_honey.json
    │       │   │   │   │       │           ├── minecraft_falling_lava.json
    │       │   │   │   │       │           ├── minecraft_falling_nectar.json
    │       │   │   │   │       │           ├── minecraft_falling_obsidian_tear.json
    │       │   │   │   │       │           ├── minecraft_falling_spore_blossom.json
    │       │   │   │   │       │           ├── minecraft_falling_water.json
    │       │   │   │   │       │           ├── minecraft_firefly.json
    │       │   │   │   │       │           ├── minecraft_firework.json
    │       │   │   │   │       │           ├── minecraft_fishing.json
    │       │   │   │   │       │           ├── minecraft_flame.json
    │       │   │   │   │       │           ├── minecraft_flash.json
    │       │   │   │   │       │           ├── minecraft_glow.json
    │       │   │   │   │       │           ├── minecraft_glow_squid_ink.json
    │       │   │   │   │       │           ├── minecraft_happy_villager.json
    │       │   │   │   │       │           ├── minecraft_heart.json
    │       │   │   │   │       │           ├── minecraft_instant_effect.json
    │       │   │   │   │       │           ├── minecraft_item_slime.json
    │       │   │   │   │       │           ├── minecraft_item_snowball.json
    │       │   │   │   │       │           ├── minecraft_landing_honey.json
    │       │   │   │   │       │           ├── minecraft_landing_lava.json
    │       │   │   │   │       │           ├── minecraft_landing_obsidian_tear.json
    │       │   │   │   │       │           ├── minecraft_large_smoke.json
    │       │   │   │   │       │           ├── minecraft_lava.json
    │       │   │   │   │       │           ├── minecraft_mycelium.json
    │       │   │   │   │       │           ├── minecraft_nautilus.json
    │       │   │   │   │       │           ├── minecraft_note.json
    │       │   │   │   │       │           ├── minecraft_ominous_spawning.json
    │       │   │   │   │       │           ├── minecraft_pause_mob_growth.json
    │       │   │   │   │       │           ├── minecraft_poof.json
    │       │   │   │   │       │           ├── minecraft_portal.json
    │       │   │   │   │       │           ├── minecraft_raid_omen.json
    │       │   │   │   │       │           ├── minecraft_rain.json
    │       │   │   │   │       │           ├── minecraft_reset_mob_growth.json
    │       │   │   │   │       │           ├── minecraft_reverse_portal.json
    │       │   │   │   │       │           ├── minecraft_scrape.json
    │       │   │   │   │       │           ├── minecraft_sculk_charge_pop.json
    │       │   │   │   │       │           ├── minecraft_sculk_soul.json
    │       │   │   │   │       │           ├── minecraft_small_flame.json
    │       │   │   │   │       │           ├── minecraft_smoke.json
    │       │   │   │   │       │           ├── minecraft_sneeze.json
    │       │   │   │   │       │           ├── minecraft_snowflake.json
    │       │   │   │   │       │           ├── minecraft_sonic_boom.json
    │       │   │   │   │       │           ├── minecraft_soul.json
    │       │   │   │   │       │           ├── minecraft_soul_fire_flame.json
    │       │   │   │   │       │           ├── minecraft_spit.json
    │       │   │   │   │       │           ├── minecraft_splash.json
    │       │   │   │   │       │           ├── minecraft_spore_blossom_air.json
    │       │   │   │   │       │           ├── minecraft_squid_ink.json
    │       │   │   │   │       │           ├── minecraft_sweep_attack.json
    │       │   │   │   │       │           ├── minecraft_totem_of_undying.json
    │       │   │   │   │       │           ├── minecraft_trial_omen.json
    │       │   │   │   │       │           ├── minecraft_trial_spawner_detection.json
    │       │   │   │   │       │           ├── minecraft_trial_spawner_detection_ominous.json
    │       │   │   │   │       │           ├── minecraft_underwater.json
    │       │   │   │   │       │           ├── minecraft_vault_connection.json
    │       │   │   │   │       │           ├── minecraft_warped_spore.json
    │       │   │   │   │       │           ├── minecraft_wax_off.json
    │       │   │   │   │       │           ├── minecraft_wax_on.json
    │       │   │   │   │       │           ├── minecraft_white_ash.json
    │       │   │   │   │       │           └── minecraft_witch.json
    │       │   │   │   │       ├── integer/
    │       │   │   │   │       │   ├── audio/
    │       │   │   │   │       │   │   └── instrument/
    │       │   │   │   │       │   │       ├── banjo.json
    │       │   │   │   │       │   │       ├── basedrum.json
    │       │   │   │   │       │   │       ├── bass.json
    │       │   │   │   │       │   │       ├── bell.json
    │       │   │   │   │       │   │       ├── bit.json
    │       │   │   │   │       │   │       ├── chime.json
    │       │   │   │   │       │   │       ├── cow_bell.json
    │       │   │   │   │       │   │       ├── creeper.json
    │       │   │   │   │       │   │       ├── custom_head.json
    │       │   │   │   │       │   │       ├── didgeridoo.json
    │       │   │   │   │       │   │       ├── dragon.json
    │       │   │   │   │       │   │       ├── flute.json
    │       │   │   │   │       │   │       ├── guitar.json
    │       │   │   │   │       │   │       ├── harp.json
    │       │   │   │   │       │   │       ├── hat.json
    │       │   │   │   │       │   │       ├── iron_xylophone.json
    │       │   │   │   │       │   │       ├── piglin.json
    │       │   │   │   │       │   │       ├── pling.json
    │       │   │   │   │       │   │       ├── skeleton.json
    │       │   │   │   │       │   │       ├── snare.json
    │       │   │   │   │       │   │       ├── wither_skeleton.json
    │       │   │   │   │       │   │       ├── xylophone.json
    │       │   │   │   │       │   │       └── zombie.json
    │       │   │   │   │       │   ├── redstone/
    │       │   │   │   │       │   │   └── pulse.json
    │       │   │   │   │       │   └── redstone.json
    │       │   │   │   │       └── string/
    │       │   │   │   │           └── audio/
    │       │   │   │   │               ├── sound.json
    │       │   │   │   │               └── text.json
    │       │   │   │   ├── block/
    │       │   │   │   │   ├── cable.json
    │       │   │   │   │   ├── coal_generator.json
    │       │   │   │   │   ├── coal_generator_on.json
    │       │   │   │   │   ├── crystalized_chorus_block.json
    │       │   │   │   │   ├── crystalized_chorus_block_slab.json
    │       │   │   │   │   ├── crystalized_chorus_block_slab_top.json
    │       │   │   │   │   ├── crystalized_chorus_block_stairs.json
    │       │   │   │   │   ├── crystalized_chorus_block_stairs_inner.json
    │       │   │   │   │   ├── crystalized_chorus_block_stairs_outer.json
    │       │   │   │   │   ├── crystalized_chorus_brick.json
    │       │   │   │   │   ├── crystalized_chorus_brick_slab.json
    │       │   │   │   │   ├── crystalized_chorus_brick_slab_top.json
    │       │   │   │   │   ├── crystalized_chorus_brick_stairs.json
    │       │   │   │   │   ├── crystalized_chorus_brick_stairs_inner.json
    │       │   │   │   │   ├── crystalized_chorus_brick_stairs_outer.json
    │       │   │   │   │   ├── crystalized_menril_block.json
    │       │   │   │   │   ├── crystalized_menril_block_slab.json
    │       │   │   │   │   ├── crystalized_menril_block_slab_top.json
    │       │   │   │   │   ├── crystalized_menril_block_stairs.json
    │       │   │   │   │   ├── crystalized_menril_block_stairs_inner.json
    │       │   │   │   │   ├── crystalized_menril_block_stairs_outer.json
    │       │   │   │   │   ├── crystalized_menril_brick.json
    │       │   │   │   │   ├── crystalized_menril_brick_slab.json
    │       │   │   │   │   ├── crystalized_menril_brick_slab_top.json
    │       │   │   │   │   ├── crystalized_menril_brick_stairs.json
    │       │   │   │   │   ├── crystalized_menril_brick_stairs_inner.json
    │       │   │   │   │   ├── crystalized_menril_brick_stairs_outer.json
    │       │   │   │   │   ├── delay.json
    │       │   │   │   │   ├── drying_basin.json
    │       │   │   │   │   ├── energy_battery.json
    │       │   │   │   │   ├── energy_battery_creative.json
    │       │   │   │   │   ├── energy_battery_full.json
    │       │   │   │   │   ├── invisible_light.json
    │       │   │   │   │   ├── liquid_chorus.json
    │       │   │   │   │   ├── logic_programmer.json
    │       │   │   │   │   ├── materializer.json
    │       │   │   │   │   ├── mechanical_drying_basin.json
    │       │   │   │   │   ├── mechanical_drying_basin_on.json
    │       │   │   │   │   ├── mechanical_squeezer.json
    │       │   │   │   │   ├── mechanical_squeezer_on.json
    │       │   │   │   │   ├── menril_door_bottom.json
    │       │   │   │   │   ├── menril_door_bottom_rh.json
    │       │   │   │   │   ├── menril_door_top.json
    │       │   │   │   │   ├── menril_door_top_rh.json
    │       │   │   │   │   ├── menril_fence_gate.json
    │       │   │   │   │   ├── menril_fence_gate_open.json
    │       │   │   │   │   ├── menril_fence_gate_wall.json
    │       │   │   │   │   ├── menril_fence_gate_wall_open.json
    │       │   │   │   │   ├── menril_fence_inventory.json
    │       │   │   │   │   ├── menril_fence_post.json
    │       │   │   │   │   ├── menril_fence_side.json
    │       │   │   │   │   ├── menril_leaves.json
    │       │   │   │   │   ├── menril_log.json
    │       │   │   │   │   ├── menril_log_filled.json
    │       │   │   │   │   ├── menril_log_filled_side.json
    │       │   │   │   │   ├── menril_log_stripped.json
    │       │   │   │   │   ├── menril_planks.json
    │       │   │   │   │   ├── menril_planks_stairs.json
    │       │   │   │   │   ├── menril_planks_stairs_inner.json
    │       │   │   │   │   ├── menril_planks_stairs_outer.json
    │       │   │   │   │   ├── menril_resin.json
    │       │   │   │   │   ├── menril_sapling.json
    │       │   │   │   │   ├── menril_slab.json
    │       │   │   │   │   ├── menril_slab_top.json
    │       │   │   │   │   ├── menril_torch.json
    │       │   │   │   │   ├── menril_torch_stone.json
    │       │   │   │   │   ├── menril_torch_stone_wall.json
    │       │   │   │   │   ├── menril_torch_wall.json
    │       │   │   │   │   ├── menril_wood.json
    │       │   │   │   │   ├── menril_wood_stripped.json
    │       │   │   │   │   ├── part.json
    │       │   │   │   │   ├── part_audio_reader.json
    │       │   │   │   │   ├── part_audio_writer_active.json
    │       │   │   │   │   ├── part_audio_writer_error.json
    │       │   │   │   │   ├── part_audio_writer_inactive.json
    │       │   │   │   │   ├── part_block_reader.json
    │       │   │   │   │   ├── part_connector_mono_directional.json
    │       │   │   │   │   ├── part_connector_mono_directional_active.json
    │       │   │   │   │   ├── part_connector_mono_directional_inactive.json
    │       │   │   │   │   ├── part_connector_omni_directional.json
    │       │   │   │   │   ├── part_connector_omni_directional_active.json
    │       │   │   │   │   ├── part_connector_omni_directional_inactive.json
    │       │   │   │   │   ├── part_display_panel_active.json
    │       │   │   │   │   ├── part_display_panel_error.json
    │       │   │   │   │   ├── part_display_panel_inactive.json
    │       │   │   │   │   ├── part_dynamic_light_panel_active.json
    │       │   │   │   │   ├── part_dynamic_light_panel_error.json
    │       │   │   │   │   ├── part_dynamic_light_panel_inactive.json
    │       │   │   │   │   ├── part_effect_reader.json
    │       │   │   │   │   ├── part_effect_writer_active.json
    │       │   │   │   │   ├── part_effect_writer_error.json
    │       │   │   │   │   ├── part_effect_writer_inactive.json
    │       │   │   │   │   ├── part_entity_reader.json
    │       │   │   │   │   ├── part_entity_writer_active.json
    │       │   │   │   │   ├── part_entity_writer_error.json
    │       │   │   │   │   ├── part_entity_writer_inactive.json
    │       │   │   │   │   ├── part_extradimensional_reader.json
    │       │   │   │   │   ├── part_fluid_reader.json
    │       │   │   │   │   ├── part_inventory_reader.json
    │       │   │   │   │   ├── part_inventory_writer_active.json
    │       │   │   │   │   ├── part_inventory_writer_error.json
    │       │   │   │   │   ├── part_inventory_writer_inactive.json
    │       │   │   │   │   ├── part_machine_reader.json
    │       │   │   │   │   ├── part_machine_writer_active.json
    │       │   │   │   │   ├── part_machine_writer_error.json
    │       │   │   │   │   ├── part_machine_writer_inactive.json
    │       │   │   │   │   ├── part_network_reader.json
    │       │   │   │   │   ├── part_panel.json
    │       │   │   │   │   ├── part_reader.json
    │       │   │   │   │   ├── part_redstone_reader.json
    │       │   │   │   │   ├── part_redstone_writer_active.json
    │       │   │   │   │   ├── part_redstone_writer_error.json
    │       │   │   │   │   ├── part_redstone_writer_inactive.json
    │       │   │   │   │   ├── part_static_light_panel.json
    │       │   │   │   │   ├── part_world_reader.json
    │       │   │   │   │   ├── part_writer.json
    │       │   │   │   │   ├── proxy.json
    │       │   │   │   │   ├── squeezer.json
    │       │   │   │   │   ├── squeezer_full.json
    │       │   │   │   │   ├── squeezer_top_1.json
    │       │   │   │   │   ├── squeezer_top_2.json
    │       │   │   │   │   ├── squeezer_top_3.json
    │       │   │   │   │   ├── squeezer_top_4.json
    │       │   │   │   │   ├── squeezer_top_5.json
    │       │   │   │   │   ├── squeezer_top_6.json
    │       │   │   │   │   ├── squeezer_top_7.json
    │       │   │   │   │   └── variablestore.json
    │       │   │   │   ├── customoverlay/
    │       │   │   │   │   ├── delay.json
    │       │   │   │   │   └── proxy.json
    │       │   │   │   ├── item/
    │       │   │   │   │   ├── block_liquid_chorus.json
    │       │   │   │   │   ├── block_menril_resin.json
    │       │   │   │   │   ├── bucket_liquid_chorus.json
    │       │   │   │   │   ├── bucket_menril_resin.json
    │       │   │   │   │   ├── cable.json
    │       │   │   │   │   ├── coal_generator.json
    │       │   │   │   │   ├── crystalized_chorus_block.json
    │       │   │   │   │   ├── crystalized_chorus_block_slab.json
    │       │   │   │   │   ├── crystalized_chorus_block_stairs.json
    │       │   │   │   │   ├── crystalized_chorus_brick.json
    │       │   │   │   │   ├── crystalized_chorus_brick_slab.json
    │       │   │   │   │   ├── crystalized_chorus_brick_stairs.json
    │       │   │   │   │   ├── crystalized_chorus_chunk.json
    │       │   │   │   │   ├── crystalized_menril_block.json
    │       │   │   │   │   ├── crystalized_menril_block_slab.json
    │       │   │   │   │   ├── crystalized_menril_block_stairs.json
    │       │   │   │   │   ├── crystalized_menril_brick.json
    │       │   │   │   │   ├── crystalized_menril_brick_slab.json
    │       │   │   │   │   ├── crystalized_menril_brick_stairs.json
    │       │   │   │   │   ├── crystalized_menril_chunk.json
    │       │   │   │   │   ├── delay.json
    │       │   │   │   │   ├── drying_basin.json
    │       │   │   │   │   ├── energy_battery.json
    │       │   │   │   │   ├── energy_battery_creative.json
    │       │   │   │   │   ├── enhancement_offset.json
    │       │   │   │   │   ├── facade.json
    │       │   │   │   │   ├── invisible_light.json
    │       │   │   │   │   ├── labeller.json
    │       │   │   │   │   ├── logic_director.json
    │       │   │   │   │   ├── logic_programmer.json
    │       │   │   │   │   ├── materializer.json
    │       │   │   │   │   ├── mechanical_drying_basin.json
    │       │   │   │   │   ├── mechanical_squeezer.json
    │       │   │   │   │   ├── menril_berries.json
    │       │   │   │   │   ├── menril_door.json
    │       │   │   │   │   ├── menril_fence.json
    │       │   │   │   │   ├── menril_fence_gate.json
    │       │   │   │   │   ├── menril_leaves.json
    │       │   │   │   │   ├── menril_log.json
    │       │   │   │   │   ├── menril_log_filled.json
    │       │   │   │   │   ├── menril_log_stripped.json
    │       │   │   │   │   ├── menril_planks.json
    │       │   │   │   │   ├── menril_planks_stairs.json
    │       │   │   │   │   ├── menril_sapling.json
    │       │   │   │   │   ├── menril_slab.json
    │       │   │   │   │   ├── menril_torch.json
    │       │   │   │   │   ├── menril_torch_stone.json
    │       │   │   │   │   ├── menril_wood.json
    │       │   │   │   │   ├── menril_wood_stripped.json
    │       │   │   │   │   ├── on_the_dynamics_of_integration.json
    │       │   │   │   │   ├── part_audio_reader.json
    │       │   │   │   │   ├── part_audio_writer.json
    │       │   │   │   │   ├── part_block_reader.json
    │       │   │   │   │   ├── part_connector_mono_directional.json
    │       │   │   │   │   ├── part_connector_omni_directional.json
    │       │   │   │   │   ├── part_display_panel.json
    │       │   │   │   │   ├── part_dynamic_light_panel.json
    │       │   │   │   │   ├── part_effect_writer.json
    │       │   │   │   │   ├── part_entity_reader.json
    │       │   │   │   │   ├── part_entity_writer.json
    │       │   │   │   │   ├── part_extradimensional_reader.json
    │       │   │   │   │   ├── part_fluid_reader.json
    │       │   │   │   │   ├── part_inventory_reader.json
    │       │   │   │   │   ├── part_inventory_writer.json
    │       │   │   │   │   ├── part_machine_reader.json
    │       │   │   │   │   ├── part_machine_writer.json
    │       │   │   │   │   ├── part_network_reader.json
    │       │   │   │   │   ├── part_redstone_reader.json
    │       │   │   │   │   ├── part_redstone_writer.json
    │       │   │   │   │   ├── part_static_light_panel.json
    │       │   │   │   │   ├── part_world_reader.json
    │       │   │   │   │   ├── portable_logic_programmer.json
    │       │   │   │   │   ├── proto_chorus.json
    │       │   │   │   │   ├── proxy.json
    │       │   │   │   │   ├── squeezer.json
    │       │   │   │   │   ├── variable.json
    │       │   │   │   │   ├── variable_transformer_input.json
    │       │   │   │   │   ├── variable_transformer_output.json
    │       │   │   │   │   ├── variablestore.json
    │       │   │   │   │   └── wrench.json
    │       │   │   │   └── valuetype/
    │       │   │   │       ├── any.json
    │       │   │   │       ├── block.json
    │       │   │   │       ├── boolean.json
    │       │   │   │       ├── double.json
    │       │   │   │       ├── entity.json
    │       │   │   │       ├── fluidstack.json
    │       │   │   │       ├── ingredients.json
    │       │   │   │       ├── integer.json
    │       │   │   │       ├── itemstack.json
    │       │   │   │       ├── list.json
    │       │   │   │       ├── long.json
    │       │   │   │       ├── named.json
    │       │   │   │       ├── nbt.json
    │       │   │   │       ├── nullable.json
    │       │   │   │       ├── number.json
    │       │   │   │       ├── operator.json
    │       │   │   │       ├── recipe.json
    │       │   │   │       ├── string.json
    │       │   │   │       ├── thaumcraftaspect.json
    │       │   │   │       └── uniquely_named.json
    │       │   │   ├── sounds/
    │       │   │   │   ├── page_flip1.ogg
    │       │   │   │   ├── page_flip2.ogg
    │       │   │   │   ├── page_flip3.ogg
    │       │   │   │   └── pages_flip.ogg
    │       │   │   ├── sounds.json
    │       │   │   └── textures/
    │       │   │       └── block/
    │       │   │           ├── coal_generator_front_on.png.mcmeta
    │       │   │           ├── liquid_chorus_flow.png.mcmeta
    │       │   │           ├── liquid_chorus_still.png.mcmeta
    │       │   │           ├── mechanical_drying_basin_on.png.mcmeta
    │       │   │           ├── mechanical_squeezer_x_on.png.mcmeta
    │       │   │           ├── menril_resin_flow.png.mcmeta
    │       │   │           └── menril_resin_still.png.mcmeta
    │       │   └── minecraft/
    │       │       └── atlases/
    │       │           ├── blocks.json
    │       │           └── gui.json
    │       ├── data/
    │       │   ├── c/
    │       │   │   └── tags/
    │       │   │       ├── block/
    │       │   │       │   ├── storage_blocks.json
    │       │   │       │   ├── stripped_logs.json
    │       │   │       │   ├── stripped_woods.json
    │       │   │       │   └── torches.json
    │       │   │       ├── item/
    │       │   │       │   ├── books.json
    │       │   │       │   ├── clumps/
    │       │   │       │   │   └── menril_resin.json
    │       │   │       │   ├── clumps.json
    │       │   │       │   ├── fruits.json
    │       │   │       │   ├── ores/
    │       │   │       │   │   ├── copper.json
    │       │   │       │   │   ├── diamond.json
    │       │   │       │   │   ├── emerald.json
    │       │   │       │   │   ├── gold.json
    │       │   │       │   │   ├── iron.json
    │       │   │       │   │   ├── lapis.json
    │       │   │       │   │   ├── quartz.json
    │       │   │       │   │   └── redstone.json
    │       │   │       │   ├── raw_materials/
    │       │   │       │   │   ├── copper.json
    │       │   │       │   │   ├── gold.json
    │       │   │       │   │   └── iron.json
    │       │   │       │   ├── storage_blocks.json
    │       │   │       │   ├── stripped_logs.json
    │       │   │       │   ├── stripped_woods.json
    │       │   │       │   ├── tools/
    │       │   │       │   │   └── wrench.json
    │       │   │       │   └── torches.json
    │       │   │       └── worldgen/
    │       │   │           └── biome/
    │       │   │               ├── is_cold.json
    │       │   │               ├── is_coniferous.json
    │       │   │               ├── is_dense.json
    │       │   │               ├── is_overworld.json
    │       │   │               └── is_wet.json
    │       │   ├── integrateddynamics/
    │       │   │   ├── advancement/
    │       │   │   │   ├── advanced_network_components/
    │       │   │   │   │   ├── variable_materialization.json
    │       │   │   │   │   └── variable_proxying.json
    │       │   │   │   ├── advanced_operations/
    │       │   │   │   │   ├── item_origin_identification.json
    │       │   │   │   │   ├── logical_list_building.json
    │       │   │   │   │   └── what_would_i_be_looking_at.json
    │       │   │   │   ├── aspects/
    │       │   │   │   │   ├── redstone_capturing.json
    │       │   │   │   │   ├── redstone_observement.json
    │       │   │   │   │   └── redstone_transmission.json
    │       │   │   │   ├── basic_network_components/
    │       │   │   │   │   ├── block_reading.json
    │       │   │   │   │   ├── inventory_reading.json
    │       │   │   │   │   ├── machine_reading.json
    │       │   │   │   │   ├── redstone_reading.json
    │       │   │   │   │   └── value_displaying.json
    │       │   │   │   ├── challenges/
    │       │   │   │   │   ├── creeper_taming.json
    │       │   │   │   │   ├── recursive_recursion.json
    │       │   │   │   │   ├── smart_pressure_plate.json
    │       │   │   │   │   ├── sponge_step_sound.json
    │       │   │   │   │   └── tool_for_obsidian.json
    │       │   │   │   ├── logic_operations/
    │       │   │   │   │   ├── arithmetic_addition.json
    │       │   │   │   │   ├── constant_definition.json
    │       │   │   │   │   └── logic_programming.json
    │       │   │   │   ├── meneglin_basics/
    │       │   │   │   │   ├── drying.json
    │       │   │   │   │   ├── meneglin_discovery.json
    │       │   │   │   │   ├── menril_production.json
    │       │   │   │   │   └── squeezing.json
    │       │   │   │   ├── nbt/
    │       │   │   │   │   ├── lectern_book.json
    │       │   │   │   │   ├── lectern_book_name.json
    │       │   │   │   │   └── lectern_data.json
    │       │   │   │   ├── network_foundations/
    │       │   │   │   │   ├── cables_logic.json
    │       │   │   │   │   ├── menril_wrenching.json
    │       │   │   │   │   ├── networks_logic.json
    │       │   │   │   │   ├── variable_input.json
    │       │   │   │   │   ├── variable_output.json
    │       │   │   │   │   └── variables.json
    │       │   │   │   ├── recipe_handling/
    │       │   │   │   │   ├── recipe_creation.json
    │       │   │   │   │   ├── recipe_lookup.json
    │       │   │   │   │   └── recipe_reading.json
    │       │   │   │   ├── root.json
    │       │   │   │   └── the_value_of_operators/
    │       │   │   │       ├── dynamic_additions.json
    │       │   │   │       └── dynamic_list_filtering.json
    │       │   │   ├── info/
    │       │   │   │   └── on_the_dynamics_of_integration.xml
    │       │   │   ├── loot_table/
    │       │   │   │   └── blocks/
    │       │   │   │       ├── coal_generator.json
    │       │   │   │       ├── crystalized_chorus_block.json
    │       │   │   │       ├── crystalized_chorus_block_slab.json
    │       │   │   │       ├── crystalized_chorus_block_stairs.json
    │       │   │   │       ├── crystalized_chorus_brick.json
    │       │   │   │       ├── crystalized_chorus_brick_slab.json
    │       │   │   │       ├── crystalized_chorus_brick_stairs.json
    │       │   │   │       ├── crystalized_menril_block.json
    │       │   │   │       ├── crystalized_menril_block_slab.json
    │       │   │   │       ├── crystalized_menril_block_stairs.json
    │       │   │   │       ├── crystalized_menril_brick.json
    │       │   │   │       ├── crystalized_menril_brick_slab.json
    │       │   │   │       ├── crystalized_menril_brick_stairs.json
    │       │   │   │       ├── delay.json
    │       │   │   │       ├── drying_basin.json
    │       │   │   │       ├── energy_battery.json
    │       │   │   │       ├── energy_battery_creative.json
    │       │   │   │       ├── logic_programmer.json
    │       │   │   │       ├── materializer.json
    │       │   │   │       ├── mechanical_drying_basin.json
    │       │   │   │       ├── mechanical_squeezer.json
    │       │   │   │       ├── menril_door.json
    │       │   │   │       ├── menril_fence.json
    │       │   │   │       ├── menril_fence_gate.json
    │       │   │   │       ├── menril_leaves.json
    │       │   │   │       ├── menril_log.json
    │       │   │   │       ├── menril_log_filled.json
    │       │   │   │       ├── menril_log_stripped.json
    │       │   │   │       ├── menril_planks.json
    │       │   │   │       ├── menril_planks_stairs.json
    │       │   │   │       ├── menril_sapling.json
    │       │   │   │       ├── menril_slab.json
    │       │   │   │       ├── menril_torch.json
    │       │   │   │       ├── menril_torch_stone.json
    │       │   │   │       ├── menril_torch_stone_wall.json
    │       │   │   │       ├── menril_torch_wall.json
    │       │   │   │       ├── menril_wood.json
    │       │   │   │       ├── menril_wood_stripped.json
    │       │   │   │       ├── proxy.json
    │       │   │   │       ├── squeezer.json
    │       │   │   │       └── variablestore.json
    │       │   │   ├── neoforge/
    │       │   │   │   └── biome_modifier/
    │       │   │   │       └── add_feature_menril_overworld.json
    │       │   │   ├── recipe/
    │       │   │   │   ├── blasting/
    │       │   │   │   │   ├── menril_log_coal.json
    │       │   │   │   │   └── menril_log_filled_coal.json
    │       │   │   │   ├── crafting/
    │       │   │   │   │   ├── cable.json
    │       │   │   │   │   ├── cable_rotated.json
    │       │   │   │   │   ├── coal_generator.json
    │       │   │   │   │   ├── crystalized_chorus_block.json
    │       │   │   │   │   ├── crystalized_chorus_block_slab.json
    │       │   │   │   │   ├── crystalized_chorus_block_stairs.json
    │       │   │   │   │   ├── crystalized_chorus_brick.json
    │       │   │   │   │   ├── crystalized_chorus_brick_slab.json
    │       │   │   │   │   ├── crystalized_chorus_brick_stairs.json
    │       │   │   │   │   ├── crystalized_chorus_chunk.json
    │       │   │   │   │   ├── crystalized_menril_block.json
    │       │   │   │   │   ├── crystalized_menril_block_slab.json
    │       │   │   │   │   ├── crystalized_menril_block_stairs.json
    │       │   │   │   │   ├── crystalized_menril_brick.json
    │       │   │   │   │   ├── crystalized_menril_brick_slab.json
    │       │   │   │   │   ├── crystalized_menril_brick_stairs.json
    │       │   │   │   │   ├── crystalized_menril_chunk.json
    │       │   │   │   │   ├── delay.json
    │       │   │   │   │   ├── drying_basin.json
    │       │   │   │   │   ├── energy_battery.json
    │       │   │   │   │   ├── enhancement_offset.json
    │       │   │   │   │   ├── facade.json
    │       │   │   │   │   ├── labeller.json
    │       │   │   │   │   ├── logic_director.json
    │       │   │   │   │   ├── logic_programmer.json
    │       │   │   │   │   ├── logic_programmer_from_portable.json
    │       │   │   │   │   ├── logic_programmer_to_portable.json
    │       │   │   │   │   ├── materializer.json
    │       │   │   │   │   ├── mechanical_drying_basin.json
    │       │   │   │   │   ├── mechanical_squeezer.json
    │       │   │   │   │   ├── menril_door.json
    │       │   │   │   │   ├── menril_fence.json
    │       │   │   │   │   ├── menril_fence_gate.json
    │       │   │   │   │   ├── menril_planks.json
    │       │   │   │   │   ├── menril_planks_stairs.json
    │       │   │   │   │   ├── menril_slab.json
    │       │   │   │   │   ├── menril_torch.json
    │       │   │   │   │   ├── menril_torch_stone.json
    │       │   │   │   │   ├── menril_torch_stone_cobble.json
    │       │   │   │   │   ├── menril_wood.json
    │       │   │   │   │   ├── menril_wood_stripped.json
    │       │   │   │   │   ├── on_the_dynamics_of_integration.json
    │       │   │   │   │   ├── part_audio_reader.json
    │       │   │   │   │   ├── part_audio_writer.json
    │       │   │   │   │   ├── part_block_reader.json
    │       │   │   │   │   ├── part_connector_mono_directional.json
    │       │   │   │   │   ├── part_display_panel.json
    │       │   │   │   │   ├── part_dynamic_light_panel.json
    │       │   │   │   │   ├── part_effect_writer.json
    │       │   │   │   │   ├── part_entity_reader.json
    │       │   │   │   │   ├── part_entity_writer.json
    │       │   │   │   │   ├── part_extradimensional_reader.json
    │       │   │   │   │   ├── part_fluid_reader.json
    │       │   │   │   │   ├── part_inventory_reader.json
    │       │   │   │   │   ├── part_inventory_writer.json
    │       │   │   │   │   ├── part_machine_reader.json
    │       │   │   │   │   ├── part_machine_writer.json
    │       │   │   │   │   ├── part_network_reader.json
    │       │   │   │   │   ├── part_redstone_reader.json
    │       │   │   │   │   ├── part_redstone_writer.json
    │       │   │   │   │   ├── part_static_light_panel.json
    │       │   │   │   │   ├── part_world_reader.json
    │       │   │   │   │   ├── proto_chorus.json
    │       │   │   │   │   ├── proxy.json
    │       │   │   │   │   ├── squeezer.json
    │       │   │   │   │   ├── variable.json
    │       │   │   │   │   ├── variable_transformer_input.json
    │       │   │   │   │   ├── variable_transformer_output.json
    │       │   │   │   │   ├── variablestore.json
    │       │   │   │   │   └── wrench.json
    │       │   │   │   ├── drying_basin/
    │       │   │   │   │   ├── base/
    │       │   │   │   │   │   ├── crystalized_chorus_block.json
    │       │   │   │   │   │   └── crystalized_menril_block.json
    │       │   │   │   │   └── convenience/
    │       │   │   │   │       ├── evilcraft_hardened_blood.json
    │       │   │   │   │       ├── evilcraft_red_sand.json
    │       │   │   │   │       ├── minecraft_coarse_dirt.json
    │       │   │   │   │       ├── minecraft_dead_bush.json
    │       │   │   │   │       ├── minecraft_dried_kelp.json
    │       │   │   │   │       ├── minecraft_leather.json
    │       │   │   │   │       ├── minecraft_mud.json
    │       │   │   │   │       ├── minecraft_sponge.json
    │       │   │   │   │       ├── minecraft_terracotta.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_black.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_blue.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_brown.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_cyan.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_gray.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_green.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_light_blue.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_light_gray.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_lime.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_magenta.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_orange.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_pink.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_purple.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_red.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_white.json
    │       │   │   │   │       └── minecraft_terracotta_clean_yellow.json
    │       │   │   │   ├── mechanical_drying_basin/
    │       │   │   │   │   ├── base/
    │       │   │   │   │   │   ├── crystalized_chorus_block.json
    │       │   │   │   │   │   └── crystalized_menril_block.json
    │       │   │   │   │   └── convenience/
    │       │   │   │   │       ├── evilcraft_hardened_blood.json
    │       │   │   │   │       ├── evilcraft_red_sand.json
    │       │   │   │   │       ├── minecraft_coarse_dirt.json
    │       │   │   │   │       ├── minecraft_dead_bush.json
    │       │   │   │   │       ├── minecraft_dried_kelp.json
    │       │   │   │   │       ├── minecraft_leather.json
    │       │   │   │   │       ├── minecraft_magma.json
    │       │   │   │   │       ├── minecraft_mud.json
    │       │   │   │   │       ├── minecraft_netherrack.json
    │       │   │   │   │       ├── minecraft_sponge.json
    │       │   │   │   │       ├── minecraft_terracotta.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_black.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_blue.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_brown.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_cyan.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_gray.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_green.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_light_blue.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_light_gray.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_lime.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_magenta.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_orange.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_pink.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_purple.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_red.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_white.json
    │       │   │   │   │       └── minecraft_terracotta_clean_yellow.json
    │       │   │   │   ├── mechanical_squeezer/
    │       │   │   │   │   ├── base/
    │       │   │   │   │   │   ├── liquid_chorus.json
    │       │   │   │   │   │   ├── liquid_chorus_proto.json
    │       │   │   │   │   │   ├── menril_resin_logs.json
    │       │   │   │   │   │   └── menril_resin_planks.json
    │       │   │   │   │   ├── convenience/
    │       │   │   │   │   │   ├── evilcraft_blood_leaves.json
    │       │   │   │   │   │   ├── evilcraft_blood_log.json
    │       │   │   │   │   │   ├── evilcraft_dark_gem.json
    │       │   │   │   │   │   ├── evilcraft_dark_gem_crushed.json
    │       │   │   │   │   │   ├── evilcraft_poison.json
    │       │   │   │   │   │   ├── mechanical_squeezer_facade.json
    │       │   │   │   │   │   ├── minecraft_blaze_powder.json
    │       │   │   │   │   │   ├── minecraft_brick.json
    │       │   │   │   │   │   ├── minecraft_dye_black.json
    │       │   │   │   │   │   ├── minecraft_dye_blue.json
    │       │   │   │   │   │   ├── minecraft_dye_green.json
    │       │   │   │   │   │   ├── minecraft_dye_light_blue.json
    │       │   │   │   │   │   ├── minecraft_dye_light_gray_1.json
    │       │   │   │   │   │   ├── minecraft_dye_light_gray_2.json
    │       │   │   │   │   │   ├── minecraft_dye_magenta_1.json
    │       │   │   │   │   │   ├── minecraft_dye_magenta_2.json
    │       │   │   │   │   │   ├── minecraft_dye_orange.json
    │       │   │   │   │   │   ├── minecraft_dye_pink_1.json
    │       │   │   │   │   │   ├── minecraft_dye_pink_2.json
    │       │   │   │   │   │   ├── minecraft_dye_pink_3.json
    │       │   │   │   │   │   ├── minecraft_dye_red_1.json
    │       │   │   │   │   │   ├── minecraft_dye_red_2.json
    │       │   │   │   │   │   ├── minecraft_dye_red_3.json
    │       │   │   │   │   │   ├── minecraft_dye_white_1.json
    │       │   │   │   │   │   ├── minecraft_dye_white_2.json
    │       │   │   │   │   │   ├── minecraft_dye_white_bone.json
    │       │   │   │   │   │   ├── minecraft_dye_yellow_1.json
    │       │   │   │   │   │   ├── minecraft_dye_yellow_2.json
    │       │   │   │   │   │   ├── minecraft_dye_yellow_3.json
    │       │   │   │   │   │   ├── minecraft_honey_bottle_sugar.json
    │       │   │   │   │   │   ├── minecraft_lava.json
    │       │   │   │   │   │   ├── minecraft_lava_magma_cream.json
    │       │   │   │   │   │   ├── minecraft_lava_netherrack.json
    │       │   │   │   │   │   ├── minecraft_sand.json
    │       │   │   │   │   │   ├── minecraft_string.json
    │       │   │   │   │   │   ├── minecraft_sugar.json
    │       │   │   │   │   │   ├── minecraft_water_ice.json
    │       │   │   │   │   │   ├── minecraft_water_mud.json
    │       │   │   │   │   │   ├── minecraft_water_snow.json
    │       │   │   │   │   │   ├── minecraft_water_snowball.json
    │       │   │   │   │   │   ├── minecraft_water_sponge.json
    │       │   │   │   │   │   └── minecraft_wind_charge.json
    │       │   │   │   │   └── ore/
    │       │   │   │   │       ├── coal.json
    │       │   │   │   │       ├── cobbblestone.json
    │       │   │   │   │       ├── cracked_stone_bricks.json
    │       │   │   │   │       ├── dust_coal.json
    │       │   │   │   │       ├── dust_obsidian.json
    │       │   │   │   │       ├── flint.json
    │       │   │   │   │       ├── gem_diamond.json
    │       │   │   │   │       ├── gem_emerald.json
    │       │   │   │   │       ├── gem_lapis.json
    │       │   │   │   │       ├── gem_prismarine.json
    │       │   │   │   │       ├── gem_quartz.json
    │       │   │   │   │       ├── glowstone_dust.json
    │       │   │   │   │       ├── gold_nugget_blackstone.json
    │       │   │   │   │       ├── gravel.json
    │       │   │   │   │       ├── gravel_nether.json
    │       │   │   │   │       ├── magma_cream.json
    │       │   │   │   │       ├── netherrite_scrap.json
    │       │   │   │   │       ├── raw_aluminum.json
    │       │   │   │   │       ├── raw_ardite.json
    │       │   │   │   │       ├── raw_cobalt.json
    │       │   │   │   │       ├── raw_copper.json
    │       │   │   │   │       ├── raw_gold.json
    │       │   │   │   │       ├── raw_iron.json
    │       │   │   │   │       ├── raw_lead.json
    │       │   │   │   │       ├── raw_mithril.json
    │       │   │   │   │       ├── raw_nickel.json
    │       │   │   │   │       ├── raw_osmium.json
    │       │   │   │   │       ├── raw_platinum.json
    │       │   │   │   │       ├── raw_silver.json
    │       │   │   │   │       ├── raw_tin.json
    │       │   │   │   │       ├── raw_tungsten.json
    │       │   │   │   │       ├── raw_uranium.json
    │       │   │   │   │       ├── raw_zinc.json
    │       │   │   │   │       ├── red_sand.json
    │       │   │   │   │       ├── redstone.json
    │       │   │   │   │       └── sand.json
    │       │   │   │   ├── smelting/
    │       │   │   │   │   ├── menril_log_coal.json
    │       │   │   │   │   └── menril_log_filled_coal.json
    │       │   │   │   ├── special/
    │       │   │   │   │   ├── clear_delay.json
    │       │   │   │   │   ├── clear_facade.json
    │       │   │   │   │   ├── clear_part.json
    │       │   │   │   │   ├── clear_proxy.json
    │       │   │   │   │   ├── clear_variable.json
    │       │   │   │   │   ├── combine_batteries.json
    │       │   │   │   │   ├── facade.json
    │       │   │   │   │   ├── part_connector_omni_directional.json
    │       │   │   │   │   ├── part_connector_omni_directional_copy.json
    │       │   │   │   │   ├── part_connector_omni_directional_join.json
    │       │   │   │   │   └── variable_copy.json
    │       │   │   │   └── squeezer/
    │       │   │   │       ├── base/
    │       │   │   │       │   ├── liquid_chorus.json
    │       │   │   │       │   ├── liquid_chorus_proto.json
    │       │   │   │       │   ├── menril_resin_logs.json
    │       │   │   │       │   └── menril_resin_planks.json
    │       │   │   │       ├── convenience/
    │       │   │   │       │   ├── evilcraft_blood_leaves.json
    │       │   │   │       │   ├── evilcraft_blood_log.json
    │       │   │   │       │   ├── evilcraft_dark_gem.json
    │       │   │   │       │   ├── evilcraft_dark_gem_crushed.json
    │       │   │   │       │   ├── evilcraft_poison.json
    │       │   │   │       │   ├── minecraft_blaze_powder.json
    │       │   │   │       │   ├── minecraft_brick.json
    │       │   │   │       │   ├── minecraft_dye_black.json
    │       │   │   │       │   ├── minecraft_dye_blue.json
    │       │   │   │       │   ├── minecraft_dye_green.json
    │       │   │   │       │   ├── minecraft_dye_light_blue.json
    │       │   │   │       │   ├── minecraft_dye_light_gray_1.json
    │       │   │   │       │   ├── minecraft_dye_light_gray_2.json
    │       │   │   │       │   ├── minecraft_dye_magenta_1.json
    │       │   │   │       │   ├── minecraft_dye_magenta_2.json
    │       │   │   │       │   ├── minecraft_dye_orange.json
    │       │   │   │       │   ├── minecraft_dye_pink_1.json
    │       │   │   │       │   ├── minecraft_dye_pink_2.json
    │       │   │   │       │   ├── minecraft_dye_pink_3.json
    │       │   │   │       │   ├── minecraft_dye_red_1.json
    │       │   │   │       │   ├── minecraft_dye_red_2.json
    │       │   │   │       │   ├── minecraft_dye_red_3.json
    │       │   │   │       │   ├── minecraft_dye_white_1.json
    │       │   │   │       │   ├── minecraft_dye_white_2.json
    │       │   │   │       │   ├── minecraft_dye_white_bone.json
    │       │   │   │       │   ├── minecraft_dye_yellow_1.json
    │       │   │   │       │   ├── minecraft_dye_yellow_2.json
    │       │   │   │       │   ├── minecraft_dye_yellow_3.json
    │       │   │   │       │   ├── minecraft_honey_bottle_sugar.json
    │       │   │   │       │   ├── minecraft_lava.json
    │       │   │   │       │   ├── minecraft_sand.json
    │       │   │   │       │   ├── minecraft_string.json
    │       │   │   │       │   ├── minecraft_sugar.json
    │       │   │   │       │   ├── minecraft_water_ice.json
    │       │   │   │       │   ├── minecraft_water_mud.json
    │       │   │   │       │   ├── minecraft_water_snow.json
    │       │   │   │       │   ├── minecraft_water_snowball.json
    │       │   │   │       │   ├── minecraft_water_sponge.json
    │       │   │   │       │   ├── minecraft_wind_charge.json
    │       │   │   │       │   └── squeezer_facade.json
    │       │   │   │       └── ore/
    │       │   │   │           ├── coal.json
    │       │   │   │           ├── cobbblestone.json
    │       │   │   │           ├── cracked_stone_bricks.json
    │       │   │   │           ├── dust_coal.json
    │       │   │   │           ├── dust_obsidian.json
    │       │   │   │           ├── flint.json
    │       │   │   │           ├── gem_diamond.json
    │       │   │   │           ├── gem_emerald.json
    │       │   │   │           ├── gem_lapis.json
    │       │   │   │           ├── gem_quartz.json
    │       │   │   │           ├── glowstone_dust.json
    │       │   │   │           ├── gold_nugget_blackstone.json
    │       │   │   │           ├── gravel.json
    │       │   │   │           ├── gravel_nether.json
    │       │   │   │           ├── netherrite_scrap.json
    │       │   │   │           ├── quartz.json
    │       │   │   │           ├── raw_aluminum.json
    │       │   │   │           ├── raw_ardite.json
    │       │   │   │           ├── raw_cobalt.json
    │       │   │   │           ├── raw_copper.json
    │       │   │   │           ├── raw_gold.json
    │       │   │   │           ├── raw_iron.json
    │       │   │   │           ├── raw_lead.json
    │       │   │   │           ├── raw_mithril.json
    │       │   │   │           ├── raw_nickel.json
    │       │   │   │           ├── raw_osmium.json
    │       │   │   │           ├── raw_platinum.json
    │       │   │   │           ├── raw_silver.json
    │       │   │   │           ├── raw_tin.json
    │       │   │   │           ├── raw_tungsten.json
    │       │   │   │           ├── raw_uranium.json
    │       │   │   │           ├── raw_zinc.json
    │       │   │   │           ├── redstone.json
    │       │   │   │           └── sand.json
    │       │   │   ├── structure/
    │       │   │   │   ├── empty10.nbt
    │       │   │   │   └── test.nbt
    │       │   │   ├── tags/
    │       │   │   │   ├── block/
    │       │   │   │   │   └── menril_logs.json
    │       │   │   │   └── item/
    │       │   │   │       ├── menril_logs.json
    │       │   │   │       └── parts.json
    │       │   │   ├── test_environment/
    │       │   │   │   ├── performance_empty.json
    │       │   │   │   ├── performance_empty_append.json
    │       │   │   │   ├── performance_empty_appendparts.json
    │       │   │   │   ├── performance_empty_remove.json
    │       │   │   │   ├── performance_idle.json
    │       │   │   │   ├── performance_redstoneioclock.json
    │       │   │   │   ├── performance_redstoneioclock_append.json
    │       │   │   │   ├── performance_redstoneioclock_appendparts.json
    │       │   │   │   ├── performance_redstoneioclock_remove.json
    │       │   │   │   ├── performance_redstoneioclockvariables.json
    │       │   │   │   ├── time_day.json
    │       │   │   │   ├── time_day_far.json
    │       │   │   │   ├── time_night.json
    │       │   │   │   ├── weather_clear.json
    │       │   │   │   ├── weather_clear2.json
    │       │   │   │   ├── weather_rain.json
    │       │   │   │   └── weather_thunder.json
    │       │   │   ├── web/
    │       │   │   │   └── diagnostics.html
    │       │   │   └── worldgen/
    │       │   │       ├── biome/
    │       │   │       │   └── meneglin.json
    │       │   │       ├── configured_feature/
    │       │   │       │   ├── flowers_meneglin.json
    │       │   │       │   └── tree_menril.json
    │       │   │       └── placed_feature/
    │       │   │           ├── flowers_meneglin.json
    │       │   │           ├── tree_menril_general.json
    │       │   │           └── tree_menril_meneglin.json
    │       │   ├── minecraft/
    │       │   │   └── tags/
    │       │   │       ├── block/
    │       │   │       │   ├── doors.json
    │       │   │       │   ├── leaves.json
    │       │   │       │   ├── logs.json
    │       │   │       │   ├── logs_that_burn.json
    │       │   │       │   ├── mineable/
    │       │   │       │   │   ├── axe.json
    │       │   │       │   │   └── pickaxe.json
    │       │   │       │   ├── planks.json
    │       │   │       │   ├── saplings.json
    │       │   │       │   ├── stairs.json
    │       │   │       │   ├── wooden_doors.json
    │       │   │       │   ├── wooden_fences.json
    │       │   │       │   ├── wooden_slabs.json
    │       │   │       │   └── wooden_stairs.json
    │       │   │       ├── item/
    │       │   │       │   ├── bookshelf_books.json
    │       │   │       │   ├── doors.json
    │       │   │       │   ├── leaves.json
    │       │   │       │   ├── lectern_books.json
    │       │   │       │   ├── logs.json
    │       │   │       │   ├── logs_that_burn.json
    │       │   │       │   ├── planks.json
    │       │   │       │   ├── saplings.json
    │       │   │       │   ├── stairs.json
    │       │   │       │   ├── wooden_doors.json
    │       │   │       │   ├── wooden_fences.json
    │       │   │       │   ├── wooden_slabs.json
    │       │   │       │   └── wooden_stairs.json
    │       │   │       └── worldgen/
    │       │   │           └── biome/
    │       │   │               ├── has_structure/
    │       │   │               │   ├── mineshaft.json
    │       │   │               │   └── ruined_portal_mountain.json
    │       │   │               └── is_overworld.json
    │       │   └── neoforge/
    │       │       └── data_maps/
    │       │           └── item/
    │       │               └── compostables.json
    │       ├── mixins.integrateddynamics.json
    │       └── pack.mcmeta
    └── test/
        └── java/
            └── org/
                └── cyclops/
                    └── integrateddynamics/
                        ├── ModBaseMocked.java
                        └── core/
                            └── evaluate/
                                └── variable/
                                    ├── DummyValueType.java
                                    ├── DummyVariable.java
                                    ├── DummyVariableBoolean.java
                                    ├── DummyVariableDouble.java
                                    ├── DummyVariableInteger.java
                                    ├── DummyVariableList.java
                                    ├── DummyVariableLong.java
                                    ├── DummyVariableNamed.java
                                    ├── DummyVariableNbt.java
                                    ├── DummyVariableOperator.java
                                    ├── DummyVariableString.java
                                    ├── TestArithmeticOperators.java
                                    ├── TestBinaryOperators.java
                                    ├── TestCurryingComplex.java
                                    ├── TestDoubleOperators.java
                                    ├── TestGeneralOperators.java
                                    ├── TestImplicitArithmeticCasting.java
                                    ├── TestIntegerOperators.java
                                    ├── TestListOperators.java
                                    ├── TestLogicalOperators.java
                                    ├── TestNbtOperators.java
                                    ├── TestNumberOperators.java
                                    ├── TestOperatorOperators.java
                                    ├── TestParseOperators.java
                                    ├── TestRelationalOperators.java
                                    ├── TestStringOperators.java
                                    ├── TestValueTypeListProxyFactories.java
                                    ├── TestVariables.java
                                    └── ValueDeseralizationContextMocked.java

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

================================================
FILE: .gitattributes
================================================
gradle.properties merge=ours
src/main/resources/META-INF/mods.toml merge=ours
src/main/resources/META-INF/neoforge.mods.toml merge=ours
CHANGELOG.md merge=ours


================================================
FILE: .github/CONTRIBUTING.md
================================================
**:tada: Thanks you for taking the time to contribute to this repository! :tada:**

Issues can be created for bugs :bug:, feature suggestions :heavy_plus_sign:, performance issues :snail:, questions :question: or anything else.
All issues should follow the provided template when creating a new issue.

Before opening new issues, make sure that the issue does not already exist, so search through all issues (even the closed ones) before opening a new issue.

### Performance issues :snail:

If you encounter a performance issue (i.e. server/client lag), make sure to read the following.

You can use the [Sampler mod](https://forum.industrial-craft.net/thread/10820) for _profiling_ your game.
This mod can create `.nps` files, and can help us to see what parts of the game cause performance issues using software such as [VisualVM](https://visualvm.github.io/).
When opening a performance issue, make sure to send us this `.nps` file.

If you are encountering client lag (FPS issues), run this mod in your client.
If you are encountering server lag (TPS issues), run this mod on your server.

When the lag is starting, run `/sampler start` to start profiling, and `/sampler stop` to stop.
Run `/sampler export [your file name]` to export this profiling result to an `.nps` file.

Download Sampler for Minecraft 1.12: http://files.player.to/sampler-1.73.jar

### Pull Request

Pull requests are more than welcome! Before submitting one, make sure to discuss your plans with the maintainers via an issue.
When you submit PRs, you have to sign the [Cyclops Contributor License Agreement](https://cla-assistant.io/CyclopsMC/CyclopsCore),
which makes sure that you give us the appropriate permissions to use your submission, and that your submission is not owned by someone else.


================================================
FILE: .github/FUNDING.yml
================================================
patreon: kroeser


================================================
FILE: .github/ISSUE_TEMPLATE/Bug_report.md
================================================
---
name: "🐛 Bug report"
about: If something is not working as expected or crashes

---

<!--Thanks in advance for this issue, you're awesome!-->
<!--Before you read any further, can you double-check to make sure you're using the latest versions of all related mods?-->
<!--Please fill in the following template and make sure your title clear and concisely summarizes the issue.-->

#### Issue type:

- :bug: Bug <!--Don't change this issue type!-->

____

#### Short description:

<!--A clear and concise description of what the bug is.-->

#### Steps to reproduce the problem:

<!--Make sure that the steps are simple, and can be easily and fully followed by other people-->

1. ...

#### Expected behaviour:

<!--A clear and concise description of what you expected to happen.-->

____

#### Versions:

<!--Exact versions of the following mods, not just *latest*.-->

- This mod: 
- Minecraft: 
- Mod loader version: <!-- For example, "NeoForge 21.1.18", "Forge 50.1.12", or "Fabric 0.102.1" -->

<!--WHEN USING MODPACKS: First report this bug to the modpack author! As it could be a configuration or mod conflict issue.-->
<!--Before reporting, make sure to try reproducing without any other mods installed.-->
<!--If this problem only occurs in combination with other mods, attempt to find the smallest set of mods that causes the problem.-->

#### Log file:

<!--Always required for crashes. For other bugs, we might ask for it.-->
<!--Don't paste contents here directly, but use something like http://pastebin.com/-->


================================================
FILE: .github/ISSUE_TEMPLATE/Feature_request.md
================================================
---
name: "➕ Feature request"
about: Suggest an idea for this project

---

<!--Thanks in advance for this issue, you're awesome!-->
<!--Please fill in the following template and make sure your title clear and concisely summarizes the issue.-->

#### Issue type:

- :heavy_plus_sign: Feature request <!--Don't change this issue type!-->

____

#### Short description:

<!--A clear and concise description of what you want to happen.-->


================================================
FILE: .github/ISSUE_TEMPLATE/Performance_issue.md
================================================
---
name: "🐌 Performance issue"
about: An issue with the performance of this mod, such as abnormal lag.

---

<!--Thanks in advance for this issue, you're awesome!-->
<!--Before you read any further, can you double-check to make sure you're using the latest versions of all related mods?-->
<!--Please fill in the following template and make sure your title clear and concisely summarizes the issue.-->

#### Issue type:

- :snail: Performance issue <!--Don't change this issue type!-->

____

#### Short description:

<!--A clear and concise description of what the issue is.-->

#### Steps to reproduce the problem:

<!--Make sure that the steps are simple, and can be easily and fully followed by other people-->

1. ...

____

#### Versions:

<!--Exact versions of the following mods, not just *latest*.-->

- This mod: 
- Minecraft: 
- Forge: 

#### Profiler output:

<!--Information on how to profile your game: https://github.com/CyclopsMC/CyclopsCore/blob/master-1.18/.github/CONTRIBUTING.md#performance-issues-snail-->



================================================
FILE: .github/ISSUE_TEMPLATE/Question.md
================================================
---
name: "❓ Question"
about: A general question

---

<!--Thanks in advance for this issue, you're awesome!-->
<!--Please fill in the following template and make sure your title clear and concisely summarizes the issue.-->

#### Issue type:

- :question: Question <!--Don't change this issue type!-->

____

#### Question:

<!--A clear and concisely formulated question.-->


================================================
FILE: .github/ISSUE_TEMPLATE.md
================================================
<!--Thanks in advance for this issue, you're awesome! Please fill in the following template and make sure your title clear and concisely summarizes the issue.-->

<!---
Thanks for filing an issue! Before you submit, please read the following:

Check the other issue templates if you are trying to submit a bug report, feature request, performance issue, or question
Search open/closed issues before submitting since someone might have asked the same thing before!
-->


================================================
FILE: .github/issue-commenter.yml
================================================
labels:
  - name: bug
    labeled:
      issue:
        body: Thanks for reporting!
  - name: feature
    labeled:
      issue:
        body: Thanks for the suggestion!
  - name: feature-long-term
    labeled:
      issue:
        body: Thanks for the suggestion!
  - name: performance
    labeled:
      issue:
        body: Thanks for reporting!
  - name: question
    labeled:
      issue:
        body: Someone will answer your question soon. In the meantime, you might be able to get help more quickly on our [Discord server](https://discord.gg/9yDxubB).
  - name: invalid-template
    labeled:
      issue:
        body: '@{{ issue.user.login }} Your issue appears to be not following one of the allowed issue templates, which breaks our automation tools. Please update your issue to the proper template.'


================================================
FILE: .github/labeler.yml
================================================
bug:
  - '- :bug: Bug'
feature-long-term:
  - '- :heavy_plus_sign: Feature request'
performance:
  - '- :snail: Performance issue'
question:
  - '- :question: Question'

mc-1.12:
  - 'Minecraft: 1.12'
mc-1.14:
  - 'Minecraft: 1.14'
mc-1.15:
  - 'Minecraft: 1.15'
mc-1.16:
  - 'Minecraft: 1.16'
mc-1.18:
  - 'Minecraft: 1.18'
mc-1.19:
  - 'Minecraft: 1.19'
mc-1.20:
  - 'Minecraft: 1.20'
mc-1.21:
  - 'Minecraft: 1.21'
mc-26:
  - 'Minecraft: 26'
mc-27:
  - 'Minecraft: 27'
mc-28:
  - 'Minecraft: 28'
mc-29:
  - 'Minecraft: 29'
mc-30:
  - 'Minecraft: 30'


================================================
FILE: .github/no-response.yml
================================================
# Configuration for probot-no-response - https://probot.github.io/apps/no-response/

# Number of days of inactivity before an Issue is closed for lack of response
daysUntilClose: 14
# Label requiring a response
responseRequiredLabel: more-information-needed
# Comment to post when closing an Issue for lack of response. Set to `false` to disable
closeComment: >
  This issue has been automatically closed because there has been no response
  to our request for more information from the original author. With only the
  information that is currently in the issue, we don't have enough information
  to take action. Please reach out if you have or find the answers we need so
  that we can investigate further.


================================================
FILE: .github/parse_benchmark_results.sh
================================================
#!/bin/bash
# Parse benchmark results from game tests and convert to JSON format
# This script reads the benchmark results file and converts it to JSON format
# for use with benchmark-action/github-action-benchmark

set -e

BENCH_FILE="benchmark_results.json"
RESULTS_FILE="run/logs/benchmark_results.txt"

echo "Parsing benchmark results..."

# Initialize the JSON array
echo "[" > "$BENCH_FILE"

# Default values if file doesn't exist
if [ ! -f "$RESULTS_FILE" ]; then
    echo "Benchmark results file not found at $RESULTS_FILE"
    exit 1;
fi

FIRST=true
while IFS= read -r line; do
    # Skip empty lines
    if [ -z "$line" ]; then
        continue
    fi

    # Parse the line: preset=<preset> size=<size> avgNetworkTickTime=<time> avgServerTickTime=<time>
    # Using sed instead of grep -oP for macOS compatibility
    preset=$(echo "$line" | sed -n 's/.*preset=\([^ ]*\).*/\1/p')
    size=$(echo "$line" | sed -n 's/.*size=\([0-9]*\).*/\1/p')
    networkTickTime=$(echo "$line" | sed -n 's/.*avgNetworkTickTime=\([0-9.]*\).*/\1/p')
    serverTickTime=$(echo "$line" | sed -n 's/.*avgServerTickTime=\([0-9.]*\).*/\1/p')

    if [ -n "$preset" ] && [ -n "$size" ] && [ -n "$networkTickTime" ]; then
        # Output network tick time metric
        if [ "$FIRST" = true ]; then
            FIRST=false
        else
            echo "," >> "$BENCH_FILE"
        fi

        cat >> "$BENCH_FILE" << EOF
  {
    "name": "NETWORK LOAD: ${preset}_size_${size}",
    "unit": "tick time (ms)",
    "value": $networkTickTime
  }
EOF
    fi

    # Output server tick time metric if available
    if [ -n "$serverTickTime" ]; then
        echo "," >> "$BENCH_FILE"
        cat >> "$BENCH_FILE" << EOF
  {
    "name": "SERVER LOAD: ${preset}_size_${size}",
    "unit": "tick time (ms)",
    "value": $serverTickTime
  }
EOF
    fi
done < "$RESULTS_FILE"

# Close the JSON array
echo "" >> "$BENCH_FILE"
echo "]" >> "$BENCH_FILE"

# Display the results
echo "✓ Benchmark results parsed successfully:"
echo ""
cat "$BENCH_FILE"



================================================
FILE: .github/workflows/ci.yml
================================================
name: "CI"
on: [push, pull_request]

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  build:
    name: Build
    runs-on: ubuntu-latest
    steps:
      - name: 'Checkout'
        uses: actions/checkout@v4
        with:
          submodules: true
      - name: 'Setup Java'
        uses: actions/setup-java@v4
        with:
          distribution: 'microsoft'
          java-version: 25
      - name: 'Setup Gradle'
        uses: gradle/actions/setup-gradle@v4
        with:
          gradle-version: wrapper
          cache-read-only: false
      - name: 'Mark tag as release'
        if: startsWith(github.ref, 'refs/tags/')
        run: echo "RELEASE=true" >> $GITHUB_ENV
      - name: 'Unlock keystore'
        id: unlock_keystore
        env:
          KEYSTORE_BASE64: ${{ secrets.KEYSTORE_BASE64 }}
        if: ${{ env.KEYSTORE_BASE64 }}
        uses: timheuer/base64-to-file@v1
        with:
          fileName: 'keystore.jks'
          encodedString: ${{ secrets.KEYSTORE_BASE64 }}
      - name: 'Expose keystore'
        env:
          KEYSTORE_BASE64: ${{ secrets.KEYSTORE_BASE64 }}
        if: ${{ env.KEYSTORE_BASE64 }}
        run: cp ${{ steps.unlock_keystore.outputs.filePath }} .
      - name: 'Build'
        run: ./gradlew build --no-daemon
        env:
          SIGN_KEYSTORE: ${{ secrets.SIGN_KEYSTORE }}
          SIGN_ALIAS: ${{ secrets.SIGN_ALIAS }}
          SIGN_KEYPASS: ${{ secrets.SIGN_KEYPASS }}
          SIGN_STOREPASS: ${{ secrets.SIGN_STOREPASS }}
          MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
          MAVEN_KEY: ${{ secrets.MAVEN_KEY }}
          GITHUB_USER: ${{ github.actor }}
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      - name: 'Test'
        run: ./gradlew test runGameTestServer jacocoTestReport
      - name: 'Submit coverage results'
        uses: coverallsapp/github-action@v2
      - name: 'Deploy as GitHub CI artifacts'
        uses: actions/upload-artifact@v4
        with:
          if-no-files-found: error
          path: build/libs/*
      - name: 'Deploy to CurseForge'
        if: startsWith(github.ref, 'refs/tags/') || (!startsWith(github.event.head_commit.message, 'Bump mod version') && startsWith(github.ref, 'refs/heads/master'))
        env:
          CURSEFORGE_KEY_SECRET: ${{ secrets.CURSEFORGE_KEY_SECRET }}
        run: ./gradlew publishCurseForge
      - name: 'Deploy to Modrinth'
        continue-on-error: true
        if: startsWith(github.ref, 'refs/tags/') || (!startsWith(github.event.head_commit.message, 'Bump mod version') && startsWith(github.ref, 'refs/heads/master'))
        env:
          MODRINTH_KEY_SECRET: ${{ secrets.MODRINTH_KEY_SECRET }}
        run: ./gradlew modrinth
      - name: 'Deploy to Maven'
        if: startsWith(github.ref, 'refs/heads/master') || startsWith(github.ref, 'refs/heads/feature')
        env:
          MAVEN_URL: ${{ secrets.MAVEN_URL }}
          MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
          MAVEN_KEY: ${{ secrets.MAVEN_KEY }}
        run: ./gradlew publish
      - name: 'Deploy JavaDoc to GitHub Pages'
        if: startsWith(github.ref, 'refs/heads/master')
        uses: JamesIves/github-pages-deploy-action@v4
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          branch: gh-pages
          folder: build/docs/javadoc
          clean: true

================================================
FILE: .github/workflows/close-issues-no-response.yml
================================================
name: "Close issues that received no response"
on:
  schedule:
  - cron: "0 0 * * *"

jobs:
  stale:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/stale@v9
      with:
        repo-token: "${{ secrets.GITHUB_TOKEN }}"
        stale-issue-label: "more-information-needed"
        stale-issue-message: 'This issue has been automatically closed because there has been no response to our request for more information from the original author. With only the information that is currently in the issue, we do not have enough information to take action. Please reach out if you have or find the answers we need so that we can investigate further.'
        days-before-close: 14
        days-before-stale: -1
    - uses: actions/stale@v9
      with:
        repo-token: "${{ secrets.GITHUB_TOKEN }}"
        only-labels: "invalid-template"
        stale-issue-label: "invalid-template"
        stale-issue-message: 'This issue has been automatically closed because it does not follow the issue template. Feel free to recreate this issue'
        days-before-close: 7
        days-before-stale: -1


================================================
FILE: .github/workflows/copilot-setup-steps.yml
================================================
name: "Copilot Setup Steps"

on:
  workflow_dispatch:
  push:
    paths:
      - .github/workflows/copilot-setup-steps.yml
  pull_request:
    paths:
      - .github/workflows/copilot-setup-steps.yml

jobs:
  # The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot.
  copilot-setup-steps:
    runs-on: ubuntu-latest
    permissions:
      contents: read

    # Steps that will run before the agent starts
    steps:
      - name: 'Checkout'
        uses: actions/checkout@v4
        with:
          submodules: true
      - name: Read Java version from gradle.properties
        id: java_version
        run: |
          if [ -f gradle.properties ] && grep -q '^java_version=' gradle.properties; then
            VERSION=$(grep '^java_version=' gradle.properties | cut -d'=' -f2)
          else
            VERSION=17
          fi
          echo "Using Java version: $VERSION"
          echo "version=$VERSION" >> $GITHUB_OUTPUT
      - name: 'Setup Java'
        uses: actions/setup-java@v4
        with:
          distribution: 'microsoft'
          java-version: ${{ steps.java_version.outputs.version }}
      - name: 'Setup Gradle'
        uses: gradle/actions/setup-gradle@v4
        with:
          gradle-version: wrapper
          cache-read-only: false
      - name: 'Build'
        run: ./gradlew build --no-daemon
        env:
          MAVEN_USERNAME: ${{ github.actor }}
          MAVEN_KEY: ${{ secrets.GITHUB_TOKEN }}
          GITHUB_USER: ${{ github.actor }}
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      - name: 'Warmup for game test server'
        run: ./gradlew runGameTestServer --no-daemon


================================================
FILE: .github/workflows/crowdin.yml
================================================
name: "Crowdin Sync Translations"

on:
  schedule:
    - cron: '0 7 * * *'
  workflow_dispatch:

jobs:
  synchronize-with-crowdin:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Crowdin action
        uses: crowdin/github-action@v2
        with:
          upload_sources: true
          upload_translations: false
          download_translations: true
          localization_branch_name: l10n_crowdin_translations
          create_pull_request: true
          pull_request_title: 'New Translations'
          pull_request_body: 'New translations by [Crowdin GitHub Action](https://github.com/crowdin/github-action)'
          commit_message: 'Add translations through Crowdin'
        env:
          GITHUB_TOKEN: ${{ secrets.PAT }}
          CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} # A numeric ID, found at https://crowdin.com/project/<projectName>/tools/api
          CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}


================================================
FILE: .github/workflows/fuzzing.yml
================================================
name: "Fuzzing"
on:
  schedule:
    - cron: '30 2 * * *'  # Run every day at 2:30 AM UTC
  workflow_dispatch:  # Allow manual triggering for testing
  push:
    paths:
      - src/main/java/org/cyclops/integrateddynamics/gametest/GameTestsFuzzing.java
      - src/main/java/org/cyclops/integrateddynamics/gametest/fuzzing/**
      - .github/workflows/fuzzing.yml
  pull_request:
    paths:
      - src/main/java/org/cyclops/integrateddynamics/gametest/GameTestsFuzzing.java
      - src/main/java/org/cyclops/integrateddynamics/gametest/fuzzing/**
      - .github/workflows/fuzzing.yml

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  fuzz:
    name: Fuzz
    runs-on: ubuntu-latest
    timeout-minutes: 30
    steps:
      - name: 'Checkout'
        uses: actions/checkout@v4
        with:
          submodules: true
      - name: 'Setup Java'
        uses: actions/setup-java@v4
        with:
          distribution: 'microsoft'
          java-version: 21
      - name: 'Setup Gradle'
        uses: gradle/actions/setup-gradle@v4
        with:
          gradle-version: wrapper
          cache-read-only: false
      - name: 'Build'
        run: ./gradlew build -x test --no-daemon
        env:
          GITHUB_USER: ${{ github.actor }}
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      - name: 'Run fuzzing game tests'
        id: fuzzing
        run: ./gradlew runGameTestServer
        env:
          FUZZING_ITERATIONS: '1000'
      - name: 'Upload fuzzing crash structures'
        uses: actions/upload-artifact@v4
        if: always()
        with:
          name: fuzzing-crash-structures.zip
          path: run/fuzzing_crashes/
          if-no-files-found: ignore
      - name: 'Create issue for fuzzing failure'
        if: failure() && steps.fuzzing.outcome == 'failure'
        uses: actions/github-script@v7
        with:
          script: |
            const fs = require('fs');
            const path = require('path');
            
            // Get version from gradle.properties
            const gradleProps = fs.readFileSync('gradle.properties', 'utf8');
            const versionMatch = gradleProps.match(/mod_version\s*=\s*(.+)/);
            const modVersion = versionMatch ? versionMatch[1].trim() : 'unknown';
            
            // Find crash structure files
            const crashDir = 'runs/gameTestServer/fuzzing_crashes/';
            let crashFiles = [];
            if (fs.existsSync(crashDir)) {
              crashFiles = fs.readdirSync(crashDir).filter(f => f.endsWith('.nbt'));
            }
            
            // Extract [Fuzzing] log lines
            let fuzzingLogs = [];
            const logFile = 'runs/gameTestServer/logs/latest.log';
            if (fs.existsSync(logFile)) {
              const logContent = fs.readFileSync(logFile, 'utf8');
              fuzzingLogs = logContent.split('\n').filter(line => line.includes('[Fuzzing]'));
            }
            
            // Build the issue body
            let issueBody = `## Fuzzing Test Failure

            A fuzz test has detected a crash or error in the Integrated Dynamics network generation or execution.
            
            ### Reproduction Instructions
            
            1. Download the structure file(s) from the [workflow artifacts](${context.payload.repository.html_url}/actions/runs/${context.runId})
            2. In Minecraft, use a structure block to load the .nbt file
            3. The crash should occur when the network is placed and begins executing
            
            ### Crash Structure Files
            
            `;
            
                        if (crashFiles.length > 0) {
                          issueBody += `The following structure file(s) were generated during fuzzing:\n\n`;
                          crashFiles.forEach(file => {
                            issueBody += `- \`${file}\`\n`;
                          });
                        } else {
                          issueBody += `No structure files were captured (the error probably occurred during fuzzed network generation)\n`;
                        }
            
                        issueBody += `
            ### Fuzzing Log Output
            
            `;
            
                        if (fuzzingLogs.length > 0) {
                          issueBody += `\`\`\`\n${fuzzingLogs.join('\n')}\n\`\`\`\n`;
                        } else {
                          issueBody += `No [Fuzzing] log lines found.\n`;
                        }
            
                        issueBody += `
            ### Version Information
            
            - **Mod Version**: ${modVersion}
            - **Minecraft Version**: 1.21.1
            - **Mod Loader**: NeoForge
            - **Workflow Run**: [#${{ github.run_number }}](${context.payload.repository.html_url}/actions/runs/${context.runId})
            
            ### Test Parameters
            
            The fuzzing test uses random parameters. Check the workflow logs for specific test configuration used (network size, number of parts, operator depth).
            
            ### How to Debug
            
            1. Download the structure file
            2. Copy it to \`client/saves/<worldname>/generated/minecraft/structures/<template>.nbt\`
            3. Spawn a structure block: \`/give @p minecraft:structure_block\`
            4. Load the structure in the structure block GUI: \`minecraft:<template>\`
            
            ### Additional Context
            
            This issue was automatically generated by the fuzzing test workflow. For more details, see the [full workflow run](${context.payload.repository.html_url}/actions/runs/${context.runId}).
            
            If this is a false positive or environmental issue, please close this issue and mark it accordingly.
            `;

            // Create the issue
            const issue = await github.rest.issues.create({
              owner: context.repo.owner,
              repo: context.repo.repo,
              title: `🐛 Fuzzing detected crash in network generation (run #${{ github.run_number }})`,
              body: issueBody,
              labels: ['bug', 'fuzzing'],
              assignees: []
            });
            
            console.log(`Created issue #${issue.data.number}`);
            core.setOutput('issue-number', issue.data.number);



================================================
FILE: .github/workflows/issue-label-commenter.yml
================================================
name: "Comment on issues by label"
on:
  issues:
    types: [labeled]

jobs:
  comment:
    runs-on: ubuntu-latest
    steps:
    - name: get comment count
      id: getCommentCount
      env:
        comments: ${{ github.event.issue.comments }}
      run: |
        echo "$comments"
        CL=$(echo $comments | jq '. | length' )
        echo "::set-output name=comments_length::$CL"
    - uses: actions/checkout@v2
      if: steps.getCommentCount.outputs.comments_length == 0
    - uses: peaceiris/actions-label-commenter@v1
      if: steps.getCommentCount.outputs.comments_length == 0
      with:
        github_token: ${{ secrets.PAT }}
        config_file: .github/issue-commenter.yml


================================================
FILE: .github/workflows/issue-label-to-project-board.yml
================================================
name: "Add labeled issues to project board"
on:
  issues:
    types: [labeled]

jobs:
  assign:
    runs-on: ubuntu-latest
    steps:
      - name: Maintenance Issues
        id: add-project-maintenance
        uses: actions/add-to-project@v1.0.1
        with:
          project-url: https://github.com/orgs/CyclopsMC/projects/3
          github-token: ${{ secrets.PAT }}
          labeled: bug, performance, question, more-information-needed
          label-operator: OR
      - name: Development Issues
        id: add-project-development
        uses: actions/add-to-project@v1.0.1
        with:
          project-url: https://github.com/orgs/CyclopsMC/projects/4
          github-token: ${{ secrets.PAT }}
          labeled: feature-long-term, feature
          label-operator: OR
      - name: Feature Accepted
        if: |
          contains(github.event.issue.labels.*.name, 'feature')
        uses: titoportas/update-project-fields@v0.1.0
        with:
          project-url: https://github.com/orgs/CyclopsMC/projects/4
          github-token: ${{ secrets.PAT }}
          item-id: ${{ steps.add-project-development.outputs.itemId }}
          field-keys: Status
          field-values: 'Accepted (To Do)'
      - name: More Information Needed
        if: |
          contains(github.event.issue.labels.*.name, 'more-information-needed')
        uses: titoportas/update-project-fields@v0.1.0
        with:
          project-url: https://github.com/orgs/CyclopsMC/projects/3
          github-token: ${{ secrets.PAT }}
          item-id: ${{ steps.add-project-maintenance.outputs.itemId }}
          field-keys: Status
          field-values: 'On hold (awaiting input)'


================================================
FILE: .github/workflows/new-issue-label.yml
================================================
name: "Label new issues"
on:
  issues:
    types: [opened, edited]

jobs:
  triage:
    runs-on: ubuntu-latest
    steps:
    - uses: github/issue-labeler@v3.4
      with:
        repo-token: "${{ secrets.PAT }}"
        configuration-path: .github/labeler.yml
        enable-versioned-regex: 0


================================================
FILE: .github/workflows/performance.yml
================================================
name: "Performance"
on: [push, pull_request]

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  benchmark:
    name: Benchmark
    if: github.event.repository.fork != true && (startsWith(github.ref, 'refs/heads/master') || startsWith(github.ref, 'refs/heads/feature'))
    runs-on: ubuntu-latest
    steps:
      - name: 'Checkout'
        uses: actions/checkout@v4
        with:
          submodules: true
      - name: 'Setup Java'
        uses: actions/setup-java@v4
        with:
          distribution: 'microsoft'
          java-version: 21
      - name: 'Setup Gradle'
        uses: gradle/actions/setup-gradle@v4
        with:
          gradle-version: wrapper
          cache-read-only: false
      - name: 'Build'
        run: ./gradlew build -x test --no-daemon
        env:
          GITHUB_USER: ${{ github.actor }}
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      - name: 'Run performance benchmarks'
        run: ./gradlew runGameTestServer
        env:
          PERFORMANCE_BENCHMARK_ENABLED: 'true'
        continue-on-error: true
      - name: 'Parse benchmark results'
        run: bash .github/parse_benchmark_results.sh
      - name: Determine benchmarks total results target directory name
        run: echo "BENCHMARK_DATA_DIR_PATH=CyclopsMC/${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}/benchmarks" >> $GITHUB_ENV
      - name: 'Store benchmark result'
        uses: benchmark-action/github-action-benchmark@v1
        with:
          name: Integrated Dynamics Network Benchmark
          tool: customSmallerIsBetter
          output-file-path: benchmark_results.json
          github-token: ${{ secrets.PAT }}
          auto-push: true
          alert-threshold: '250%'
          comment-always: true
          comment-on-alert: true
          alert-comment-cc-users: '@rubensworks'
          summary-always: true
          gh-repository: github.com/CyclopsMC/cyclops-performance-results
          gh-pages-branch: master
          benchmark-data-dir-path: ${{ env.BENCHMARK_DATA_DIR_PATH }}
      - name: Prepare comment on commit with link to performance results
        run: echo -e "Performance benchmarks succeeded! 🚀\n\n\[[Results](https://CyclopsMC.github.io/cyclops-performance-results/CyclopsMC/${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}/benchmarks/)\]" > ./commit-comment-body.txt
      - name: Comment on commit with link to performance results
        uses: peter-evans/commit-comment@v4
        with:
          body-path: ./commit-comment-body.txt



================================================
FILE: .github/workflows/publish-github-release.yml
================================================
name: Publish GitHub release on version tags
on:
  push:
    tags:
      - '*'
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Release
        uses: softprops/action-gh-release@v2
        with:
          body_path: CHANGELOG.md


================================================
FILE: .gitignore
================================================
# We don't want compiled stuff in here!
/bin
doc/info.txt
/build
/run
/runs
/logs

# Ignore project specific files
.classpath
.project
.settings
.pydevproject
eclipse/*
.gradle/*
repo/*
*.iml
*.ipr
*.iws
out/*
keystore.jks
.idea
logs/

# Ignore IDE specific files
.vscode
*.launch

# Ignore mac-specific file(s)
.DS_Store

# Ignore files specific to dev environments
secrets.properties
changelog.txt

.cache
config


================================================
FILE: .gitmodules
================================================
[submodule "src/main/java/org/cyclops/commoncapabilities/api"]
	path = src/main/java/org/cyclops/commoncapabilities/api
	url = https://github.com/CyclopsMC/CommonCapabilitiesAPI.git


================================================
FILE: AGENTS.md
================================================
# AGENTS.md - Developer and AI Agent Guide

This document provides essential information for developers and AI agents working on this Minecraft mod's codebase.

## Project Overview

This is a Minecraft mod. See README.md for a description of what this mod does. The project is written in Java and uses Gradle as its build system.

## Multi-Loader Architecture

**This repo only uses a multi-loader architecture if you can find a `loader-common` directory in the root of this repo!**

In Minecraft 1.21 and above, this repository uses a **multi-loader setup**, meaning the mod is available on multiple Minecraft mod loaders.
The Minecraft version can be found in `gradle.properties`.
Understanding this architecture is crucial when making changes:

### Directory Structure

- **`loader-common/`**: Contains source code that is common across all mod loaders. Most shared functionality should be implemented here.
- **`loader-fabric/`**: Fabric-specific implementation and integration code.
- **`loader-forge/`**: Forge-specific implementation and integration code (for older Minecraft versions).
- **`loader-neoforge/`**: NeoForge-specific implementation and integration code (for newer Minecraft versions).

For NeoForge, relevant jars can for example be found in the following locations:

- Minecraft merged jar: `build/moddev/artifacts/minecraft-patched-26.1.1.1-beta-merged.jar`
- NeoForge: `~/.gradle/caches/modules-2/files-2.1/net.neoforged/neoforge/26.1.1.1-beta/214ad5aa883deaf6d71298baf4232bb994305f36/neoforge-26.1.1.1-beta-universal.jar`
- CyclopsCore source: `~/.m2/repository/org/cyclops/cyclopscore/cyclopscore-26.1.1-neoforge/1.25.5-DEV/cyclopscore-26.1.1-neoforge-1.25.5-DEV-sources.jar`

### Making Changes in Multi-loader Setups

When adding features or fixing bugs:
1. Place shared logic in `loader-common/` whenever possible
2. Only add loader-specific code to the respective `loader-*` directories when platform-specific APIs are required
3. Ensure your changes work across all supported loaders

## Testing

This mod uses two types of tests:

### 1. Unit Tests

**Location**: `src/test/java/`

Traditional JUnit tests for testing isolated functionality without requiring a full Minecraft instance.

**Running unit tests**:
```bash
./gradlew test
```

Unit tests are automatically executed when running the `build` command.

### 2. Game Tests

**Location**: Within normal sources, typically in the `org/cyclops/*/gametest` package (e.g., `loader-common/src/main/java/org/cyclops/cyclopscore/gametest/`)

Game tests run an actual Minecraft instance to test code with real game logic. These are essential for testing features that interact with Minecraft's gameplay systems.
Game tests only exist in Minecraft 1.21 and higher.

**Running game tests**:
```bash
./gradlew runGameTestServer
```

**Important**:
- Game tests are **NOT** run automatically during the build process
- For Minecraft 1.21 and above, game tests must be run manually before committing
- Game tests must pass before finalizing your changes

### When to Add Tests

When adding new features or fixing bugs:
- **Always** add unit tests when possible for isolated logic
- **Always** add game tests when the feature interacts with Minecraft gameplay systems
- Look at existing tests in the respective directories for examples of test patterns and conventions

### Testing advancements

When writing game tests for advancements, don't just call criterion triggers directly, but try to simulate actual game logic to invoke the criterion triggers indirectly.

### Test coverage

When adding new tests for the sake of increasing test coverage, you can measure coverage by running `./gradlew test runGameTestServer jacocoTestReport`, and checking the coverage output in `build/reports/jacoco/test/`.

## Building the Project

### Prerequisites

- Java version is specified in `gradle.properties` (otherwise, default to version 17)
- Gradle (use the provided wrapper: `./gradlew`)

### Build Command

Before every commit, ensure the project builds successfully:

```bash
./gradlew build
```

This command will:
- Compile all source code
- Run unit tests automatically
- Generate build artifacts

### Full Pre-Commit Validation

Run build:

```bash
./gradlew build
```

Only for Minecraft 1.21 and above, also run game tests:
```bash
./gradlew runGameTestServer
```

Both must pass before committing changes.

## Code Formatting

This project uses Spotless for code formatting:

```bash
./gradlew spotlessApply
```

The pre-commit script in `scripts/pre-commit` automatically formats staged files. Consider setting it up as a Git hook:

```bash
ln -s ../../scripts/pre-commit .git/hooks/pre-commit
```

In general, try to use imports where possible.
So avoid inlining things in like `net.minecraft.world.phys.Vec3` in the code, and instead, just add an import for `net.minecraft.world.phys.Vec3`.

## Development Workflow

1. **Understand the change**: Read the issue/feature request thoroughly
2. **Explore the codebase**: Use tools like `grep` to find relevant code
3. **Make minimal changes**: Focus on the specific issue/feature
4. **Add tests**: Write unit tests and/or game tests as appropriate
5. **Build and test**:
   ```bash
   ./gradlew build
   ./gradlew runGameTestServer  # For MC 1.21+
   ```
6. **Format code**: `./gradlew spotlessApply`
7. **Commit**: Use clear, descriptive commit messages

## Release Management

Version bumping and release management helper scripts are available in the [CyclopsMC/ReleaseHelpers](https://github.com/CyclopsMC/ReleaseHelpers) repository. These bash scripts assist with:
- Version bumping across all loaders
- Changelog management
- Release preparation

## Gradle Tasks Reference

Common Gradle tasks for development:

| Task | Purpose |
|------|---------|
| `./gradlew build` | Build the project and run unit tests |
| `./gradlew test` | Run unit tests only |
| `./gradlew runGameTestServer` | Run game tests (manual, required for MC 1.21+) |
| `./gradlew spotlessApply` | Format code according to project standards |
| `./gradlew publishToMavenLocal` | Publish to local Maven for testing in other projects |

If for any reason gradle fails due to internet connection issues, try running offline instead by running the gradle command with the `--offline` flag.

## CI/CD

GitHub Actions automatically:
- Builds the project on every push and pull request
- Runs unit tests
- Runs game tests (including `runGameTestServer`)
- Generates coverage reports
- Deploys to CurseForge, Modrinth, and Maven on appropriate branches/tags

See `.github/workflows/ci.yml` for the full CI configuration.

## Additional Resources

- **README.md**: Project overview and usage information
- **CONTRIBUTING.md**: Contribution guidelines and issue reporting
- **Build configuration**: `build.gradle` and loader-specific build files
- **Project properties**: `gradle.properties` (Minecraft version, mod version, etc.)

## Key Principles

1. **Minimal changes**: Make the smallest possible changes to achieve your goal
2. **Test coverage**: Always try to add tests for new features and bug fixes (may be difficult or impossible for things related to GUIs)
3. **Multi-loader compatibility**: Ensure changes work across all supported loaders
4. **Build validation**: Never commit without running `build` (and `runGameTestServer` for MC 1.21+)
5. **Code quality**: Follow existing patterns and conventions in the codebase

## Code changes across Minecraft updates

When I ask you to things such as "fix upmerge issues" or "update to the next Minecraft version",
this means that I want you to help resolve compilation errors
that were introduced due to upmerging code from an older minecraft version to a newer minecraft version.
The old minecraft version can be found in the `.upmerge-src-branch` file of the parent directory,
and the new minecraft version can be found in `gradle.properties`.
Changes may also include fixing merge conflicts.

IMPORTANT: Some changes may be non-trivial,
for which you can find detail background information for each seperate Minecraft update within these primers: https://github.com/neoforged/.github/tree/main/primers
The blogs of https://neoforged.net/ and https://fabricmc.net/blog/ may also contain useful porting help.

After making all necessary changes, make sure the code fully compiles and the (game) tests pass.


================================================
FILE: CHANGELOG-1.19.2.md
================================================
# Changelog for Minecraft 1.19.2
All notable changes to this project will be documented in this file.

<a name="1.19.2-1.30.1"></a>
## [1.19.2-1.30.1](/compare/1.19.2-1.30.0...1.19.2-1.30.1) - 2026-03-28 09:54:36


### Added
* Add configurable energy production rate for coal generator (#1635), Closes #1634

<a name="1.19.2-1.30.0"></a>
## [1.19.2-1.30.0](/compare/1.19.2-1.29.3...1.19.2-1.30.0) - 2026-02-17 10:58:05 +0100


### Added
* Document logical NBT expressions, CyclopsMC/CyclopsCore#210
* Add config options for minimum update intervals for parts, Closes CyclopsMC/IntegratedTunnels#349
* Add config option to log card IDs during evaluation, Closes #1345

<a name="1.19.2-1.29.3"></a>
## [1.19.2-1.29.3](/compare/1.19.2-1.29.2...1.19.2-1.29.3) - 2026-01-17 14:00:53 +0100


### Added
* Add generic number casting operators
  Closes CyclopsMC/IntegratedScripting#55
  These new operators make it more convenient to work with return types of
  Integrated Scripting, where numbers could be integers, doubles, or
  longs.

### Changed
* Add safety check for infinite lists in list equals and itemstack count
  Closes #1583
  Related to #1582

### Fixed
* Fix part states not being revalidated, Closes #1588
* Fix oldest/newest mixup on delayer history in book, Closes #1592

<a name="1.19.2-1.29.2"></a>
## [1.19.2-1.29.2](/compare/1.19.2-1.29.1...1.19.2-1.29.2) - 2025-12-28 09:16:36 +0100


### Fixed
* Add safety checks to disable some operators on infinite lists
  Concretely, contains, reduce, and uniq are disabled on infinite lists.
  Closes #1582

<a name="1.19.2-1.29.1"></a>
## [1.19.2-1.29.1](/compare/1.19.2-1.29.0...1.19.2-1.29.1) - 2025-12-23 09:15:43 +0100


### Fixed
* Fix facade squeezer recipes breaking infobook

<a name="1.19.2-1.29.0"></a>
## [1.19.2-1.29.0](/compare/1.19.2-1.28.6...1.19.2-1.29.0) - 2025-12-23 09:04:18 +0100


### Added
* Add squeezer recipes for clearing facades

<a name="1.19.2-1.28.6"></a>
## [1.19.2-1.28.6](/compare/1.19.2-1.28.5...1.19.2-1.28.6) - 2025-11-25 16:57:54 +0100


### Fixed
* Restore network element chunk unloading again, Closes #1571

<a name="1.19.2-1.28.5"></a>
## [1.19.2-1.28.5](/compare/1.19.2-1.28.4...1.19.2-1.28.5) - 2025-11-24 16:56:01 +0100


### Fixed
* Temporarily disable chunk unload check again

It is causing issues with delayers after chunk reloaded.
Once a proper fix is available, this will be re-enabled.

Related to #1571

<a name="1.19.2-1.28.4"></a>
## [1.19.2-1.28.4](/compare/1.19.2-1.28.3...1.19.2-1.28.4) - 2025-11-22 11:25:24 +0100


### Fixed
* Restore network element chunk unloading
  This was temporarily disabled as it broke delayers and proxies on
  world/chunk reload, which this commit fixes.
  Closes #1571

<a name="1.19.2-1.28.3"></a>
## [1.19.2-1.28.3](/compare/1.19.2-1.28.2...1.19.2-1.28.3) - 2025-11-18 18:46:25 +0100


### Fixed
* Temporarily disable chunk unload check
  It is causing issues with delayers when worlds/chunks are reloaded.
  Once a proper fix is available, this will be re-enabled.
  Related to #1571

<a name="1.19.2-1.28.2"></a>
## [1.19.2-1.28.2](/compare/1.19.2-1.28.1...1.19.2-1.28.2) - 2025-11-18 05:31:19 +0100


### Fixed
* Fix read fluids not always updating in display panel, Closes #1570

<a name="1.19.2-1.28.1"></a>
## [1.19.2-1.28.1](/compare/1.19.2-1.28.0...1.19.2-1.28.1) - 2025-11-16 14:29:27 +0100


### Fixed
* Fix ticking network elements preventing chunk unloading, Closes #1567

<a name="1.19.2-1.28.0"></a>
## [1.19.2-1.28.0](/compare/1.19.2-1.27.6...1.19.2-1.28.0) - 2025-11-11 13:55:36 +0100


### Added
* Add fluid by name operator, Closes #1522

### Changed
* Ensure consistent order of ingredient types in LP, Closes #1539

### Fixed
* Fix transparent facades having incorrect alpha value, Closes #1563
* Fix lists materialization not applying to elements
  This could cause issues when displaying lists of items from inventory
  readers over Functional Storage Drawers.
  Closes #1557

<a name="1.19.2-1.27.6"></a>
## [1.19.2-1.27.6](/compare/1.19.2-1.27.5...1.19.2-1.27.6) - 2025-10-11 11:42:33 +0200


### Fixed
* Fix memory leak when reloading offset variables, Closes #1549
* Handle overflows in fluid reader total aspects, Closes #1547

<a name="1.19.2-1.27.5"></a>
## [1.19.2-1.27.5](/compare/1.19.2-1.27.4...1.19.2-1.27.5) - 2025-07-18 20:36:02 +0200


### Fixed
* Fix crash on load operator variable in LP, Closes #1537

<a name="1.19.2-1.27.4"></a>
## [1.19.2-1.27.4](/compare/1.19.2-1.27.3...1.19.2-1.27.4) - 2025-07-05 06:54:35 +0200


### Fixed
* Fix LP crash when loading with empty category card, Closes #1527

<a name="1.19.2-1.27.3"></a>
## [1.19.2-1.27.3](/compare/1.19.2-1.27.2...1.19.2-1.27.3) - 2025-06-21 13:21:39 +0200


### Changed
* Return item to player instead of dropping on Labeler exit, Closes #1526

### Fixed
* Fix fluidstack operator crash on empty items, Closes #1525

<a name="1.19.2-1.27.2"></a>
## [1.19.2-1.27.2](/compare/1.19.2-1.27.1...1.19.2-1.27.2) - 2025-06-12 16:35:33 +0200


### Fixed
* Fix cables not being breakable with wrench, Closes #1523

<a name="1.19.2-1.27.1"></a>
## [1.19.2-1.27.1](/compare/1.19.2-1.27.0...1.19.2-1.27.1) - 2025-06-07 18:00:46 +0200


### Changed
* Only switch Wrench mode when aiming at air
  Closes #1518
  Closes #1390

### Fixed
* Fix overlapping tooltips in LP write slot, Closes #1519

<a name="1.19.2-1.27.0"></a>
## [1.19.2-1.27.0](/compare/1.19.2-1.26.1...1.19.2-1.27.0) - 2025-05-31 19:36:49 +0200


### Added
* Allow editing existing variables in Logic Programmer, Closes #357
* Add Variable Value By ID operator aspect to network reader, Closes #1346
* Add button to reset selected LP element

### Changed
* Don't drop item in world when closing LP
* Improve LP element arrow

### Fixed
* Fix operator text field in LP sometimes being red

<a name="1.19.2-1.26.1"></a>
## [1.19.2-1.26.1](/compare/1.19.2-1.26.0...1.19.2-1.26.1) - 2025-05-20 17:28:11 +0200


### Fixed
* Fix search hotkey also typing in hotkey in search box
  Closes CyclopsMC/IntegratedTerminals#168

<a name="1.19.2-1.26.0"></a>
## [1.19.2-1.26.0](/compare/1.19.2-1.25.5...1.19.2-1.26.0) - 2025-05-03 15:33:50 +0200


### Added
* Add list set and multiset equality operators, Closes #1347
* Add Fluid with tag operator, Closes #797
* Add block and fluid tag operators, Closes #1394
* Add Sqrt and Pow operators, Closes #1372
* Add lectern and bookshelf support for infobook, Closes #1496

### Fixed
* Fix non-fluid items being insertable into LP, Closes #1507

<a name="1.19.2-1.25.5"></a>
## [1.19.2-1.25.5](/compare/1.19.2-1.25.4...1.19.2-1.25.5) - 2025-03-22 15:12:36 +0100


### Fixed
* Fix NBT from int list not working for any lists
  Closes CyclopsMC/IntegratedScripting#37
* Fix typos in manual
* Fixed number typo
* Fixed variable description
* Fixed typo in reader introduction

<a name="1.19.2-1.25.4"></a>
## [1.19.2-1.25.4](/compare/1.19.2-1.25.3...1.19.2-1.25.4) - 2025-03-10 06:57:05 +0100


### Changed
* Avoid repeated log spam for forcefully unloaded parts, Closes #1481

<a name="1.19.2-1.25.3"></a>
## [1.19.2-1.25.3](/compare/1.19.2-1.25.2...1.19.2-1.25.3) - 2025-03-01 07:05:09 +0100


### Changed
* Improve performance of block changes to very large networks
  Pathfinder is ~70x faster, also improved tick speed with lots of devices (17 ms to 3 ms in test scene)

### Fixed
* Fix duplication of offset enchancements when breaking cable, Closes #1480
* Fix passive interaction changes not immediately applying on change
  It used to only take effect after re-inserting a variable card.
  Closes CyclopsMC/IntegratedDynamics#1470

<a name="1.19.2-1.25.2"></a>
## [1.19.2-1.25.2](/compare/1.19.2-1.25.1...1.19.2-1.25.2) - 2025-02-22 17:02:54 +0100


### Fixed
* Fix GUIs remaining open after external breakage, Closes #1472
* Fix rare tooltip crash for item-based variable cards, Closes #1477

<a name="1.19.2-1.25.1"></a>
## [1.19.2-1.25.1](/compare/1.19.2-1.25.0...1.19.2-1.25.1) - 2025-02-03 16:58:31 +0100


### Added
* Add Item with tag operation

### Fixed
* Fix REI recipe transfer to LP not working for fluids
* Fix LP recipe transfer including chance-based outputs
  Non-1000utputs could cause issues for autocrafting.
  This is fixed for both JEI and REI.
  Closes CyclopsMC/IntegratedCrafting#127
* Fix tag-based JEI recipe transfer ignoring stack sizes
  Closes CyclopsMC/IntegratedCrafting#128
* Fix placing part before cable not properly connecting cables
  Closes CyclopsMC/IntegratedTunnels#321

<a name="1.19.2-1.25.0"></a>
## [1.19.2-1.25.0](/compare/1.19.2-1.24.4...1.19.2-1.25.0) - 2025-01-08 17:29:20 +0100


### Added
* Add item tooltip operators

<a name="1.19.2-1.24.4"></a>
## [1.19.2-1.24.4](/compare/1.19.2-1.24.3...1.19.2-1.24.4) - 2024-12-28 13:55:25 +0100


### Added
* Add lossy recipe to clear a facade in a crafting grid, Closes #1424

### Fixed
* Fix client-server desync when applying part offsets, Closes #1448
* Fix offset items only being applicable to 28 instead of 32, #1448

<a name="1.19.2-1.24.3"></a>
## [1.19.2-1.24.3](/compare/1.19.2-1.24.2...1.19.2-1.24.3) - 2024-12-24 09:53:00 +0100


### Fixed
* Reduce number of network events during init to improve performance, #1439
  Modifying very large networks is a lot faster now.

<a name="1.19.2-1.24.2"></a>
## [1.19.2-1.24.2](/compare/1.19.2-1.24.1...1.19.2-1.24.2) - 2024-12-17 11:09:48 +0100


### Added
* Add error operator

### Changed
* Reduce network inits by half when placing cables, Closes #1439

<a name="1.19.2-1.24.1"></a>
## [1.19.2-1.24.1](/compare/1.19.2-1.24.0...1.19.2-1.24.1) - 2024-12-06 15:57:57 +0100


### Fixed
* Fix cable placement with commands initializing networks
  This was broken since CyclopsMC/IntegratedTunnels#243

<a name="1.19.2-1.24.0"></a>
## [1.19.2-1.24.0](/compare/1.19.2-1.23.11...1.19.2-1.24.0) - 2024-12-06 15:55:09 +0100


### Added
* Add dedicated REI support, Closes CyclopsMC/IntegratedDynamics#1348
* Restore Refined Storage integration
* Restore Jade/Waila integration, Closes CyclopsMC/IntegratedDynamics#1413

<a name="1.19.2-1.23.11"></a>
## [1.19.2-1.23.11](/compare/1.19.2-1.23.10...1.19.2-1.23.11) - 2024-11-19 15:17:19 +0100


### Changed
* Drop Part Offsets into their original form, Closes #1418

### Fixed
* Fix creative batteries not providing energy, Closes #1421

<a name="1.19.2-1.23.10"></a>
## [1.19.2-1.23.10](/compare/1.19.2-1.23.9...1.19.2-1.23.10) - 2024-11-10 14:10:06 +0100


### Fixed
* Fix variables dependent on offset aspects not always updating, Closes #1416

<a name="1.19.2-1.23.9"></a>
## [1.19.2-1.23.9](/compare/1.19.2-1.23.8...1.19.2-1.23.9) - 2024-11-02 15:59:15 +0100


### Changed
* Optimize ingredient positions index lookups
  Closes CyclopsMC/IntegratedTunnels#307

### Fixed
* Fix Deepslate Dark Ore not being squeezable, Closes #1414

<a name="1.19.2-1.23.8"></a>
## [1.19.2-1.23.8](/compare/1.19.2-1.23.7...1.19.2-1.23.8) - 2024-10-30 18:31:17 +0100


### Fixed
* Fix crash with complex Integrated Scripting functions in writers

Functions returning an any type could be inserted into writers such as
Integrated Tunnels exporters, and type checking would incorrectly pass.
This could result in crashes where an incorrect value cast would occur.
This commit makes it so that ANY types will have an additional type
check based on the actual determined value.

Closes CyclopsMC/IntegratedScripting#20

<a name="1.19.2-1.23.7"></a>
## [1.19.2-1.23.7](/compare/1.19.2-1.23.6...1.19.2-1.23.7) - 2024-10-29 18:49:21 +0100


### Fixed
* Revert "Optimize ingredient positions index"
  This reverts commit 61b7372bda5cde123a2b320ac92c1c24d2dfb9b1.
  Closes CyclopsMC/IntegratedTerminals#134

<a name="1.19.2-1.23.6"></a>
## [1.19.2-1.23.6](/compare/1.19.2-1.23.5...1.19.2-1.23.6) - 2024-10-28 17:29:04 +0100


### Changed
* Optimize ingredient positions index
  This improves performance with Integrated Tunnels and Terminals.

<a name="1.19.2-1.23.5"></a>
## [1.19.2-1.23.5](/compare/1.19.2-1.23.4...1.19.2-1.23.5) - 2024-10-24 16:53:11 +0200


### Fixed
* Fix crash when invalidating invalid network elements
  This could occur when using AE2's Spatial IO.
  Closes #1410

<a name="1.19.2-1.23.4"></a>
## [1.19.2-1.23.4](/compare/1.19.2-1.23.3...1.19.2-1.23.4) - 2024-10-14 15:14:52 +0200


### Fixed
* Fix incorrect type checking in complex reduce operation, Closes #1387

<a name="1.19.2-1.23.3"></a>
## [1.19.2-1.23.3](/compare/1.19.2-1.23.2...1.19.2-1.23.3) - 2024-10-03 18:58:24 +0200


### Fixed
* Fix JEI ghosts items not working for lists in the LP, Closes CyclopsMC/IntegratedDynamics#1398
* Fix wrong sided part being shown in The One Probe, Closes #1401
* Fix round-robin misbehaving with filtered interfaces, Closes CyclopsMC/IntegratedTunnels#302

<a name="1.19.2-1.23.2"></a>
## [1.19.2-1.23.2](/compare/1.19.2-1.23.1...1.19.2-1.23.2) - 2024-09-02 18:03:23 +0200


### Fixed
* Delay Terrablender registration
  This fixes rare crashes when Terrablender was not yet fully initialized.
  CyclopsMC/IntegratedDynamics#1385
  Closes CyclopsMC/IntegratedDynamics#1388

<a name="1.19.2-1.23.1"></a>
## [1.19.2-1.23.1](/compare/1.19.2-1.23.0...1.19.2-1.23.1) - 2024-08-22 18:56:55 +0200


### Fixed
* Fix op_by_name crashing if ResourceLocation is invalid, Closes #1381
* Fix regex scan producing illegal lists for non-zero groups, Closes #1378

<a name="1.19.2-1.23.0"></a>
## [1.19.2-1.23.0](/compare/1.19.2-1.22.2...1.19.2-1.23.0) - 2024-07-31 15:14:30 +0200


### Added
* Add Terrablender compat for Meneglin biome

<a name="1.19.2-1.22.2"></a>
## [1.19.2-1.22.2](/compare/1.19.2-1.22.1...1.19.2-1.22.2) - 2024-07-21 11:35:23 +0200


### Fixed
* Interrupt speech before sending a new one to the narrator, Closes #1356

<a name="1.19.2-1.22.1"></a>
## [1.19.2-1.22.1](/compare/1.19.2-1.22.0...1.19.2-1.22.1) - 2024-06-24 10:16:41 +0200


### Changed
* Also copy label when copying variable cards, Closes #1354
* Allow Ingredient.with* operators to have empty ingredient inputs
* Allow entering items in logic programmer with larger stack sizes

### Fixed
* Fix default labeller textfield being modifiable, Closes #1352
* Fix apply_0 crashing on operators with input, Closes CyclopsMC/IntegratedScripting#11
* Fix incorrect comparator in PrioritizedPartPos

<a name="1.19.2-1.22.0"></a>
## [1.19.2-1.22.0](/compare/1.19.2-1.21.3...1.19.2-1.22.0) - 2024-04-28 10:00:19 +0200


### Added
* Allow checking if there are variable-based offsets in API
  Required for CyclopsMC/IntegratedTunnels#289

<a name="1.19.2-1.21.3"></a>
## [1.19.2-1.21.3](/compare/1.19.2-1.21.2...1.19.2-1.21.3) - 2024-04-14 14:02:05 +0200


### Changed
* Allow listening to EvaluationException resolutions
  Required for CyclopsMC/IntegratedScripting#5

### Fixed
* Fix crash for illegal item tag chars in recipe in LP, Closes CyclopsMC/IntegratedCrafting#103
* Fix Dank Storage item removal when placing cables, Closes #1332
* Fix facades being craftable for non-solid blocks, Closes #1334, #1342

<a name="1.19.2-1.21.2"></a>
## [1.19.2-1.21.2](/compare/1.19.2-1.21.1...1.19.2-1.21.2) - 2024-02-11 17:00:37 +0100


### Fixed
* Fix tps and ticktime aspects returning values different to Forge, Closes #1325

<a name="1.19.2-1.21.1"></a>
## [1.19.2-1.21.1](/compare/1.19.2-1.21.0...1.19.2-1.21.1) - 2024-02-07 19:14:35 +0100


### Fixed
* Fix part offsets sometimes being delayed by one aspect update, Closes #1320
* Fix errored offset variables not resetting after network reset, Closes #1321

<a name="1.19.2-1.21.0"></a>
## [1.19.2-1.21.0](/compare/1.19.2-1.20.3...1.19.2-1.21.0) - 2024-02-04 14:50:26 +0100


### Added
* Expose interact names for operators. This is required for Integrated Scripting.
* Add apply_0 operator
* Add apply_n operator

### Changed
* Add INetwork parameter to variable facade methods

### Fixed
* Fix duplicate variable invalidate listeners being registered
  This could leak to memory leaks for long-running multi-arg operators.

<a name="1.19.2-1.20.3"></a>
## [1.19.2-1.20.3](/compare/1.19.2-1.20.2...1.19.2-1.20.3) - 2023-12-27 17:21:07 +0100


### Fixed
* Fix hard crash on replace_regex with invalid group, Closes #1317

<a name="1.19.2-1.20.2"></a>
## [1.19.2-1.20.2](/compare/1.19.2-1.20.1...1.19.2-1.20.2) - 2023-12-04 11:05:31 +0100


### Fixed
* Fix predicate-based filtering interfaces causing ingredient loss
  Integrated Tunnels filtering interaces could lose items
  when using predicate-based filters.
  Closes CyclopsMC/IntegratedTunnels#282

<a name="1.19.2-1.20.1"></a>
## [1.19.2-1.20.1](/compare/1.19.2-1.20.0...1.19.2-1.20.1) - 2023-11-27 15:50:25 +0100


### Fixed
* Fix NBT.from_tag_list not working on Any lists, Closes #1315

<a name="1.19.2-1.20.0"></a>
## [1.19.2-1.20.0](/compare/1.19.2-1.19.1...1.19.2-1.20.0) - 2023-10-10 16:53:35 +0200


### Added
* Add initialChange flag to storage change events
  This is required to fix CyclopsMC/IntegratedCrafting#99

<a name="1.19.2-1.19.1"></a>
## [1.19.2-1.19.1](/compare/1.19.2-1.19.0...1.19.2-1.19.1) - 2023-09-24 11:39:38 +0200


### Fixed
* Fix held items vanishing after gui close, Closes #1308

<a name="1.19.2-1.19.0"></a>
## [1.19.2-1.19.0](/compare/1.19.2-1.18.0...1.19.2-1.19.0) - 2023-09-12 19:44:06 +0200


### Added
* Expose positions from channels
  This is required for CyclopsMC/IntegratedCrafting#98

### Fixed
* Fix predicate-based tunnels movement ignoring channels, Closes CyclopsMC/IntegratedTunnels#274
* Fix crash on special operator with ANY type, Closes #1301
* Fix Menril Tree replacing grass with dirt on stump place fail, Closes #1304

<a name="1.19.2-1.18.0"></a>
## [1.19.2-1.18.0](/compare/1.19.2-1.17.0...1.19.2-1.18.0) - 2023-08-27 11:34:00 +0200


### Added
* Expose getChannelSlotted in positioned addons network
  Required for CyclopsMC/IntegratedTunnels#271

### Fixed
* Fix rare crash when getting priority of moved network parts, Closes #1299
* Fix crash when getting name of variable with ANY type, Closes #1301
* Fix backspace not working in delayer GUI, Closes #1298

<a name="1.19.2-1.17.0"></a>
## [1.19.2-1.17.0](/compare/1.19.2-1.16.10...1.19.2-1.17.0) - 2023-08-05 13:32:22 +0200


### Added
* Add generic variants of increment, decrement, and modulus
  These were only usable for integers, but can now be used for all numbers.

### Fixed
* Fix wrong error message for invalid applied operators, Closes #1293

<a name="1.19.2-1.16.10"></a>
## [1.19.2-1.16.10](/compare/1.19.2-1.16.9...1.19.2-1.16.10) - 2023-07-31 14:59:47 +0200


### Fixed
* Fix invisible light crash in debug worlds, Closes #1287

<a name="1.19.2-1.16.9"></a>
## [1.19.2-1.16.9](/compare/1.19.2-1.16.8...1.19.2-1.16.9) - 2023-07-16 06:55:32 +0200


### Changed
* Give DOUBLE higher precedence than LONG for number operations, Closes #1284

<a name="1.19.2-1.16.8"></a>
## [1.19.2-1.16.8](/compare/1.19.2-1.16.7...1.19.2-1.16.8) - 2023-07-08 14:47:21 +0200


### Fixed
* Fix part comparator depending on state
  This could cause problems where chunks would be reloaded during unloading.
  This issue was introduced when part offsets were added.
  Closes #1257
* Fix inability to remove text from recipes in LP, Closes #1280
* Fix formatting error in operator cards tooltips, Closes #1281

<a name="1.19.2-1.16.7"></a>
## [1.19.2-1.16.7](/compare/1.19.2-1.16.6...1.19.2-1.16.7) - 2023-06-04 08:15:49 +0200


### Fixed
* Fix broken Dynamic Light Panels, Closes #1276
* Fix mechanical recipes incorrectly being validated
  This fixes Integrated Crafting crafters not working on them.
  Closes CyclopsMC/IntegratedDynamics#1275

<a name="1.19.2-1.16.6"></a>
## [1.19.2-1.16.6](/compare/1.19.2-1.16.5...1.19.2-1.16.6) - 2023-05-23 18:10:38 +0200


### Fixed
* Fix double-shadow text printing in LP
* Fix missing text colors in operator LP display
* Fix Logic Programmer interface for lists of complex types
  This makes it possible to makes lists of recipes, ingredients,
  and operators.
  Closes #641

<a name="1.19.2-1.16.5"></a>
## [1.19.2-1.16.5](/compare/1.19.2-1.16.4...1.19.2-1.16.5) - 2023-05-16 17:46:17 +0200


### Fixed
* Fix offset render delay when crouching
  Closes CyclopsMC/IntegratedTunnels#267

<a name="1.19.2-1.16.4"></a>
## [1.19.2-1.16.4](/compare/1.19.2-1.16.3...1.19.2-1.16.4) - 2023-04-16 15:57:46 +0200


### Changed
* Set default part offset render distance to 16
  This resolves performance issues due to too high render distances.
  Existing worlds will have to manually change their configs for this change to apply (partOffsetRenderDistance).
  Closes #1261

<a name="1.19.2-1.16.3"></a>
## [1.19.2-1.16.3](/compare/1.19.2-1.16.2...1.19.2-1.16.3) - 2023-04-13 17:05:27 +0200


### Fixed
* Fix part enhancements dropping for offset 0, Closes #1259

<a name="1.19.2-1.16.2"></a>
## [1.19.2-1.16.2](/compare/1.19.2-1.16.1...1.19.2-1.16.2) - 2023-03-19 08:02:54 +0100


### Fixed
* Fix delayer not propagating errors, Closes #1251
* Fix delay error message not being shown in gui, Related to #1251

<a name="1.19.2-1.16.1"></a>
## [1.19.2-1.16.1](/compare/1.19.2-1.16.0...1.19.2-1.16.1) - 2023-03-16 09:28:32 +0100


### Added
* Enable offsets in Redstone Writers

<a name="1.19.2-1.16.0"></a>
## [1.19.2-1.16.0](/compare/1.19.2-1.15.2...1.19.2-1.16.0) - 2023-03-15 07:30:36 +0100


### Added
* Add support for static and dynamic offsets
* Render offsets when holding wrench
* Add modes to wrench to set offset and side of parts
* Balance offsets using enhancement items

<a name="1.19.2-1.15.2"></a>
## [1.19.2-1.15.2](/compare/1.19.2-1.15.1...1.19.2-1.15.2) - 2023-03-05 11:43:15 +0100


### Changed
* Use collapsed ingredient storage by default
  Ingredient networks will now perform better for match-based lookups.
  Related to CyclopsMC/IntegratedDynamics#1247

<a name="1.19.2-1.15.1"></a>
## [1.19.2-1.15.1](/compare/1.19.2-1.15.0...1.19.2-1.15.1) - 2023-02-11 14:47:10 +0100


### Fixed
* Fix crash on filling recipes with JEI

<a name="1.19.2-1.15.0"></a>
## [1.19.2-1.15.0](/compare/1.19.2-1.14.7...1.19.2-1.15.0) - 2023-02-11 13:46:18 +0100


### Added
* Allow recipe ingredients to be marked as reusable
  Required for CyclopsMC/IntegratedCrafting#36

### Fixed
* Fix JEI recipe modification after modifying in LP
  Closes CyclopsMC/IntegratedCrafting#89

<a name="1.19.2-1.14.7"></a>
## [1.19.2-1.14.7](/compare/1.19.2-1.14.6...1.19.2-1.14.7) - 2023-01-21 07:23:29 +0100


### Fixed
* Fix JEI recipe modification after modifying in LP
  Closes CyclopsMC/IntegratedCrafting#89

<a name="1.19.2-1.14.6"></a>
## [1.19.2-1.14.6](/compare/1.19.2-1.14.5...1.19.2-1.14.6) - 2023-01-02 17:36:53 +0100


### Fixed
* Make invalid part containers not crash
  This makes the game not crash anymore when frame-like mods are used.
  Closes #1198

<a name="1.19.2-1.14.5"></a>
## [1.19.2-1.14.5](/compare/1.19.2-1.14.4...1.19.2-1.14.5) - 2022-12-30 10:02:36 +0100


### Fixed
* Fix backspace not updating label in Logic Programmer, Closes #1239

<a name="1.19.2-1.14.4"></a>
## [1.19.2-1.14.4](/compare/1.19.2-1.14.3...1.19.2-1.14.4) - 2022-12-16 11:14:35 +0100

As always, don't forget to backup your world before updating!
Requires CyclopsCore version 1.17.0 or higher.

### Fixed
* Fix corruption of mineable/pickaxe tag, Closes #1240


This is the same update as 1.14.3 to force CurseForge to update.

<a name="1.19.2-1.14.3"></a>
## [1.19.2-1.14.3](/compare/1.19.2-1.14.2...1.19.2-1.14.3) - 2022-12-12 19:54:12 +0100


### Fixed
* Fix corruption of mineable/pickaxe tag, Closes #1240

<a name="1.19.2-1.14.2"></a>
## [1.19.2-1.14.2](/compare/1.19.2-1.14.1...1.19.2-1.14.2) - 2022-12-11 13:51:22 +0100


### Changed
* Output 3 items when copying Omni-directional Connector, Closes #1238

### Fixed
* Fix some blocks being slow to break, Closes #1232
* Fix incorrect unlocalized fluid names, Closes CyclopsMC/EvilCraft#950

<a name="1.19.2-1.14.1"></a>
## [1.19.2-1.14.1](/compare/1.19.2-1.14.0...1.19.2-1.14.1) - 2022-11-27 15:55:59 +0100


### Fixed
* Fix crash when other mods shadow Netty

<a name="1.19.2-1.14.0"></a>
## [1.19.2-1.14.0](/compare/1.19.2-1.13.1...1.19.2-1.14.0) - 2022-11-27 15:26:53 +0100


### Added
* Add Network Diagnostics tool for server operators, Closes #863
  This restores the pre-1.15 diagnostics, but uses a Web browser to display it instead of the deprecated AWT libraries.

<a name="1.19.2-1.13.1"></a>
## [1.19.2-1.13.1](/compare/1.19.2-1.13.0...1.19.2-1.13.1) - 2022-11-11 14:19:57 +0100


### Changed
* Cache slot counts of ingredient networks for a tick
  This improves performance significantly for very large networks when they are being iterated over.
  Closes #1229
* Clarify meaning of consumption rate aspect, Closes #1216

<a name="1.19.2-1.13.0"></a>
## [1.19.2-1.13.0](/compare/1.19.2-1.12.0...1.19.2-1.13.0) - 2022-10-26 10:40:00 +0200


### Added
* Add intersection operator
* Add the forge:books tag to info book

<a name="1.19.2-1.12.0"></a>
## [1.19.2-1.12.0](/compare/1.19.2-1.11.11...1.19.2-1.12.0) - 2022-10-08 15:04:27 +0200


### Added
* Add compact operator, for shortening numbers on displays, Closes #1217

<a name="1.19.2-1.11.11"></a>
## [1.19.2-1.11.11](/compare/1.19.2-1.11.10...1.19.2-1.11.11) - 2022-09-17 12:19:33 +0200


### Fixed
* Fix omni-dir connector recipe not listed in infobook
* Fix machine reader crash on drying basin, Closes #1212
* Fix writer-based advancements for items triggering too soon, Closes CyclopsMC/IntegratedTunnels#258

<a name="1.19.2-1.11.10"></a>
## [1.19.2-1.11.10](/compare/1.19.2-1.11.9...1.19.2-1.11.10) - 2022-09-02 16:57:38 +0200


### Fixed
* Fix crash on invalid characters in recipe tags, Closes #1209

<a name="1.19.2-1.11.9"></a>
## [1.19.2-1.11.9](/compare/1.19.2-1.11.8...1.19.2-1.11.9) - 2022-08-29 17:51:23 +0200


### Changed
* Rename 'Crystalized' to 'Crystallized', Closes #1206

### Fixed
* Fix NBT reading of empty itemstacks
  This fixes read NBT data not updating after non-player item move.
  When things like hoppers drain items from inventories,
  the stack size is set to zero, but the NBT tag is still
  present on that item.
  Because of that, we should only allow NBT reading of non-empty items
  Closes #1208

<a name="1.19.2-1.11.8"></a>
## [1.19.2-1.11.8](/compare/1.19.2-1.11.7...1.19.2-1.11.8) - 2022-08-13 06:56:16 +0200


### Fixed
* Improve description of speachMaxFrequency property

<a name="1.19.2-1.11.7"></a>
## [1.19.2-1.11.7] - 2022-08-11 19:58:03 +0200


Update to MC 1.19.2

### Fixed
* Fix machine gui crash upon client desync on fluid data, Closes #1197
* Fix squeezers unable to handle deepslate coal ore, Closes #1199


================================================
FILE: CHANGELOG-1.20.1.md
================================================
# Changelog for Minecraft 1.20.1
All notable changes to this project will be documented in this file.

<a name="1.20.1-1.30.5"></a>
## [1.20.1-1.30.5](/compare/1.20.1-1.30.4...1.20.1-1.30.5) - 2026-04-28 19:37:09


### Fixed
* Fix incorrect position of channel disabled tooltip in Integrated Crafting

<a name="1.20.1-1.30.4"></a>
## [1.20.1-1.30.4](/compare/1.20.1-1.30.3...1.20.1-1.30.4) - 2026-04-18 15:29:21 +0200


### Changed
* Add BlockCable#getAppearance for connected textures on facades
  This adds basic support to facades on cables for mods that add connected texture support.

<a name="1.20.1-1.30.3"></a>
## [1.20.1-1.30.3](/compare/1.20.1-1.30.2...1.20.1-1.30.3) - 2026-04-11 19:53:57 +0200


### Changed
* Give Delayer its own energy consumption config separate from Proxy (#1641), Closes #1640

<a name="1.20.1-1.30.2"></a>
## [1.20.1-1.30.2](/compare/1.20.1-1.30.1...1.20.1-1.30.2) - 2026-03-28 09:55:51 +0100


### Added
* Add configurable energy production rate for coal generator (#1635), Closes #1634

### Fixed
* Fix Variable Store, Proxy, Materializer, and Static Light Panel not consuming energy (#1633), Closes #1632
* Fix energy battery texture overflow after NBT manipulation, Closes #1636 (#1637)

<a name="1.20.1-1.30.1"></a>
## [1.20.1-1.30.1](/compare/1.20.1-1.30.0...1.20.1-1.30.1) - 2026-03-20 20:03:22 +0100


### Fixed
* Fix Mono & Omni Directional connectors not consuming energy (#1631), Closes #1630

<a name="1.20.1-1.30.0"></a>
## [1.20.1-1.30.0](/compare/1.20.1-1.29.11...1.20.1-1.30.0) - 2026-02-17 10:58:20 +0100


### Added
* Document logical NBT expressions, CyclopsMC/CyclopsCore#210
* Add config options for minimum update intervals for parts, Closes CyclopsMC/IntegratedTunnels#349
* Add config option to log card IDs during evaluation, Closes #1345

<a name="1.20.1-1.29.11"></a>
## [1.20.1-1.29.11](/compare/1.20.1-1.29.10...1.20.1-1.29.11) - 2026-01-17 14:05:34 +0100


### Added
* Add generic number casting operators
  Closes CyclopsMC/IntegratedScripting#55
  These new operators make it more convenient to work with return types of
  Integrated Scripting, where numbers could be integers, doubles, or
  longs.

### Changed
* Add safety check for infinite lists in list equals and itemstack count
  Closes #1583
  Related to #1582

### Fixed
* Fix part states not being revalidated, Closes #1588
* Fix oldest/newest mixup on delayer history in book, Closes #1592
* Fix cable shape cache having cache collisions when there are two entries that have the same part on two different sides while having the same cable connections

<a name="1.20.1-1.29.10"></a>
## [1.20.1-1.29.10](/compare/1.20.1-1.29.9...1.20.1-1.29.10) - 2026-01-02 10:49:29 +0100


### Changed
* Add IIngredientChannelInsertPreConsumer
  Required for CyclopsMC/IntegratedCrafting#170

<a name="1.20.1-1.29.9"></a>
## [1.20.1-1.29.9](/compare/1.20.1-1.29.8...1.20.1-1.29.9) - 2025-12-31 14:34:39 +0100


### Changed
* Keep insertion order of network change observers
  Required for CyclopsMC/IntegratedCrafting#112

<a name="1.20.1-1.29.8"></a>
## [1.20.1-1.29.8](/compare/1.20.1-1.29.7...1.20.1-1.29.8) - 2025-12-28 09:17:57 +0100


### Fixed
* Add safety checks to disable some operators on infinite lists
  Concretely, contains, reduce, and uniq are disabled on infinite lists.
  Closes #1582

<a name="1.20.1-1.29.7"></a>
## [1.20.1-1.29.7](/compare/1.20.1-1.29.6...1.20.1-1.29.7) - 2025-12-23 09:16:36 +0100


### Added
* Add squeezer recipes for clearing facades

<a name="1.20.1-1.29.6"></a>
## [1.20.1-1.29.6](/compare/1.20.1-1.29.5...1.20.1-1.29.6) - 2025-11-25 16:58:55 +0100


### Fixed
* Restore network element chunk unloading again, Closes #1571

<a name="1.20.1-1.29.5"></a>
## [1.20.1-1.29.5](/compare/1.20.1-1.29.4...1.20.1-1.29.5) - 2025-11-24 16:57:21 +0100


### Fixed
* Temporarily disable chunk unload check again

It is causing issues with delayers after chunk reloaded.
Once a proper fix is available, this will be re-enabled.

Related to #1571

<a name="1.20.1-1.29.4"></a>
## [1.20.1-1.29.4](/compare/1.20.1-1.29.3...1.20.1-1.29.4) - 2025-11-22 11:26:51 +0100


### Fixed
* Restore network element chunk unloading
  This was temporarily disabled as it broke delayers and proxies on
  world/chunk reload, which this commit fixes.
  Closes #1571

<a name="1.20.1-1.29.3"></a>
## [1.20.1-1.29.3](/compare/1.20.1-1.29.2...1.20.1-1.29.3) - 2025-11-18 18:47:04 +0100


### Fixed
* Temporarily disable chunk unload check
  It is causing issues with delayers when worlds/chunks are reloaded.
  Once a proper fix is available, this will be re-enabled.
  Related to #1571

<a name="1.20.1-1.29.2"></a>
## [1.20.1-1.29.2](/compare/1.20.1-1.29.1...1.20.1-1.29.2) - 2025-11-18 05:32:15 +0100


### Fixed
* Fix read fluids not always updating in display panel, Closes #1570

<a name="1.20.1-1.29.1"></a>
## [1.20.1-1.29.1](/compare/1.20.1-1.29.0...1.20.1-1.29.1) - 2025-11-16 14:30:49 +0100


### Fixed
* Fix ticking network elements preventing chunk unloading, Closes #1567

<a name="1.20.1-1.29.0"></a>
## [1.20.1-1.29.0](/compare/1.20.1-1.28.1...1.20.1-1.29.0) - 2025-11-11 13:56:49 +0100


### Added
* Add fluid by name operator, Closes #1522

### Changed
* Ensure consistent order of ingredient types in LP, Closes #1539

### Fixed
* Fix transparent facades having incorrect alpha value, Closes #1563
* Fix lists materialization not applying to elements
  This could cause issues when displaying lists of items from inventory
  readers over Functional Storage Drawers.
  Closes #1557

<a name="1.20.1-1.28.1"></a>
## [1.20.1-1.28.1](/compare/1.20.1-1.28.0...1.20.1-1.28.1) - 2025-10-11 11:49:46 +0200


### Changed
* Improve offset gui error tooltip

### Fixed
* Fix memory leak when reloading offset variables, Closes #1549
* Handle overflows in fluid reader total aspects, Closes #1547

<a name="1.20.1-1.28.0"></a>
## [1.20.1-1.28.0](/compare/1.20.1-1.27.6...1.20.1-1.28.0) - 2025-10-07 07:36:20 +0200


### Added
* Add config option to disable cable collisions(#1538)

### Fixed
* Properly handle long overflows in channel quantities

Internal changes (required for Integrated Mekanism):
* Support regexes in operators_output appendix
* Abstract parts of recipe LP element
* Make CommandTest more extensible
* Make API less dependent on ModBase

<a name="1.20.1-1.27.6"></a>
## [1.20.1-1.27.6](/compare/1.20.1-1.27.5...1.20.1-1.27.6) - 2025-07-18 20:36:55 +0200


### Fixed
* Fix crash on load operator variable in LP, Closes #1537

<a name="1.20.1-1.27.5"></a>
## [1.20.1-1.27.5](/compare/1.20.1-1.27.4...1.20.1-1.27.5) - 2025-07-05 06:55:13 +0200


### Fixed
* Fix LP crash when loading with empty category card, Closes #1527

<a name="1.20.1-1.27.4"></a>
## [1.20.1-1.27.4](/compare/1.20.1-1.27.3...1.20.1-1.27.4) - 2025-06-21 13:22:30 +0200


### Changed
* Return item to player instead of dropping on Labeler exit, Closes #1526

### Fixed
* Fix fluidstack operator crash on empty items, Closes #1525

<a name="1.20.1-1.27.3"></a>
## [1.20.1-1.27.3](/compare/1.20.1-1.27.2...1.20.1-1.27.3) - 2025-06-12 16:36:45 +0200


### Fixed
* Fix cables not being breakable with wrench, Closes #1523

<a name="1.20.1-1.27.2"></a>
## [1.20.1-1.27.2](/compare/1.20.1-1.27.1...1.20.1-1.27.2) - 2025-06-07 18:02:35 +0200


### Changed
* Only switch Wrench mode when aiming at air
  Closes #1518
  Closes #1390

### Fixed
* Fix overlapping tooltips in LP write slot, Closes #1519

<a name="1.20.1-1.27.1"></a>
## [1.20.1-1.27.1](/compare/1.20.1-1.27.0...1.20.1-1.27.1) - 2025-05-31 20:28:21 +0200


### Fixed
* Fix missing variable by id aspect texture

<a name="1.20.1-1.27.0"></a>
## [1.20.1-1.27.0](/compare/1.20.1-1.26.1...1.20.1-1.27.0) - 2025-05-31 19:50:43 +0200


### Added
* Allow editing existing variables in Logic Programmer, Closes #357
* Add Variable Value By ID operator aspect to network reader, Closes #1346
* Add button to reset selected LP element

### Changed
* Don't drop item in world when closing LP
* Improve LP element arrow

### Fixed
* Fix operator text field in LP sometimes being red

<a name="1.20.1-1.26.1"></a>
## [1.20.1-1.26.1](/compare/1.20.1-1.26.0...1.20.1-1.26.1) - 2025-05-20 17:30:17 +0200


### Fixed
* Fix search hotkey also typing in hotkey in search box
  Closes CyclopsMC/IntegratedTerminals#168

<a name="1.20.1-1.26.0"></a>
## [1.20.1-1.26.0](/compare/1.20.1-1.25.6...1.20.1-1.26.0) - 2025-05-03 15:44:41 +0200


### Added
* Add list set and multiset equality operators, Closes #1347
* Add Fluid with tag operator, Closes #797
* Add block and fluid tag operators, Closes #1394
* Add Sqrt and Pow operators, Closes #1372
* Add lectern and bookshelf support for infobook, Closes #1496

### Fixed
* Fix non-fluid items being insertable into LP, Closes #1507

<a name="1.20.1-1.25.6"></a>
## [1.20.1-1.25.6](/compare/1.20.1-1.25.5...1.20.1-1.25.6) - 2025-03-22 15:13:34 +0100


### Fixed
* Fix NBT from int list not working for any lists
  Closes CyclopsMC/IntegratedScripting#37
* Fix typos in manual
* Fixed number typo
* Fixed variable description
* Fixed typo in reader introduction

<a name="1.20.1-1.25.5"></a>
## [1.20.1-1.25.5](/compare/1.20.1-1.25.4...1.20.1-1.25.5) - 2025-03-10 06:57:43 +0100


### Changed
* Avoid repeated log spam for forcefully unloaded parts, Closes #1481

<a name="1.20.1-1.25.4"></a>
## [1.20.1-1.25.4](/compare/1.20.1-1.25.3...1.20.1-1.25.4) - 2025-03-01 07:06:30 +0100


### Changed
* Improve performance of block changes to very large networks
  Pathfinder is ~70x faster, also improved tick speed with lots of devices (17 ms to 3 ms in test scene)

### Fixed
* Fix duplication of offset enchancements when breaking cable, Closes #1480
* Fix passive interaction changes not immediately applying on change
  It used to only take effect after re-inserting a variable card.
  Closes CyclopsMC/IntegratedDynamics#1470

<a name="1.20.1-1.25.3"></a>
## [1.20.1-1.25.3](/compare/1.20.1-1.25.2...1.20.1-1.25.3) - 2025-02-22 17:04:39 +0100


### Fixed
* Fix GUIs remaining open after external breakage, Closes #1472
* Fix rare tooltip crash for item-based variable cards, Closes #1477

<a name="1.20.1-1.25.2"></a>
## [1.20.1-1.25.2](/compare/1.20.1-1.25.1...1.20.1-1.25.2) - 2025-02-08 15:59:04 +0100


### Fixed
* Fix LP recipe slot properties not displaying tag tooltip items

<a name="1.20.1-1.25.1"></a>
## [1.20.1-1.25.1](/compare/1.20.1-1.25.0...1.20.1-1.25.1) - 2025-02-03 16:59:28 +0100


### Added
* Add Item with tag operation

### Fixed
* Fix REI recipe transfer to LP not working for fluids
* Fix LP recipe transfer including chance-based outputs
  Non-1000utputs could cause issues for autocrafting.
  This is fixed for both JEI and REI.
  Closes CyclopsMC/IntegratedCrafting#127
* Fix tag-based JEI recipe transfer ignoring stack sizes
  Closes CyclopsMC/IntegratedCrafting#128
* Fix placing part before cable not properly connecting cables
  Closes CyclopsMC/IntegratedTunnels#321

<a name="1.20.1-1.25.0"></a>
## [1.20.1-1.25.0](/compare/1.20.1-1.24.3...1.20.1-1.25.0) - 2025-01-08 17:34:03 +0100


### Added
* Add item tooltip operators

<a name="1.20.1-1.24.3"></a>
## [1.20.1-1.24.3](/compare/1.20.1-1.24.2...1.20.1-1.24.3) - 2024-12-28 13:57:28 +0100


### Added
* Add lossy recipe to clear a facade in a crafting grid, Closes #1424

### Fixed
* Fix client-server desync when applying part offsets, Closes #1448
* Fix offset items only being applicable to 28 instead of 32, #1448

<a name="1.20.1-1.24.2"></a>
## [1.20.1-1.24.2](/compare/1.20.1-1.24.1...1.20.1-1.24.2) - 2024-12-24 09:53:13 +0100


### Fixed
* Reduce number of network events during init to improve performance, #1439
  Modifying very large networks is a lot faster now.

<a name="1.20.1-1.24.1"></a>
## [1.20.1-1.24.1](/compare/1.20.1-1.24.0...1.20.1-1.24.1) - 2024-12-17 11:10:55 +0100


### Added
* Add error operator

### Changed
* Reduce network inits by half when placing cables, Closes #1439

<a name="1.20.1-1.24.0"></a>
## [1.20.1-1.24.0](/compare/1.20.1-1.23.13...1.20.1-1.24.0) - 2024-12-06 16:00:24 +0100


### Added
* Add dedicated REI support, Closes CyclopsMC/IntegratedDynamics#1348
* Restore Refined Storage integration
* Restore Jade/Waila integration, Closes CyclopsMC/IntegratedDynamics#1413

### Fixed
* Fix cable placement with commands initializing networks
  This was broken since CyclopsMC/IntegratedTunnels#243

<a name="1.20.1-1.23.13"></a>
## [1.20.1-1.23.13](/compare/1.20.1-1.23.12...1.20.1-1.23.13) - 2024-11-19 15:17:34 +0100


### Changed
* Drop Part Offsets into their original form, Closes #1418

### Fixed
* Fix creative batteries not providing energy, Closes #1421

<a name="1.20.1-1.23.12"></a>
## [1.20.1-1.23.12](/compare/1.20.1-1.23.11...1.20.1-1.23.12) - 2024-11-10 14:12:22 +0100


### Fixed
* Fix variables dependent on offset aspects not always updating, Closes #1416

<a name="1.20.1-1.23.11"></a>
## [1.20.1-1.23.11](/compare/1.20.1-1.23.10...1.20.1-1.23.11) - 2024-11-02 16:01:17 +0100


### Changed
* Optimize ingredient positions index lookups
  Closes CyclopsMC/IntegratedTunnels#307

### Fixed
* Fix Deepslate Dark Ore not being squeezable, Closes #1414

<a name="1.20.1-1.23.10"></a>
## [1.20.1-1.23.10](/compare/1.20.1-1.23.9...1.20.1-1.23.10) - 2024-10-30 18:33:31 +0100


### Fixed
* Fix crash with complex Integrated Scripting functions in writers

Functions returning an any type could be inserted into writers such as
Integrated Tunnels exporters, and type checking would incorrectly pass.
This could result in crashes where an incorrect value cast would occur.
This commit makes it so that ANY types will have an additional type
check based on the actual determined value.

Closes CyclopsMC/IntegratedScripting#20

<a name="1.20.1-1.23.9"></a>
## [1.20.1-1.23.9](/compare/1.20.1-1.23.8...1.20.1-1.23.9) - 2024-10-30 17:03:11 +0100


### Fixed
* Revert "Optimize ingredient positions index"
  This reverts commit 8f53b7eb53302e5028d1b4414caf288d26eb73ee.
  Closes CyclopsMC/IntegratedTerminals#134

<a name="1.20.1-1.23.8"></a>
## [1.20.1-1.23.8](/compare/1.20.1-1.23.7...1.20.1-1.23.8) - 2024-10-29 18:50:32 +0100


### Fixed
* Revert "Optimize ingredient positions index"
  This reverts commit 61b7372bda5cde123a2b320ac92c1c24d2dfb9b1.
  Closes CyclopsMC/IntegratedTerminals#134
* Fix crash when invalidating invalid network elements
  This could occur when using AE2's Spatial IO.
  Closes #1410

<a name="1.20.1-1.23.7"></a>
## [1.20.1-1.23.7](/compare/1.20.1-1.23.6...1.20.1-1.23.7) - 2024-10-28 17:30:11 +0100


### Changed
* Optimize ingredient positions index
  This improves performance with Integrated Tunnels and Terminals.

<a name="1.20.1-1.23.6"></a>
## [1.20.1-1.23.6](/compare/1.20.1-1.23.5...1.20.1-1.23.6) - 2024-10-24 16:52:56 +0200


### Fixed
* Fix crash when invalidating invalid network elements
  This could occur when using AE2's Spatial IO.
  Closes #1410

<a name="1.20.1-1.23.5"></a>
## [1.20.1-1.23.5](/compare/1.20.1-1.23.4...1.20.1-1.23.5) - 2024-10-14 15:17:30 +0200


### Fixed
* Fix broken biome aspect in block reader, Closes #1403
* Fix incorrect type checking in complex reduce operation, Closes #1387

<a name="1.20.1-1.23.4"></a>
## [1.20.1-1.23.4](/compare/1.20.1-1.23.3...1.20.1-1.23.4) - 2024-10-03 19:06:24 +0200


### Fixed
* Fix JEI ghosts items not working for lists in the LP, Closes CyclopsMC/IntegratedDynamics#1398
* Fix wrong sided part being shown in The One Probe, Closes #1401
* Fix round-robin misbehaving with filtered interfaces, Closes CyclopsMC/IntegratedTunnels#302

<a name="1.20.1-1.23.3"></a>
## [1.20.1-1.23.3](/compare/1.20.1-1.23.2...1.20.1-1.23.3) - 2024-09-02 18:03:34 +0200


### Fixed
* Delay Terrablender registration
  This fixes rare crashes when Terrablender was not yet fully initialized.
  CyclopsMC/IntegratedDynamics#1385
  Closes CyclopsMC/IntegratedDynamics#1388

<a name="1.20.1-1.23.2"></a>
## [1.20.1-1.23.2](/compare/1.20.1-1.23.1...1.20.1-1.23.2) - 2024-08-22 18:58:35 +0200


### Fixed
* Fix op_by_name crashing if ResourceLocation is invalid, Closes #1381
* Fix regex scan producing illegal lists for non-zero groups, Closes #1378

<a name="1.20.1-1.23.1"></a>
## [1.20.1-1.23.1](/compare/1.20.1-1.23.0...1.20.1-1.23.1) - 2024-08-01 08:12:14 +0200


### Fixed
* Fixed Feature Order Cycle (FOC)

<a name="1.20.1-1.23.0"></a>
## [1.20.1-1.23.0](/compare/1.20.1-1.22.2...1.20.1-1.23.0) - 2024-07-31 15:15:43 +0200


### Added
* Add Terrablender compat for Meneglin biome

### Fixed
* Fix menril trees not spawning in menril biome

<a name="1.20.1-1.22.2"></a>
## [1.20.1-1.22.2](/compare/1.20.1-1.22.1...1.20.1-1.22.2) - 2024-07-21 11:39:18 +0200


### Fixed
* Interrupt speech before sending a new one to the narrator, Closes #1356

<a name="1.20.1-1.22.1"></a>
## [1.20.1-1.22.1](/compare/1.20.1-1.22.0...1.20.1-1.22.1) - 2024-06-24 10:19:59 +0200


### Changed
* Also copy label when copying variable cards, Closes #1354
* Allow Ingredient.with* operators to have empty ingredient inputs
* Allow entering items in logic programmer with larger stack sizes

### Fixed
* Fix default labeller textfield being modifiable, Closes #1352
* Fix apply_0 crashing on operators with input, Closes CyclopsMC/IntegratedScripting#11
* Fix incorrect comparator in PrioritizedPartPos

<a name="1.20.1-1.22.0"></a>
## [1.20.1-1.22.0](/compare/1.20.1-1.21.3...1.20.1-1.22.0) - 2024-04-28 10:05:59 +0200


### Added
* Allow checking if there are variable-based offsets in API
  Required for CyclopsMC/IntegratedTunnels#289

<a name="1.20.1-1.21.3"></a>
## [1.20.1-1.21.3](/compare/1.20.1-1.21.2...1.20.1-1.21.3) - 2024-04-14 14:05:13 +0200


### Changed
* Allow listening to EvaluationException resolutions, Required for CyclopsMC/IntegratedScripting#5

### Fixed
* Fix crash for illegal item tag chars in recipe in LP, Closes CyclopsMC/IntegratedCrafting#103
* Fix wrong ingredient slot positions in LP, Closes #1336
* Fix Dank Storage item removal when placing cables, Closes #1332
* Fix facades being craftable for non-solid blocks, Closes #1334, #1342

<a name="1.20.1-1.21.2"></a>
## [1.20.1-1.21.2](/compare/1.20.1-1.21.1...1.20.1-1.21.2) - 2024-02-11 17:02:17 +0100


### Fixed
* Fix tps and ticktime aspects returning values different to Forge, Closes #1325

<a name="1.20.1-1.21.1"></a>
## [1.20.1-1.21.1](/compare/1.20.1-1.21.0...1.20.1-1.21.1) - 2024-02-07 19:16:36 +0100


### Fixed
* Fix part offsets sometimes being delayed by one aspect update, Closes #1320
* Fix errored offset variables not resetting after network reset, Closes #1321
* Fix facade not being placeable on readers, Closes #1324

<a name="1.20.1-1.21.0"></a>
## [1.20.1-1.21.0](/compare/1.20.1-1.20.4...1.20.1-1.21.0) - 2024-02-04 16:05:09 +0100


### Added
* Expose interact names for operators
  This is required for Integrated Scripting
* Add apply_0 operator
* Add apply_n operator

### Changed
* Add INetwork parameter to variable facade methods

### Fixed
* Fix duplicate variable invalidate listeners being registered
  This could leak to memory leaks for long-running multi-arg operators.

<a name="1.20.1-1.20.4"></a>
## [1.20.1-1.20.4](/compare/1.20.1-1.20.3...1.20.1-1.20.4) - 2023-12-27 17:23:47 +0100


### Fixed
* Fix hard crash on replace_regex with invalid group, Closes #1317

<a name="1.20.1-1.20.3"></a>
## [1.20.1-1.20.3](/compare/1.20.1-1.20.2...1.20.1-1.20.3) - 2023-12-04 11:06:21 +0100


### Fixed
* Fix predicate-based filtering interfaces causing ingredient loss
  Integrated Tunnels filtering interaces could lose items
  when using predicate-based filters.
  Closes CyclopsMC/IntegratedTunnels#282

<a name="1.20.1-1.20.2"></a>
## [1.20.1-1.20.2](/compare/1.20.1-1.20.1...1.20.1-1.20.2) - 2023-11-27 15:52:59 +0100


### Fixed
* Fix NBT.from_tag_list not working on Any lists, Closes #1315

<a name="1.20.1-1.20.1"></a>
## [1.20.1-1.20.1](/compare/1.20.1-1.20.0...1.20.1-1.20.1) - 2023-11-02 15:31:03 +0100


### Fixed
* Fix inputs of JEI recipes not being recognized
  Closes CyclopsMC/IntegratedDynamics#1312

<a name="1.20.1-1.20.0"></a>
## [1.20.1-1.20.0](/compare/1.20.1-1.19.1...1.20.1-1.20.0) - 2023-10-10 16:55:56 +0200


### Added
* Add initialChange flag to storage change events
  This is required to fix CyclopsMC/IntegratedCrafting#99

<a name="1.20.1-1.19.1"></a>
## [1.20.1-1.19.1](/compare/1.20.1-1.19.0...1.20.1-1.19.1) - 2023-09-24 11:42:53 +0200


### Fixed
* Fix held items vanishing after gui close, Closes #1308

<a name="1.20.1-1.19.0"></a>
## [1.20.1-1.19.0](/compare/1.20.1-1.18.0...1.20.1-1.19.0) - 2023-09-12 19:51:13 +0200


### Added
* Expose positions from channels
  This is required for CyclopsMC/IntegratedCrafting#98

### Fixed
* Fix predicate-based tunnels movement ignoring channels, Closes CyclopsMC/IntegratedTunnels#274
* Fix crash on special operator with ANY type, Closes #1301
* Fix Menril Tree replacing grass with dirt on stump place fail, Closes #1304

<a name="1.20.1-1.18.0"></a>
## [1.20.1-1.18.0](/compare/1.20.1-1.17.0...1.20.1-1.18.0) - 2023-08-27 11:42:39 +0200


### Added
* Expose getChannelSlotted in positioned addons network
  Required for CyclopsMC/IntegratedTunnels#271

### Fixed
* Fix rare crash when getting priority of moved network parts, Closes #1299
* Fix crash when getting name of variable with ANY type, Closes #1301
* Fix labeling text overlap in LP, Closes #1297
* Fix backspace not working in delayer GUI, Closes #1298
* Fix rare crash when loading positioned storages on high server load, Closes #1302

<a name="1.20.1-1.17.0"></a>
## [1.20.1-1.17.0](/compare/1.20.1-1.16.10...1.20.1-1.17.0) - 2023-08-05 13:34:49 +0200


### Added
* Add generic variants of increment, decrement, and modulus
  These were only usable for integers, but can now be used for all numbers.

### Fixed
* Fix wrong error message for invalid applied operators, Closes #1293

<a name="1.20.1-1.16.10"></a>
## [1.20.1-1.16.10](/compare/1.20.1-1.16.9...1.20.1-1.16.10) - 2023-07-31 15:02:03 +0200


### Fixed
* Fix some logic programmer inputs being rendered incorrectly, Closes #1289
* Fix invisible light crash in debug worlds, Closes #1287

<a name="1.20.1-1.16.9"></a>
## [1.20.1-1.16.9](/compare/1.20.1-1.16.8...1.20.1-1.16.9) - 2023-07-16 06:57:51 +0200


### Changed
* Give DOUBLE higher precedence than LONG for number operations, Closes #1284

<a name="1.20.1-1.16.8"></a>
## [1.20.1-1.16.8](/compare/1.20.1-1.16.7...1.20.1-1.16.8) - 2023-07-08 14:49:12 +0200


### Fixed
* Fix random crash when placing squeezer, Closes #1282
* Fix part comparator depending on state
  This could cause problems where chunks would be reloaded during unloading.
  This issue was introduced when part offsets were added.
  Closes #1257
* Fix focus between LP elements not being swapped correctly
* Fix inability to remove text from recipes in LP, Closes #1280
* Fix formatting error in operator cards tooltips, Closes #1281

<a name="1.20.1-1.16.7"></a>
## [1.20.1-1.16.7] - 2023-07-02 08:11:10 +0200


Initial 1.20.1 release


================================================
FILE: CHANGELOG-1.21.1.md
================================================
# Changelog for Minecraft 1.21.1
All notable changes to this project will be documented in this file.

<a name="1.21.1-1.32.6"></a>
## [1.21.1-1.32.6](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.32.5...1.21.1-1.32.6) - 2026-04-28 19:39:17


### Fixed
* Fix incorrect position of channel disabled tooltip in Integrated Crafting

<a name="1.21.1-1.32.5"></a>
## [1.21.1-1.32.5](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.32.4...1.21.1-1.32.5) - 2026-04-18 15:33:04 +0200


### Changed
* Add BlockCable#getAppearance for connected textures on facades
  This adds basic support to facades on cables for mods that add connected texture support.

<a name="1.21.1-1.32.4"></a>
## [1.21.1-1.32.4](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.32.3...1.21.1-1.32.4) - 2026-04-11 19:55:58 +0200


### Changed
* Give Delayer its own energy consumption config separate from Proxy (#1641), Closes #1640

### Fixed
* Fix constant list Variable Card deserialization failure after world reload (#1639), Closes #1639

<a name="1.21.1-1.32.3"></a>
## [1.21.1-1.32.3](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.32.2...1.21.1-1.32.3) - 2026-03-28 10:18:26 +0100


### Added
* Add configurable energy production rate for coal generator (#1635), Closes #1634

### Fixed
* Fix Variable Store, Proxy, Materializer, and Static Light Panel not consuming energy (#1633), Closes #1632
* Fix energy battery texture overflow after NBT manipulation, Closes #1636 (#1637)

<a name="1.21.1-1.32.2"></a>
## [1.21.1-1.32.2](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.32.1...1.21.1-1.32.2) - 2026-03-20 20:04:50 +0100


### Fixed
* Fix Mono & Omni Directional connectors not consuming energy (#1631), Closes #1630

<a name="1.21.1-1.32.1"></a>
## [1.21.1-1.32.1](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.32.0...1.21.1-1.32.1) - 2026-03-09 16:15:13 +0100


### Fixed
* Fix ClassCastException in BlockCable when sapling grows nearby (#1623), Closes #1622
* Fix tool_for_obsidian advancement triggering too often (#1620), Related to #1606
* Fix VariablePredicate skipping getValue() when no value predicate is set (#1619)
  Required for fixing game tests in CyclopsMC/IntegratedTunnels#354
* Add game tests for all advancement criteria and fix broken advancements (#1617)

<a name="1.21.1-1.32.0"></a>
## [1.21.1-1.32.0](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.31.0...1.21.1-1.32.0) - 2026-02-22 14:09:45 +0100


### Added
* Add config option to force unloaded network elements to tick, Related to #1605, #1571, #1567
* Add command for generating synthetic networks
* Add command to measure network tick time

### Fixed
* Fix parts sometimes becoming invalid, Closes #1605

<a name="1.21.1-1.31.0"></a>
## [1.21.1-1.31.0](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.30.5...1.21.1-1.31.0) - 2026-02-17 10:58:49 +0100


### Added
* Add configurable pulse length property to Redstone Writer, Closes #724 (#1602)
* Document logical NBT expressions, CyclopsMC/CyclopsCore#210
* Add config options for minimum update intervals for parts, Closes CyclopsMC/IntegratedTunnels#349
* Add config option to log card IDs during evaluation, Closes #1345
* Add translations through Crowdin (#1598)

<a name="1.21.1-1.30.5"></a>
## [1.21.1-1.30.5](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.30.4...1.21.1-1.30.5) - 2026-01-24 15:18:33 +0100


### Added
* Add translations through Crowdin

### Fixed
* Fix missing capability invalidation on modified parts, #1594

<a name="1.21.1-1.30.4"></a>
## [1.21.1-1.30.4](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.30.3...1.21.1-1.30.4) - 2026-01-17 14:10:56 +0100


### Added
* Add Almost Unified integration
* Add generic number casting operators
  Closes CyclopsMC/IntegratedScripting#55
  These new operators make it more convenient to work with return types of
  Integrated Scripting, where numbers could be integers, doubles, or
  longs.

### Changed
* Add safety check for infinite lists in list equals and itemstack count
  Closes #1583
  Related to #1582

### Fixed
* Fix part states not being revalidated, Closes #1588
* Fix oldest/newest mixup on delayer history in book, Closes #1592
* Fix cable shape cache having cache collisions when there are two entries that have the same part on two different sides while having the same cable connections

<a name="1.21.1-1.30.3"></a>
## [1.21.1-1.30.3](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.30.2...1.21.1-1.30.3) - 2026-01-02 10:52:15 +0100


### Added
* Add translations through Crowdin (#1581)

### Changed
* Add IIngredientChannelInsertPreConsumer
  Required for CyclopsMC/IntegratedCrafting#170

<a name="1.21.1-1.30.2"></a>
## [1.21.1-1.30.2](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.30.1...1.21.1-1.30.2) - 2025-12-31 14:35:18 +0100


### Changed
* Keep insertion order of network change observers
  Required for CyclopsMC/IntegratedCrafting#112

<a name="1.21.1-1.30.1"></a>
## [1.21.1-1.30.1](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.30.0...1.21.1-1.30.1) - 2025-12-28 09:18:50 +0100


### Fixed
* Add safety checks to disable some operators on infinite lists
  Concretely, contains, reduce, and uniq are disabled on infinite lists.
  Closes #1582
* Fix documentation on NBT Path field selector array indexing (#1580)
  Closes #1579

<a name="1.21.1-1.30.0"></a>
## [1.21.1-1.30.0](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.29.7...1.21.1-1.30.0) - 2025-12-23 09:44:17 +0100


### Added
* Add squeezer recipes for clearing facades

<a name="1.21.1-1.29.7"></a>
## [1.21.1-1.29.7](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.29.6...1.21.1-1.29.7) - 2025-12-19 20:04:37 +0100


### Fixed
* Catch exceptions when deserializing invalid recipes

This could occur in Integrated Crafting after removing a mod for which a
recipe was stored.

Closes CyclopsMC/CommonCapabilities#46

<a name="1.21.1-1.29.6"></a>
## [1.21.1-1.29.6](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.29.5...1.21.1-1.29.6) - 2025-11-25 17:01:08 +0100


### Fixed
* Restore network element chunk unloading again, Closes #1571

<a name="1.21.1-1.29.5"></a>
## [1.21.1-1.29.5](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.29.4...1.21.1-1.29.5) - 2025-11-24 16:59:00 +0100


### Fixed
* Temporarily disable chunk unload check again

It is causing issues with delayers after chunk reloaded.
Once a proper fix is available, this will be re-enabled.

Related to #1571

<a name="1.21.1-1.29.4"></a>
## [1.21.1-1.29.4](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.29.3...1.21.1-1.29.4) - 2025-11-22 11:29:48 +0100


### Fixed
* Restore network element chunk unloading
  This was temporarily disabled as it broke delayers and proxies on
  world/chunk reload, which this commit fixes.
  Closes #1571

<a name="1.21.1-1.29.3"></a>
## [1.21.1-1.29.3](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.29.2...1.21.1-1.29.3) - 2025-11-18 18:47:28 +0100


### Fixed
* Temporarily disable chunk unload check
  It is causing issues with delayers when worlds/chunks are reloaded.
  Once a proper fix is available, this will be re-enabled.
  Related to #1571

<a name="1.21.1-1.29.2"></a>
## [1.21.1-1.29.2](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.29.1...1.21.1-1.29.2) - 2025-11-18 05:33:01 +0100


### Added
* Add translations through Crowdin (#1568)

### Fixed
* Fix read fluids not always updating in display panel, Closes #1570

<a name="1.21.1-1.29.1"></a>
## [1.21.1-1.29.1](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.29.0...1.21.1-1.29.1) - 2025-11-16 14:33:41 +0100


### Added
* Add translations through Crowdin (#1566)

### Fixed
* Fix ticking network elements preventing chunk unloading, Closes #1567

<a name="1.21.1-1.29.0"></a>
## [1.21.1-1.29.0](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.28.1...1.21.1-1.29.0) - 2025-11-11 14:11:35 +0100


### Added
* Add translations through Crowdin (#1554)
* Add fluid by name operator, Closes #1522

### Changed
* Ensure consistent order of ingredient types in LP, Closes #1539

### Fixed
* Fix Grass Block Facades not having biome tints, Closes #1564
* Fix transparent facades having incorrect alpha value, Closes #1563
* Fix incorrect item (de)serialization when count is > 99, Closes #1558
* Fix lists materialization not applying to elements
  This could cause issues when displaying lists of items from inventory
  readers over Functional Storage Drawers.
  Closes #1557

<a name="1.21.1-1.28.1"></a>
## [1.21.1-1.28.1](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.28.0...1.21.1-1.28.1) - 2025-10-11 11:39:17 +0200


### Changed
* Improve offset gui error tooltip

### Fixed
* Fix memory leak when reloading offset variables, Closes #1549
* Handle overflows in fluid reader total aspects, Closes #1547

<a name="1.21.1-1.28.0"></a>
## [1.21.1-1.28.0](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.27.9...1.21.1-1.28.0) - 2025-10-07 07:47:47 +0200


### Added
* Add Squeezer recipes for Wind Charges
* Add config option to disable cable collisions(#1538)

### Fixed
* Properly handle long overflows in channel quantities

Internal changes: (required for Integrated Mekanism)
* Support regexes in operators_output appendix
* Abstract parts of recipe LP element
* Make CommandTest more extensible
* Make API less dependent on ModBase

<a name="1.21.1-1.27.9"></a>
## [1.21.1-1.27.9](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.27.8...1.21.1-1.27.9) - 2025-08-08 21:39:51 +0200


### Fixed
* Fix block capabilities without block entity not being fetched
  Related to CyclopsMC/IntegratedTunnels#346

<a name="1.21.1-1.27.8"></a>
## [1.21.1-1.27.8](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.27.7...1.21.1-1.27.8) - 2025-07-29 17:58:36 +0200


### Added
* Add translations through Crowdin (#1533)

### Fixed
* Fix display panel being dark when on facade and under block, Closes #1531

<a name="1.21.1-1.27.7"></a>
## [1.21.1-1.27.7](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.27.6...1.21.1-1.27.7) - 2025-07-18 20:37:39 +0200


### Changed
* Add PT_BR localization (#1535)

### Fixed
* Fix crash on load operator variable in LP, Closes #1537

<a name="1.21.1-1.27.6"></a>
## [1.21.1-1.27.6](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.27.5...1.21.1-1.27.6) - 2025-07-05 06:55:50 +0200


### Added
* Add translations through Crowdin (#1528)

### Fixed
* Fix LP crash when loading with empty category card, Closes #1527

<a name="1.21.1-1.27.5"></a>
## [1.21.1-1.27.5](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.27.4...1.21.1-1.27.5) - 2025-06-21 13:28:17 +0200


### Changed
* Return item to player instead of dropping on Labeler exit, Closes #1526

### Fixed
* Fix fluidstack operator crash on empty items, Closes #1525

<a name="1.21.1-1.27.4"></a>
## [1.21.1-1.27.4](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.27.3...1.21.1-1.27.4) - 2025-06-12 16:38:10 +0200


### Added
* Add translations through Crowdin (#1517)

### Fixed
* Fix cables not being breakable with wrench, Closes #1523

<a name="1.21.1-1.27.3"></a>
## [1.21.1-1.27.3](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.27.2...1.21.1-1.27.3) - 2025-06-07 18:05:36 +0200


### Changed
* Only switch Wrench mode when aiming at air
  Closes #1518
  Closes #1390

### Fixed
* Fix overlapping tooltips in LP write slot, Closes #1519
* Fix typos in language file

<a name="1.21.1-1.27.2"></a>
## [1.21.1-1.27.2](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.27.1...1.21.1-1.27.2) - 2025-05-31 21:32:50 +0200


### Fixed
* Reorder events to fix addon mod icons not loading

<a name="1.21.1-1.27.1"></a>
## [1.21.1-1.27.1](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.27.0...1.21.1-1.27.1) - 2025-05-31 20:29:24 +0200


### Fixed
* Fix missing variable by id aspect texture

<a name="1.21.1-1.27.0"></a>
## [1.21.1-1.27.0](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.26.2...1.21.1-1.27.0) - 2025-05-31 19:58:49 +0200


### Added
* Allow editing existing variables in Logic Programmer, Closes #357
* Add Variable Value By ID operator aspect to network reader, Closes #1346
* Add button to reset selected LP element

### Changed
* Don't drop item in world when closing LP
* Improve LP element arrow

### Fixed
* Fix operator text field in LP sometimes being red

<a name="1.21.1-1.26.2"></a>
## [1.21.1-1.26.2](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.26.1...1.21.1-1.26.2) - 2025-05-25 07:01:45 +0200


### Added
* Add translations through Crowdin

### Fixed
* Fix cursor centering on gui switching, Closes CyclopsMC/IntegratedDynamics#1514

<a name="1.21.1-1.26.1"></a>
## [1.21.1-1.26.1](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.26.0...1.21.1-1.26.1) - 2025-05-20 17:32:38 +0200


### Added
* Add translations through Crowdin

### Fixed
* Fix search hotkey also typing in hotkey in search box
  Closes CyclopsMC/IntegratedTerminals#168

<a name="1.21.1-1.26.0"></a>
## [1.21.1-1.26.0](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.25.12...1.21.1-1.26.0) - 2025-05-03 16:32:19 +0200


### Added
* Add list set and multiset equality operators, Closes #1347
* Add Fluid with tag operator, Closes #797
* Add block and fluid tag operators, Closes #1394
* Add Sqrt and Pow operators, Closes #1372
* Add lectern and bookshelf support for infobook, Closes #1496

### Fixed
* Fix non-fluid items being insertable into LP, Closes #1507

<a name="1.21.1-1.25.12"></a>
## [1.21.1-1.25.12](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.25.11...1.21.1-1.25.12) - 2025-04-20 15:32:52 +0200


### Added
* Add skull-based note support to audio reader and writer

### Fixed
* Fix wrench not removing cables after using off-hand item, Closes #1504
* Fix proxies placed by non-players not having an id

<a name="1.21.1-1.25.11"></a>
## [1.21.1-1.25.11](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.25.10...1.21.1-1.25.11) - 2025-04-04 17:12:35 +0200


### Added
* Add compostables, Closes #1498
* Add stripped logs and woods tags, Closes #1500

<a name="1.21.1-1.25.10"></a>
## [1.21.1-1.25.10](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.25.9...1.21.1-1.25.10) - 2025-03-22 15:14:29 +0100


### Added
* Add ja_jp translations through Crowdin (#1492)

### Fixed
* Fix NBT from int list not working for any lists
  Closes CyclopsMC/IntegratedScripting#37
* Fix typos in manual
* Fixed number typo
* Fixed variable description
* Fixed typo in reader introduction

<a name="1.21.1-1.25.9"></a>
## [1.21.1-1.25.9](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.25.8...1.21.1-1.25.9) - 2025-03-12 14:41:33 +0100


Added:
* Add translations through Crowdin (#1475)
  Co-authored-by: Crowdin Bot <support+bot@crowdin.com>

### Fixed
* Fix crash for items in variables with stacksize > 99

<a name="1.21.1-1.25.8"></a>
## [1.21.1-1.25.8](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.25.7...1.21.1-1.25.8) - 2025-03-10 06:58:36 +0100


### Added
* Update ru_ru.json (#1483)

### Changed
* Avoid repeated log spam for forcefully unloaded parts, Closes #1481

<a name="1.21.1-1.25.7"></a>
## [1.21.1-1.25.7](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.25.6...1.21.1-1.25.7) - 2025-03-01 07:09:23 +0100


### Changed
* Improve performance of block changes to very large networks
  Pathfinder is ~70x faster, also improved tick speed with lots of devices (17 ms to 3 ms in test scene)
* Remove reference to "crystallised menril resin"

### Fixed
* Fix duplication of offset enchancements when breaking cable, Closes #1480
* Fix passive interaction changes not immediately applying on change
  It used to only take effect after re-inserting a variable card.
  Closes CyclopsMC/IntegratedDynamics#1470
* Fix tooltip typo for static light panel
* Fix mention of "degrees Kelvin"
* Fix "raining" grammar sentence in aspect

<a name="1.21.1-1.25.6"></a>
## [1.21.1-1.25.6](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.25.5...1.21.1-1.25.6) - 2025-02-22 17:06:18 +0100


### Fixed
* Fix GUIs remaining open after external breakage, Closes #1472
* Fix rare tooltip crash for item-based variable cards, Closes #1477

<a name="1.21.1-1.25.5"></a>
## [1.21.1-1.25.5](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.25.4...1.21.1-1.25.5) - 2025-02-15 10:20:09 +0100


### Fixed
* Fix broken advancement icons
* Fix broken looking at advancement trigger, #1471
* Fix broken clear facade recipe

<a name="1.21.1-1.25.4"></a>
## [1.21.1-1.25.4](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.25.3...1.21.1-1.25.4) - 2025-02-08 16:00:00 +0100


### Fixed
* Fix LP recipe slot properties not displaying tag tooltip items
* Fix reusable tag-based recipes always having strict NBT
  This would cause issues for autocrafting jobs where tag-based reusable
  items that take damage would not be reused from the moment they take
  damage.
  Closes CyclopsMC/IntegratedCrafting#129
* Fix cable model updating neighbours from wrong thread, Closes #1465

<a name="1.21.1-1.25.3"></a>
## [1.21.1-1.25.3](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.25.2...1.21.1-1.25.3) - 2025-02-03 17:09:55 +0100


### Changed
* Add translations through Crowdin (#1455)

### Fixed
* Fix REI recipe transfer to LP not working for fluids
* Fix LP recipe transfer including chance-based outputs
  Non-1000utputs could cause issues for autocrafting.
  This is fixed for both JEI and REI.
  Closes CyclopsMC/IntegratedCrafting#127
* Fix tag-based JEI recipe transfer ignoring stack sizes
  Closes CyclopsMC/IntegratedCrafting#128
* Fix placing part before cable not properly connecting cables
  Closes CyclopsMC/IntegratedTunnels#321

<a name="1.21.1-1.25.2"></a>
## [1.21.1-1.25.2](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.25.1...1.21.1-1.25.2) - 2025-01-13 16:11:55 +0100


### Fixed
* Fix conflicting item/fluid data value operator names, Closes #1462

<a name="1.21.1-1.25.1"></a>
## [1.21.1-1.25.1](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.25.0...1.21.1-1.25.1) - 2025-01-09 16:10:11 +0100


### Fixed
* Fix crash when passing any list to Ingr.with_items, Closes #1457
* Fix lighting issues when displaying items or ingredients, Closes #1458

<a name="1.21.1-1.25.0"></a>
## [1.21.1-1.25.0](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.24.3...1.21.1-1.25.0) - 2025-01-08 17:42:56 +0100


### Added
* Add item tooltip operators

### Fixed
* Fix incorrect player entity aspect description

<a name="1.21.1-1.24.3"></a>
## [1.21.1-1.24.3](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.24.2...1.21.1-1.24.3) - 2024-12-28 14:00:33 +0100


### Added
* Add lossy recipe to clear a facade in a crafting grid, Closes #1424

### Changed
* Reduce number of network events during init to improve performance, #1439

### Fixed
* Fix client-server desync when applying part offsets, Closes #1448
* Fix offset items only being applicable to 28 instead of 32, #1448

<a name="1.21.1-1.24.2"></a>
## [1.21.1-1.24.2](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.24.1...1.21.1-1.24.2) - 2024-12-24 09:53:40 +0100


### Changed
* Add cs_cz translations

### Fixed
* Reduce number of network events during init to improve performance, #1439
  Modifying very large networks is a lot faster now.

<a name="1.21.1-1.24.1"></a>
## [1.21.1-1.24.1](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.24.0...1.21.1-1.24.1) - 2024-12-17 11:12:43 +0100


### Added
* Add error operator
* Add nl_nl translations

### Changed
* Reduce network inits by half when placing cables, Closes #1439

### Fixed
* Fix Jade integration not working, Closes #1438

<a name="1.21.1-1.24.0"></a>
## [1.21.1-1.24.0](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.23.19...1.21.1-1.24.0) - 2024-12-06 16:10:51 +0100


### Added
* Add dedicated REI support, Closes CyclopsMC/IntegratedDynamics#1348
* Restore Jade/Waila integration, Closes CyclopsMC/IntegratedDynamics#1413

### Changed
* Remove OnlyIn from appendHoverText and BlockCable

### Fixed
* Fix network elements not being removed when broken as non-player
  This fixes exceptions and console spam when removing cables with commands.
  Related to #443
* Fix server sometimes hanging after shutdown
  Related to #1415
* Fix cable placement with commands initializing networks
  This was broken since CyclopsMC/IntegratedTunnels#243

<a name="1.21.1-1.23.19"></a>
## [1.21.1-1.23.19](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.23.18...1.21.1-1.23.19) - 2024-11-22 10:08:55 +0100


### Fixed
* Fix capability crash when getting null direction from materializer, Closes #1423

<a name="1.21.1-1.23.18"></a>
## [1.21.1-1.23.18](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.23.17...1.21.1-1.23.18) - 2024-11-22 07:22:06 +0100


### Fixed
* Fix silent error when deserializing empty item values, Closes #1422

<a name="1.21.1-1.23.17"></a>
## [1.21.1-1.23.17](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.23.16...1.21.1-1.23.17) - 2024-11-19 15:17:52 +0100


### Changed
* Drop Part Offsets into their original form, Closes #1418

### Fixed
* Fix creative batteries not providing energy, Closes #1421

<a name="1.21.1-1.23.16"></a>
## [1.21.1-1.23.16](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.23.15...1.21.1-1.23.16) - 2024-11-10 14:14:54 +0100


### Fixed
* Fix variables dependent on offset aspects not always updating, Closes #1416

<a name="1.21.1-1.23.15"></a>
## [1.21.1-1.23.15](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.23.14...1.21.1-1.23.15) - 2024-11-02 16:04:05 +0100


### Changed
* Optimize ingredient positions index lookups
  Closes CyclopsMC/IntegratedTunnels#307

### Fixed
* Fix deadlock when getting light level of cable
  This fixes an incompatibility with the Moonrise mod.
  Closes #1415
* Fix Deepslate Dark Ore not being squeezable, Closes #1414

<a name="1.21.1-1.23.14"></a>
## [1.21.1-1.23.14](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.23.13...1.21.1-1.23.14) - 2024-10-30 18:35:50 +0100


### Fixed
* Fix crash with complex Integrated Scripting functions in writers

Functions returning an any type could be inserted into writers such as
Integrated Tunnels exporters, and type checking would incorrectly pass.
This could result in crashes where an incorrect value cast would occur.
This commit makes it so that ANY types will have an additional type
check based on the actual determined value.

Closes CyclopsMC/IntegratedScripting#20

<a name="1.21.1-1.23.13"></a>
## [1.21.1-1.23.13](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.23.12...1.21.1-1.23.13) - 2024-10-30 17:03:41 +0100


### Fixed
* Revert "Optimize ingredient positions index"
  This reverts commit 8f53b7eb53302e5028d1b4414caf288d26eb73ee.
  Closes CyclopsMC/IntegratedTerminals#134

<a name="1.21.1-1.23.12"></a>
## [1.21.1-1.23.12](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.23.11...1.21.1-1.23.12) - 2024-10-29 18:52:27 +0100


### Fixed
* Revert "Optimize ingredient positions index"
  This reverts commit 61b7372bda5cde123a2b320ac92c1c24d2dfb9b1.
  Closes CyclopsMC/IntegratedTerminals#134

<a name="1.21.1-1.23.11"></a>
## [1.21.1-1.23.11](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.23.10...1.21.1-1.23.11) - 2024-10-28 17:26:18 +0100


### Changed
* Optimize ingredient positions index
  This improves performance with Integrated Tunnels and Terminals.

<a name="1.21.1-1.23.10"></a>
## [1.21.1-1.23.10](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.23.9...1.21.1-1.23.10) - 2024-10-24 16:50:13 +0200


### Fixed
* Restore placement of levers on parts, Closes #1408
* Fix crash when invalidating invalid network elements
  This could occur when using AE2's Spatial IO.
  Closes #1410
* Fix unable to insert into part offset slots, Closes #1409

<a name="1.21.1-1.23.9"></a>
## [1.21.1-1.23.9](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.23.8...1.21.1-1.23.9) - 2024-10-14 15:19:24 +0200


### Fixed
* Fix incorrect type checking in complex reduce operation, Closes #1387

<a name="1.21.1-1.23.8"></a>
## [1.21.1-1.23.8](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.23.7...1.21.1-1.23.8) - 2024-10-06 14:03:24 +0200


### Fixed
* Fix crash when connecting cables with redstone with Sodium

<a name="1.21.1-1.23.7"></a>
## [1.21.1-1.23.7](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.23.6...1.21.1-1.23.7) - 2024-10-03 19:11:53 +0200


### Changed
* Improve performance by posting AttachCapabilitiesEventPart to other bus, Closes #1400

### Fixed
* Fix JEI ghosts items not working for lists in the LP
  Closes CyclopsMC/IntegratedDynamics#1398
* Fix wrong sided part being shown in The One Probe, Closes #1401
* Fix auto-supply on batteries not working, Closes #1399
* Fix round-robin misbehaving with filtered interfaces, Closes CyclopsMC/IntegratedTunnels#302

<a name="1.21.1-1.23.6"></a>
## [1.21.1-1.23.6](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.23.5...1.21.1-1.23.6) - 2024-09-23 17:26:41 +0200


### Fixed
* Fix errors in conditional squeezer recipes, Closes CyclopsMC/CyclopsCore#191
* Fix crash when placing creative energy battery, Closes #1397

<a name="1.21.1-1.23.5"></a>
## [1.21.1-1.23.5](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.23.4...1.21.1-1.23.5) - 2024-09-17 20:28:05 +0200


### Changed
* Combine cable voxel shape components in getShape rather than getCollisionShape

### Fixed
* Fix broken offset enchancement recipe, Closes #1367
* Fix crash when placing Proxy or Materializer in SMP, Closes #1392

<a name="1.21.1-1.23.4"></a>
## [1.21.1-1.23.4](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.23.3...1.21.1-1.23.4) - 2024-08-24 07:17:19 +0200


### Fixed
* Delay Terrablender registration
  This fixes rare crashes when Terrablender was not yet fully initialized.
  CyclopsMC/IntegratedDynamics#1385

<a name="1.21.1-1.23.3"></a>
## [1.21.1-1.23.3](https://github.com/CyclopsMC/IntegratedDynamics/compare/1.21.1-1.23.2...1.21.1-1.23.3) - 2024-08-22 19:01:40 +0200


### Fixed
* Fix Redstone Writers not always updating signals
  Closes #1377
  Closes #1382
* Fix crash when getting facade colors for specific blocks, Closes #1380
* Fix op_by_name crashing if ResourceLocation is invalid, Closes #1381
* Fix regex scan producing illegal lists for non-zero groups, Closes #1378
* Refer to NeoForge's updateJSONURL instead of Forge's
* Fixed Feature Order Cycle (FOC)

<a name="1.21.1-1.23.2"></a>
## [1.21.1-1.23.2] - 2024-08-09 21:06:15 +0200


### Changed
* Update to updated CommonCapabilities API
  Required for CyclopsMC/IntegratedDynamics#1375


================================================
FILE: CHANGELOG-26.1.1.md
================================================
# Changelog for Minecraft 26.1.1
All notable changes to this project will be documented in this file.

<a name="26.1.1-1.32.11"></a>
## [26.1.1-1.32.11](https://github.com/CyclopsMC/IntegratedDynamics/compare/26.1.1-1.32.10...26.1.1-1.32.11) - 2026-04-20 18:51:08


### Fixed
* Remove old Tesla references from language files
* Fix battery capacity not persisting after world rejoin/restart (#1667)

<a name="26.1.1-1.32.10"></a>
## [26.1.1-1.32.10](https://github.com/CyclopsMC/IntegratedDynamics/compare/26.1.1-1.32.9...26.1.1-1.32.10) - 2026-04-19 14:49:50 +0200


### Added
* Add translations through Crowdin (#1663)

### Fixed
* Fix Menril Saplings not growing with bonemeal, Closes #1664

<a name="26.1.1-1.32.9"></a>
## [26.1.1-1.32.9](https://github.com/CyclopsMC/IntegratedDynamics/compare/26.1.1-1.32.8...26.1.1-1.32.9) - 2026-04-19 14:03:00 +0200


### Fixed
* Fix NPE in EnergyStorageItemBlockEnergyContainer when itemAccess is null (#1665)

<a name="26.1.1-1.32.8"></a>
## [26.1.1-1.32.8](https://github.com/CyclopsMC/IntegratedDynamics/compare/26.1.1-1.32.7...26.1.1-1.32.8) - 2026-04-18 15:35:10 +0200


### Changed
* Add BlockCable#getAppearance for connected textures on facades
  This adds basic support to facades on cables for mods that add connected texture support.

<a name="26.1.1-1.32.7"></a>
## [26.1.1-1.32.7](https://github.com/CyclopsMC/IntegratedDynamics/compare/26.1.1-1.32.6...26.1.1-1.32.7) - 2026-04-17 18:30:20 +0200


### Fixed
* Fix worldgen: prevent menril trees from generating on top of other trees (#1662), Closes #1660

<a name="26.1.1-1.32.6"></a>
## [26.1.1-1.32.6](https://github.com/CyclopsMC/IntegratedDynamics/compare/26.1.1-1.32.5...26.1.1-1.32.6) - 2026-04-17 16:49:22 +0200


### Changed
* Add leaf particle colors for Menril Leaves

### Fixed
* Fix crash when rendering empty battery item stack (#1661)

<a name="26.1.1-1.32.5"></a>
## [26.1.1-1.32.5](https://github.com/CyclopsMC/IntegratedDynamics/compare/26.1.1-1.32.4...26.1.1-1.32.5) - 2026-04-13 16:48:01 +0200


### Added
* Add c:clumps tag to Crystalized Menril Chunk (#1659), Closes #1656
* Add translations through Crowdin (#1649)

### Fixed
* Fix Menril Resin and Liquid Chorus fluids being non-interactable in world (#1658), Closes #1657
* Fix drying basin stalling when both item and fluid inputs are present (#1655)
* Fix drying basin not consuming items when right-clicked with a stack (#1654), Closes #1652
* Fix incorrect item model for Menril Sapling

<a name="26.1.1-1.32.4"></a>
## [26.1.1-1.32.4](https://github.com/CyclopsMC/IntegratedDynamics/compare/26.1.1-1.32.3...26.1.1-1.32.4) - 2026-04-11 20:05:09 +0200


### Changed
* Restore JEI and Terrablender mod compats

### Fixed
* Fix constant list Variable Card deserialization failure after world reload (#1639), Closes #1639
* Give Delayer its own energy consumption config separate from Proxy (#1641), Closes #1640

<a name="26.1.1-1.32.3"></a>
## [26.1.1-1.32.3] - 2026-04-10 14:38:29 +0200


Initial 26.1.1 release


================================================
FILE: CHANGELOG-26.1.2.md
================================================
# Changelog for Minecraft 26.1.2
All notable changes to this project will be documented in this file.

<a name="26.1.2-1.33.0"></a>
## [26.1.2-1.33.0](https://github.com/CyclopsMC/IntegratedDynamics/compare/26.1.2-1.32.13...26.1.2-1.33.0) - 2026-05-04 16:37:42


### Added
* Add translations through Crowdin (#1671)
* Update Refined Storage compat to v2, Closes CyclopsMC/IntegratedDynamics#1544

<a name="26.1.2-1.32.13"></a>
## [26.1.2-1.32.13](https://github.com/CyclopsMC/IntegratedDynamics/compare/26.1.2-1.32.12...26.1.2-1.32.13) - 2026-05-02 20:40:51 +0200


### Fixed
* Fix Crafting Interface crash on Mechanical Drying Basin, Closes CyclopsMC/IntegratedCrafting#197

<a name="26.1.2-1.32.12"></a>
## [26.1.2-1.32.12](https://github.com/CyclopsMC/IntegratedDynamics/compare/26.1.2-1.32.11...26.1.2-1.32.12) - 2026-04-28 19:44:46 +0200


### Fixed
* Fix incorrect position of channel disabled tooltip in Integrated Crafting

<a name="26.1.2-1.32.11"></a>
## [26.1.2-1.32.11] - 2026-04-23 20:21:26 +0200


Initial 26.1.2 release


================================================
FILE: LICENSE.txt
================================================
The MIT License (MIT)

Copyright (c) 2015 Cyclops

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: PERFORMANCE_BENCHMARKING.md
================================================
# Performance Benchmarking Setup

This document describes the performance benchmarking infrastructure for Integrated Dynamics, which measures the continuous performance of network operations.
Performance results are tracked in https://github.com/CyclopsMC/cyclops-performance-results

## Overview

The performance benchmarking system consists of three main components:

1. **GitHub Workflow** (`.github/workflows/performance.yml`)
   - Executes on the same triggers as CI (push and pull_request)
   - Runs game tests to measure network performance
   - Uses `benchmark-action/github-action-benchmark` to track performance evolution

2. **Game Tests** (`src/integrationtest/java/org/cyclops/integrateddynamics/gametest/GameTestsPerformance.java`)
   - Generates networks with different presets for benchmarking
   - Measures performance metrics for each preset
   - Writes results to `build/logs/benchmark_results.txt`

3. **Network Generation Command** (`src/main/java/org/cyclops/integrateddynamics/command/CommandGenerateNetwork.java`)
   - Provides `/integrateddynamics generatenetwork` command for manual testing
   - Supports different network presets: `emptynetwork`, `idlenetwork`, `clear`
   - Can be used in both single-player and multiplayer environments

## Network Presets

### Empty Network
- **Preset**: `empty`
- **Description**: A cube of logic cables with no parts attached
- **Benchmark**: Measures baseline performance with cable networks only
- **Sizes tested**: 25×25×25

### Idle Network
- **Preset**: `idle`
- **Description**: A cube of logic cables with random parts on all outer surfaces
- **Benchmark**: Measures performance with active network elements (parts)
- **Sizes tested**: 25×25×25

### Redstone IO Clock Network
- **Preset**: `redstoneioclock`
- **Description**: A cube of logic cables with redstone readers on the east side connected to redstone writers on the west side, creating a clock signal
- **Benchmark**: Measures performance with active parts
- **Sizes tested**: 25×25×25

### Redstone IO Clock with Variables Network
- **Preset**: `redstoneioclockvariables`
- **Description**: A cube of logic cables with redstone readers on the east side connected to redstone writers on the west side, creating a clock signal with variables in between.
- **Benchmark**: Measures performance with active parts and operator variables
- **Sizes tested**: 25×25×25

## Performance Metrics

The benchmarking system measures two key metrics:

- **Average Network Tick Time (ms)**: The average time the Integrated Dynamics network subsystem takes to process one game tick. This measures the network-specific performance impact.
- **Average Server Tick Time (ms)**: The average time the entire Minecraft server takes per game tick. This measures the overall server performance impact, including both Integrated Dynamics and all other server operations.
- **Network Size**: The dimensions of the generated network cube

These metrics are tracked separately in the benchmark results to distinguish between network-specific performance and overall server performance impact.

## Game Test Execution

The game tests are automatically executed as part of the GitHub workflow:

```bash
PERFORMANCE_BENCHMARK_ENABLED=true ./gradlew runGameTestServer
```

This command:
1. Starts a game test server
2. Runs `GameTestsPerformance` game tests
3. Generates networks of different sizes with different presets
4. Measures performance metrics
5. Writes results to `run/logs/benchmark_results.txt`

Similarly, if you want to run the fuzzing tests, you can use:
```bash
FUZZING_ITERATIONS=10 ./gradlew runGameTestServer
```

## Result Format

Results are written in the following format:
```
preset=empty size=25 avgNetworkTickTime=6.25 avgServerTickTime=3.50
preset=idle size=25 avgNetworkTickTime=7.50 avgServerTickTime=4.20
```

Results are then converted to JSON format for the benchmark action. Each preset generates two metrics - one for network tick time and one for server tick time:
```json
[
  {
    "name": "empty_size_25_network_tick_time",
    "unit": "ms",
    "value": 6.25
  },
  {
    "name": "empty_size_25_server_tick_time",
    "unit": "ms",
    "value": 3.50
  }
]
```

## Benchmark Tracking

The `benchmark-action/github-action-benchmark` GitHub action automatically:
- Stores benchmark results in GitHub Pages branch (`gh-pages`)
- Generates historical performance charts
- Alerts when performance degrades beyond 150% of baseline
- Creates comments on PRs when alerts are triggered

## Manual Testing

To manually test network performance in a Minecraft world:

1. **Generate an empty network**:
   ```
   /integrateddynamics generatenetwork empty 50
   ```

2. **Generate an idle network**:
   ```
   /integrateddynamics generatenetwork idle 50
   ```

3. **Measure network performance**:
   ```
   /integrateddynamics networkdiagnostics measure 10
   ```

4. **Clear generated networks**:
   ```
   /integrateddynamics generatenetwork clear 100
   ```

## Integration with CI/CD

The performance workflow runs on:
- Every push to any branch
- Every pull request

Performance degradation is tracked across commits and branches, helping to identify performance regressions early in the development cycle.

## Adding New Benchmarks

To add new network presets or benchmarks:

1. Add a new preset enum value in `CommandGenerateNetwork.NetworkPreset`
2. Add corresponding generation method in `CommandGenerateNetworkExecutor`
3. Add a new `@GameTest` method in `GameTestsPerformance`
4. The workflow will automatically execute and track the new benchmark



================================================
FILE: README.md
================================================
## Integrated Dynamics

[![Build Status](https://github.com/CyclopsMC/IntegratedDynamics/workflows/CI/badge.svg)](https://github.com/CyclopsMC/IntegratedDynamics/actions?query=workflow%3ACI)
[![Coverage Status](https://coveralls.io/repos/github/CyclopsMC/IntegratedDynamics/badge.svg)](https://coveralls.io/github/CyclopsMC/IntegratedDynamics)
[![Crowdin](https://badges.crowdin.net/cyclopsmc-integrateddynamic/localized.svg)](https://crowdin.com/project/cyclopsmc-integrateddynamic)
[![Download](https://img.shields.io/static/v1?label=Maven&message=GitHub%20Packages&color=blue)](https://github.com/CyclopsMC/packages/packages/769739)
[![CurseForge](http://cf.way2muchnoise.eu/full_236307_downloads.svg)](https://www.curseforge.com/minecraft/mc-mods/integrated-dynamics)
[![Discord](https://img.shields.io/discord/386052815128100865.svg?colorB=7289DA&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHYAAABWAgMAAABnZYq0AAAACVBMVEUAAB38%2FPz%2F%2F%2F%2Bm8P%2F9AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfhBxwQJhxy2iqrAAABoElEQVRIx7WWzdGEIAyGgcMeKMESrMJ6rILZCiiBg4eYKr%2Fd1ZAfgXFm98sJfAyGNwno3G9sLucgYGpQ4OGVRxQTREMDZjF7ILSWjoiHo1n%2BE03Aw8p7CNY5IhkYd%2F%2F6MtO3f8BNhR1QWnarCH4tr6myl0cWgUVNcfMcXACP1hKrGMt8wcAyxide7Ymcgqale7hN6846uJCkQxw6GG7h2MH4Czz3cLqD1zHu0VOXMfZjHLoYvsdd0Q7ZvsOkafJ1P4QXxrWFd14wMc60h8JKCbyQvImzlFjyGoZTKzohwWR2UzSONHhYXBQOaKKsySsahwGGDnb%2FiYPJw22sCqzirSULYy1qtHhXGbtgrM0oagBV4XiTJok3GoLoDNH8ooTmBm7ZMsbpFzi2bgPGoXWXME6XT%2BRJ4GLddxJ4PpQy7tmfoU2HPN6cKg%2BledKHBKlF8oNSt5w5g5o8eXhu1IOlpl5kGerDxIVT%2BztzKepulD8utXqpChamkzzuo7xYGk%2FkpSYuviLXun5bzdRf0Krejzqyz7Z3p0I1v2d6HmA07dofmS48njAiuMgAAAAASUVORK5CYII%3D)](https://discord.gg/9yDxubB)

All stable releases (including deobfuscated builds) can be found on [CurseForge](https://www.curseforge.com/minecraft/mc-mods/integrated-dynamics/files).

[Development builds](https://github.com/CyclopsMC/packages/packages/) are hosted as GitHub packages.

### Contributing
* Before submitting a pull request containing a new feature, please discuss this first with one of the lead developers.
* When fixing an accepted bug, make sure to declare this in the issue so that no duplicate fixes exist.
* All code must comply to our coding conventions, be clean and must be well documented.

### Issues
* All bug reports and other issues are appreciated. If the issue is a crash, please include the FULL Forge log.
* Before submission, first check for duplicates, including already closed issues since those can then be re-opened.

### Branching Strategy

For every major Minecraft version, a `master-{mc_version} branch exists.

### Building and setting up a development environment

To get started, you will need a [Maven token](https://github.com/settings/tokens/new?scopes=read:packages&description=GPR%20for%20Gradle) so that gradle can fetch dependencies.
Once you have this, use it by editing `~/.gradle/gradle.properties` and adding the following lines;
```
gpr.user=<YOUR GITHUB USERNAME>
gpr.key=<YOUR TOKEN>
```
Alternatively, you can use the environment variables `MAVEN_USERNAME` (your github username), and `MAVEN_KEY` (your token).

Run `./gradlew test` to run the test suite, and `./gradlew build` to build the mod. The resulting jar file will be in `build/libs`.

### License
All code and images are licensed under the [MIT License](https://github.com/CyclopsMC/IntegratedDynamics/blob/master-1.8/LICENSE.txt)
This mod packages [re2j](https://github.com/google/re2j/) in order to provide linear time regex matching.


================================================
FILE: build.gradle
================================================
plugins {
    id 'net.neoforged.moddev' version '2.0.141'
    id 'net.darkhax.curseforgegradle' version '1.1.28'
    id 'com.diffplug.spotless' version '6.25.0'
    id 'com.gradleup.shadow' version '8.3.8'
	id 'com.modrinth.minotaur' version '2.+'
}

apply plugin: 'idea'
apply plugin: 'maven-publish'
apply plugin: 'jacoco'

import net.darkhax.curseforgegradle.Constants
import net.darkhax.curseforgegradle.TaskPublishCurseForge

// Determine build number
String build_number = "DEV" // this will be referenced as simply build_number from now on.
if (System.getenv().BUILD_NUMBER)
    build_number = System.getenv().BUILD_NUMBER
if (System.getenv().GITHUB_RUN_ID)
    build_number = System.getenv().GITHUB_RUN_NUMBER
if (System.getenv().RELEASE)
    build_number = "RELEASE"
logger.lifecycle "BUILDING VERSION: " + build_number

// Include build number in version
if (build_number.equals("RELEASE"))
    version = "${project.mod_version}"
else
    version = "${project.mod_version}-${build_number}"

base {
    archivesName = "${mod_id}-${minecraft_version}-neoforge"
}

java {
    toolchain.languageVersion = JavaLanguageVersion.of(java_version)
}
compileJava.options.compilerArgs << "-Xmaxerrs" << "9999"

// Load secrets
def getSecrets() {
    Properties props = new Properties()
    if (file('./secrets.properties').exists()) {
        props.load(new FileInputStream(file('./secrets.properties')))
    }
    return props
}
def getCurseforgeKey() {
    if(secrets.curseforge_key) {
        return secrets.curseforge_key
    } else if(System.getenv().GITHUB_ACTIONS && System.getenv().CURSEFORGE_KEY_SECRET) {
        return System.getenv().CURSEFORGE_KEY_SECRET
    } else {
        return "DUMMY"
    }
}
def getModrinthKey() {
    if(secrets.modrinth_key) {
        return secrets.modrinth_key
    } else if(System.getenv().GITHUB_ACTIONS && System.getenv().MODRINTH_KEY_SECRET) {
        return System.getenv().MODRINTH_KEY_SECRET
    } else {
        return "DUMMY"
    }
}
def getChangelog() {
    if (System.getenv().RELEASE) {
        return file("./CHANGELOG-${project.minecraft_version}.md").getText();
    } else {
        // Check if any release tag exists for this Minecraft version
        def proc = ['git', 'tag', '--list', "${project.minecraft_version}-*"].execute([], project.rootProject.projectDir)
        def tags = proc.text.trim()
        if (tags) {
            return "Changes since last release: ${project.github_url}/compare/${project.minecraft_version}-${project.mod_version}...${System.getenv().GITHUB_SHA}"
        } else {
            // No release has been made yet for this Minecraft version, link to all commits on the branch
            def branch = System.getenv().GITHUB_REF_NAME ?: 'HEAD'
            return "Changes since last release: ${project.github_url}/commits/${branch}"
        }
    }
}
//ext {
    Properties secrets = getSecrets();
    secrets.curseforgeKey = getCurseforgeKey();
    secrets.modrinthKey = getModrinthKey();
    secrets.changelog = getChangelog();
    secrets.build_number = build_number;
//}

sourceSets {
    main
    test
}
sourceSets.main.resources { srcDir 'src/generated/resources' }

configurations {
    shadow.setTransitive(false);

    modLib
    implementation.extendsFrom modLib
}

test {
    testLogging {
        exceptionFormat = 'full'
    }
}

repositories {
    mavenCentral()
	mavenLocal()
    maven {
        name "Cyclops Repo"
        url "https://maven.pkg.github.com/CyclopsMC/packages"
        credentials {
            username = project.findProperty("gpr.user") ?: System.getenv("MAVEN_USERNAME") ?: System.getenv("GITHUB_USER")
            password = project.findProperty("gpr.key") ?: System.getenv("MAVEN_KEY") ?: System.getenv("GITHUB_TOKEN")
        }
    }
}

dependencies {
    testImplementation 'org.junit.jupiter:junit-jupiter:5.7.1'
    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.7.1'
    testImplementation 'org.junit.platform:junit-platform-suite-api:1.14.1'
    testImplementation 'org.hamcrest:hamcrest:2.1'
    testImplementation "org.mockito:mockito-core:2.+"
    testRuntimeOnly 'org.junit.platform:junit-platform-suite-engine'
    testRuntimeOnly 'org.junit.platform:junit-platform-launcher'

    // Add something like 'cyclopscore_version_local=0.1.0-DEV' to your secrets.properties if you want to use a custom local CyclopsCore version.
    if(secrets.cyclopscore_version_local) {
        implementation "org.cyclops.cyclopscore:cyclopscore-${project.minecraft_version}-neoforge:${secrets.cyclopscore_version_local}"
    } else {
        implementation "org.cyclops.cyclopscore:cyclopscore-${project.minecraft_version}-neoforge:${project.cyclopscore_version}"
    }
	
    // Add something like 'integrateddynamicscompat_version_local=0.1.0-DEV' to your secrets.properties if you want to use a custom local Integrated Dynamics Compat version.
    if(secrets.integrateddynamicscompat_version_local) {
        shadow("org.cyclops.integrateddynamicscompat:integrateddynamicscompat-${project.minecraft_version}-neoforge:${secrets.integrateddynamicscompat_version_local}") {
            transitive = false
        }
    } else {
        shadow("org.cyclops.integrateddynamicscompat:integrateddynamicscompat-${project.integrateddynamicscompat_version}") {
            transitive = false
        }
    }

    if(secrets.commoncapabilities_version_local) {
        implementation "org.cyclops.commoncapabilities:commoncapabilities-${project.minecraft_version}-neoforge:${secrets.commoncapabilities_version_local}"
    } else {
        implementation("org.cyclops.commoncapabilities:commoncapabilities-${project.minecraft_version}-neoforge:${project.commoncapabilities_version}") { // https://dl.bintray.com/cyclopsmc/dev/org/cyclops/commoncapabilities/CommonCapabilities/
            transitive = false
        }
    }
	
    modLib "com.google.re2j:re2j:1.1"
    shadow "com.google.re2j:re2j:1.1"

    modLib ("io.netty:netty-codec-http:4.1.77.Final") {
        transitive = false
    }
    shadow "io.netty:netty-codec-http:4.1.77.Final"
}

test {
    useJUnitPlatform()
}

neoForge {
    version = "${neoforge_version}"

    // Automatically enable neoforge AccessTransformers if the file exists
    def at = file('src/main/resources/META-INF/accesstransformer.cfg')
    if (at.exists()) {
        accessTransformers = [ at.absolutePath ]
    }

    validateAccessTransformers = true

    runs {
        client {
            client()
        }
        server {
            server()
        }
        gameTestServer {
            type = "gameTestServer"
        }
        configureEach {
            systemProperty 'forge.logging.markers', 'REGISTRIES'
            logLevel = org.slf4j.event.Level.DEBUG
            systemProperty 'neoforge.enabledGameTestNamespaces', "cyclopscore,${mod_id}"
        }
    }

    mods {
        "${mod_id}" {
            sourceSet(sourceSets.main)
        }
    }

    unitTest {
        enable()
        testedMod = mods.integrateddynamics
    }
}

jar {
    archiveClassifier.set('slim')
    manifest {
        attributes([
                "FMLAT": "accesstransformer.cfg",
                "Specification-Title": "${project.name}",
                "Specification-Vendor": "rubensworks",
                "Specification-Version": "${project.mod_version}",
                "Implementation-Title": "${project.name}",
                "Implementation-Version": "${project.mod_version}",
                "Implementation-Vendor" :"rubensworks",
                "Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
        ])
    }
}

javadoc {
    options.encoding = 'UTF-8'
    source = [sourceSets.main.allJava]
    // prevent java 8's strict doclint for javadocs from failing builds
    options.addStringOption('Xdoclint:accessibility,html,reference,syntax', '-quiet')
}

task apiJar(type: Jar) {
    from (sourceSets.main.output) {
        include "**/api/**/*"
    }
    includeEmptyDirs = false
    archiveClassifier.set('api')
}

task sourcesJar(type: Jar) {
    duplicatesStrategy(DuplicatesStrategy.FAIL)
    archiveClassifier.set('sources')
    from sourceSets.main.allJava
}

task javadocJar(type: Jar, dependsOn: javadoc) {
    duplicatesStrategy(DuplicatesStrategy.FAIL)
    archiveClassifier.set('javadoc')
    from javadoc.destinationDir
}

shadowJar {
    configurations = [project.configurations.shadow]
    archiveClassifier.set('') // Replace the default JAR
    append 'META-INF/neoforge.mods.toml'
    relocate 'com.google.re2j', 'vendors.com.google.re2j' // Because Forge blocks all com.google.* class loading...
    // To avoid clashes with other mods
    relocate 'io.netty.handler.codec.http', 'org.cyclops.integrateddynamics.vendors.io.netty.handler.codec.http'
    relocate 'io.netty.handler.codec.rtsp', 'org.cyclops.integrateddynamics.vendors.io.netty.handler.codec.rtsp'
    relocate 'io.netty.handler.codec.spdy', 'org.cyclops.integrateddynamics.vendors.io.netty.handler.codec.spdy'
}
assemble.dependsOn shadowJar
jar {
    shadowJar {}
}

artifacts {
    archives shadowJar
	archives apiJar
    archives sourcesJar
    archives javadocJar
}

// Replace properties in files
processResources {
    def expandProps = [
            'mod_version'                           : project.version,
            'group'                                 : project.group, //Else we target the task's group.
            'minecraft_version'                     : minecraft_version,
            'mod_name'                              : mod_name,
            'mod_author'                            : mod_author,
            'mod_id'                                : mod_id,
            'license'                               : license,
            'issue_tracker_url'                     : issue_tracker_url,
            'display_url'                           : display_url,
            'description'                           : project.description,
            'neoforge_version'                      : neoforge_version,
            'neoforge_loader_version_range'         : neoforge_loader_version_range,
            'neoforge_update_json_url'              : neoforge_update_json_url,
            'java_version'                          : java_version,
            'cyclopscore_version'                   : cyclopscore_version,
            'cyclopscore_version_semver'            : cyclopscore_version.replaceAll("-.*\$", ""),
            'commoncapabilities_version'            : commoncapabilities_version,
            'commoncapabilities_version_semver'     : commoncapabilities_version.replaceAll("-.*\$", "")
    ]

    filesMatching(['pack.mcmeta', 'META-INF/mods.toml', 'META-INF/neoforge.mods.toml', 'mixins.*.json']) {
        expand expandProps
    }
    inputs.properties(expandProps)
}

task publishCurseForge(type: TaskPublishCurseForge) {
    dependsOn(tasks.jar)
    apiToken = secrets.curseforgeKey;
    def mainFile = upload(project.curseforge_project_id, shadowJar)
    mainFile.releaseType = secrets.build_number.equals("RELEASE") ? Constants.RELEASE_TYPE_RELEASE : Constants.RELEASE_TYPE_BETA
    mainFile.changelogType = "markdown"
    mainFile.changelog = secrets.changelog
    mainFile.addJavaVersion("Java ${project.java_version}")
    mainFile.addGameVersion(project.minecraft_version)
    mainFile.addModLoader("NeoForge")

    mainFile.addRequirement("cyclops-core")
    mainFile.addRequirement('common-capabilities')
}

modrinth {
    token = secrets.modrinthKey;
    projectId = "${modrinth_project_id}"
    versionNumber = project.minecraft_version + '-' + project.version
    versionName = "${project.version} for NeoForge ${project.minecraft_version}"
    versionType = secrets.build_number.equals("RELEASE") ? "release" : "beta"
    uploadFile = shadowJar
    gameVersions = [ project.minecraft_version ]
    changelog = provider { secrets.changelog }

    dependencies {
        required.project "Z9DM0LJ4" // Cyclops Core
        required.project "oFXrCkDI" // Common Capabilities
    }
}

publishing {
    repositories {
        if (project.hasProperty("filesmaven_url")) {
            logger.info('Publishing to files server')
            maven {
                url project.filesmaven_url
                credentials {
                    username = project.filesmaven_username
                    password = project.filesmaven_key
                }
            }
        } else if (System.getenv("MAVEN_URL")) {
            logger.info('Publishing to files server')
            maven {
                url System.getenv("MAVEN_URL")
                credentials {
                    username = System.getenv("MAVEN_USERNAME")
                    password = System.getenv("MAVEN_KEY")
                }
            }
        } else {
            logger.error('No maven repo was set!')
        }
    }

    publications { PublicationContainer publicationContainer ->
        publicationContainer.register("maven", MavenPublication) { MavenPublication publication ->
            publication.artifacts = [shadowJar, javadocJar, sourcesJar, jar]
            publication.artifactId = project.base.archivesName.get().toLowerCase() // GH can't handle uppercase...
        }
    }
}

idea {
    module {
        downloadSources = true
        downloadJavadoc = true
        for (String excludeDirName in ["run", "out", "logs", "gradle"]) {
            File excludeDir = new File(projectDir, excludeDirName)
            excludeDirs.add(excludeDir)
        }
    }
}

jacocoTestReport {
    // Include unit and game test coverage
    executionData fileTree(project.buildDir).include("jacoco/*.exec")
    reports {
        xml.required = true
        html.required = true
    }
}

// Also measure coverage for game tests
jacocoTestReport.dependsOn test, runGameTestServer
jacoco {
    toolVersion = "0.8.14"
    applyTo runGameTestServer
}

spotless {
    java {
        target 'src/*/java/org/cyclops/**/*.java'

        endWithNewline()
        trimTrailingWhitespace()
        removeUnusedImports()
        indentWithSpaces()
    }
}

tasks.register('updateGitHooks', Copy) {
    from './scripts/pre-commit'
    into './.git/hooks'
}
compileJava.dependsOn updateGitHooks

tasks.withType(JavaCompile).configureEach {
    options.encoding = 'UTF-8' // Use the UTF-8 charset for Java compilation
}


================================================
FILE: crowdin.yml
================================================
project_id_env: CROWDIN_PROJECT_ID
api_token_env: CROWDIN_PERSONAL_TOKEN
base_path: .

preserve_hierarchy: true

files:
  - source: src/main/resources/assets/integrateddynamics/lang/en_us.json
    translation: src/main/resources/assets/integrateddynamics/lang/%locale_with_underscore%.json
    excluded_target_languages:
      - en
    skip_untranslated_strings: true
    languages_mapping:
        locale_with_underscore:
            af: af_za
            ar: ar_sa
            ca: ca_es
            cs: cs_cz
            da: da_dk
            de: de_de
            el: el_gr
            en-US: en_us
            es-ES: es_es
            fi: fi_fi
            fr: fr_fr
            he: he_il
            hu: hu_hu
            it: it_it
            ja: ja_jp
            ko: ko_kr
            nl: nl_nl
            "no": no_no
            pl: pl_pl
            pt-BR: pt_br
            pt-PT: pt_pt
            ro: ro_ro
            ru: ru_ru
            sr: sr_sp
            sv-SE: sv_se
            tr: tr_tr
            uk: uk_ua
            vi: vi_vn
            zh-CN: zh_cn
            zh-TW: zh_tw


================================================
FILE: gradle/wrapper/gradle-wrapper.properties
================================================
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.0-bin.zip
networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists


================================================
FILE: gradle.properties
================================================
# Project
mod_version=1.33.0
group=org.cyclops.integrateddynamics
java_version=25

# Common
minecraft_version=26.1.2
mod_name=IntegratedDynamics
mod_author=rubensworks (aka kroeser)
mod_id=integrateddynamics
license=MIT
github_url=https://github.com/CyclopsMC/IntegratedDynamics
issue_tracker_url=https://github.com/CyclopsMC/IntegratedDynamics/issues
display_url=https://www.curseforge.com/minecraft/mc-mods/integrated-dynamics
description=Take full and automated control of your appliances.
fingerprint=bd0353b3e8a2810d60dd584e256e364bc3bedd44

curseforge_project_id=236307
modrinth_project_id=yYzdQHJI

# NeoForge
neoforge_version=26.1.2.22-beta
neoforge_loader_version_range=[4,)
neoforge_update_json_url=https://raw.githubusercontent.com/CyclopsMC/Versions/master/neoforge_update/integrated-dynamics.json

# Gradle
org.gradle.jvmargs=-Xmx3G
org.gradle.daemon=false
org.gradle.caching=true

# Dependencies
cyclopscore_version=1.29.5-1012
integrateddynamicscompat_version=26.1.2-neoforge:1.0.0-168
commoncapabilities_version=2.11.4-344


================================================
FILE: gradlew
================================================
#!/bin/sh

#
# Copyright  2015-2021 the original authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

##############################################################################
#
#   Gradle start up script for POSIX generated by Gradle.
#
#   Important for running:
#
#   (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
#       noncompliant, but you have some other compliant shell such as ksh or
#       bash, then to run this script, type that shell name before the whole
#       command line, like:
#
#           ksh Gradle
#
#       Busybox and similar reduced shells will NOT work, because this script
#       requires all of these POSIX shell features:
#         * functions;
#         * expansions $var, ${var}, ${var:-default}, ${var+SET},
#           ${var#prefix}, ${var%suffix}, and $( cmd );
#         * compound commands having a testable exit status, especially case;
#         * various built-in commands including command, set, and ulimit.
#
#   Important for patching:
#
#   (2) This script targets any POSIX shell, so it avoids extensions provided
#       by Bash, Ksh, etc; in particular arrays are avoided.
#
#       The "traditional" practice of packing multiple parameters into a
#       space-separated string is a well documented source of bugs and security
#       problems, so this is (mostly) avoided, by progressively accumulating
#       options in "$@", and eventually passing that to Java.
#
#       Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
#       and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
#       see the in-line comments for details.
#
#       There are tweaks for specific operating systems such as AIX, CygWin,
#       Darwin, MinGW, and NonStop.
#
#   (3) This script is generated from the Groovy template
#       https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
#       within the Gradle project.
#
#       You can find Gradle at https://github.com/gradle/gradle/.
#
##############################################################################

# Attempt to set APP_HOME

# Resolve links: $0 may be a link
app_path=$0

# Need this for daisy-chained symlinks.
while
    APP_HOME=${app_path%"${app_path##*/}"}  # leaves a trailing /; empty if no leading path
    [ -h "$app_path" ]
do
    ls=$( ls -ld "$app_path" )
    link=${ls#*' -> '}
    case $link in             #(
      /*)   app_path=$link ;; #(
      *)    app_path=$APP_HOME$link ;;
    esac
done

APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit

APP_NAME="Gradle"
APP_BASE_NAME=${0##*/}

# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'

# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum

warn () {
    echo "$*"
} >&2

die () {
    echo
    echo "$*"
    echo
    exit 1
} >&2

# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "$( uname )" in                #(
  CYGWIN* )         cygwin=true  ;; #(
  Darwin* )         darwin=true  ;; #(
  MSYS* | MINGW* )  msys=true    ;; #(
  NONSTOP* )        nonstop=true ;;
esac

CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar


# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
        # IBM's JDK on AIX uses strange locations for the executables
        JAVACMD=$JAVA_HOME/jre/sh/java
    else
        JAVACMD=$JAVA_HOME/bin/java
    fi
    if [ ! -x "$JAVACMD" ] ; then
        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
    fi
else
    JAVACMD=java
    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi

# Increase the maximum file descriptors if we can.
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
    case $MAX_FD in #(
      max*)
        MAX_FD=$( ulimit -H -n ) ||
            warn "Could not query maximum file descriptor limit"
    esac
    case $MAX_FD in  #(
      '' | soft) :;; #(
      *)
        ulimit -n "$MAX_FD" ||
            warn "Could not set maximum file descriptor limit to $MAX_FD"
    esac
fi

# Collect all arguments for the java command, stacking in reverse order:
#   * args from the command line
#   * the main class name
#   * -classpath
#   * -D...appname settings
#   * --module-path (only if needed)
#   * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.

# For Cygwin or MSYS, switch paths to Windows format before running java
if "$cygwin" || "$msys" ; then
    APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
    CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )

    JAVACMD=$( cygpath --unix "$JAVACMD" )

    # Now convert the arguments - kludge to limit ourselves to /bin/sh
    for arg do
        if
            case $arg in                                #(
              -*)   false ;;                            # don't mess with options #(
              /?*)  t=${arg#/} t=/${t%%/*}              # looks like a POSIX filepath
                    [ -e "$t" ] ;;                      #(
              *)    false ;;
            esac
        then
            arg=$( cygpath --path --ignore --mixed "$arg" )
        fi
        # Roll the args list around exactly as many times as the number of
        # args, so each arg winds up back in the position where it started, but
        # possibly modified.
        #
        # NB: a `for` loop captures its iteration list before it begins, so
        # changing the positional parameters here affects neither the number of
        # iterations, nor the values presented in `arg`.
        shift                   # remove old arg
        set -- "$@" "$arg"      # push replacement arg
    done
fi

# Collect all arguments for the java command;
#   * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
#     shell script including quotes and variable substitutions, so put them in
#     double quotes to make sure that they get re-expanded; and
#   * put everything else in single quotes, so that it's not re-expanded.

set -- \
        "-Dorg.gradle.appname=$APP_BASE_NAME" \
        -classpath "$CLASSPATH" \
        org.gradle.wrapper.GradleWrapperMain \
        "$@"

# Use "xargs" to parse quoted args.
#
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
#
# In Bash we could simply go:
#
#   readarray ARGS < <( xargs -n1 <<<"$var" ) &&
#   set -- "${ARGS[@]}" "$@"
#
# but POSIX shell has neither arrays nor command substitution, so instead we
# post-process each arg (as a line of input to sed) to backslash-escape any
# character that might be a shell metacharacter, then use eval to reverse
# that process (while maintaining the separation between arguments), and wrap
# the whole thing up as a single "set" statement.
#
# This will of course break if any of these variables contains a newline or
# an unmatched quote.
#

eval "set -- $(
        printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
        xargs -n1 |
        sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
        tr '\n' ' '
    )" '"$@"'

exec "$JAVACMD" "$@"


================================================
FILE: gradlew.bat
================================================
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem      https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem

@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem  Gradle startup script for Windows
@rem
@rem ##########################################################################

@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal

set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%

@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi

@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"

@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome

set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto execute

echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.

goto fail

:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe

if exist "%JAVA_EXE%" goto execute

echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.

goto fail

:execute
@rem Setup the command line

set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar


@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*

:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd

:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1

:mainEnd
if "%OS%"=="Windows_NT" endlocal

:omega


================================================
FILE: resources/changelog/1.10.2-0.6.0.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.8.0 or higher.

Additions:
* Add priorities to parts
* Add read and write aspects for Refined Storage. Read any kind of information from RS networks, or even trigger new crafting jobs.
* Optimizations in network ticking
* Optimizations in cable/part rendering
* Add Portable Logic Programmer
* Add Forge Energy read aspects and operators
The RF api compat has been disabled by default, only players who already had a config file from a previous version will still have the RF compat. (Obviously, it can still be enabled from the config file)

Changes:
* Simplification of network/part API using capabilities for addons
* Improve part textures, by Yulife
* Let batteries emit energy to all sides when a redstone signal is applied
* Cache cable models to improve render efficiency
* Increase default meneglin biome and wild menril tree spawn rates
* Improve understandability of diagnostics ticktimes
* Allow empty variable cards to be used as True boolean
* Limit battery I/O energy rates
* Improve part settings gui
* Make energy battery energy tick rate configurable

Fixes:
* Fix diagnostics not opening in SMP
* Fix opaque facades not rendering connected sides
* Fix facade quad rendering sometimes appearing behind cables, Closes #70
* Fix Logic Programmer not always correctly labeling, Closes #71
* Fix aspect values being too big for gui boxes
* Fix parts dropping when breaking in creative mode
* Fix incorrect RF interface cast causing an exception when reading
* Fix parts sometimes not being found
* Correctly emit FE from batteries and generators
* Re-init network when removing a part inbetween cables
* Fix MCMP parts dropping in creative mode
* Return default aspect property values on corrupted part states
* Avoid crash when checking for non-existing aspect in a part


================================================
FILE: resources/changelog/1.10.2-0.6.1.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.8.0 or higher.

Fixes:
* Fix RS list proxies not correctly persisting network master positions
* Fix rare crash when updating redstone info on remapped blocks
* Fix versionstats url



================================================
FILE: resources/changelog/1.10.2-0.6.10.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.9.3 or higher.

Fixes:
* Fix instant reloading of invalidated network elements, which could cause network crashes
* Fix networks for negative dimension ids breaking after world restart


================================================
FILE: resources/changelog/1.10.2-0.6.11.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.0 or higher.

Fixes:
* Fix energy transfer happening client-side, Closes #160


================================================
FILE: resources/changelog/1.10.2-0.6.12.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.1 or higher.

Fixes:
* Add better energy support for machines not supporting FE, CyclopsMC/IntegratedTunnels#14
* Fix incorrect Energy Battery blockstate when energy level becomes negative, Closes #171
* Fix redstone writers block-updating incorrect side, Closes #170
* Fix Energy Battery showing RF energy stored as max storable energy, Closes #169
* Fix crash when breaking part and opening its gui during server lag, Closes #168
* Fix rare crash for collidable components in cable, Closes #166


================================================
FILE: resources/changelog/1.10.2-0.6.2.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.8.0 or higher.

Changes:
* Update RS compat for version 1.2
* Improve type flexibility of greater and less than, Closes #77

Fixes:
* Fix Menril Leaves keeping meta value when silked, Closes #76
* Fix cable duplication, Closes #78
* Block invalid items from going into variable store, Closes #79


================================================
FILE: resources/changelog/1.10.2-0.6.3.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.8.0 or higher.

Fixes:
* Allow wild menril tree spawns to be disabled, Closes #82. It does not crash anymore when setting wildMenrilTreeChance to 0.
* Fix equality of blocks only checking metadata, Closes #83. This did not check equality of the actual block before.



================================================
FILE: resources/changelog/1.10.2-0.6.4.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.8.2 or higher.

Fixes:
* Improve facade item rendering, Closes #89
* Fix network crash for when checking priorities for invalid parts, Closes #88
* Improve temporary gui data storage to account for latencies, #64


================================================
FILE: resources/changelog/1.10.2-0.6.5.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.8.0 or higher.

Fixes:
* Don't remove blocks for invalid ray traces during block removal, #90



================================================
FILE: resources/changelog/1.10.2-0.6.6.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.9.0 or higher.

Additions:
* Added category tooltips
* Added localization for configuration gui
* Added config GUI restriction

Fixes:
* Fix crash on invalid variables in variable-driven parts
* Fix oredict operator returning string instead of list
* Prevent player being pushed off squeezer and basin, Closes #95
* Don't try to place cable when using an offset, Closes #93


================================================
FILE: resources/changelog/1.10.2-0.6.7.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.9.1 or higher.

Additions:
* Add Menril Stone Torch, Closes #114
* Add recipe for clearing part id's in a crafting grid, Closes CyclopsMC/IntegratedTunnels#13

Changes:
* Add 'torch' oredict entries for Menril Torches
* Improve manual item collecting from Squeezer and Drying Basin

Fixes:
* Fix Energy Battery causing too many unneeded block updates, Closes #117
* Fix cable not always visually connecting when placing on a part, Closes #102
* Fix bucket fill and empty sounds not being heard by the player, Closes #106
* Fix wrench not rotating all blocks, Closes #107


================================================
FILE: resources/changelog/1.10.2-0.6.8.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.9.1 or higher.

Changes:
* Remove invalid number casting, Closes #123. This was introduced because of #15, but this was not required after all.


================================================
FILE: resources/changelog/1.10.2-0.6.9.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.9.2 or higher.

Additions:
* Add aspect setting to enable strong power in redstone writer, Closes #152
* Add operator to check if a player has an external gui open, Closes #139
* Add list head and tail operators, #116
* Add Immersive Engineering squeezer recipe for Menril Resin
* Add lazy list builder operator, #116
* Add list append operator, #116
* Add list count operators, Closes #137
* Add cansmelt and canburn operators, #131
* Add NAND and NOR operators, #131

Changes:
* Simplify list contains predicate operator
* Add usage information to Squeezer tooltip, Closes #130
* Rename Named operator to To String, #124

Fixes:
* Fix lighting not updating when adding/removing facades, #149
* Fix dark display contents rendering when a facade is present, Closes #149
* Fix facade rendering on writer parts
* Make network element adding, removing and ticking thread-safe, Closes #148
* Fix breaking facade also breaks cable, #148
* Fix invalid Forestry backpack registration, #154
* Fix chunk unloading causing part containers with null networks
* Fix list append operator serialization
* Fix redstone reader not reading redstone wires in all cases, Closes #135
* Fix network resets calling add/remove listeners in the wrong order
* Fix cable dupe when breaking a part with other parts present, Closes #128
* Fix settings gui doesn't open on server, Closes #64


================================================
FILE: resources/changelog/1.10.2-0.7.0.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.3 or higher.

Additions:
* Add 'On the Dynamics of Integration', an in-game guide to the mod, which also contains achievement-based tutorials.
* Add achievements
* Add MineTweaker support for Drying Basin and Squeezer
* Support dynamic item list creation in the Logic Programmer
* Add Crystalized Menril Block/Brick and Menril Plank Stairs
* Add Delayer block. It allows you to maintain a relative history of values.
* Add operators:
  * slice
  * uniq
  * plant-related operators
  * shearable block and entity
  * breeding-related entity operators
  * entity age
* Add config option to change max network energy transfer rate
* Allow JEI recipe transfers to Logic Programmer elements with slots.
* Make Energy Battery capacity increasable by combining them in a crafting grid

Changes:
* Improve block and item value type rendering in world
* Make part loaded checks safer, Closes CyclopsMC/IntegratedTunnels#29
* Move value types before operators in logic programmer
* Allow null items, blocks and fluids to be defined, Closes #133
* Expose generator slots for piping, Closes #174
* Add check to disallow positioned network elements to interact with themselves
* Properly scale values in variable-activatable tile gui's

Fixes:
* Fix energy transfer happening client-side, Closes #160


================================================
FILE: resources/changelog/1.10.2-0.7.1.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.3 or higher.

Fixes:
* Fix part aspect settings not being restored on world load



================================================
FILE: resources/changelog/1.10.2-0.7.2.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.4 or higher.

Changes:
* Make proxies and delays stackable and clearable, Closes #181
* Clarify infobook instruction on operator creation, #181

Fixes:
* Fix LP element activation using hotkeys not working


================================================
FILE: resources/changelog/1.10.2-0.7.3.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.5 or higher.

Changes:
* Update zh_CN file
* Clarify need of operator variables in infobook, Closes #190

Fixes:
* Fix CME when changing part priorities, Closes CyclopsMC/IntegratedTunnels#34
* Fix crash when setting filledMenrilLogChance to zero, Closes #188
* Fix Menril Trees not spawning when Meneglin Biome is disabled, #186


================================================
FILE: resources/changelog/1.10.2-0.7.4.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.6 or higher.

Changes:
* Update zh_CN.lang

Fixes:
* Fix localization entry for wrongCurryingType, Closes CyclopsMC/IntegratedTunnels#36
* Fix incorrect logicProgrammerOpenRename key localization, Closes #198
* Fix Minetweaker JEI integration, Closes #187


================================================
FILE: resources/changelog/1.10.2-0.7.5.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.6 or higher.

Changes:
* Improve entity value storage, Closes #201. We now use persistent entity UUID's to refer to entities, so that references to entities persist after world restarts.
* Improve chance-related config descriptions, Closes #202

Fixes:
* Fix localization error with pipe operator, Closes #39


================================================
FILE: resources/changelog/1.10.2-0.7.6.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.6 or higher.

Changes:
* Add out-of-energy tooltip when parts are disabled, Closes #208

Fixes:
* Add additional debug information on PartStateExceptions, #204
* Fix Redstone Writer achievement not obtaining when using the Boolean aspect, Closes #207
* Fix broken Materializers not stacking, Closes #206
* Catch infinite recursion in operation variables


================================================
FILE: resources/changelog/1.10.2-0.7.7.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.6 or higher.

Fixes:
* Forcefully invalidate parts that throw a PartStateException, Closes #204



================================================
FILE: resources/changelog/1.10.2-0.7.8.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.7 or higher.

Additions:
* Add apply2 and apply3 convenience operators
* Add operator to get total item count from a list, Closes #220
* Add operators to get block and item by name, Closes #212
* Add list concat operator

Fixes:
* Fix entity integration tests due to entity lookup by UUID
* Fix pipe operator not correctly applying/currying operators, Closes CyclopsMC/IntegratedTunnels#37
* Fix crash when getting list elements from an empty delay list, Closes #223
* Fix binary operators appearing twice in the infobook, Closes #218
* Fix Minetweaker support not handling JEI recipes, Closes #187


================================================
FILE: resources/changelog/1.10.2-0.7.9.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.8 or higher.

Fixes:
* Fix parts not being removed from network when alternatively broken. Closes #232 and closes #240
* Fix collidable components crash when part container is not found, Closes #241


================================================
FILE: resources/changelog/1.11.2-0.6.10.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.9.4 or higher.

Fixes:
* Fix instant reloading of invalidated network elements, which could cause network crashes
* Fix networks for negative dimension ids breaking after world restart


================================================
FILE: resources/changelog/1.11.2-0.6.11.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.0 or higher.

Fixes:
* Fix energy transfer happening client-side, Closes #160


================================================
FILE: resources/changelog/1.11.2-0.6.12.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.1 or higher.

Additions:
* Restore IC2 mod compat

Changes:

Fixes:
* Add better energy support for machines not supporting FE, CyclopsMC/IntegratedTunnels#14
* Fix incorrect Energy Battery blockstate when energy level becomes negative, Closes #171
* Fix redstone writers block-updating incorrect side, Closes #170
* Fix Energy Battery showing RF energy stored as max storable energy, Closes #169
* Fix crash when breaking part and opening its gui during server lag, Closes #168
* Fix rare crash for collidable components in cable, Closes #166


================================================
FILE: resources/changelog/1.11.2-0.6.5.txt
================================================
Requires CyclopsCore version 0.9.0 or higher.

Initial 1.11 port

================================================
FILE: resources/changelog/1.11.2-0.6.7.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.9.1 or higher.

Additions:
* Add Menril Stone Torch, Closes #114
* Add recipe for clearing part id's in a crafting grid, Closes CyclopsMC/IntegratedTunnels#13
* Added category tooltips
* Added localization for configuration gui
* Added config GUI restriction

Changes:
* Add 'torch' oredict entries for Menril Torches
* Improved item collecting from Squeezer and Drying Basin

Fixes:
* Fix Energy Battery causing too many unneeded block updates, Closes #117
* Fix incorrect Menril Torch recipe, Closes #115
* Fix cable not always visually connecting when placing on a part, Closes #102
* Fix recipes still using null ItemStacks
* Fix bucket fill and empty sounds not being heard by the player, Closes #106
* Fix wrench not rotating all blocks, Closes #107
* Fix oredict recipe entries being incorrect, #108


================================================
FILE: resources/changelog/1.11.2-0.6.8.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.9.2 or higher.

Changes:
* Restore Forestry mod compat
* Remove invalid number casting, Closes #123 This was introduced because of #15, but this was not required after all.

Fixes:
* Fix breakage of generic unshaped recipes, Closes #121
* Fix localization of LP keybindings, Closes #118


================================================
FILE: resources/changelog/1.11.2-0.6.9.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.9.3 or higher.

Additions:
* Add aspect setting to enable strong power in redstone writer, Closes #152
* Add operator to check if a player has an external gui open, Closes #139
* Add list head and tail operators, #116
* Add Immersive Engineering squeezer recipe for Menril Resin
* Add lazy list builder operator, #116
* Add list append operator, #116
* Add list count operators, Closes #137
* Add cansmelt and canburn operators, #131
* Add NAND and NOR operators, #131
* Add usage information to Squeezer tooltip, Closes #130

Changes:
* Simplify list contains predicate operator
* Rename Named operator to To String, #124

Fixes:
* Fix Drying Basin recipes sometimes breaking, Closes #156
* Fix Drying Basin rendering missing texture'd particles
* Fix lighting not updating when adding/removing facades, #149
* Fix dark display contents rendering when a facade is present, Closes #149
* Fix facade rendering on writer parts
* Make network element adding, removing and ticking thread-safe, Closes #148
* Fix breaking facade also breaks cable, #148
* Fix Forestry mod compat crash, Closes #154
* Fix invalid Forestry backpack registration, #154
* Fix chunk unloading causing part containers with null networks
* Fix list append operator serialization
* Fix redstone reader not reading redstone wires in all cases, Closes #135
* Fix network resets calling add/remove listeners in the wrong order
* Fix settings missing texture and localization, Closes #127
* Update Refined Storage API, Closes #132
* Fix cable dupe when breaking a part with other parts present, Closes #128
* Fix settings gui doesn't open on server, Closes #64


================================================
FILE: resources/changelog/1.11.2-0.7.0.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.3 or higher.

Additions:
* Add 'On the Dynamics of Integration', an in-game guide to the mod, which also contains achievement-based tutorials.
* Add achievements
* Support dynamic item list creation in the Logic Programmer
* Add Crystalized Menril Block/Brick and Menril Plank Stairs
* Add Delayer block. It allows you to maintain a relative history of values.
* Add operators:
  * slice
  * uniq
  * plant-related operators
  * shearable block and entity
  * breeding-related entity operators
  * entity age
  * item inventory-related operators
* Add config option to change max network energy transfer rate
* Allow JEI recipe transfers to Logic Programmer elements with slots.
* Make Energy Battery capacity increasable by combining them in a crafting grid

Changes:
* Restore TCon compat
* Improve block and item value type rendering in world
* Make part loaded checks safer, Closes CyclopsMC/IntegratedTunnels#29
* Move value types before operators in logic programmer
* Allow null items, blocks and fluids to be defined, Closes #133
* Expose generator slots for piping, Closes #174
* Add check to disallow positioned network elements to interact with themselves
* Properly scale values in variable-activatable tile gui's

Fixes:
* Fix energy transfer happening client-side, Closes #160
* Fix cansmelt operator always returning true


================================================
FILE: resources/changelog/1.11.2-0.7.1.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.3 or higher.

Fixes:
* Fix part aspect settings not being restored on world load


================================================
FILE: resources/changelog/1.11.2-0.7.2.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.4 or higher.

Changes:
* Make proxies and delays stackable and clearable, Closes #181
* Clarify infobook instruction on operator creation, #181

Fixes:
* Fix LP element activation using hotkeys not working


================================================
FILE: resources/changelog/1.11.2-0.7.3.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.5 or higher.

Changes:
* Clarify need of operator variables in infobook, Closes #190
* Update zh_CN file

Fixes:
* Fix CME when changing part priorities, Closes CyclopsMC/IntegratedTunnels#34
* Fix crash when setting filledMenrilLogChance to zero, Closes #188
* Fix Menril Trees not spawning when Meneglin Biome is disabled, #186
* Fix NPE when filtering lists of items, Closes #185
* Fix variable card localized tooltip


================================================
FILE: resources/changelog/1.11.2-0.7.4.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.6 or higher.

Additions:
* Restore Immersive Engineering compat
* Restore Minetweaker compat

Changes:
* Update zh_CN.lang

Fixes:
* Fix TConstruct compat not being registered
* Fix localization entry for wrongCurryingType, Closes CyclopsMC/IntegratedTunnels#36
* Fix incorrect logicProgrammerOpenRename key localization, Closes #198


================================================
FILE: resources/changelog/1.11.2-0.7.5.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.6 or higher.

Additions:

Changes:
* Move mod compats to a separate jar which is shadowed in the main jar dynamically

Fixes:
* Fix Logic Programmer input type tooltips not showing, Closes #200


================================================
FILE: resources/changelog/1.11.2-0.7.6.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.6 or higher.

Changes:
* Improve chance-related config descriptions, Closes #202

Fixes:
* Improve entity value storage, Closes #201. We now use persistent entity UUID's to refer to entities, so that references to entities persist after world restarts.
* Fix localization error with pipe operator, Closes #39


================================================
FILE: resources/changelog/1.11.2-0.7.7.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.6 or higher.

Additions:

Changes:
* Add out-of-energy tooltip when parts are disabled, Closes #208
* Reduce number of cable connection updates to the bare minimum. Not all sides always need to be updated, only those sides that had a cable connection.
* Add additional debug information on PartStateExceptions, #204

Fixes:
* Fix Redstone Writer achievement not obtaining when using the Boolean aspect, Closes #207
* Fix broken Materializers not stacking, Closes #206
* Catch infinite recursion in operation variables



================================================
FILE: resources/changelog/1.11.2-0.8.0.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.6 or higher.

Additions:
* Add Liquid and Crystalized Chorus
* Add Mono-Directional Connector
* Add Omni-Directional Connector

Fixes:
* Fix entity display client-side crash
* Fix Drying Basin appendix localization


================================================
FILE: resources/changelog/1.11.2-0.8.1.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.6 or higher.

Fixes:
* Fix Lombok being packaged
* Forcefully invalidate parts that throw a PartStateException, Closes #204


================================================
FILE: resources/changelog/1.11.2-0.8.2.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.7 or higher.

Additions:
* Add apply2 and apply3 convenience operators
* Add operator to get total item count from a list, Closes #220
* Add operators to get block and item by name, Closes #212
* Add list concat operator

Fixes:
* Fix entity integration tests due to entity lookup by UUID
* Fix pipe operator not correctly applying/currying operators, Closes CyclopsMC/IntegratedTunnels#37
* Fix crash when getting list elements from an empty delay list, Closes #223
* Fix binary operators appearing twice in the infobook, Closes #218
* Fix Minetweaker support not handling JEI recipes, Closes #187


================================================
FILE: resources/changelog/1.11.2-0.8.3.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.7 or higher.

Fixes:
* Fix some operators returning null itemstacks
* Fix item frame aspect returning a null itemstack
* Fix display panel not properly updating when reading inventory slot values
* Fix crash on empty inventory slot reading


================================================
FILE: resources/changelog/1.11.2-0.8.4.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.8 or higher.

Changes:
* Update Chorus related textures

Fixes:
* Fix parts not being removed from network when alternatively broken. Closes #232 and closes #240
* Fix collidable components crash when part container is not found, Closes #241


================================================
FILE: resources/changelog/1.11.2-0.8.5.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.8 or higher.

Fixes:
* Fix part guis not openable after network regaining power, Closes #254
* Allow swapping of items in writers when clicking with variables, Closes #248
* Avoid chunk updates when updating redstone writer signal, Closes #247
  This also reduces the number of neighbours that get triggered to the absolute minimum.


================================================
FILE: resources/changelog/1.12-0.7.5.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.8 or higher.

Initial 1.12 port

================================================
FILE: resources/changelog/1.12-0.7.6.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.8 or higher.

Changes:
* Improve chance-related config descriptions, Closes #202
* Disable config version warning

Fixes:
* Improve entity value storage, Closes #201. We now use persistent entity UUID's to refer to entities, so that references to entities persist after world restarts.
* Fix localization error with pipe operator, Closes #39


================================================
FILE: resources/changelog/1.12-0.7.7.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.8 or higher.

Changes:
* Add additional debug information on PartStateExceptions, #204
* Add out-of-energy tooltip when parts are disabled, Closes #208
* Reduce number of cable connection updates to the bare minimum. Not all sides always need to be updated, only those sides that had a cable connection.

Fixes:
* Fix Redstone Writer achievement not obtaining when using the Boolean aspect, Closes #207
* Fix broken Materializers not stacking, Closes #206
* Catch infinite recursion in operation variables


================================================
FILE: resources/changelog/1.12-0.8.0.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.8 or higher.

Additions:
* Add Liquid and Crystalized Chorus
* Add Mono-Directional Connector
* Add Omni-Directional Connector

Fixes:
* Fix entity display client-side crash
* Fix Drying Basin appendix localization


================================================
FILE: resources/changelog/1.12-0.8.1.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.8 or higher.

Fixes:
* Fix Lombok being packaged
* Forcefully invalidate parts that throw a PartStateException, Closes #204


================================================
FILE: resources/changelog/1.12-0.8.2.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.10 or higher.

Changes:
* Update recipe id references due to latest CyclopsCore changes


================================================
FILE: resources/changelog/1.12-0.8.3.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.11 or higher.

Additions:
* Add apply2 and apply3 convenience operators
* Add operator to get total item count from a list, Closes #220
* Add operators to get block and item by name, Closes #212
* Add list concat operator

Fixes:
* Fix Meneglin Discovery advancement not being obtainable, Closes #228
* Fix entity integration tests due to entity lookup by UUID
* Fix pipe operator not correctly applying/currying operators, Closes CyclopsMC/IntegratedTunnels#37
* Fix crash when getting list elements from an empty delay list, Closes #223
* Fix binary operators appearing twice in the infobook, Closes #218
* Fix Minetweaker support not handling JEI recipes, Closes #187


================================================
FILE: resources/changelog/1.12-0.8.4.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.12 or higher.

Additions:
* Allow text fields to become fully selected on right-click

Changes:
* Mention delayer and materializer variable card restrictions in infobook

Fixes:
* Fix variable transformer advancements not being obtainable, Closes #231
* Fix some operators returning null itemstacks
* Fix broken target entity operator
* Fix item frame aspect returning a null itemstack
* Fix display panel not properly updating when reading inventory slot values
* Fix breaking integration tests
* Fix crash on empty inventory slot reading


================================================
FILE: resources/changelog/1.12-0.8.5.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.13 or higher.

Changes:
* Allow air block references to be created inside the LP, Closes #249
* Increase max width of labels in writer guis
* Allow aspect property tooltips to be added
* Allow default update intervals of part states to be changed
* Make enriched menril logs silk touchable
* Update Chorus related textures

Fixes:
* Fix incorrect itemstack valuetype null check
* Fix parts not being removed from network when alternatively broken. Closes #232 and closes #240
* Fix collidable components crash when part container is not found, Closes #241
* Fix squeezer losing fluid NBT tag information
* Fix some operators returning null itemstacks
* Fix item frame aspect returning a null itemstack
* Fix display panel not properly updating when reading inventory slot values
* Fix crash on empty inventory slot reading


================================================
FILE: resources/changelog/1.12-0.8.6.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.14 or higher.

Fixes:
* Fix part guis not openable after network regaining power, Closes #254
* Allow swapping of items in writers when clicking with variables, Closes #248
* Avoid chunk updates when updating redstone writer signal, Closes #247
  This also reduces the number of neighbours that get triggered to the absolute minimum.


================================================
FILE: resources/changelog/1.12-0.8.7.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.16 or higher.

Changes:
* Make Energy Battery level rendering TESR-based, Closes #258
  This avoids having to send block updates on energy level changes,
  which improves FPS, but also improves energy level rendering.

Fixes:
* Fix variable store contents sometimes not being synced with network, Closes #239
* Fix format errors on some logic programmer symbols
* Fix infinite loop when Delayer capacity is set to 0, Closes #263
* Fix crash when reading entity inventories in the nether, Closes #260
* Make compareTo implementations safer for clashes
  Some implementations were done using hashCode, which could result in clashes for non-equal objects.
  This could lead to non-equal objects being evicted from collections such as sets.
  This can explain the bug where networks don't revalidate certain parts in the network after reconstruction due to other parts clashing with them.
  Ignored parts such as writers would not have their `PartTypeWriteBase#updateActivation` method called, which would case their internal selected aspect to remain `null`,
  which would lead to an inactivated part that shows an error due to it still having an item in its inventory. #259
* Fix client crash when reconnecting cables using a wrench
* Fix Squeezer inventory hash not resetting when height is updated
  Closes CyclopsMC/IntegratedTunnels#52
  This fixes the problem where IT item transfer was sometimes delayed for insertion into the Squeezer
* Fix incorrect offhand handling when wrenching, Closes #257
* Fix generator animation not stopping when finished, Closes #256


================================================
FILE: resources/changelog/1.12-0.9.0.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.16 or higher.

Additions:
* Add NBT value type
* Add NBT operators
* Add block reader aspect to get the NBT tag of a tile entity

Changes:
* Make list get operator throw out-of-bounds error and add safe variant, Closes #265
Previously, the 'get' operator would simply return the default value of the value type if the index was out of bounds.
This caused to many issues, in cases where the list type was 'any' for example.

Fixes:
* Fix display panels causing unnecessary chunk rerenders
* Fix some type-safety issues


================================================
FILE: resources/changelog/1.12-0.9.1.txt
================================================
As always, don't forget to backup your world before updating!
Requires CyclopsCore version 0.10.18 or higher.

Additions:
* Restore CraftTweaker integration
* Restore TCon integration

Changes:
* Make menril wood smelt into charcoal
* Rename some blocks/items per #272
  * Rename "Menril Log" to "Menril Wood"
  * Rename "Enriched Menril Log" to "Enriched Menril Wood"
  * Rename "Menril Plank" to "Menril Wood Planks"
  * Rename "Menril Plank Stairs" to "Menril Wood Stairs"
* Allow NBT keys to be blacklisted from reading, Closes #271

Fixes:
* Localize sound event subtitles, Closes #277
* Fix network crash when uninitialized part is initialized later, Closes #282
* Fix certain aspects producing null ItemStacks, Closes CyclopsMC/IntegratedTunnels#56


================================================
FILE: resources/changelog/1.12-0.9.2.txt
================================================
As always, don't forget to bac
Download .txt
Showing preview only (203K chars total). Download the full file or copy to clipboard to get everything.
gitextract_lqd2fk71/

├── .gitattributes
├── .github/
│   ├── CONTRIBUTING.md
│   ├── FUNDING.yml
│   ├── ISSUE_TEMPLATE/
│   │   ├── Bug_report.md
│   │   ├── Feature_request.md
│   │   ├── Performance_issue.md
│   │   └── Question.md
│   ├── ISSUE_TEMPLATE.md
│   ├── issue-commenter.yml
│   ├── labeler.yml
│   ├── no-response.yml
│   ├── parse_benchmark_results.sh
│   └── workflows/
│       ├── ci.yml
│       ├── close-issues-no-response.yml
│       ├── copilot-setup-steps.yml
│       ├── crowdin.yml
│       ├── fuzzing.yml
│       ├── issue-label-commenter.yml
│       ├── issue-label-to-project-board.yml
│       ├── new-issue-label.yml
│       ├── performance.yml
│       └── publish-github-release.yml
├── .gitignore
├── .gitmodules
├── AGENTS.md
├── CHANGELOG-1.19.2.md
├── CHANGELOG-1.20.1.md
├── CHANGELOG-1.21.1.md
├── CHANGELOG-26.1.1.md
├── CHANGELOG-26.1.2.md
├── LICENSE.txt
├── PERFORMANCE_BENCHMARKING.md
├── README.md
├── build.gradle
├── crowdin.yml
├── gradle/
│   └── wrapper/
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── keystore.jks.enc
├── resources/
│   ├── cfmodel/
│   │   ├── display.model
│   │   ├── reader.model
│   │   ├── squeezer.model
│   │   └── writer.model
│   ├── changelog/
│   │   ├── 1.10.2-0.6.0.txt
│   │   ├── 1.10.2-0.6.1.txt
│   │   ├── 1.10.2-0.6.10.txt
│   │   ├── 1.10.2-0.6.11.txt
│   │   ├── 1.10.2-0.6.12.txt
│   │   ├── 1.10.2-0.6.2.txt
│   │   ├── 1.10.2-0.6.3.txt
│   │   ├── 1.10.2-0.6.4.txt
│   │   ├── 1.10.2-0.6.5.txt
│   │   ├── 1.10.2-0.6.6.txt
│   │   ├── 1.10.2-0.6.7.txt
│   │   ├── 1.10.2-0.6.8.txt
│   │   ├── 1.10.2-0.6.9.txt
│   │   ├── 1.10.2-0.7.0.txt
│   │   ├── 1.10.2-0.7.1.txt
│   │   ├── 1.10.2-0.7.2.txt
│   │   ├── 1.10.2-0.7.3.txt
│   │   ├── 1.10.2-0.7.4.txt
│   │   ├── 1.10.2-0.7.5.txt
│   │   ├── 1.10.2-0.7.6.txt
│   │   ├── 1.10.2-0.7.7.txt
│   │   ├── 1.10.2-0.7.8.txt
│   │   ├── 1.10.2-0.7.9.txt
│   │   ├── 1.11.2-0.6.10.txt
│   │   ├── 1.11.2-0.6.11.txt
│   │   ├── 1.11.2-0.6.12.txt
│   │   ├── 1.11.2-0.6.5.txt
│   │   ├── 1.11.2-0.6.7.txt
│   │   ├── 1.11.2-0.6.8.txt
│   │   ├── 1.11.2-0.6.9.txt
│   │   ├── 1.11.2-0.7.0.txt
│   │   ├── 1.11.2-0.7.1.txt
│   │   ├── 1.11.2-0.7.2.txt
│   │   ├── 1.11.2-0.7.3.txt
│   │   ├── 1.11.2-0.7.4.txt
│   │   ├── 1.11.2-0.7.5.txt
│   │   ├── 1.11.2-0.7.6.txt
│   │   ├── 1.11.2-0.7.7.txt
│   │   ├── 1.11.2-0.8.0.txt
│   │   ├── 1.11.2-0.8.1.txt
│   │   ├── 1.11.2-0.8.2.txt
│   │   ├── 1.11.2-0.8.3.txt
│   │   ├── 1.11.2-0.8.4.txt
│   │   ├── 1.11.2-0.8.5.txt
│   │   ├── 1.12-0.7.5.txt
│   │   ├── 1.12-0.7.6.txt
│   │   ├── 1.12-0.7.7.txt
│   │   ├── 1.12-0.8.0.txt
│   │   ├── 1.12-0.8.1.txt
│   │   ├── 1.12-0.8.2.txt
│   │   ├── 1.12-0.8.3.txt
│   │   ├── 1.12-0.8.4.txt
│   │   ├── 1.12-0.8.5.txt
│   │   ├── 1.12-0.8.6.txt
│   │   ├── 1.12-0.8.7.txt
│   │   ├── 1.12-0.9.0.txt
│   │   ├── 1.12-0.9.1.txt
│   │   ├── 1.12-0.9.2.txt
│   │   ├── 1.12-0.9.3.txt
│   │   ├── 1.12.2-0.10.0.txt
│   │   ├── 1.12.2-0.10.1.txt
│   │   ├── 1.12.2-0.10.2.txt
│   │   ├── 1.12.2-0.10.3.txt
│   │   ├── 1.12.2-0.10.4.txt
│   │   ├── 1.12.2-0.11.0.txt
│   │   ├── 1.12.2-0.11.1.txt
│   │   ├── 1.12.2-0.11.10.txt
│   │   ├── 1.12.2-0.11.11.txt
│   │   ├── 1.12.2-0.11.12.txt
│   │   ├── 1.12.2-0.11.13.txt
│   │   ├── 1.12.2-0.11.14.txt
│   │   ├── 1.12.2-0.11.15.txt
│   │   ├── 1.12.2-0.11.16.txt
│   │   ├── 1.12.2-0.11.17.txt
│   │   ├── 1.12.2-0.11.18.txt
│   │   ├── 1.12.2-0.11.2.txt
│   │   ├── 1.12.2-0.11.3.txt
│   │   ├── 1.12.2-0.11.4.txt
│   │   ├── 1.12.2-0.11.5.txt
│   │   ├── 1.12.2-0.11.6.txt
│   │   ├── 1.12.2-0.11.7.txt
│   │   ├── 1.12.2-0.11.8.txt
│   │   ├── 1.12.2-0.11.9.txt
│   │   ├── 1.12.2-0.9.4.txt
│   │   ├── 1.12.2-0.9.5.txt
│   │   ├── 1.12.2-0.9.6.txt
│   │   ├── 1.12.2-0.9.7.txt
│   │   ├── 1.12.2-0.9.8.txt
│   │   ├── 1.12.2-0.9.9.txt
│   │   ├── 1.12.2-1.0.0.txt
│   │   ├── 1.12.2-1.0.1.txt
│   │   ├── 1.12.2-1.0.10.txt
│   │   ├── 1.12.2-1.0.11.txt
│   │   ├── 1.12.2-1.0.12.txt
│   │   ├── 1.12.2-1.0.13.txt
│   │   ├── 1.12.2-1.0.14.txt
│   │   ├── 1.12.2-1.0.15.txt
│   │   ├── 1.12.2-1.0.16.txt
│   │   ├── 1.12.2-1.0.17.txt
│   │   ├── 1.12.2-1.0.18.txt
│   │   ├── 1.12.2-1.0.2.txt
│   │   ├── 1.12.2-1.0.3.txt
│   │   ├── 1.12.2-1.0.4.txt
│   │   ├── 1.12.2-1.0.5.txt
│   │   ├── 1.12.2-1.0.6.txt
│   │   ├── 1.12.2-1.0.7.txt
│   │   ├── 1.12.2-1.0.8.txt
│   │   ├── 1.12.2-1.0.9.txt
│   │   ├── 1.12.2-1.1.0.txt
│   │   ├── 1.12.2-1.1.1.txt
│   │   ├── 1.12.2-1.1.10.txt
│   │   ├── 1.12.2-1.1.11.txt
│   │   ├── 1.12.2-1.1.2.txt
│   │   ├── 1.12.2-1.1.3.txt
│   │   ├── 1.12.2-1.1.4.txt
│   │   ├── 1.12.2-1.1.5.txt
│   │   ├── 1.12.2-1.1.6.txt
│   │   ├── 1.12.2-1.1.7.txt
│   │   ├── 1.12.2-1.1.8.txt
│   │   ├── 1.12.2-1.1.9.txt
│   │   ├── 1.15.2-1.1.10.txt
│   │   ├── 1.15.2-1.1.11.txt
│   │   ├── 1.15.2-1.1.12.txt
│   │   ├── 1.15.2-1.1.13.txt
│   │   ├── 1.15.2-1.1.14.txt
│   │   ├── 1.15.2-1.1.15.txt
│   │   ├── 1.15.2-1.1.16.txt
│   │   ├── 1.15.2-1.1.17.txt
│   │   ├── 1.15.2-1.1.18.txt
│   │   ├── 1.15.2-1.1.19.txt
│   │   ├── 1.15.2-1.1.20.txt
│   │   ├── 1.15.2-1.1.6.txt
│   │   ├── 1.15.2-1.1.7.txt
│   │   ├── 1.15.2-1.1.8.txt
│   │   ├── 1.15.2-1.1.9.txt
│   │   ├── 1.16.4-1.1.20.txt
│   │   ├── 1.16.4-1.1.21.txt
│   │   ├── 1.16.4-1.1.22.txt
│   │   ├── 1.16.4-1.2.0.txt
│   │   ├── 1.16.4-1.3.0.txt
│   │   ├── 1.16.4-1.4.0.txt
│   │   ├── 1.16.4-1.4.1.txt
│   │   ├── 1.16.4-1.4.2.txt
│   │   ├── 1.16.4-1.4.3.txt
│   │   ├── 1.16.5-1.10.0.txt
│   │   ├── 1.16.5-1.10.1.txt
│   │   ├── 1.16.5-1.10.10.txt
│   │   ├── 1.16.5-1.10.11.txt
│   │   ├── 1.16.5-1.10.12.txt
│   │   ├── 1.16.5-1.10.13.txt
│   │   ├── 1.16.5-1.10.14.txt
│   │   ├── 1.16.5-1.10.15.txt
│   │   ├── 1.16.5-1.10.2.txt
│   │   ├── 1.16.5-1.10.3.txt
│   │   ├── 1.16.5-1.10.4.txt
│   │   ├── 1.16.5-1.10.5.txt
│   │   ├── 1.16.5-1.10.6.txt
│   │   ├── 1.16.5-1.10.7.txt
│   │   ├── 1.16.5-1.10.8.txt
│   │   ├── 1.16.5-1.10.9.txt
│   │   ├── 1.16.5-1.5.0.txt
│   │   ├── 1.16.5-1.5.1.txt
│   │   ├── 1.16.5-1.6.0.txt
│   │   ├── 1.16.5-1.6.1.txt
│   │   ├── 1.16.5-1.7.0.txt
│   │   ├── 1.16.5-1.7.1.txt
│   │   ├── 1.16.5-1.7.2.txt
│   │   ├── 1.16.5-1.8.0.txt
│   │   ├── 1.16.5-1.8.1.txt
│   │   ├── 1.16.5-1.8.2.txt
│   │   ├── 1.16.5-1.8.3.txt
│   │   ├── 1.16.5-1.8.4.txt
│   │   ├── 1.16.5-1.8.5.txt
│   │   ├── 1.16.5-1.9.0.txt
│   │   ├── 1.16.5-1.9.1.txt
│   │   ├── 1.16.5-1.9.2.txt
│   │   ├── 1.16.5-1.9.3.txt
│   │   ├── 1.16.5-1.9.4.txt
│   │   ├── 1.18.1-1.10.10.txt
│   │   ├── 1.18.1-1.10.11.txt
│   │   ├── 1.18.1-1.10.12.txt
│   │   ├── 1.18.1-1.10.13.txt
│   │   ├── 1.18.1-1.10.6.txt
│   │   ├── 1.18.1-1.10.7.txt
│   │   ├── 1.18.1-1.10.8.txt
│   │   ├── 1.18.1-1.10.9.txt
│   │   ├── 1.18.2-1.10.13.txt
│   │   ├── 1.18.2-1.10.14.txt
│   │   ├── 1.18.2-1.10.15.txt
│   │   ├── 1.18.2-1.10.16.txt
│   │   ├── 1.18.2-1.10.17.txt
│   │   ├── 1.18.2-1.10.18.txt
│   │   ├── 1.18.2-1.11.0.txt
│   │   ├── 1.18.2-1.11.1.txt
│   │   ├── 1.18.2-1.11.10.txt
│   │   ├── 1.18.2-1.11.11.txt
│   │   ├── 1.18.2-1.11.12.txt
│   │   ├── 1.18.2-1.11.13.txt
│   │   ├── 1.18.2-1.11.2.txt
│   │   ├── 1.18.2-1.11.3.txt
│   │   ├── 1.18.2-1.11.4.txt
│   │   ├── 1.18.2-1.11.5.txt
│   │   ├── 1.18.2-1.11.6.txt
│   │   ├── 1.18.2-1.11.7.txt
│   │   ├── 1.18.2-1.11.8.txt
│   │   ├── 1.18.2-1.11.9.txt
│   │   ├── 1.18.2-1.12.0.txt
│   │   ├── 1.18.2-1.12.1.txt
│   │   ├── 1.18.2-1.12.2.txt
│   │   ├── 1.18.2-1.12.3.txt
│   │   ├── 1.18.2-1.12.4.txt
│   │   ├── 1.18.2-1.12.5.txt
│   │   ├── 1.18.2-1.13.0.txt
│   │   ├── 1.18.2-1.13.1.txt
│   │   ├── 1.18.2-1.13.2.txt
│   │   ├── 1.18.2-1.13.3.txt
│   │   ├── 1.18.2-1.13.4.txt
│   │   ├── 1.18.2-1.13.5.txt
│   │   ├── 1.18.2-1.13.6.txt
│   │   ├── 1.18.2-1.13.7.txt
│   │   ├── 1.18.2-1.13.8.txt
│   │   ├── 1.18.2-1.14.0.txt
│   │   ├── 1.18.2-1.15.0.txt
│   │   ├── 1.18.2-1.16.0.txt
│   │   ├── 1.18.2-1.16.1.txt
│   │   ├── 1.18.2-1.17.0.txt
│   │   ├── 1.18.2-1.17.1.txt
│   │   ├── 1.18.2-1.17.2.txt
│   │   ├── 1.18.2-1.17.3.txt
│   │   ├── 1.18.2-1.17.4.txt
│   │   ├── 1.18.2-1.17.5.txt
│   │   ├── 1.19-1.11.3.txt
│   │   ├── 1.19-1.11.4.txt
│   │   ├── 1.19-1.11.5.txt
│   │   ├── 1.19-1.11.6.txt
│   │   ├── 1.19-1.11.7.txt
│   │   ├── 1.19.2-1.11.10.txt
│   │   ├── 1.19.2-1.11.11.txt
│   │   ├── 1.19.2-1.11.7.txt
│   │   ├── 1.19.2-1.11.8.txt
│   │   ├── 1.19.2-1.11.9.txt
│   │   ├── 1.19.2-1.12.0.txt
│   │   ├── 1.19.2-1.13.0.txt
│   │   ├── 1.19.2-1.13.1.txt
│   │   ├── 1.19.2-1.14.0.txt
│   │   ├── 1.19.2-1.14.1.txt
│   │   ├── 1.19.2-1.14.2.txt
│   │   ├── 1.19.2-1.14.3.txt
│   │   ├── 1.19.2-1.14.4.txt
│   │   ├── 1.19.2-1.14.5.txt
│   │   ├── 1.19.2-1.14.6.txt
│   │   ├── 1.19.2-1.14.7.txt
│   │   ├── 1.19.2-1.15.0.txt
│   │   ├── 1.19.2-1.15.1.txt
│   │   ├── 1.19.2-1.15.2.txt
│   │   ├── 1.19.2-1.16.0.txt
│   │   ├── 1.19.2-1.16.1.txt
│   │   ├── 1.19.2-1.16.10.txt
│   │   ├── 1.19.2-1.16.2.txt
│   │   ├── 1.19.2-1.16.3.txt
│   │   ├── 1.19.2-1.16.4.txt
│   │   ├── 1.19.2-1.16.5.txt
│   │   ├── 1.19.2-1.16.6.txt
│   │   ├── 1.19.2-1.16.7.txt
│   │   ├── 1.19.2-1.16.8.txt
│   │   ├── 1.19.2-1.16.9.txt
│   │   ├── 1.19.2-1.17.0.txt
│   │   ├── 1.19.2-1.18.0.txt
│   │   ├── 1.19.2-1.19.0.txt
│   │   ├── 1.19.2-1.19.1.txt
│   │   ├── 1.19.2-1.20.0.txt
│   │   ├── 1.19.2-1.20.1.txt
│   │   ├── 1.19.2-1.20.2.txt
│   │   ├── 1.19.2-1.20.3.txt
│   │   ├── 1.19.2-1.21.0.txt
│   │   ├── 1.19.2-1.21.1.txt
│   │   ├── 1.19.2-1.21.2.txt
│   │   ├── 1.19.2-1.21.3.txt
│   │   ├── 1.19.2-1.22.0.txt
│   │   ├── 1.19.2-1.22.1.txt
│   │   ├── 1.19.2-1.22.2.txt
│   │   ├── 1.19.2-1.23.0.txt
│   │   ├── 1.19.2-1.23.1.txt
│   │   ├── 1.19.2-1.23.10.txt
│   │   ├── 1.19.2-1.23.11.txt
│   │   ├── 1.19.2-1.23.2.txt
│   │   ├── 1.19.2-1.23.3.txt
│   │   ├── 1.19.2-1.23.4.txt
│   │   ├── 1.19.2-1.23.5.txt
│   │   ├── 1.19.2-1.23.6.txt
│   │   ├── 1.19.2-1.23.7.txt
│   │   ├── 1.19.2-1.23.8.txt
│   │   ├── 1.19.2-1.23.9.txt
│   │   ├── 1.19.2-1.24.0.txt
│   │   ├── 1.19.2-1.24.1.txt
│   │   ├── 1.19.2-1.24.2.txt
│   │   ├── 1.19.2-1.24.3.txt
│   │   ├── 1.19.2-1.24.4.txt
│   │   ├── 1.19.2-1.25.0.txt
│   │   ├── 1.19.2-1.25.1.txt
│   │   ├── 1.19.2-1.25.2.txt
│   │   ├── 1.19.2-1.25.3.txt
│   │   ├── 1.19.2-1.25.4.txt
│   │   ├── 1.19.2-1.25.5.txt
│   │   ├── 1.19.2-1.26.0.txt
│   │   ├── 1.19.2-1.26.1.txt
│   │   ├── 1.19.2-1.27.0.txt
│   │   ├── 1.19.2-1.27.1.txt
│   │   ├── 1.19.2-1.27.2.txt
│   │   ├── 1.19.2-1.27.3.txt
│   │   ├── 1.19.2-1.27.4.txt
│   │   ├── 1.19.2-1.27.5.txt
│   │   ├── 1.19.2-1.27.6.txt
│   │   ├── 1.19.2-1.28.0.txt
│   │   ├── 1.19.2-1.28.1.txt
│   │   ├── 1.19.2-1.28.2.txt
│   │   ├── 1.19.2-1.28.3.txt
│   │   ├── 1.19.2-1.28.4.txt
│   │   ├── 1.19.2-1.28.5.txt
│   │   ├── 1.19.2-1.28.6.txt
│   │   ├── 1.19.2-1.29.0.txt
│   │   ├── 1.19.2-1.29.1.txt
│   │   ├── 1.19.2-1.29.2.txt
│   │   ├── 1.19.2-1.29.3.txt
│   │   ├── 1.19.2-1.30.0.txt
│   │   ├── 1.19.2-1.30.1.txt
│   │   ├── 1.19.3-1.14.6.txt
│   │   ├── 1.19.3-1.14.7.txt
│   │   ├── 1.19.3-1.14.8.txt
│   │   ├── 1.19.3-1.15.0.txt
│   │   ├── 1.19.3-1.15.1.txt
│   │   ├── 1.19.3-1.15.2.txt
│   │   ├── 1.19.3-1.16.0.txt
│   │   ├── 1.19.3-1.16.1.txt
│   │   ├── 1.19.3-1.16.2.txt
│   │   ├── 1.19.4-1.16.2.txt
│   │   ├── 1.19.4-1.16.3.txt
│   │   ├── 1.19.4-1.16.4.txt
│   │   ├── 1.19.4-1.16.5.txt
│   │   ├── 1.19.4-1.16.6.txt
│   │   ├── 1.19.4-1.16.7.txt
│   │   ├── 1.20.1-1.16.10.txt
│   │   ├── 1.20.1-1.16.7.txt
│   │   ├── 1.20.1-1.16.8.txt
│   │   ├── 1.20.1-1.16.9.txt
│   │   ├── 1.20.1-1.17.0.txt
│   │   ├── 1.20.1-1.18.0.txt
│   │   ├── 1.20.1-1.19.0.txt
│   │   ├── 1.20.1-1.19.1.txt
│   │   ├── 1.20.1-1.20.0.txt
│   │   ├── 1.20.1-1.20.1.txt
│   │   ├── 1.20.1-1.20.2.txt
│   │   ├── 1.20.1-1.20.3.txt
│   │   ├── 1.20.1-1.20.4.txt
│   │   ├── 1.20.1-1.21.0.txt
│   │   ├── 1.20.1-1.21.1.txt
│   │   ├── 1.20.1-1.21.2.txt
│   │   ├── 1.20.1-1.21.3.txt
│   │   ├── 1.20.1-1.22.0.txt
│   │   ├── 1.20.1-1.22.1.txt
│   │   ├── 1.20.1-1.22.2.txt
│   │   ├── 1.20.1-1.23.0.txt
│   │   ├── 1.20.1-1.23.1.txt
│   │   ├── 1.20.1-1.23.10.txt
│   │   ├── 1.20.1-1.23.11.txt
│   │   ├── 1.20.1-1.23.12.txt
│   │   ├── 1.20.1-1.23.13.txt
│   │   ├── 1.20.1-1.23.2.txt
│   │   ├── 1.20.1-1.23.3.txt
│   │   ├── 1.20.1-1.23.4.txt
│   │   ├── 1.20.1-1.23.5.txt
│   │   ├── 1.20.1-1.23.6.txt
│   │   ├── 1.20.1-1.23.7.txt
│   │   ├── 1.20.1-1.23.8.txt
│   │   ├── 1.20.1-1.23.9.txt
│   │   ├── 1.20.1-1.24.0.txt
│   │   ├── 1.20.1-1.24.1.txt
│   │   ├── 1.20.1-1.24.2.txt
│   │   ├── 1.20.1-1.24.3.txt
│   │   ├── 1.20.1-1.25.0.txt
│   │   ├── 1.20.1-1.25.1.txt
│   │   ├── 1.20.1-1.25.2.txt
│   │   ├── 1.20.1-1.25.3.txt
│   │   ├── 1.20.1-1.25.4.txt
│   │   ├── 1.20.1-1.25.5.txt
│   │   ├── 1.20.1-1.25.6.txt
│   │   ├── 1.20.1-1.26.0.txt
│   │   ├── 1.20.1-1.26.1.txt
│   │   ├── 1.20.1-1.27.0.txt
│   │   ├── 1.20.1-1.27.1.txt
│   │   ├── 1.20.1-1.27.2.txt
│   │   ├── 1.20.1-1.27.3.txt
│   │   ├── 1.20.1-1.27.4.txt
│   │   ├── 1.20.1-1.27.5.txt
│   │   ├── 1.20.1-1.27.6.txt
│   │   ├── 1.20.1-1.28.0.txt
│   │   ├── 1.20.1-1.28.1.txt
│   │   ├── 1.20.1-1.29.0.txt
│   │   ├── 1.20.1-1.29.1.txt
│   │   ├── 1.20.1-1.29.10.txt
│   │   ├── 1.20.1-1.29.11.txt
│   │   ├── 1.20.1-1.29.2.txt
│   │   ├── 1.20.1-1.29.3.txt
│   │   ├── 1.20.1-1.29.4.txt
│   │   ├── 1.20.1-1.29.5.txt
│   │   ├── 1.20.1-1.29.6.txt
│   │   ├── 1.20.1-1.29.7.txt
│   │   ├── 1.20.1-1.29.8.txt
│   │   ├── 1.20.1-1.29.9.txt
│   │   ├── 1.20.1-1.30.0.txt
│   │   ├── 1.20.1-1.30.1.txt
│   │   ├── 1.20.1-1.30.2.txt
│   │   ├── 1.20.1-1.30.3.txt
│   │   ├── 1.20.1-1.30.4.txt
│   │   ├── 1.20.1-1.30.5.txt
│   │   ├── 1.20.4-1.21.2.txt
│   │   ├── 1.20.4-1.21.3.txt
│   │   ├── 1.20.4-1.21.4.txt
│   │   ├── 1.20.4-1.21.5.txt
│   │   ├── 1.20.4-1.21.6.txt
│   │   ├── 1.20.4-1.21.7.txt
│   │   ├── 1.20.4-1.21.8.txt
│   │   ├── 1.21-1.21.10.txt
│   │   ├── 1.21-1.21.4.txt
│   │   ├── 1.21-1.21.5.txt
│   │   ├── 1.21-1.21.6.txt
│   │   ├── 1.21-1.21.7.txt
│   │   ├── 1.21-1.21.8.txt
│   │   ├── 1.21-1.21.9.txt
│   │   ├── 1.21-1.22.0.txt
│   │   ├── 1.21-1.22.1.txt
│   │   ├── 1.21-1.22.2.txt
│   │   ├── 1.21-1.23.0.txt
│   │   ├── 1.21-1.23.1.txt
│   │   ├── 1.21.1-1.23.10.txt
│   │   ├── 1.21.1-1.23.11.txt
│   │   ├── 1.21.1-1.23.12.txt
│   │   ├── 1.21.1-1.23.13.txt
│   │   ├── 1.21.1-1.23.14.txt
│   │   ├── 1.21.1-1.23.15.txt
│   │   ├── 1.21.1-1.23.16.txt
│   │   ├── 1.21.1-1.23.17.txt
│   │   ├── 1.21.1-1.23.18.txt
│   │   ├── 1.21.1-1.23.19.txt
│   │   ├── 1.21.1-1.23.2.txt
│   │   ├── 1.21.1-1.23.3.txt
│   │   ├── 1.21.1-1.23.4.txt
│   │   ├── 1.21.1-1.23.5.txt
│   │   ├── 1.21.1-1.23.6.txt
│   │   ├── 1.21.1-1.23.7.txt
│   │   ├── 1.21.1-1.23.8.txt
│   │   ├── 1.21.1-1.23.9.txt
│   │   ├── 1.21.1-1.24.0.txt
│   │   ├── 1.21.1-1.24.1.txt
│   │   ├── 1.21.1-1.24.2.txt
│   │   ├── 1.21.1-1.24.3.txt
│   │   ├── 1.21.1-1.25.0.txt
│   │   ├── 1.21.1-1.25.1.txt
│   │   ├── 1.21.1-1.25.10.txt
│   │   ├── 1.21.1-1.25.11.txt
│   │   ├── 1.21.1-1.25.12.txt
│   │   ├── 1.21.1-1.25.2.txt
│   │   ├── 1.21.1-1.25.3.txt
│   │   ├── 1.21.1-1.25.4.txt
│   │   ├── 1.21.1-1.25.5.txt
│   │   ├── 1.21.1-1.25.6.txt
│   │   ├── 1.21.1-1.25.7.txt
│   │   ├── 1.21.1-1.25.8.txt
│   │   ├── 1.21.1-1.25.9.txt
│   │   ├── 1.21.1-1.26.0.txt
│   │   ├── 1.21.1-1.26.1.txt
│   │   ├── 1.21.1-1.26.2.txt
│   │   ├── 1.21.1-1.27.0.txt
│   │   ├── 1.21.1-1.27.1.txt
│   │   ├── 1.21.1-1.27.2.txt
│   │   ├── 1.21.1-1.27.3.txt
│   │   ├── 1.21.1-1.27.4.txt
│   │   ├── 1.21.1-1.27.5.txt
│   │   ├── 1.21.1-1.27.6.txt
│   │   ├── 1.21.1-1.27.7.txt
│   │   ├── 1.21.1-1.27.8.txt
│   │   ├── 1.21.1-1.27.9.txt
│   │   ├── 1.21.1-1.28.0.txt
│   │   ├── 1.21.1-1.28.1.txt
│   │   ├── 1.21.1-1.29.0.txt
│   │   ├── 1.21.1-1.29.1.txt
│   │   ├── 1.21.1-1.29.2.txt
│   │   ├── 1.21.1-1.29.3.txt
│   │   ├── 1.21.1-1.29.4.txt
│   │   ├── 1.21.1-1.29.5.txt
│   │   ├── 1.21.1-1.29.6.txt
│   │   ├── 1.21.1-1.29.7.txt
│   │   ├── 1.21.1-1.30.0.txt
│   │   ├── 1.21.1-1.30.1.txt
│   │   ├── 1.21.1-1.30.2.txt
│   │   ├── 1.21.1-1.30.3.txt
│   │   ├── 1.21.1-1.30.4.txt
│   │   ├── 1.21.1-1.30.5.txt
│   │   ├── 1.21.1-1.31.0.txt
│   │   ├── 1.21.1-1.32.0.txt
│   │   ├── 1.21.1-1.32.1.txt
│   │   ├── 1.21.1-1.32.2.txt
│   │   ├── 1.21.1-1.32.3.txt
│   │   ├── 1.21.1-1.32.4.txt
│   │   ├── 1.21.1-1.32.5.txt
│   │   ├── 1.21.1-1.32.6.txt
│   │   ├── 1.8-0.1.0.txt
│   │   ├── 1.8.9-0.2.0.txt
│   │   ├── 1.8.9-0.3.0.txt
│   │   ├── 1.8.9-0.3.1.txt
│   │   ├── 1.8.9-0.3.2.txt
│   │   ├── 1.8.9-0.3.3.txt
│   │   ├── 1.8.9-0.3.4.txt
│   │   ├── 1.8.9-0.3.5.txt
│   │   ├── 1.8.9-0.3.6.txt
│   │   ├── 1.8.9-0.3.7.txt
│   │   ├── 1.8.9-0.3.8.txt
│   │   ├── 1.8.9-0.3.9.txt
│   │   ├── 1.9-0.3.4.txt
│   │   ├── 1.9-0.3.5.txt
│   │   ├── 1.9-0.3.6.txt
│   │   ├── 1.9-0.3.7.txt
│   │   ├── 1.9-0.3.8.txt
│   │   ├── 1.9-0.3.9.txt
│   │   ├── 1.9.4-0.3.10.txt
│   │   ├── 1.9.4-0.4.0.txt
│   │   ├── 1.9.4-0.4.1.txt
│   │   ├── 1.9.4-0.4.2.txt
│   │   ├── 1.9.4-0.5.0.txt
│   │   ├── 1.9.4-0.5.1.txt
│   │   ├── 26.1.1-1.32.10.txt
│   │   ├── 26.1.1-1.32.11.txt
│   │   ├── 26.1.1-1.32.3.txt
│   │   ├── 26.1.1-1.32.4.txt
│   │   ├── 26.1.1-1.32.5.txt
│   │   ├── 26.1.1-1.32.6.txt
│   │   ├── 26.1.1-1.32.7.txt
│   │   ├── 26.1.1-1.32.8.txt
│   │   ├── 26.1.1-1.32.9.txt
│   │   ├── 26.1.2-1.32.11.txt
│   │   ├── 26.1.2-1.32.12.txt
│   │   ├── 26.1.2-1.32.13.txt
│   │   └── 26.1.2-1.33.0.txt
│   ├── textures/
│   │   └── gui/
│   │       ├── mechanical_drying_basin.psd
│   │       └── mechanical_squeezer.psd
│   └── uml/
│       └── integrateddynamics.vpp
├── scripts/
│   └── pre-commit
├── secrets.properties_template
├── settings.gradle
└── src/
    ├── main/
    │   ├── java/
    │   │   └── org/
    │   │       └── cyclops/
    │   │           └── integrateddynamics/
    │   │               ├── Capabilities.java
    │   │               ├── Configs.java
    │   │               ├── GeneralConfig.java
    │   │               ├── IntegratedDynamics.java
    │   │               ├── Reference.java
    │   │               ├── RegistryEntries.java
    │   │               ├── advancement/
    │   │               │   └── criterion/
    │   │               │       ├── NetworkInitializedTrigger.java
    │   │               │       ├── NetworkInitializedTriggerConfig.java
    │   │               │       ├── PartReaderAspectTrigger.java
    │   │               │       ├── PartReaderAspectTriggerConfig.java
    │   │               │       ├── PartVariableDrivenAspectTrigger.java
    │   │               │       ├── PartVariableDrivenAspectTriggerConfig.java
    │   │               │       ├── PartWriterAspectTrigger.java
    │   │               │       ├── PartWriterAspectTriggerConfig.java
    │   │               │       ├── VariableCreatedTrigger.java
    │   │               │       └── VariableCreatedTriggerConfig.java
    │   │               ├── api/
    │   │               │   ├── APIReference.java
    │   │               │   ├── IntegratedDynamicsAPI.java
    │   │               │   ├── PartStateException.java
    │   │               │   ├── advancement/
    │   │               │   │   └── criterion/
    │   │               │   │       ├── ValuePredicate.java
    │   │               │   │       ├── VariableFacadePredicate.java
    │   │               │   │       └── VariablePredicate.java
    │   │               │   ├── block/
    │   │               │   │   ├── IDynamicLight.java
    │   │               │   │   ├── IDynamicRedstone.java
    │   │               │   │   ├── IFacadeable.java
    │   │               │   │   ├── IVariableContainer.java
    │   │               │   │   └── cable/
    │   │               │   │       ├── ICable.java
    │   │               │   │       └── ICableFakeable.java
    │   │               │   ├── client/
    │   │               │   │   ├── gui/
    │   │               │   │   │   └── subgui/
    │   │               │   │   │       ├── IGuiInputElement.java
    │   │               │   │   │       ├── IGuiInputElementClient.java
    │   │               │   │   │       ├── IGuiInputElementValueType.java
    │   │               │   │   │       ├── IGuiInputElementValueTypeClient.java
    │   │               │   │   │       ├── ISubGui.java
    │   │               │   │   │       └── ISubGuiBox.java
    │   │               │   │   ├── model/
    │   │               │   │   │   ├── IVariableModelBaked.java
    │   │               │   │   │   ├── IVariableModelProvider.java
    │   │               │   │   │   └── IVariableModelProviderRegistry.java
    │   │               │   │   └── render/
    │   │               │   │       ├── part/
    │   │               │   │       │   ├── IPartOverlayRenderer.java
    │   │               │   │       │   └── IPartOverlayRendererRegistry.java
    │   │               │   │       └── valuetype/
    │   │               │   │           ├── IValueTypeWorldRenderer.java
    │   │               │   │           └── IValueTypeWorldRendererRegistry.java
    │   │               │   ├── evaluate/
    │   │               │   │   ├── EvaluationException.java
    │   │               │   │   ├── IValueInterface.java
    │   │               │   │   ├── InvalidValueTypeException.java
    │   │               │   │   ├── expression/
    │   │               │   │   │   ├── IExpression.java
    │   │               │   │   │   ├── ILazyExpressionValueCache.java
    │   │               │   │   │   └── VariableAdapter.java
    │   │               │   │   ├── operator/
    │   │               │   │   │   ├── IOperator.java
    │   │               │   │   │   ├── IOperatorRegistry.java
    │   │               │   │   │   └── IOperatorSerializer.java
    │   │               │   │   └── variable/
    │   │               │   │       ├── IValue.java
    │   │               │   │       ├── IValueCastRegistry.java
    │   │               │   │       ├── IValueType.java
    │   │               │   │       ├── IValueTypeCategory.java
    │   │               │   │       ├── IValueTypeClient.java
    │   │               │   │       ├── IValueTypeLightLevelRegistry.java
    │   │               │   │       ├── IValueTypeListProxy.java
    │   │               │   │       ├── IValueTypeListProxyFactoryTypeRegistry.java
    │   │               │   │       ├── IValueTypeNamed.java
    │   │               │   │       ├── IValueTypeNullable.java
    │   │               │   │       ├── IValueTypeNumber.java
    │   │               │   │       ├── IValueTypeRegistry.java
    │   │               │   │       ├── IValueTypeRegistryClient.java
    │   │               │   │       ├── IValueTypeUniquelyNamed.java
    │   │               │   │       ├── IVariable.java
    │   │               │   │       ├── IVariableInvalidateListener.java
    │   │               │   │       ├── ValueDeseralizationContext.java
    │   │               │   │       └── ValueDeseralizationContextClient.java
    │   │               │   ├── ingredient/
    │   │               │   │   ├── IIngredientComponentHandler.java
    │   │               │   │   ├── IIngredientComponentHandlerRegistry.java
    │   │               │   │   ├── IIngredientComponentStorageObservable.java
    │   │               │   │   ├── IIngredientPositionsIndex.java
    │   │               │   │   └── capability/
    │   │               │   │       ├── DefaultPositionedAddonsNetworkIngredientsHandler.java
    │   │               │   │       └── IPositionedAddonsNetworkIngredientsHandler.java
    │   │               │   ├── item/
    │   │               │   │   ├── IAspectVariableFacade.java
    │   │               │   │   ├── IDelayVariableFacade.java
    │   │               │   │   ├── IOperatorVariableFacade.java
    │   │               │   │   ├── IProxyVariableFacade.java
    │   │               │   │   ├── IValueTypeVariableFacade.java
    │   │               │   │   ├── IVariableFacade.java
    │   │               │   │   ├── IVariableFacadeClient.java
    │   │               │   │   ├── IVariableFacadeHandler.java
    │   │               │   │   ├── IVariableFacadeHandlerRegistry.java
    │   │               │   │   ├── IVariableFacadeHolder.java
    │   │               │   │   └── TagPathElement.java
    │   │               │   ├── logicprogrammer/
    │   │               │   │   ├── IConfigRenderPattern.java
    │   │               │   │   ├── ILogicProgrammerElement.java
    │   │               │   │   ├── ILogicProgrammerElementClient.java
    │   │               │   │   ├── ILogicProgrammerElementType.java
    │   │               │   │   ├── ILogicProgrammerElementTypeRegistry.java
    │   │               │   │   └── IValueTypeLogicProgrammerElement.java
    │   │               │   ├── network/
    │   │               │   │   ├── AttachCapabilitiesEventNetwork.java
    │   │               │   │   ├── FullNetworkListenerAdapter.java
    │   │               │   │   ├── IEnergyConsumingNetworkElement.java
    │   │               │   │   ├── IEnergyNetwork.java
    │   │               │   │   ├── IEventListenableNetworkElement.java
    │   │               │   │   ├── IFullNetworkListener.java
    │   │               │   │   ├── IIdentifiableNetworkElement.java
    │   │               │   │   ├── INetwork.java
    │   │               │   │   ├── INetworkCarrier.java
    │   │               │   │   ├── INetworkCraftingHandler.java
    │   │               │   │   ├── INetworkCraftingHandlerRegistry.java
    │   │               │   │   ├── INetworkElement.java
    │   │               │   │   ├── INetworkElementProvider.java
    │   │               │   │   ├── INetworkEventListener.java
    │   │               │   │   ├── INetworkIngredientsChannel.java
    │   │               │   │   ├── IPartNetwork.java
    │   │               │   │   ├── IPartNetworkElement.java
    │   │               │   │   ├── IPartPosIteratorHandler.java
    │   │               │   │   ├── IPositionedAddonsNetwork.java
    │   │               │   │   ├── IPositionedAddonsNetworkIngredients.java
    │   │               │   │   ├── IPositionedNetworkElement.java
    │   │               │   │   ├── ISidedNetworkElement.java
    │   │               │   │   ├── NetworkCapability.java
    │   │               │   │   ├── PositionedAddonsNetworkIngredientsFilter.java
    │   │               │   │   └── event/
    │   │               │   │       ├── ICancelableNetworkEvent.java
    │   │               │   │       ├── INetworkEvent.java
    │   │               │   │       └── INetworkEventBus.java
    │   │               │   ├── part/
    │   │               │   │   ├── AttachCapabilitiesEventPart.java
    │   │               │   │   ├── IPartContainer.java
    │   │               │   │   ├── IPartState.java
    │   │               │   │   ├── IPartType.java
    │   │               │   │   ├── IPartTypeActiveVariable.java
    │   │               │   │   ├── IPartTypeRegistry.java
    │   │               │   │   ├── PartCapability.java
    │   │               │   │   ├── PartPathElement.java
    │   │               │   │   ├── PartPos.java
    │   │               │   │   ├── PartRenderPosition.java
    │   │               │   │   ├── PartTarget.java
    │   │               │   │   ├── PartTypeAdapter.java
    │   │               │   │   ├── PrioritizedPartPos.java
    │   │               │   │   ├── aspect/
    │   │               │   │   │   ├── AspectUpdateType.java
    │   │               │   │   │   ├── IAspect.java
    │   │               │   │   │   ├── IAspectRead.java
    │   │               │   │   │   ├── IAspectRegistry.java
    │   │               │   │   │   ├── IAspectRegistryClient.java
    │   │               │   │   │   ├── IAspectVariable.java
    │   │               │   │   │   ├── IAspectWrite.java
    │   │               │   │   │   ├── IPositionedVariable.java
    │   │               │   │   │   └── property/
    │   │               │   │   │       ├── IAspectProperties.java
    │   │               │   │   │       └── IAspectPropertyTypeInstance.java
    │   │               │   │   ├── read/
    │   │               │   │   │   ├── IPartStateReader.java
    │   │               │   │   │   └── IPartTypeReader.java
    │   │               │   │   └── write/
    │   │               │   │       ├── IPartStateWriter.java
    │   │               │   │       └── IPartTypeWriter.java
    │   │               │   └── path/
    │   │               │       ├── IPathElement.java
    │   │               │       ├── ISidedPathElement.java
    │   │               │       └── SidedPathElementParams.java
    │   │               ├── block/
    │   │               │   ├── BlockCable.java
    │   │               │   ├── BlockCableClientConfig.java
    │   │               │   ├── BlockCableConfig.java
    │   │               │   ├── BlockCoalGenerator.java
    │   │               │   ├── BlockCoalGeneratorConfig.java
    │   │               │   ├── BlockCreativeEnergyBattery.java
    │   │               │   ├── BlockCreativeEnergyBatteryConfig.java
    │   │               │   ├── BlockCreativeEnergyBatteryConfigClient.java
    │   │               │   ├── BlockCrystalizedChorusBlockConfig.java
    │   │               │   ├── BlockCrystalizedChorusBlockSlabConfig.java
    │   │               │   ├── BlockCrystalizedChorusBlockStairsConfig.java
    │   │               │   ├── BlockCrystalizedChorusBrickConfig.java
    │   │               │   ├── BlockCrystalizedChorusBrickSlabConfig.java
    │   │               │   ├── BlockCrystalizedChorusBrickStairsConfig.java
    │   │               │   ├── BlockCrystalizedMenrilBlockConfig.java
    │   │               │   ├── BlockCrystalizedMenrilBlockSlabConfig.java
    │   │               │   ├── BlockCrystalizedMenrilBlockStairsConfig.java
    │   │               │   ├── BlockCrystalizedMenrilBrickConfig.java
    │   │               │   ├── BlockCrystalizedMenrilBrickSlabConfig.java
    │   │               │   ├── BlockCrystalizedMenrilBrickStairsConfig.java
    │   │               │   ├── BlockDelay.java
    │   │               │   ├── BlockDelayConfig.java
    │   │               │   ├── BlockDryingBasin.java
    │   │               │   ├── BlockDryingBasinConfig.java
    │   │               │   ├── BlockEnergyBattery.java
    │   │               │   ├── BlockEnergyBatteryBase.java
    │   │               │   ├── BlockEnergyBatteryConfig.java
    │   │               │   ├── BlockEnergyBatteryConfigClient.java
    │   │               │   ├── BlockFluidLiquidChorus.java
    │   │               │   ├── BlockFluidLiquidChorusConfig.java
    │   │               │   ├── BlockFluidMenrilResin.java
    │   │               │   ├── BlockFluidMenrilResinConfig.java
    │   │               │   ├── BlockInvisibleLight.java
    │   │               │   ├── BlockInvisibleLightConfig.java
    │   │               │   ├── BlockLogicProgrammer.java
    │   │               │   ├── BlockLogicProgrammerConfig.java
    │   │               │   ├── BlockMaterializer.java
    │   │               │   ├── BlockMaterializerConfig.java
    │   │               │   ├── BlockMechanicalDryingBasin.java
    │   │               │   ├── BlockMechanicalDryingBasinConfig.java
    │   │               │   ├── BlockMechanicalSqueezer.java
    │   │               │   ├── BlockMechanicalSqueezerConfig.java
    │   │               │   ├── BlockMenrilDoorConfig.java
    │   │               │   ├── BlockMenrilFenceConfig.java
    │   │               │   ├── BlockMenrilFenceGateConfig.java
    │   │               │   ├── BlockMenrilLeavesClientConfig.java
    │   │               │   ├── BlockMenrilLeavesConfig.java
    │   │               │   ├── BlockMenrilLogConfig.java
    │   │               │   ├── BlockMenrilLogFilled.java
    │   │               │   ├── BlockMenrilLogFilledConfig.java
    │   │               │   ├── BlockMenrilLogStrippedConfig.java
    │   │               │   ├── BlockMenrilPlanksConfig.java
    │   │               │   ├── BlockMenrilPlanksStairsConfig.java
    │   │               │   ├── BlockMenrilSaplingConfig.java
    │   │               │   ├── BlockMenrilSlabConfig.java
    │   │               │   ├── BlockMenrilTorchConfig.java
    │   │               │   ├── BlockMenrilTorchStoneConfig.java
    │   │               │   ├── BlockMenrilTorchStoneWallConfig.java
    │   │               │   ├── BlockMenrilTorchWallConfig.java
    │   │               │   ├── BlockMenrilWoodConfig.java
    │   │               │   ├── BlockMenrilWoodStrippedConfig.java
    │   │               │   ├── BlockProxy.java
    │   │               │   ├── BlockProxyConfig.java
    │   │               │   ├── BlockSqueezer.java
    │   │               │   ├── BlockSqueezerConfig.java
    │   │               │   ├── BlockVariablestore.java
    │   │               │   ├── BlockVariablestoreConfig.java
    │   │               │   └── shapes/
    │   │               │       ├── CollisionContextBlockSupport.java
    │   │               │       ├── VoxelShapeComponentsFactoryHandlerCableCenter.java
    │   │               │       ├── VoxelShapeComponentsFactoryHandlerCableConnections.java
    │   │               │       ├── VoxelShapeComponentsFactoryHandlerFacade.java
    │   │               │       └── VoxelShapeComponentsFactoryHandlerParts.java
    │   │               ├── blockentity/
    │   │               │   ├── BlockEntityCoalGenerator.java
    │   │               │   ├── BlockEntityCoalGeneratorConfig.java
    │   │               │   ├── BlockEntityDelay.java
    │   │               │   ├── BlockEntityDelayConfig.java
    │   │               │   ├── BlockEntityDryingBasin.java
    │   │               │   ├── BlockEntityDryingBasinConfig.java
    │   │               │   ├── BlockEntityDryingBasinConfigClient.java
    │   │               │   ├── BlockEntityEnergyBattery.java
    │   │               │   ├── BlockEntityEnergyBatteryConfig.java
    │   │               │   ├── BlockEntityEnergyBatteryConfigClient.java
    │   │               │   ├── BlockEntityMaterializer.java
    │   │               │   ├── BlockEntityMaterializerConfig.java
    │   │               │   ├── BlockEntityMechanicalDryingBasin.java
    │   │               │   ├── BlockEntityMechanicalDryingBasinConfig.java
    │   │               │   ├── BlockEntityMechanicalSqueezer.java
    │   │               │   ├── BlockEntityMechanicalSqueezerConfig.java
    │   │               │   ├── BlockEntityMultipartTickingConfigClient.java
    │   │               │   ├── BlockEntityProxy.java
    │   │               │   ├── BlockEntityProxyConfig.java
    │   │               │   ├── BlockEntitySqueezer.java
    │   │               │   ├── BlockEntitySqueezerConfig.java
    │   │               │   ├── BlockEntitySqueezerConfigClient.java
    │   │               │   ├── BlockEntityVariableStoreConfig.java
    │   │               │   └── BlockEntityVariablestore.java
    │   │               ├── capability/
    │   │               │   ├── cable/
    │   │               │   │   ├── CableDefault.java
    │   │               │   │   ├── CableFakeableDefault.java
    │   │               │   │   ├── CableFakeableMultipartTicking.java
    │   │               │   │   ├── CableTile.java
    │   │               │   │   └── CableTileMultipartTicking.java
    │   │               │   ├── dynamiclight/
    │   │               │   │   ├── DynamicLightDefault.java
    │   │               │   │   └── DynamicLightTileMultipartTicking.java
    │   │               │   ├── dynamicredstone/
    │   │               │   │   ├── DynamicRedstoneDefault.java
    │   │               │   │   ├── DynamicRedstoneHolderGlobal.java
    │   │               │   │   └── DynamicRedstoneTileMultipartTicking.java
    │   │               │   ├── energystorage/
    │   │               │   │   ├── EnergyStorageItemBlockEnergyContainer.java
    │   │               │   │   ├── IEnergyStorageCapacity.java
    │   │               │   │   ├── IEnergyStorageMutable.java
    │   │               │   │   └── SimpleEnergyHandlerCapacity.java
    │   │               │   ├── facadeable/
    │   │               │   │   ├── FacadeableDefault.java
    │   │               │   │   └── FacadeableTileMultipartTicking.java
    │   │               │   ├── ingredient/
    │   │               │   │   └── IngredientComponentCapabilities.java
    │   │               │   ├── network/
    │   │               │   │   ├── NetworkCapabilityConstructors.java
    │   │               │   │   └── NetworkCarrierDefault.java
    │   │               │   ├── networkelementprovider/
    │   │               │   │   ├── NetworkElementProviderEmpty.java
    │   │               │   │   ├── NetworkElementProviderPartContainer.java
    │   │               │   │   └── NetworkElementProviderSingleton.java
    │   │               │   ├── partcontainer/
    │   │               │   │   ├── PartContainerDefault.java
    │   │               │   │   └── PartContainerTileMultipartTicking.java
    │   │               │   ├── path/
    │   │               │   │   ├── PathElementCable.java
    │   │               │   │   ├── PathElementDefault.java
    │   │               │   │   ├── PathElementTile.java
    │   │               │   │   ├── PathElementTileMultipartTicking.java
    │   │               │   │   └── SidedPathElement.java
    │   │               │   ├── valueinterface/
    │   │               │   │   └── ValueInterfaceDefault.java
    │   │               │   ├── variablecontainer/
    │   │               │   │   └── VariableContainerDefault.java
    │   │               │   └── variablefacade/
    │   │               │       └── VariableFacadeHolderDefault.java
    │   │               ├── client/
    │   │               │   ├── gui/
    │   │               │   │   ├── container/
    │   │               │   │   │   ├── ContainerScreenCoalGenerator.java
    │   │               │   │   │   ├── ContainerScreenDelay.java
    │   │               │   │   │   ├── ContainerScreenLabeller.java
    │   │               │   │   │   ├── ContainerScreenLogicProgrammer.java
    │   │               │   │   │   ├── ContainerScreenLogicProgrammerBase.java
    │   │               │   │   │   ├── ContainerScreenLogicProgrammerPortable.java
    │   │               │   │   │   ├── ContainerScreenMaterializer.java
    │   │               │   │   │   ├── ContainerScreenMechanicalDryingBasin.java
    │   │               │   │   │   ├── ContainerScreenMechanicalSqueezer.java
    │   │               │   │   │   ├── ContainerScreenOnTheDynamicsOfIntegration.java
    │   │               │   │   │   ├── ContainerScreenPartDisplay.java
    │   │               │   │   │   ├── ContainerScreenPartReader.java
    │   │               │   │   │   ├── ContainerScreenPartWriter.java
    │   │               │   │   │   ├── ContainerScreenProxy.java
    │   │               │   │   │   └── ContainerScreenVariablestore.java
    │   │               │   │   └── image/
    │   │               │   │       └── Images.java
    │   │               │   ├── model/
    │   │               │   │   ├── CableModel.java
    │   │               │   │   ├── CableModelBase.java
    │   │               │   │   ├── CableRenderState.java
    │   │               │   │   └── IRenderState.java
    │   │               │   └── render/
    │   │               │       ├── blockentity/
    │   │               │       │   ├── ItemStackBlockEntityEnergyBatteryRender.java
    │   │               │       │   ├── RenderBlockEntityDryingBasin.java
    │   │               │       │   ├── RenderBlockEntityEnergyBattery.java
    │   │               │       │   ├── RenderBlockEntitySqueezer.java
    │   │               │       │   ├── RenderCable.java
    │   │               │       │   └── SpecialModelRendererVariableOverlay.java
    │   │               │       ├── level/
    │   │               │       │   └── PartOffsetsOverlayRenderer.java
    │   │               │       ├── model/
    │   │               │       │   └── FacadeModel.java
    │   │               │       ├── part/
    │   │               │       │   ├── ConnectorOmniPartOverlayRenderer.java
    │   │               │       │   ├── DisplayPartOverlayRenderer.java
    │   │               │       │   ├── PartOverlayRendererBase.java
    │   │               │       │   ├── PartOverlayRendererRegistry.java
    │   │               │       │   └── PartOverlayRenderers.java
    │   │               │       └── valuetype/
    │   │               │           ├── BlockValueTypeWorldRenderer.java
    │   │               │           ├── FluidValueTypeWorldRenderer.java
    │   │               │           ├── IngredientsValueTypeWorldRenderer.java
    │   │               │           ├── ItemValueTypeWorldRenderer.java
    │   │               │           ├── ListValueTypeWorldRenderer.java
    │   │               │           ├── NbtValueTypeWorldRenderer.java
    │   │               │           ├── OperatorValueTypeWorldRenderer.java
    │   │               │           ├── RecipeValueTypeWorldRenderer.java
    │   │               │           ├── TextValueTypeWorldRenderer.java
    │   │               │           ├── ValueTypeWorldRendererRegistry.java
    │   │               │           └── ValueTypeWorldRenderers.java
    │   │               ├── command/
    │   │               │   ├── CommandCrash.java
    │   │               │   ├── CommandGenerateNetwork.java
    │   │               │   ├── CommandNetworkDiagnostics.java
    │   │               │   └── CommandTest.java
    │   │               ├── component/
    │   │               │   ├── DataComponentActivatedConfig.java
    │   │               │   ├── DataComponentFacadeBlockConfig.java
    │   │               │   ├── DataComponentFluidContentInOutConfig.java
    │   │               │   ├── DataComponentOmnidirectionalGroupConfig.java
    │   │               │   ├── DataComponentPartEnhancementConfig.java
    │   │               │   ├── DataComponentPartStateConfig.java
    │   │               │   ├── DataComponentProxyIdConfig.java
    │   │               │   ├── DataComponentVariableFacadeConfig.java
    │   │               │   ├── DataComponentWrenchModeConfig.java
    │   │               │   ├── DataComponentWrenchTargetBlockPosConfig.java
    │   │               │   └── DataComponentWrenchTargetDirectionConfig.java
    │   │               ├── core/
    │   │               │   ├── NoteBlockEventReceiver.java
    │   │               │   ├── TickHandler.java
    │   │               │   ├── block/
    │   │               │   │   ├── BlockContainerCabled.java
    │   │               │   │   ├── BlockMechanicalMachine.java
    │   │               │   │   ├── BlockRayTraceResultComponent.java
    │   │               │   │   ├── BlockWithEntityGuiCabled.java
    │   │               │   │   ├── IgnoredBlock.java
    │   │               │   │   ├── IgnoredBlockStatus.java
    │   │               │   │   ├── VoxelShapeComponents.java
    │   │               │   │   └── VoxelShapeComponentsFactory.java
    │   │               │   ├── blockentity/
    │   │               │   │   ├── BlockEntityActiveVariableBase.java
    │   │               │   │   ├── BlockEntityCableConnectable.java
    │   │               │   │   ├── BlockEntityCableConnectableInventory.java
    │   │               │   │   ├── BlockEntityMechanicalMachine.java
    │   │               │   │   ├── BlockEntityMultipartTicking.java
    │   │               │   │   └── BlockEntityMultipartTickingConfig.java
    │   │               │   ├── client/
    │   │               │   │   ├── gui/
    │   │               │   │   │   ├── ContainerScreenActiveVariableBase.java
    │   │               │   │   │   ├── ContainerScreenMechanicalMachine.java
    │   │               │   │   │   ├── IDropdownEntry.java
    │   │               │   │   │   ├── IDropdownEntryListener.java
    │   │               │   │   │   ├── WidgetTextFieldDropdown.java
    │   │               │   │   │   ├── container/
    │   │               │   │   │   │   ├── ContainerScreenAspectSettings.java
    │   │               │   │   │   │   ├── ContainerScreenMultipart.java
    │   │               │   │   │   │   ├── ContainerScreenMultipartAspects.java
    │   │               │   │   │   │   ├── ContainerScreenPartOffset.java
    │   │               │   │   │   │   ├── ContainerScreenPartSettings.java
    │   │               │   │   │   │   └── DisplayErrorsComponent.java
    │   │               │   │   │   └── subgui/
    │   │               │   │   │       ├── SubGuiBox.java
    │   │               │   │   │       └── SubGuiHolder.java
    │   │               │   │   └── model/
    │   │               │   │       ├── AspectVariableModelProvider.java
    │   │               │   │       ├── BakedMapVariableModelProvider.java
    │   │               │   │       ├── BakedSingleVariableModelProvider.java
    │   │               │   │       ├── CustomModelException.java
    │   │               │   │       ├── ItemModelCable.java
    │   │               │   │       ├── ItemModelFacade.java
    │   │               │   │       ├── ItemModelVariableOverlay.java
    │   │               │   │       ├── ItemModelVariableOverlays.java
    │   │               │   │       ├── SingleVariableModelProvider.java
    │   │               │   │       ├── ValueTypeVariableModelProvider.java
    │   │               │   │       ├── VariableModelProviderRegistry.java
    │   │               │   │       └── VariableModelProviders.java
    │   │               │   ├── datastructure/
    │   │               │   │   └── MapWrapper.java
    │   │               │   ├── evaluate/
    │   │               │   │   ├── DelayVariableFacadeHandler.java
    │   │               │   │   ├── IOperatorValuePropagator.java
    │   │               │   │   ├── InventoryVariableEvaluator.java
    │   │               │   │   ├── OperatorBuilders.java
    │   │               │   │   ├── ProxyVariableFacadeHandler.java
    │   │               │   │   ├── build/
    │   │               │   │   │   └── OperatorBuilder.java
    │   │               │   │   ├── expression/
    │   │               │   │   │   └── LazyExpression.java
    │   │               │   │   ├── operator/
    │   │               │   │   │   ├── CastOperator.java
    │   │               │   │   │   ├── CombinedOperator.java
    │   │               │   │   │   ├── CompositionalOperator.java
    │   │               │   │   │   ├── CurriedOperator.java
    │   │               │   │   │   ├── GeneralChoiceOperator.java
    │   │               │   │   │   ├── GeneralConstantOperator.java
    │   │               │   │   │   ├── GeneralIdentityOperator.java
    │   │               │   │   │   ├── GeneralOperator.java
    │   │               │   │   │   ├── IterativeFunction.java
    │   │               │   │   │   ├── OperatorBase.java
    │   │               │   │   │   ├── OperatorRegistry.java
    │   │               │   │   │   ├── OperatorSerializerDefault.java
    │   │               │   │   │   ├── Operators.java
    │   │               │   │   │   ├── ParseOperator.java
    │   │               │   │   │   ├── PositionedOperator.java
    │   │               │   │   │   ├── PositionedOperatorNetworkVariableById.java
    │   │               │   │   │   ├── PositionedOperatorRecipeHandler.java
    │   │               │   │   │   ├── PositionedOperatorRecipeHandlerInputs.java
    │   │               │   │   │   ├── PositionedOperatorRecipeHandlerOutput.java
    │   │               │   │   │   ├── PositionedOperatorRecipeHandlerRecipeByInput.java
    │   │               │   │   │   ├── PositionedOperatorRecipeHandlerRecipeByOutput.java
    │   │               │   │   │   ├── PositionedOperatorRecipeHandlerRecipesByInput.java
    │   │               │   │   │   ├── PositionedOperatorRecipeHandlerRecipesByOutput.java
    │   │               │   │   │   └── PredicateOperator.java
    │   │               │   │   └── variable/
    │   │               │   │       ├── ValueBase.java
    │   │               │   │       ├── ValueCastMappings.java
    │   │               │   │       ├── ValueCastRegistry.java
    │   │               │   │       ├── ValueHelpers.java
    │   │               │   │       ├── ValueObjectTypeBase.java
    │   │               │   │       ├── ValueObjectTypeBlock.java
    │   │               │   │       ├── ValueObjectTypeEntity.java
    │   │               │   │       ├── ValueObjectTypeEntityClient.java
    │   │               │   │       ├── ValueObjectTypeFluidStack.java
    │   │               │   │       ├── ValueObjectTypeIngredients.java
    │   │               │   │       ├── ValueObjectTypeItemStack.java
    │   │               │   │       ├── ValueObjectTypeRecipe.java
    │   │               │   │       ├── ValueObjectTypeRecipeClient.java
    │   │               │   │       ├── ValueOptionalBase.java
    │   │               │   │       ├── ValueTypeBase.java
    │   │               │   │       ├── ValueTypeBaseClient.java
    │   │               │   │       ├── ValueTypeBoolean.java
    │   │               │   │       ├── ValueTypeCategoryAny.java
    │   │               │   │       ├── ValueTypeCategoryBase.java
    │   │               │   │       ├── ValueTypeCategoryNamed.java
    │   │               │   │       ├── ValueTypeCategoryNullable.java
    │   │               │   │       ├── ValueTypeCategoryNumber.java
    │   │               │   │       ├── ValueTypeCategoryUniquelyNamed.java
    │   │               │   │       ├── ValueTypeDouble.java
    │   │               │   │       ├── ValueTypeInteger.java
    │   │               │   │       ├── ValueTypeLightLevelRegistry.java
    │   │               │   │       ├── ValueTypeLightLevels.java
    │   │               │   │       ├── ValueTypeList.java
    │   │               │   │       ├── ValueTypeListProxyAppend.java
    │   │               │   │       ├── ValueTypeListProxyBase.java
    │   │               │   │       ├── ValueTypeListProxyConcat.java
    │   │               │   │       ├── ValueTypeListProxyEntityArmorInventory.java
    │   │               │   │       ├── ValueTypeListProxyEntityBase.java
    │   │               │   │       ├── ValueTypeListProxyEntityCapability.java
    │   │               │   │       ├── ValueTypeListProxyEntityFluids.java
    │   │               │   │       ├── ValueTypeListProxyEntityInventory.java
    │   │               │   │       ├── ValueTypeListProxyEntityItems.java
    │   │               │   │       ├── ValueTypeListProxyFactories.java
    │   │               │   │       ├── ValueTypeListProxyFactoryTypeRegistry.java
    │   │               │   │       ├── ValueTypeListProxyLazyBuilt.java
    │   │               │   │       ├── ValueTypeListProxyMaterialized.java
    │   │               │   │       ├── ValueTypeListProxyMaterializedFactory.java
    │   │               │   │       ├── ValueTypeListProxyNBTFactory.java
    │   │               │   │       ├── ValueTypeListProxyNBTFactorySimple.java
    │   │               │   │       ├── ValueTypeListProxyNbtAsListByte.java
    │   │               │   │       ├── ValueTypeListProxyNbtAsListGeneric.java
    │   │               │   │       ├── ValueTypeListProxyNbtAsListInt.java
    │   │               │   │       ├── ValueTypeListProxyNbtAsListLong.java
    │   │               │   │       ├── ValueTypeListProxyNbtAsListTag.java
    │   │               │   │       ├── ValueTypeListProxyNbtKeys.java
    │   │               │   │       ├── ValueTypeListProxyNbtValueListByte.java
    │   │               │   │       ├── ValueTypeListProxyNbtValueListGeneric.java
    │   │               │   │       ├── ValueTypeListProxyNbtValueListInt.java
    │   │               │   │       ├── ValueTypeListProxyNbtValueListLong.java
    │   │               │   │       ├── ValueTypeListProxyNbtValueListTag.java
    │   │               │   │       ├── ValueTypeListProxyOperatorMapped.java
    │   │               │   │       ├── ValueTypeListProxyPositioned.java
    │   │               │   │       ├── ValueTypeListProxyPositionedInventory.java
    │   │               │   │       ├── ValueTypeListProxyPositionedRecipes.java
    │   │               │   │       ├── ValueTypeListProxyPositionedTankCapacities.java
    │   │               │   │       ├── ValueTypeListProxyPositionedTankFluidStacks.java
    │   │               │   │       ├── ValueTypeListProxySlice.java
    │   │               │   │       ├── ValueTypeListProxyTail.java
    │   │               │   │       ├── ValueTypeLong.java
    │   │               │   │       ├── ValueTypeNbt.java
    │   │               │   │       ├── ValueTypeOperator.java
    │   │               │   │       ├── ValueTypeRegistry.java
    │   │               │   │       ├── ValueTypeRegistryClient.java
    │   │               │   │       ├── ValueTypeString.java
    │   │               │   │       ├── ValueTypes.java
    │   │               │   │       ├── Variable.java
    │   │               │   │       ├── VariableFacadePredicateTyped.java
    │   │               │   │       ├── VariablePredicateTyped.java
    │   │               │   │       └── gui/
    │   │               │   │           ├── GuiElementValueTypeBoolean.java
    │   │               │   │           ├── GuiElementValueTypeBooleanClient.java
    │   │               │   │           ├── GuiElementValueTypeBooleanRenderPattern.java
    │   │               │   │           ├── GuiElementValueTypeDropdownList.java
    │   │               │   │           ├── GuiElementValueTypeDropdownListClient.java
    │   │               │   │           ├── GuiElementValueTypeDropdownListRenderPattern.java
    │   │               │   │           ├── GuiElementValueTypeString.java
    │   │               │   │           ├── GuiElementValueTypeStringClient.java
    │   │               │   │           ├── GuiElementValueTypeStringRenderPattern.java
    │   │               │   │           └── SubGuiValueTypeInfoBase.java
    │   │               │   ├── event/
    │   │               │   │   └── IntegratedDynamicsSetupEvent.java
    │   │               │   ├── helper/
    │   │               │   │   ├── CableHelpers.java
    │   │               │   │   ├── Codecs.java
    │   │               │   │   ├── EnergyHelpers.java
    │   │               │   │   ├── Helpers.java
    │   │               │   │   ├── L10NValues.java
    │   │               │   │   ├── NbtHelpers.java
    │   │               │   │   ├── NetworkHelpers.java
    │   │               │   │   ├── PartHelpers.java
    │   │               │   │   └── WrenchHelpers.java
    │   │               │   ├── ingredient/
    │   │               │   │   ├── ExtendedIngredientsList.java
    │   │               │   │   ├── ExtendedIngredientsSingle.java
    │   │               │   │   ├── IngredientComponentHandlerRegistry.java
    │   │               │   │   ├── IngredientComponentHandlers.java
    │   │               │   │   ├── ItemMatchProperties.java
    │   │               │   │   └── WrappedIngredients.java
    │   │               │   ├── inventory/
    │   │               │   │   └── container/
    │   │               │   │       ├── ContainerActiveVariableBase.java
    │   │               │   │       ├── ContainerAspectSettings.java
    │   │               │   │       ├── ContainerAspectSettingsConfig.java
    │   │               │   │       ├── ContainerAspectSettingsConfigScreenFactoryProvider.java
    │   │               │   │       ├── ContainerMechanicalMachine.java
    │   │               │   │       ├── ContainerMultipart.java
    │   │               │   │       ├── ContainerMultipartAspects.java
    │   │               │   │       ├── ContainerPartOffset.java
    │   │               │   │       ├── ContainerPartOffsetConfig.java
    │   │               │   │       ├── ContainerPartOffsetConfigScreenFactoryProvider.java
    │   │               │   │       ├── ContainerPartSettings.java
    │   │               │   │       ├── ContainerPartSettingsConfig.java
    │   │               │   │       ├── ContainerPartSettingsConfigScreenFactoryProvider.java
    │   │               │   │       └── slot/
    │   │               │   │           └── SlotVariable.java
    │   │               │   ├── item/
    │   │               │   │   ├── AspectVariableFacade.java
    │   │               │   │   ├── AspectVariableFacadeClient.java
    │   │               │   │   ├── DelayVariableFacade.java
    │   │               │   │   ├── DelayVariableFacadeClient.java
    │   │               │   │   ├── DummyVariableFacadeClient.java
    │   │               │   │   ├── ItemBlockEnergyContainer.java
    │   │               │   │   ├── ItemBlockEnergyContainerAutoSupply.java
    │   │               │   │   ├── ItemPart.java
    │   │               │   │   ├── OperatorVariableFacade.java
    │   │               │   │   ├── OperatorVariableFacadeClient.java
    │   │               │   │   ├── ProxyVariableFacade.java
    │   │               │   │   ├── ProxyVariableFacadeClient.java
    │   │               │   │   ├── ValueTypeVariableFacade.java
    │   │               │   │   ├── ValueTypeVariableFacadeClient.java
    │   │               │   │   ├── VariableFacadeBase.java
    │   │               │   │   └── VariableFacadeHandlerRegistry.java
    │   │               │   ├── logicprogrammer/
    │   │               │   │   ├── IRenderPatternValueTypeTooltip.java
    │   │               │   │   ├── LogicProgrammerElementTypeRegistry.java
    │   │               │   │   ├── LogicProgrammerElementTypes.java
    │   │               │   │   ├── OperatorLPElement.java
    │   │               │   │   ├── OperatorLPElementType.java
    │   │               │   │   ├── RenderPatternCommon.java
    │   │               │   │   ├── SingleLPElementType.java
    │   │               │   │   ├── ValueTypeBooleanLPElement.java
    │   │               │   │   ├── ValueTypeIngredientsLPElement.java
    │   │               │   │   ├── ValueTypeItemStackLPElement.java
    │   │               │   │   ├── ValueTypeLPElementBase.java
    │   │               │   │   ├── ValueTypeLPElementType.java
    │   │               │   │   ├── ValueTypeListLPElement.java
    │   │               │   │   ├── ValueTypeOperatorLPElement.java
    │   │               │   │   ├── ValueTypeRecipeAdapterLPElementPropertiesSubGui.java
    │   │               │   │   ├── ValueTypeRecipeLPElement.java
    │   │               │   │   ├── ValueTypeStringLPElement.java
    │   │               │   │   ├── client/
    │   │               │   │   │   ├── OperatorLPElementClient.java
    │   │               │   │   │   ├── OperatorLPElementRenderPattern.java
    │   │               │   │   │   ├── RenderPattern.java
    │   │               │   │   │   ├── ValueTypeBooleanLPElementClient.java
    │   │               │   │   │   ├── ValueTypeIngredientsLPElementClient.java
    │   │               │   │   │   ├── ValueTypeItemStackLPElementClient.java
    │   │               │   │   │   ├── ValueTypeLPElementBaseClient.java
    │   │               │   │   │   ├── ValueTypeListLPElementClient.java
    │   │               │   │   │   ├── ValueTypeOperatorLPElementClient.java
    │   │               │   │   │   ├── ValueTypeOperatorLPElementRenderPattern.java
    │   │               │   │   │   ├── ValueTypeRecipeLPElementClient.java
    │   │               │   │   │   ├── ValueTypeRecipeLPElementMasterSubGui.java
    │   │               │   │   │   ├── ValueTypeRecipeLPElementPropertiesSubGui.java
    │   │               │   │   │   ├── ValueTypeRecipeLPElementRecipeSubGui.java
    │   │               │   │   │   ├── ValueTypeStringLPElementClient.java
    │   │               │   │   │   └── ValueTypeStringLPElementRenderPattern.java
    │   │               │   │   └── event/
    │   │               │   │       ├── LogicProgrammerEvent.java
    │   │               │   │       └── LogicProgrammerVariableFacadeCreatedEvent.java
    │   │               │   ├── network/
    │   │               │   │   ├── ConcurrentWorldIngredientsProxy.java
    │   │               │   │   ├── ConsumingNetworkElementBase.java
    │   │               │   │   ├── EnergyNetwork.java
    │   │               │   │   ├── IIngredientChannelInsertPreConsumer.java
    │   │               │   │   ├── IngredientChannelAdapter.java
    │   │               │   │   ├── IngredientChannelAdapterWrapperSlotted.java
    │   │               │   │   ├── IngredientChannelIndexed.java
    │   │               │   │   ├── IngredientChannelPositioned.java
    │   │               │   │   ├── IngredientObserver.java
    │   │               │   │   ├── IngredientPositionsIndex.java
    │   │               │   │   ├── IngredientPositionsIndexEmpty.java
    │   │               │   │   ├── Network.java
    │   │               │   │   ├── NetworkCraftingHandlerRegistry.java
    │   │               │   │   ├── NetworkElementBase.java
    │   │               │   │   ├── NetworkParams.java
    │   │               │   │   ├── PartNetwork.java
    │   │               │   │   ├── PartNetworkElement.java
    │   │               │   │   ├── PartOffsetsClientNotifier.java
    │   │               │   │   ├── PartPosIteratorHandlerDummy.java
    │   │               │   │   ├── PartPosIteratorHandlerRoundRobin.java
    │   │               │   │   ├── PositionedAddonsNetwork.java
    │   │               │   │   ├── PositionedAddonsNetworkIngredients.java
    │   │               │   │   ├── TileNetworkElement.java
    │   │               │   │   ├── diagnostics/
    │   │               │   │   │   ├── IRawData.java
    │   │               │   │   │   ├── NetworkDataClient.java
    │   │               │   │   │   ├── NetworkDiagnostics.java
    │   │               │   │   │   ├── NetworkDiagnosticsPartOverlayRenderer.java
    │   │               │   │   │   ├── RawNetworkData.java
    │   │               │   │   │   ├── RawObserverData.java
    │   │               │   │   │   ├── RawPartData.java
    │   │               │   │   │   ├── RawRootData.java
    │   │               │   │   │   └── http/
    │   │               │   │   │       ├── DiagnosticsWebServer.java
    │   │               │   │   │       ├── DiagnosticsWebServerHandler.java
    │   │               │   │   │       └── DiagnosticsWebServerInitializer.java
    │   │               │   │   └── event/
    │   │               │   │       ├── NetworkElementAddEvent.java
    │   │               │   │       ├── NetworkElementRemoveEvent.java
    │   │               │   │       ├── NetworkEvent.java
    │   │               │   │       ├── NetworkEventBus.java
    │   │               │   │       ├── NetworkInitializedEvent.java
    │   │               │   │       ├── UnknownPartEvent.java
    │   │               │   │       └── VariableContentsUpdatedEvent.java
    │   │               │   ├── part/
    │   │               │   │   ├── PartStateActiveVariableBase.java
    │   │               │   │   ├── PartStateBase.java
    │   │               │   │   ├── PartStateEmpty.java
    │   │               │   │   ├── PartStateOffsetHandler.java
    │   │               │   │   ├── PartTypeAspects.java
    │   │               │   │   ├── PartTypeBase.java
    │   │               │   │   ├── PartTypeConfigurable.java
    │   │               │   │   ├── PartTypeRegistry.java
    │   │               │   │   ├── PartTypes.java
    │   │               │   │   ├── aspect/
    │   │               │   │   │   ├── AspectRegistry.java
    │   │               │   │   │   ├── AspectRegistryClient.java
    │   │               │   │   │   ├── LazyAspectVariable.java
    │   │               │   │   │   ├── UpdatingAspectVariable.java
    │   │               │   │   │   ├── build/
    │   │               │   │   │   │   ├── AspectBuilder.java
    │   │               │   │   │   │   ├── IAspectUpdateListener.java
    │   │               │   │   │   │   ├── IAspectValuePropagator.java
    │   │               │   │   │   │   ├── IAspectWriteActivator.java
    │   │               │   │   │   │   └── IAspectWriteDeactivator.java
    │   │               │   │   │   └── property/
    │   │               │   │   │       ├── AspectProperties.java
    │   │               │   │   │       └── AspectPropertyTypeInstance.java
    │   │               │   │   ├── event/
    │   │               │   │   │   ├── PartAspectEvent.java
    │   │               │   │   │   ├── PartEvent.java
    │   │               │   │   │   ├── PartReaderAspectEvent.java
    │   │               │   │   │   ├── PartVariableDrivenVariableContentsUpdatedEvent.java
    │   │               │   │   │   ├── PartWriterAspectEvent.java
    │   │               │   │   │   └── RegisterPartCapabilitiesEvent.java
    │   │               │   │   ├── panel/
    │   │               │   │   │   ├── PartTypePanel.java
    │   │               │   │   │   └── PartTypePanelVariableDriven.java
    │   │               │   │   ├── read/
    │   │               │   │   │   ├── PartStateReaderBase.java
    │   │               │   │   │   └── PartTypeReadBase.java
    │   │               │   │   └── write/
    │   │               │   │       ├── PartStateWriterBase.java
    │   │               │   │       └── PartTypeWriteBase.java
    │   │               │   ├── path/
    │   │               │   │   ├── Cluster.java
    │   │               │   │   └── PathFinder.java
    │   │               │   ├── persist/
    │   │               │   │   └── world/
    │   │               │   │       ├── LabelsWorldStorage.java
    │   │               │   │       └── NetworkWorldStorage.java
    │   │               │   ├── recipe/
    │   │               │   │   ├── category/
    │   │               │   │   │   ├── RecipeBookCategoryDryingBasinConfig.java
    │   │               │   │   │   ├── RecipeBookCategoryMechanicalDryingBasinConfig.java
    │   │               │   │   │   ├── RecipeBookCategoryMechanicalSqueezerConfig.java
    │   │               │   │   │   └── RecipeBookCategorySqueezerConfig.java
    │   │               │   │   ├── display/
    │   │               │   │   │   ├── RecipeDisplayDryingBasin.java
    │   │               │   │   │   ├── RecipeDisplayDryingBasinConfig.java
    │   │               │   │   │   ├── RecipeDisplaySqueezer.java
    │   │               │   │   │   └── RecipeDisplaySqueezerConfig.java
    │   │               │   │   ├── handler/
    │   │               │   │   │   ├── RecipeHandlerDryingBasin.java
    │   │               │   │   │   └── RecipeHandlerSqueezer.java
    │   │               │   │   └── type/
    │   │               │   │       ├── RecipeDryingBasin.java
    │   │               │   │       ├── RecipeEnergyContainerCombination.java
    │   │               │   │       ├── RecipeEnergyContainerCombinationConfig.java
    │   │               │   │       ├── RecipeMechanicalDryingBasin.java
    │   │               │   │       ├── RecipeMechanicalSqueezer.java
    │   │               │   │       ├── RecipeMechanicalSqueezerFacade.java
    │   │               │   │       ├── RecipeNbtClear.java
    │   │               │   │       ├── RecipeSerializerDryingBasin.java
    │   │               │   │       ├── RecipeSerializerDryingBasinConfig.java
    │   │               │   │       ├── RecipeSerializerEnergyContainerCombination.java
    │   │               │   │       ├── RecipeSerializerMechanicalDryingBasin.java
    │   │               │   │       ├── RecipeSerializerMechanicalDryingBasinConfig.java
    │   │               │   │       ├── RecipeSerializerMechanicalSqueezer.java
    │   │               │   │       ├── RecipeSerializerMechanicalSqueezerConfig.java
    │   │               │   │       ├── RecipeSerializerMechanicalSqueezerFacade.java
    │   │               │   │       ├── RecipeSerializerMechanicalSqueezerFacadeConfig.java
    │   │               │   │       ├── RecipeSerializerNbtClear.java
    │   │               │   │       ├── RecipeSerializerNbtClearConfig.java
    │   │               │   │       ├── RecipeSerializerSqueezer.java
    │   │               │   │       ├── RecipeSerializerSqueezerConfig.java
    │   │               │   │       ├── RecipeSerializerSqueezerFacade.java
    │   │               │   │       ├── RecipeSerializerSqueezerFacadeConfig.java
    │   │               │   │       ├── RecipeSqueezer.java
    │   │               │   │       ├── RecipeSqueezerFacade.java
    │   │               │   │       ├── RecipeTypeDryingBasinConfig.java
    │   │               │   │       ├── RecipeTypeMechanicalDryingBasinConfig.java
    │   │               │   │       ├── RecipeTypeMechanicalSqueezerConfig.java
    │   │               │   │       └── RecipeTypeSqueezerConfig.java
    │   │               │   └── test/
    │   │               │       ├── IntegrationBefore.java
    │   │               │       ├── IntegrationTest.java
    │   │               │       └── TestHelpers.java
    │   │               ├── entity/
    │   │               │   └── item/
    │   │               │       ├── EntityItemTargetted.java
    │   │               │       ├── EntityItemTargettedConfig.java
    │   │               │       └── EntityItemTargettedConfigClient.java
    │   │               ├── fluid/
    │   │               │   ├── FluidLiquidChorusConfig.java
    │   │               │   └── FluidMenrilResinConfig.java
    │   │               ├── gametest/
    │   │               │   ├── GameTestHelpersIntegratedDynamics.java
    │   │               │   ├── GameTestsAdvancements.java
    │   │               │   ├── GameTestsAspectsReadAudio.java
    │   │               │   ├── GameTestsAspectsReadBlock.java
    │   │               │   ├── GameTestsAspectsReadEntity.java
    │   │               │   ├── GameTestsAspectsReadExtraDimensional.java
    │   │               │   ├── GameTestsAspectsReadFluid.java
    │   │               │   ├── GameTestsAspectsReadInventory.java
    │   │               │   ├── GameTestsAspectsReadMachine.java
    │   │               │   ├── GameTestsAspectsReadNetwork.java
    │   │               │   ├── GameTestsAspectsReadRedstone.java
    │   │               │   ├── GameTestsAspectsReadWorld.java
    │   │               │   ├── GameTestsAspectsWriteRedstone.java
    │   │               │   ├── GameTestsBattery.java
    │   │               │   ├── GameTestsCombinedAspects.java
    │   │               │   ├── GameTestsDelayer.java
    │   │               │   ├── GameTestsDryingBasin.java
    │   │               │   ├── GameTestsFacades.java
    │   │               │   ├── GameTestsFluids.java
    │   │               │   ├── GameTestsFuzzing.java
    │   │               │   ├── GameTestsGenerator.java
    │   │               │   ├── GameTestsMaterializer.java
    │   │               │   ├── GameTestsMechanicalDryingBasin.java
    │   │               │   ├── GameTestsMechanicalSqueezer.java
    │   │               │   ├── GameTestsNetwork.java
    │   │               │   ├── GameTestsOffsets.java
    │   │               │   ├── GameTestsParts.java
    │   │               │   ├── GameTestsPerformance.java
    │   │               │   ├── GameTestsProxy.java
    │   │               │   ├── GameTestsSqueezer.java
    │   │               │   ├── GameTestsWrench.java
    │   │               │   ├── fuzzing/
    │   │               │   │   ├── FuzzingGameTestInstance.java
    │   │               │   │   ├── FuzzingGameTestInstanceConfig.java
    │   │               │   │   ├── NetworkFuzzer.java
    │   │               │   │   └── NetworkFuzzerException.java
    │   │               │   └── integration/
    │   │               │       ├── Asserts.java
    │   │               │       ├── DummyValueType.java
    │   │               │       ├── DummyVariable.java
    │   │               │       ├── DummyVariableBlock.java
    │   │               │       ├── DummyVariableEntity.java
    │   │               │       ├── DummyVariableFluidStack.java
    │   │               │       ├── DummyVariableIngredients.java
    │   │               │       ├── DummyVariableItemStack.java
    │   │               │       ├── DummyVariableRecipe.java
    │   │               │       ├── GameTester.java
    │   │               │       ├── IntegrationMethodGameTestInstance.java
    │   │               │       ├── IntegrationMethodGameTestInstanceConfig.java
    │   │               │       ├── TestBlockOperators.java
    │   │               │       ├── TestEntityOperators.java
    │   │               │       ├── TestFluidStackOperators.java
    │   │               │       ├── TestIngredientsOperators.java
    │   │               │       ├── TestItemStackOperators.java
    │   │               │       ├── TestRecipeOperators.java
    │   │               │       ├── TestVariables.java
    │   │               │       └── ValueEntityMock.java
    │   │               ├── infobook/
    │   │               │   ├── OnTheDynamicsOfIntegrationBook.java
    │   │               │   └── pageelement/
    │   │               │       ├── AspectAppendix.java
    │   │               │       ├── AspectAppendixClient.java
    │   │               │       ├── DryingBasinRecipeAppendix.java
    │   │               │       ├── DryingBasinRecipeAppendixClient.java
    │   │               │       ├── MechanicalDryingBasinRecipeAppendix.java
    │   │               │       ├── MechanicalSqueezerRecipeAppendix.java
    │   │               │       ├── OperatorAppendix.java
    │   │               │       ├── OperatorAppendixClient.java
    │   │               │       ├── SqueezerRecipeAppendix.java
    │   │               │       └── SqueezerRecipeAppendixClient.java
    │   │               ├── inventory/
    │   │               │   ├── container/
    │   │               │   │   ├── ContainerCoalGenerator.java
    │   │               │   │   ├── ContainerCoalGeneratorConfig.java
    │   │               │   │   ├── ContainerCoalGeneratorConfigScreenFactoryProvider.java
    │   │               │   │   ├── ContainerDelay.java
    │   │               │   │   ├── ContainerDelayConfig.java
    │   │               │   │   ├── ContainerDelayConfigScreenFactoryProvider.java
    │   │               │   │   ├── ContainerLabeller.java
    │   │               │   │   ├── ContainerLabellerConfig.java
    │   │               │   │   ├── ContainerLabellerConfigScreenFactoryProvider.java
    │   │               │   │   ├── ContainerLogicProgrammer.java
    │   │               │   │   ├── ContainerLogicProgrammerBase.java
    │   │               │   │   ├── ContainerLogicProgrammerConfig.java
    │   │               │   │   ├── ContainerLogicProgrammerConfigScreenFactoryProvider.java
    │   │               │   │   ├── ContainerLogicProgrammerPortable.java
    │   │               │   │   ├── ContainerLogicProgrammerPortableConfig.java
    │   │               │   │   ├── ContainerLogicProgrammerPortableConfigScreenFactoryProvider.java
    │   │               │   │   ├── ContainerMaterializer.java
    │   │               │   │   ├── ContainerMaterializerConfig.java
    │   │               │   │   ├── ContainerMaterializerConfigScreenFactoryProvider.java
    │   │               │   │   ├── ContainerMechanicalDryingBasin.java
    │   │               │   │   ├── ContainerMechanicalDryingBasinConfig.java
    │   │               │   │   ├── ContainerMechanicalDryingBasinConfigScreenFactoryProvider.java
    │   │               │   │   ├── ContainerMechanicalSqueezer.java
    │   │               │   │   ├── ContainerMechanicalSqueezerConfig.java
    │   │               │   │   ├── ContainerMechanicalSqueezerConfigScreenFactoryProvider.java
    │   │               │   │   ├── ContainerOnTheDynamicsOfIntegration.java
    │   │               │   │   ├── ContainerOnTheDynamicsOfIntegrationConfig.java
    │   │               │   │   ├── ContainerOnTheDynamicsOfIntegrationConfigScreenFactoryProvider.java
    │   │               │   │   ├── ContainerPartDisplayConfig.java
    │   │               │   │   ├── ContainerPartDisplayConfigScreenFactoryProvider.java
    │   │               │   │   ├── ContainerPartPanelVariableDriven.java
    │   │               │   │   ├── ContainerPartReader.java
    │   │               │   │   ├── ContainerPartReaderConfig.java
    │   │               │   │   ├── ContainerPartReaderConfigScreenFactoryProvider.java
    │   │               │   │   ├── ContainerPartWriter.java
    │   │               │   │   ├── ContainerPartWriterConfig.java
    │   │               │   │   ├── ContainerPartWriterConfigScreenFactoryProvider.java
    │   │               │   │   ├── ContainerProxy.java
    │   │               │   │   ├── ContainerProxyConfig.java
    │   │               │   │   ├── ContainerProxyConfigScreenFactoryProvider.java
    │   │               │   │   ├── ContainerVariablestore.java
    │   │               │   │   ├── ContainerVariablestoreConfig.java
    │   │               │   │   └── ContainerVariablestoreConfigScreenFactoryProvider.java
    │   │               │   └── slot/
    │   │               │       └── FurnaceFuelSlotExtended.java
    │   │               ├── item/
    │   │               │   ├── ItemBlockCable.java
    │   │               │   ├── ItemBlockDelay.java
    │   │               │   ├── ItemBlockProxy.java
    │   │               │   ├── ItemBucketLiquidChorusConfig.java
    │   │               │   ├── ItemBucketMenrilResinConfig.java
    │   │               │   ├── ItemCrystalizedChorusChunkConfig.java
    │   │               │   ├── ItemCrystalizedMenrilChunkConfig.java
    │   │               │   ├── ItemEnhancement.java
    │   │               │   ├── ItemEnhancementOffsetConfig.java
    │   │               │   ├── ItemFacade.java
    │   │               │   ├── ItemFacadeConfig.java
    │   │               │   ├── ItemFacadeConfigClient.java
    │   │               │   ├── ItemLabeller.java
    │   │               │   ├── ItemLabellerConfig.java
    │   │               │   ├── ItemLogicDirectorConfig.java
    │   │               │   ├── ItemMenrilBerriesConfig.java
    │   │               │   ├── ItemOnTheDynamicsOfIntegration.java
    │   │               │   ├── ItemOnTheDynamicsOfIntegrationConfig.java
    │   │               │   ├── ItemPortableLogicProgrammer.java
    │   │               │   ├── ItemPortableLogicProgrammerConfig.java
    │   │               │   ├── ItemProtoChorusConfig.java
    │   │               │   ├── ItemVariable.java
    │   │               │   ├── ItemVariableConfig.java
    │   │               │   ├── ItemVariableConfigClient.java
    │   │               │   ├── ItemVariableTransformerConfig.java
    │   │               │   ├── ItemWrench.java
    │   │               │   └── ItemWrenchConfig.java
    │   │               ├── loot/
    │   │               │   ├── conditions/
    │   │               │   │   ├── LootConditionMatchWrench.java
    │   │               │   │   └── LootConditionMatchWrenchConfig.java
    │   │               │   └── functions/
    │   │               │       ├── LootFunctionCopyEnergyBatteryData.java
    │   │               │       ├── LootFunctionCopyEnergyBatteryDataConfig.java
    │   │               │       ├── LootFunctionCopyMechanicalDryingBasinTanks.java
    │   │               │       ├── LootFunctionCopyMechanicalDryingBasinTanksConfig.java
    │   │               │       ├── LootFunctionCopyMechanicalMachineEnergy.java
    │   │               │       ├── LootFunctionCopyMechanicalMachineEnergyConfig.java
    │   │               │       ├── LootFunctionCopyMechanicalSqueezerTank.java
    │   │               │       ├── LootFunctionCopyMechanicalSqueezerTankConfig.java
    │   │               │       ├── LootFunctionCopyProxyId.java
    │   │               │       └── LootFunctionCopyProxyIdConfig.java
    │   │               ├── metadata/
    │   │               │   ├── RegistryExportableAspect.java
    │   │               │   ├── RegistryExportableDryingBasinRecipe.java
    │   │               │   ├── RegistryExportableMechanicalDryingBasinRecipe.java
    │   │               │   ├── RegistryExportableMechanicalSqueezerRecipe.java
    │   │               │   ├── RegistryExportableOperator.java
    │   │               │   ├── RegistryExportablePartAspect.java
    │   │               │   ├── RegistryExportableSqueezerRecipe.java
    │   │               │   └── RegistryExportables.java
    │   │               ├── mixin/
    │   │               │   └── MixinBlockStateBase.java
    │   │               ├── network/
    │   │               │   ├── CoalGeneratorNetworkElement.java
    │   │               │   ├── DelayNetworkElement.java
    │   │               │   ├── EnergyBatteryNetworkElement.java
    │   │               │   ├── MaterializerNetworkElement.java
    │   │               │   ├── MechanicalMachineNetworkElement.java
    │   │               │   ├── ProxyNetworkElement.java
    │   │               │   ├── VariablestoreNetworkElement.java
    │   │               │   └── packet/
    │   │               │       ├── ActionLabelPacket.java
    │   │               │       ├── AllLabelsPacket.java
    │   │               │       ├── ItemStackRenamePacket.java
    │   │               │       ├── LogicProgrammerActivateElementPacket.java
    │   │               │       ├── LogicProgrammerLabelPacket.java
    │   │               │       ├── LogicProgrammerSetElementInventory.java
    │   │               │       ├── LogicProgrammerValueTypeBooleanValueChangedPacket.java
    │   │               │       ├── LogicProgrammerValueTypeIngredientsValueChangedPacket.java
    │   │               │       ├── LogicProgrammerValueTypeListValueChangedPacket.java
    │   │               │       ├── LogicProgrammerValueTypeOperatorValueChangedPacket.java
    │   │               │       ├── LogicProgrammerValueTypeRecipeSlotPropertiesChangedPacket.java
    │   │               │       ├── LogicProgrammerValueTypeRecipeValueChangedPacket.java
    │   │               │       ├── LogicProgrammerValueTypeSlottedValueChangedPacket.java
    │   │               │       ├── LogicProgrammerValueTypeStringValueChangedPacket.java
    │   │               │       ├── NetworkDiagnosticsNetworkPacket.java
    │   │               │       ├── NetworkDiagnosticsSubscribePacket.java
    │   │               │       ├── NetworkDiagnosticsTriggerClient.java
    │   │               │       ├── PartOffsetsDataPacket.java
    │   │               │       ├── PartOffsetsSubscribePacket.java
    │   │               │       ├── PlayerTeleportPacket.java
    │   │               │       └── SpeakTextPacket.java
    │   │               ├── part/
    │   │               │   ├── PartTypeAudioReader.java
    │   │               │   ├── PartTypeAudioWriter.java
    │   │               │   ├── PartTypeBlockReader.java
    │   │               │   ├── PartTypeConnector.java
    │   │               │   ├── PartTypeConnectorMonoDirectional.java
    │   │               │   ├── PartTypeConnectorOmniDirectional.java
    │   │               │   ├── PartTypeEffectWriter.java
    │   │               │   ├── PartTypeEntityReader.java
    │   │               │   ├── PartTypeEntityWriter.java
    │   │               │   ├── PartTypeExtraDimensionalReader.java
    │   │               │   ├── PartTypeFluidReader.java
    │   │               │   ├── PartTypeInventoryReader.java
    │   │               │   ├── PartTypeInventoryWriter.java
    │   │               │   ├── PartTypeMachineReader.java
    │   │               │   ├── PartTypeMachineWriter.java
    │   │               │   ├── PartTypeNetworkReader.java
    │   │               │   ├── PartTypePanelDisplay.java
    │   │               │   ├── PartTypePanelLightDynamic.java
    │   │               │   ├── PartTypePanelLightStatic.java
    │   │               │   ├── PartTypeRedstoneReader.java
    │   │               │   ├── PartTypeRedstoneWriter.java
    │   │               │   ├── PartTypeWorldReader.java
    │   │               │   └── aspect/
    │   │               │       ├── AspectBase.java
    │   │               │       ├── Aspects.java
    │   │               │       ├── read/
    │   │               │       │   ├── AspectReadBase.java
    │   │               │       │   ├── AspectReadBuilders.java
    │   │               │       │   └── redstone/
    │   │               │       │       ├── IReadRedstoneComponent.java
    │   │               │       │       └── ReadRedstoneComponent.java
    │   │               │       └── write/
    │   │               │           ├── AspectWriteBase.java
    │   │               │           ├── AspectWriteBuilders.java
    │   │               │           └── redstone/
    │   │               │               ├── IWriteRedstoneComponent.java
    │   │               │               └── WriteRedstoneComponent.java
    │   │               ├── proxy/
    │   │               │   ├── ClientProxy.java
    │   │               │   └── CommonProxy.java
    │   │               ├── recipe/
    │   │               │   ├── ItemFacadeRecipe.java
    │   │               │   ├── ItemFacadeRecipeConfig.java
    │   │               │   ├── ItemVariableCopyRecipe.java
    │   │               │   ├── ItemVariableCopyRecipeConfig.java
    │   │               │   ├── RecipeSerializerCraftingSpecialShapedOmniDirectional3Config.java
    │   │               │   ├── RecipeSerializerCraftingSpecialShapedOmniDirectionalConfig.java
    │   │               │   └── RecipeSerializerCraftingSpecialShapelessOmniDirectionalConfig.java
    │   │               ├── sound/
    │   │               │   ├── SoundEventEffectPageFlipMultipleConfig.java
    │   │               │   └── SoundEventEffectPageFlipSingleConfig.java
    │   │               └── world/
    │   │                   └── gen/
    │   │                       ├── foliageplacer/
    │   │                       │   ├── FoliagePlacerMenril.java
    │   │                       │   └── FoliagePlacerMenrilConfig.java
    │   │                       └── trunkplacer/
    │   │                           ├── TrunkPlacerMenril.java
    │   │                           └── TrunkPlacerMenrilConfig.java
    │   └── resources/
    │       ├── LICENSE-netty.txt
    │       ├── LICENSE-re2j.txt
    │       ├── META-INF/
    │       │   ├── accesstransformer.cfg
    │       │   └── neoforge.mods.toml
    │       ├── assets/
    │       │   ├── integrateddynamics/
    │       │   │   ├── blockstates/
    │       │   │   │   ├── block_liquid_chorus.json
    │       │   │   │   ├── block_menril_resin.json
    │       │   │   │   ├── cable.json
    │       │   │   │   ├── coal_generator.json
    │       │   │   │   ├── crystalized_chorus_block.json
    │       │   │   │   ├── crystalized_chorus_block_slab.json
    │       │   │   │   ├── crystalized_chorus_block_stairs.json
    │       │   │   │   ├── crystalized_chorus_brick.json
    │       │   │   │   ├── crystalized_chorus_brick_slab.json
    │       │   │   │   ├── crystalized_chorus_brick_stairs.json
    │       │   │   │   ├── crystalized_menril_block.json
    │       │   │   │   ├── crystalized_menril_block_slab.json
    │       │   │   │   ├── crystalized_menril_block_stairs.json
    │       │   │   │   ├── crystalized_menril_brick.json
    │       │   │   │   ├── crystalized_menril_brick_slab.json
    │       │   │   │   ├── crystalized_menril_brick_stairs.json
    │       │   │   │   ├── delay.json
    │       │   │   │   ├── drying_basin.json
    │       │   │   │   ├── energy_battery.json
    │       │   │   │   ├── energy_battery_creative.json
    │       │   │   │   ├── invisible_light.json
    │       │   │   │   ├── logic_programmer.json
    │       │   │   │   ├── materializer.json
    │       │   │   │   ├── mechanical_drying_basin.json
    │       │   │   │   ├── mechanical_squeezer.json
    │       │   │   │   ├── menril_door.json
    │       │   │   │   ├── menril_fence.json
    │       │   │   │   ├── menril_fence_gate.json
    │       │   │   │   ├── menril_leaves.json
    │       │   │   │   ├── menril_log.json
    │       │   │   │   ├── menril_log_filled.json
    │       │   │   │   ├── menril_log_stripped.json
    │       │   │   │   ├── menril_planks.json
    │       │   │   │   ├── menril_planks_stairs.json
    │       │   │   │   ├── menril_sapling.json
    │       │   │   │   ├── menril_slab.json
    │       │   │   │   ├── menril_torch.json
    │       │   │   │   ├── menril_torch_stone.json
    │       │   │   │   ├── menril_torch_stone_wall.json
    │       │   │   │   ├── menril_torch_wall.json
    │       │   │   │   ├── menril_wood.json
    │       │   │   │   ├── menril_wood_stripped.json
    │       │   │   │   ├── part_audio_reader.json
    │       │   │   │   ├── part_audio_writer.json
    │       │   │   │   ├── part_block_reader.json
    │       │   │   │   ├── part_connector_mono_directional.json
    │       │   │   │   ├── part_connector_omni_directional.json
    │       │   │   │   ├── part_display_panel.json
    │       │   │   │   ├── part_dynamic_light_panel.json
    │       │   │   │   ├── part_effect_writer.json
    │       │   │   │   ├── part_entity_reader.json
    │       │   │   │   ├── part_entity_writer.json
    │       │   │   │   ├── part_extradimensional_reader.json
    │       │   │   │   ├── part_fluid_reader.json
    │       │   │   │   ├── part_inventory_reader.json
    │       │   │   │   ├── part_inventory_writer.json
    │       │   │   │   ├── part_machine_reader.json
    │       │   │   │   ├── part_machine_writer.json
    │       │   │   │   ├── part_network_reader.json
    │       │   │   │   ├── part_redstone_reader.json
    │       │   │   │   ├── part_redstone_writer.json
    │       │   │   │   ├── part_static_light_panel.json
    │       │   │   │   ├── part_world_reader.json
    │       │   │   │   ├── proxy.json
    │       │   │   │   ├── squeezer.json
    │       │   │   │   └── variablestore.json
    │       │   │   ├── items/
    │       │   │   │   ├── block_liquid_chorus.json
    │       │   │   │   ├── block_menril_resin.json
    │       │   │   │   ├── bucket_liquid_chorus.json
    │       │   │   │   ├── bucket_menril_resin.json
    │       │   │   │   ├── cable.json
    │       │   │   │   ├── coal_generator.json
    │       │   │   │   ├── crystalized_chorus_block.json
    │       │   │   │   ├── crystalized_chorus_block_slab.json
    │       │   │   │   ├── crystalized_chorus_block_stairs.json
    │       │   │   │   ├── crystalized_chorus_brick.json
    │       │   │   │   ├── crystalized_chorus_brick_slab.json
    │       │   │   │   ├── crystalized_chorus_brick_stairs.json
    │       │   │   │   ├── crystalized_chorus_chunk.json
    │       │   │   │   ├── crystalized_menril_block.json
    │       │   │   │   ├── crystalized_menril_block_slab.json
    │       │   │   │   ├── crystalized_menril_block_stairs.json
    │       │   │   │   ├── crystalized_menril_brick.json
    │       │   │   │   ├── crystalized_menril_brick_slab.json
    │       │   │   │   ├── crystalized_menril_brick_stairs.json
    │       │   │   │   ├── crystalized_menril_chunk.json
    │       │   │   │   ├── delay.json
    │       │   │   │   ├── drying_basin.json
    │       │   │   │   ├── energy_battery.json
    │       │   │   │   ├── energy_battery_creative.json
    │       │   │   │   ├── enhancement_offset.json
    │       │   │   │   ├── facade.json
    │       │   │   │   ├── invisible_light.json
    │       │   │   │   ├── labeller.json
    │       │   │   │   ├── logic_director.json
    │       │   │   │   ├── logic_programmer.json
    │       │   │   │   ├── materializer.json
    │       │   │   │   ├── mechanical_drying_basin.json
    │       │   │   │   ├── mechanical_squeezer.json
    │       │   │   │   ├── menril_berries.json
    │       │   │   │   ├── menril_door.json
    │       │   │   │   ├── menril_fence.json
    │       │   │   │   ├── menril_fence_gate.json
    │       │   │   │   ├── menril_leaves.json
    │       │   │   │   ├── menril_log.json
    │       │   │   │   ├── menril_log_filled.json
    │       │   │   │   ├── menril_log_stripped.json
    │       │   │   │   ├── menril_planks.json
    │       │   │   │   ├── menril_planks_stairs.json
    │       │   │   │   ├── menril_sapling.json
    │       │   │   │   ├── menril_slab.json
    │       │   │   │   ├── menril_torch.json
    │       │   │   │   ├── menril_torch_stone.json
    │       │   │   │   ├── menril_wood.json
    │       │   │   │   ├── menril_wood_stripped.json
    │       │   │   │   ├── on_the_dynamics_of_integration.json
    │       │   │   │   ├── part_audio_reader.json
    │       │   │   │   ├── part_audio_writer.json
    │       │   │   │   ├── part_block_reader.json
    │       │   │   │   ├── part_connector_mono_directional.json
    │       │   │   │   ├── part_connector_omni_directional.json
    │       │   │   │   ├── part_display_panel.json
    │       │   │   │   ├── part_dynamic_light_panel.json
    │       │   │   │   ├── part_effect_writer.json
    │       │   │   │   ├── part_entity_reader.json
    │       │   │   │   ├── part_entity_writer.json
    │       │   │   │   ├── part_extradimensional_reader.json
    │       │   │   │   ├── part_fluid_reader.json
    │       │   │   │   ├── part_inventory_reader.json
    │       │   │   │   ├── part_inventory_writer.json
    │       │   │   │   ├── part_machine_reader.json
    │       │   │   │   ├── part_machine_writer.json
    │       │   │   │   ├── part_network_reader.json
    │       │   │   │   ├── part_redstone_reader.json
    │       │   │   │   ├── part_redstone_writer.json
    │       │   │   │   ├── part_static_light_panel.json
    │       │   │   │   ├── part_world_reader.json
    │       │   │   │   ├── portable_logic_programmer.json
    │       │   │   │   ├── proto_chorus.json
    │       │   │   │   ├── proxy.json
    │       │   │   │   ├── squeezer.json
    │       │   │   │   ├── variable.json
    │       │   │   │   ├── variable_transformer_input.json
    │       │   │   │   ├── variable_transformer_output.json
    │       │   │   │   ├── variablestore.json
    │       │   │   │   └── wrench.json
    │       │   │   ├── lang/
    │       │   │   │   ├── af_za.json
    │       │   │   │   ├── ar_sa.json
    │       │   │   │   ├── ca_es.json
    │       │   │   │   ├── cs_cz.json
    │       │   │   │   ├── da_dk.json
    │       │   │   │   ├── de_de.json
    │       │   │   │   ├── el_gr.json
    │       │   │   │   ├── en_us.json
    │       │   │   │   ├── es_es.json
    │       │   │   │   ├── fi_fi.json
    │       │   │   │   ├── fr_fr.json
    │       │   │   │   ├── he_il.json
    │       │   │   │   ├── hu_hu.json
    │       │   │   │   ├── it_it.json
    │       │   │   │   ├── ja_jp.json
    │       │   │   │   ├── ko_kr.json
    │       │   │   │   ├── nl_nl.json
    │       │   │   │   ├── no_no.json
    │       │   │   │   ├── pl_pl.json
    │       │   │   │   ├── pt_br.json
    │       │   │   │   ├── pt_pt.json
    │       │   │   │   ├── ro_ro.json
    │       │   │   │   ├── ru_ru.json
    │       │   │   │   ├── sr_sp.json
    │       │   │   │   ├── sv_se.json
    │       │   │   │   ├── tr_tr.json
    │       │   │   │   ├── uk_ua.json
    │       │   │   │   ├── vi_vn.json
    │       │   │   │   ├── zh_cn.json
    │       │   │   │   └── zh_tw.json
    │       │   │   ├── models/
    │       │   │   │   ├── aspect/
    │       │   │   │   │   ├── read/
    │       │   │   │   │   │   ├── any/
    │       │   │   │   │   │   │   └── network/
    │       │   │   │   │   │   │       └── value.json
    │       │   │   │   │   │   ├── block/
    │       │   │   │   │   │   │   └── block.json
    │       │   │   │   │   │   ├── boolean/
    │       │   │   │   │   │   │   ├── block/
    │       │   │   │   │   │   │   │   └── block.json
    │       │   │   │   │   │   │   ├── energy/
    │       │   │   │   │   │   │   │   ├── applicable.json
    │       │   │   │   │   │   │   │   ├── canextract.json
    │       │   │   │   │   │   │   │   ├── caninsert.json
    │       │   │   │   │   │   │   │   ├── isempty.json
    │       │   │   │   │   │   │   │   ├── isfull.json
    │       │   │   │   │   │   │   │   ├── isnonempty.json
    │       │   │   │   │   │   │   │   ├── isprovider.json
    │       │   │   │   │   │   │   │   └── isreceiver.json
    │       │   │   │   │   │   │   ├── fluid/
    │       │   │   │   │   │   │   │   ├── applicable.json
    │       │   │   │   │   │   │   │   ├── empty.json
    │       │   │   │   │   │   │   │   ├── full.json
    │       │   │   │   │   │   │   │   └── nonempty.json
    │       │   │   │   │   │   │   ├── inventory/
    │       │   │   │   │   │   │   │   ├── applicable.json
    │       │   │   │   │   │   │   │   ├── empty.json
    │       │   │   │   │   │   │   │   ├── full.json
    │       │   │   │   │   │   │   │   └── nonempty.json
    │       │   │   │   │   │   │   ├── machine/
    │       │   │   │   │   │   │   │   ├── canwork.json
    │       │   │   │   │   │   │   │   ├── haswork.json
    │       │   │   │   │   │   │   │   ├── isworker.json
    │       │   │   │   │   │   │   │   └── isworking.json
    │       │   │   │   │   │   │   ├── network/
    │       │   │   │   │   │   │   │   └── applicable.json
    │       │   │   │   │   │   │   ├── recipehandler/
    │       │   │   │   │   │   │   │   └── applicable.json
    │       │   │   │   │   │   │   ├── redstone/
    │       │   │   │   │   │   │   │   ├── clock.json
    │       │   │   │   │   │   │   │   ├── high.json
    │       │   │   │   │   │   │   │   ├── low.json
    │       │   │   │   │   │   │   │   └── nonlow.json
    │       │   │   │   │   │   │   ├── temperature/
    │       │   │   │   │   │   │   │   └── istemperature.json
    │       │   │   │   │   │   │   └── world/
    │       │   │   │   │   │   │       ├── animal.json
    │       │   │   │   │   │   │       ├── entity.json
    │       │   │   │   │   │   │       ├── isday.json
    │       │   │   │   │   │   │       ├── isnight.json
    │       │   │   │   │   │   │       ├── item.json
    │       │   │   │   │   │   │       ├── mob.json
    │       │   │   │   │   │   │       ├── player.json
    │       │   │   │   │   │   │       └── weather/
    │       │   │   │   │   │   │           ├── clear.json
    │       │   │   │   │   │   │           ├── raining.json
    │       │   │   │   │   │   │           └── thunder.json
    │       │   │   │   │   │   ├── double/
    │       │   │   │   │   │   │   ├── energy/
    │       │   │   │   │   │   │   │   └── fillratio.json
    │       │   │   │   │   │   │   ├── extradimensional/
    │       │   │   │   │   │   │   │   └── tps.json
    │       │   │   │   │   │   │   ├── fluid/
    │       │   │   │   │   │   │   │   └── fillratio.json
    │       │   │   │   │   │   │   ├── inventory/
    │       │   │   │   │   │   │   │   └── fillratio.json
    │       │   │   │   │   │   │   ├── temperature/
    │       │   │   │   │   │   │   │   ├── defaulttemperature.json
    │       │   │   │   │   │   │   │   ├── maxtemperature.json
    │       │   │   │   │   │   │   │   ├── mintemperature.json
    │       │   │   │   │   │   │   │   └── temperature.json
    │       │   │   │   │   │   │   └── world/
    │       │   │   │   │   │   │       └── tps.json
    │       │   │   │   │   │   ├── entity/
    │       │   │   │   │   │   │   └── entity.json
    │       │   │   │   │   │   ├── fluidstack/
    │       │   │   │   │   │   │   ├── block.json
    │       │   │   │   │   │   │   └── fluid.json
    │       │   │   │   │   │   ├── integer/
    │       │   │   │   │   │   │   ├── audio/
    │       │   │   │   │   │   │   │   └── instrument/
    │       │   │   │   │   │   │   │       ├── banjo.json
    │       │   │   │   │   │   │   │       ├── basedrum.json
    │       │   │   │   │   │   │   │       ├── bass.json
    │       │   │   │   │   │   │   │       ├── bell.json
    │       │   │   │   │   │   │   │       ├── bit.json
    │       │   │   │   │   │   │   │       ├── chime.json
    │       │   │   │   │   │   │   │       ├── cow_bell.json
    │       │   │   │   │   │   │   │       ├── creeper.json
    │       │   │   │   │   │   │   │       ├── custom_head.json
    │       │   │   │   │   │   │   │       ├── didgeridoo.json
    │       │   │   │   │   │   │   │       ├── dragon.json
    │       │   │   │   │   │   │   │       ├── flute.json
    │       │   │   │   │   │   │   │       ├── guitar.json
    │       │   │   │   │   │   │   │       ├── harp.json
    │       │   │   │   │   │   │   │       ├── hat.json
    │       │   │   │   │   │   │   │       ├── iron_xylophone.json
    │       │   │   │   │   │   │   │       ├── piglin.json
    │       │   │   │   │   │   │   │       ├── pling.json
    │       │   │   │   │   │   │   │       ├── skeleton.json
    │       │   │   │   │   │   │   │       ├── snare.json
    │       │   │   │   │   │   │   │       ├── wither_skeleton.json
    │       │   │   │   │   │   │   │       ├── xylophone.json
    │       │   │   │   │   │   │   │       └── zombie.json
    │       │   │   │   │   │   │   ├── block/
    │       │   │   │   │   │   │   │   ├── light.json
    │       │   │   │   │   │   │   │   ├── posx.json
    │       │   │   │   │   │   │   │   ├── posy.json
    │       │   │   │   │   │   │   │   └── posz.json
    │       │   │   │   │   │   │   ├── entity/
    │       │   │   │   │   │   │   │   └── itemframerotation.json
    │       │   │   │   │   │   │   ├── extradimensional/
    │       │   │   │   │   │   │   │   ├── playercount.json
    │       │   │   │   │   │   │   │   ├── random.json
    │       │   │   │   │   │   │   │   └── ticktime.json
    │       │   │   │   │   │   │   ├── fluid/
    │       │   │   │   │   │   │   │   └── tanks.json
    │       │   │   │   │   │   │   ├── inventory/
    │       │   │   │   │   │   │   │   ├── count.json
    │       │   │   │   │   │   │   │   ├── slots.json
    │       │   │   │   │   │   │   │   └── slotsfilled.json
    │       │   │   │   │   │   │   ├── network/
    │       │   │   │   │   │   │   │   ├── elementcount.json
    │       │   │   │   │   │   │   │   └── energy/
    │       │   │   │   │   │   │   │       ├── batterycount.json
    │       │   │   │   │   │   │   │       └── consumptionrate.json
    │       │   │   │   │   │   │   ├── redstone/
    │       │   │   │   │   │   │   │   ├── comparator.json
    │       │   │   │   │   │   │   │   └── value.json
    │       │   │   │   │   │   │   └── world/
    │       │   │   │   │   │   │       ├── daytime.json
    │       │   │   │   │   │   │       ├── entity.json
    │       │   │   │   │   │   │       ├── lightlevel.json
    │       │   │   │   │   │   │       ├── playercount.json
    │       │   │   │   │   │   │       ├── raincountdown.json
    │       │   │   │   │   │   │       └── ticktime.json
    │       │   │   │   │   │   ├── itemstack/
    │       │   │   │   │   │   │   ├── entity/
    │       │   │   │   │   │   │   │   └── itemframecontents.json
    │       │   │   │   │   │   │   └── inventory.json
    │       │   │   │   │   │   ├── list/
    │       │   │   │   │   │   │   ├── entity/
    │       │   │   │   │   │   │   │   ├── entities.json
    │       │   │   │   │   │   │   │   └── players.json
    │       │   │   │   │   │   │   ├── extradimensional/
    │       │   │   │   │   │   │   │   └── players.json
    │       │   │   │   │   │   │   ├── fluid/
    │       │   │   │   │   │   │   │   ├── capacities.json
    │       │   │   │   │   │   │   │   └── fluidstacks.json
    │       │   │   │   │   │   │   ├── inventory/
    │       │   │   │   │   │   │   │   └── itemstacks.json
    │       │   │   │   │   │   │   ├── recipehandler/
    │       │   │   │   │   │   │   │   └── recipes.json
    │       │   │   │   │   │   │   └── world/
    │       │   │   │   │   │   │       └── players.json
    │       │   │   │   │   │   ├── long/
    │       │   │   │   │   │   │   ├── energy/
    │       │   │   │   │   │   │   │   ├── amount.json
    │       │   │   │   │   │   │   │   └── capacity.json
    │       │   │   │   │   │   │   ├── fluid/
    │       │   │   │   │   │   │   │   ├── amount.json
    │       │   │   │   │   │   │   │   ├── capacity.json
    │       │   │   │   │   │   │   │   ├── totalamount.json
    │       │   │   │   │   │   │   │   └── totalcapacity.json
    │       │   │   │   │   │   │   ├── network/
    │       │   │   │   │   │   │   │   └── energy/
    │       │   │   │   │   │   │   │       ├── max.json
    │       │   │   │   │   │   │   │       └── stored.json
    │       │   │   │   │   │   │   └── world/
    │       │   │   │   │   │   │       ├── time.json
    │       │   │   │   │   │   │       └── totaltime.json
    │       │   │   │   │   │   ├── nbt/
    │       │   │   │   │   │   │   └── block/
    │       │   │   │   │   │   │       └── tile.json
    │       │   │   │   │   │   ├── operator/
    │       │   │   │   │   │   │   ├── network/
    │       │   │   │   │   │   │   │   └── variablebyid.json
    │       │   │   │   │   │   │   └── recipehandler/
    │       │   │   │   │   │   │       ├── recipebyinput.json
    │       │   │   │   │   │   │       ├── recipebyoutput.json
    │       │   │   │   │   │   │       ├── recipeinputsbyoutput.json
    │       │   │   │   │   │   │       ├── recipeoutputbyinput.json
    │       │   │   │   │   │   │       ├── recipesbyinput.json
    │       │   │   │   │   │   │       └── recipesbyoutput.json
    │       │   │   │   │   │   └── string/
    │       │   │   │   │   │       ├── block/
    │       │   │   │   │   │       │   ├── biome.json
    │       │   │   │   │   │       │   └── dimension.json
    │       │   │   │   │   │       └── world/
    │       │   │   │   │   │           └── worldname.json
    │       │   │   │   │   └── write/
    │       │   │   │   │       ├── boolean/
    │       │   │   │   │       │   ├── redstone/
    │       │   │   │   │       │   │   └── pulse.json
    │       │   │   │   │       │   └── redstone.json
    │       │   │   │   │       ├── double/
    │       │   │   │   │       │   └── effect/
    │       │   │   │   │       │       └── particle/
    │       │   │   │   │       │           ├── minecraft_ambient_entity_effect.json
    │       │   │   │   │       │           ├── minecraft_angry_villager.json
    │       │   │   │   │       │           ├── minecraft_ash.json
    │       │   │   │   │       │           ├── minecraft_barrier.json
    │       │   │   │   │       │           ├── minecraft_bubble.json
    │       │   │   │   │       │           ├── minecraft_bubble_column_up.json
    │       │   │   │   │       │           ├── minecraft_bubble_pop.json
    │       │   │   │   │       │           ├── minecraft_campfire_cosy_smoke.json
    │       │   │   │   │       │           ├── minecraft_campfire_signal_smoke.json
    │       │   │   │   │       │           ├── minecraft_cloud.json
    │       │   │   │   │       │           ├── minecraft_composter.json
    │       │   │   │   │       │           ├── minecraft_crimson_spore.json
    │       │   │   │   │       │           ├── minecraft_crit.json
    │       │   │   │   │       │           ├── minecraft_current_down.json
    │       │   │   │   │       │           ├── minecraft_damage_indicator.json
    │       │   │   │   │       │           ├── minecraft_dolphin.json
    │       │   │   │   │       │           ├── minecraft_dragon_breath.json
    │       │   │   │   │       │           ├── minecraft_dripping_dripstone_lava.json
    │       │   │   │   │       │           ├── minecraft_dripping_dripstone_water.json
    │       │   │   │   │       │           ├── minecraft_dripping_honey.json
    │       │   │   │   │       │           ├── minecraft_dripping_lava.json
    │       │   │   │   │       │           ├── minecraft_dripping_obsidian_tear.json
    │       │   │   │   │       │           ├── minecraft_dripping_water.json
    │       │   │   │   │       │           ├── minecraft_dust_plume.json
    │       │   │   │   │       │           ├── minecraft_effect.json
    │       │   │   │   │       │           ├── minecraft_egg_crack.json
    │       │   │   │   │       │           ├── minecraft_elder_guardian.json
    │       │   │   │   │       │           ├── minecraft_electric_spark.json
    │       │   │   │   │       │           ├── minecraft_enchant.json
    │       │   │   │   │       │           ├── minecraft_enchanted_hit.json
    │       │   │   │   │       │           ├── minecraft_end_rod.json
    │       │   │   │   │       │           ├── minecraft_entity_effect.json
    │       │   │   │   │       │           ├── minecraft_explosion.json
    │       │   │   │   │       │           ├── minecraft_explosion_emitter.json
    │       │   │   │   │       │           ├── minecraft_falling_dripstone_lava.json
    │       │   │   │   │       │           ├── minecraft_falling_dripstone_water.json
    │       │   │   │   │       │           ├── minecraft_falling_honey.json
    │       │   │   │   │       │           ├── minecraft_falling_lava.json
    │       │   │   │   │       │           ├── minecraft_falling_nectar.json
    │       │   │   │   │       │           ├── minecraft_falling_obsidian_tear.json
    │       │   │   │   │       │           ├── minecraft_falling_spore_blossom.json
    │       │   │   │   │       │           ├── minecraft_falling_water.json
    │       │   │   │   │       │           ├── minecraft_firefly.json
    │       │   │   │   │       │           ├── minecraft_firework.json
    │       │   │   │   │       │           ├── minecraft_fishing.json
    │       │   │   │   │       │           ├── minecraft_flame.json
    │       │   │   │   │       │           ├── minecraft_flash.json
    │       │   │   │   │       │           ├── minecraft_glow.json
    │       │   │   │   │       │           ├── minecraft_glow_squid_ink.json
    │       │   │   │   │       │           ├── minecraft_happy_villager.json
    │       │   │   │   │       │           ├── minecraft_heart.json
    │       │   │   │   │       │           ├── minecraft_instant_effect.json
    │       │   │   │   │       │           ├── minecraft_item_slime.json
    │       │   │   │   │       │           ├── minecraft_item_snowball.json
    │       │   │   │   │       │           ├── minecraft_landing_honey.json
    │       │   │   │   │       │           ├── minecraft_landing_lava.json
    │       │   │   │   │       │           ├── minecraft_landing_obsidian_tear.json
    │       │   │   │   │       │           ├── minecraft_large_smoke.json
    │       │   │   │   │       │           ├── minecraft_lava.json
    │       │   │   │   │       │           ├── minecraft_mycelium.json
    │       │   │   │   │       │           ├── minecraft_nautilus.json
    │       │   │   │   │       │           ├── minecraft_note.json
    │       │   │   │   │       │           ├── minecraft_ominous_spawning.json
    │       │   │   │   │       │           ├── minecraft_pause_mob_growth.json
    │       │   │   │   │       │           ├── minecraft_poof.json
    │       │   │   │   │       │           ├── minecraft_portal.json
    │       │   │   │   │       │           ├── minecraft_raid_omen.json
    │       │   │   │   │       │           ├── minecraft_rain.json
    │       │   │   │   │       │           ├── minecraft_reset_mob_growth.json
    │       │   │   │   │       │           ├── minecraft_reverse_portal.json
    │       │   │   │   │       │           ├── minecraft_scrape.json
    │       │   │   │   │       │           ├── minecraft_sculk_charge_pop.json
    │       │   │   │   │       │           ├── minecraft_sculk_soul.json
    │       │   │   │   │       │           ├── minecraft_small_flame.json
    │       │   │   │   │       │           ├── minecraft_smoke.json
    │       │   │   │   │       │           ├── minecraft_sneeze.json
    │       │   │   │   │       │           ├── minecraft_snowflake.json
    │       │   │   │   │       │           ├── minecraft_sonic_boom.json
    │       │   │   │   │       │           ├── minecraft_soul.json
    │       │   │   │   │       │           ├── minecraft_soul_fire_flame.json
    │       │   │   │   │       │           ├── minecraft_spit.json
    │       │   │   │   │       │           ├── minecraft_splash.json
    │       │   │   │   │       │           ├── minecraft_spore_blossom_air.json
    │       │   │   │   │       │           ├── minecraft_squid_ink.json
    │       │   │   │   │       │           ├── minecraft_sweep_attack.json
    │       │   │   │   │       │           ├── minecraft_totem_of_undying.json
    │       │   │   │   │       │           ├── minecraft_trial_omen.json
    │       │   │   │   │       │           ├── minecraft_trial_spawner_detection.json
    │       │   │   │   │       │           ├── minecraft_trial_spawner_detection_ominous.json
    │       │   │   │   │       │           ├── minecraft_underwater.json
    │       │   │   │   │       │           ├── minecraft_vault_connection.json
    │       │   │   │   │       │           ├── minecraft_warped_spore.json
    │       │   │   │   │       │           ├── minecraft_wax_off.json
    │       │   │   │   │       │           ├── minecraft_wax_on.json
    │       │   │   │   │       │           ├── minecraft_white_ash.json
    │       │   │   │   │       │           └── minecraft_witch.json
    │       │   │   │   │       ├── integer/
    │       │   │   │   │       │   ├── audio/
    │       │   │   │   │       │   │   └── instrument/
    │       │   │   │   │       │   │       ├── banjo.json
    │       │   │   │   │       │   │       ├── basedrum.json
    │       │   │   │   │       │   │       ├── bass.json
    │       │   │   │   │       │   │       ├── bell.json
    │       │   │   │   │       │   │       ├── bit.json
    │       │   │   │   │       │   │       ├── chime.json
    │       │   │   │   │       │   │       ├── cow_bell.json
    │       │   │   │   │       │   │       ├── creeper.json
    │       │   │   │   │       │   │       ├── custom_head.json
    │       │   │   │   │       │   │       ├── didgeridoo.json
    │       │   │   │   │       │   │       ├── dragon.json
    │       │   │   │   │       │   │       ├── flute.json
    │       │   │   │   │       │   │       ├── guitar.json
    │       │   │   │   │       │   │       ├── harp.json
    │       │   │   │   │       │   │       ├── hat.json
    │       │   │   │   │       │   │       ├── iron_xylophone.json
    │       │   │   │   │       │   │       ├── piglin.json
    │       │   │   │   │       │   │       ├── pling.json
    │       │   │   │   │       │   │       ├── skeleton.json
    │       │   │   │   │       │   │       ├── snare.json
    │       │   │   │   │       │   │       ├── wither_skeleton.json
    │       │   │   │   │       │   │       ├── xylophone.json
    │       │   │   │   │       │   │       └── zombie.json
    │       │   │   │   │       │   ├── redstone/
    │       │   │   │   │       │   │   └── pulse.json
    │       │   │   │   │       │   └── redstone.json
    │       │   │   │   │       └── string/
    │       │   │   │   │           └── audio/
    │       │   │   │   │               ├── sound.json
    │       │   │   │   │               └── text.json
    │       │   │   │   ├── block/
    │       │   │   │   │   ├── cable.json
    │       │   │   │   │   ├── coal_generator.json
    │       │   │   │   │   ├── coal_generator_on.json
    │       │   │   │   │   ├── crystalized_chorus_block.json
    │       │   │   │   │   ├── crystalized_chorus_block_slab.json
    │       │   │   │   │   ├── crystalized_chorus_block_slab_top.json
    │       │   │   │   │   ├── crystalized_chorus_block_stairs.json
    │       │   │   │   │   ├── crystalized_chorus_block_stairs_inner.json
    │       │   │   │   │   ├── crystalized_chorus_block_stairs_outer.json
    │       │   │   │   │   ├── crystalized_chorus_brick.json
    │       │   │   │   │   ├── crystalized_chorus_brick_slab.json
    │       │   │   │   │   ├── crystalized_chorus_brick_slab_top.json
    │       │   │   │   │   ├── crystalized_chorus_brick_stairs.json
    │       │   │   │   │   ├── crystalized_chorus_brick_stairs_inner.json
    │       │   │   │   │   ├── crystalized_chorus_brick_stairs_outer.json
    │       │   │   │   │   ├── crystalized_menril_block.json
    │       │   │   │   │   ├── crystalized_menril_block_slab.json
    │       │   │   │   │   ├── crystalized_menril_block_slab_top.json
    │       │   │   │   │   ├── crystalized_menril_block_stairs.json
    │       │   │   │   │   ├── crystalized_menril_block_stairs_inner.json
    │       │   │   │   │   ├── crystalized_menril_block_stairs_outer.json
    │       │   │   │   │   ├── crystalized_menril_brick.json
    │       │   │   │   │   ├── crystalized_menril_brick_slab.json
    │       │   │   │   │   ├── crystalized_menril_brick_slab_top.json
    │       │   │   │   │   ├── crystalized_menril_brick_stairs.json
    │       │   │   │   │   ├── crystalized_menril_brick_stairs_inner.json
    │       │   │   │   │   ├── crystalized_menril_brick_stairs_outer.json
    │       │   │   │   │   ├── delay.json
    │       │   │   │   │   ├── drying_basin.json
    │       │   │   │   │   ├── energy_battery.json
    │       │   │   │   │   ├── energy_battery_creative.json
    │       │   │   │   │   ├── energy_battery_full.json
    │       │   │   │   │   ├── invisible_light.json
    │       │   │   │   │   ├── liquid_chorus.json
    │       │   │   │   │   ├── logic_programmer.json
    │       │   │   │   │   ├── materializer.json
    │       │   │   │   │   ├── mechanical_drying_basin.json
    │       │   │   │   │   ├── mechanical_drying_basin_on.json
    │       │   │   │   │   ├── mechanical_squeezer.json
    │       │   │   │   │   ├── mechanical_squeezer_on.json
    │       │   │   │   │   ├── menril_door_bottom.json
    │       │   │   │   │   ├── menril_door_bottom_rh.json
    │       │   │   │   │   ├── menril_door_top.json
    │       │   │   │   │   ├── menril_door_top_rh.json
    │       │   │   │   │   ├── menril_fence_gate.json
    │       │   │   │   │   ├── menril_fence_gate_open.json
    │       │   │   │   │   ├── menril_fence_gate_wall.json
    │       │   │   │   │   ├── menril_fence_gate_wall_open.json
    │       │   │   │   │   ├── menril_fence_inventory.json
    │       │   │   │   │   ├── menril_fence_post.json
    │       │   │   │   │   ├── menril_fence_side.json
    │       │   │   │   │   ├── menril_leaves.json
    │       │   │   │   │   ├── menril_log.json
    │       │   │   │   │   ├── menril_log_filled.json
    │       │   │   │   │   ├── menril_log_filled_side.json
    │       │   │   │   │   ├── menril_log_stripped.json
    │       │   │   │   │   ├── menril_planks.json
    │       │   │   │   │   ├── menril_planks_stairs.json
    │       │   │   │   │   ├── menril_planks_stairs_inner.json
    │       │   │   │   │   ├── menril_planks_stairs_outer.json
    │       │   │   │   │   ├── menril_resin.json
    │       │   │   │   │   ├── menril_sapling.json
    │       │   │   │   │   ├── menril_slab.json
    │       │   │   │   │   ├── menril_slab_top.json
    │       │   │   │   │   ├── menril_torch.json
    │       │   │   │   │   ├── menril_torch_stone.json
    │       │   │   │   │   ├── menril_torch_stone_wall.json
    │       │   │   │   │   ├── menril_torch_wall.json
    │       │   │   │   │   ├── menril_wood.json
    │       │   │   │   │   ├── menril_wood_stripped.json
    │       │   │   │   │   ├── part.json
    │       │   │   │   │   ├── part_audio_reader.json
    │       │   │   │   │   ├── part_audio_writer_active.json
    │       │   │   │   │   ├── part_audio_writer_error.json
    │       │   │   │   │   ├── part_audio_writer_inactive.json
    │       │   │   │   │   ├── part_block_reader.json
    │       │   │   │   │   ├── part_connector_mono_directional.json
    │       │   │   │   │   ├── part_connector_mono_directional_active.json
    │       │   │   │   │   ├── part_connector_mono_directional_inactive.json
    │       │   │   │   │   ├── part_connector_omni_directional.json
    │       │   │   │   │   ├── part_connector_omni_directional_active.json
    │       │   │   │   │   ├── part_connector_omni_directional_inactive.json
    │       │   │   │   │   ├── part_display_panel_active.json
    │       │   │   │   │   ├── part_display_panel_error.json
    │       │   │   │   │   ├── part_display_panel_inactive.json
    │       │   │   │   │   ├── part_dynamic_light_panel_active.json
    │       │   │   │   │   ├── part_dynamic_light_panel_error.json
    │       │   │   │   │   ├── part_dynamic_light_panel_inactive.json
    │       │   │   │   │   ├── part_effect_reader.json
    │       │   │   │   │   ├── part_effect_writer_active.json
    │       │   │   │   │   ├── part_effect_writer_error.json
    │       │   │   │   │   ├── part_effect_writer_inactive.json
    │       │   │   │   │   ├── part_entity_reader.json
    │       │   │   │   │   ├── part_entity_writer_active.json
    │       │   │   │   │   ├── part_entity_writer_error.json
    │       │   │   │   │   ├── part_entity_writer_inactive.json
    │       │   │   │   │   ├── part_extradimensional_reader.json
    │       │   │   │   │   ├── part_fluid_reader.json
    │       │   │   │   │   ├── part_inventory_reader.json
    │       │   │   │   │   ├── part_inventory_writer_active.json
    │       │   │   │   │   ├── part_inventory_writer_error.json
    │       │   │   │   │   ├── part_inventory_writer_inactive.json
    │       │   │   │   │   ├── part_machine_reader.json
    │       │   │   │   │   ├── part_machine_writer_active.json
    │       │   │   │   │   ├── part_machine_writer_error.json
    │       │   │   │   │   ├── part_machine_writer_inactive.json
    │       │   │   │   │   ├── part_network_reader.json
    │       │   │   │   │   ├── part_panel.json
    │       │   │   │   │   ├── part_reader.json
    │       │   │   │   │   ├── part_redstone_reader.json
    │       │   │   │   │   ├── part_redstone_writer_active.json
    │       │   │   │   │   ├── part_redstone_writer_error.json
    │       │   │   │   │   ├── part_redstone_writer_inactive.json
    │       │   │   │   │   ├── part_static_light_panel.json
    │       │   │   │   │   ├── part_world_reader.json
    │       │   │   │   │   ├── part_writer.json
    │       │   │   │   │   ├── proxy.json
    │       │   │   │   │   ├── squeezer.json
    │       │   │   │   │   ├── squeezer_full.json
    │       │   │   │   │   ├── squeezer_top_1.json
    │       │   │   │   │   ├── squeezer_top_2.json
    │       │   │   │   │   ├── squeezer_top_3.json
    │       │   │   │   │   ├── squeezer_top_4.json
    │       │   │   │   │   ├── squeezer_top_5.json
    │       │   │   │   │   ├── squeezer_top_6.json
    │       │   │   │   │   ├── squeezer_top_7.json
    │       │   │   │   │   └── variablestore.json
    │       │   │   │   ├── customoverlay/
    │       │   │   │   │   ├── delay.json
    │       │   │   │   │   └── proxy.json
    │       │   │   │   ├── item/
    │       │   │   │   │   ├── block_liquid_chorus.json
    │       │   │   │   │   ├── block_menril_resin.json
    │       │   │   │   │   ├── bucket_liquid_chorus.json
    │       │   │   │   │   ├── bucket_menril_resin.json
    │       │   │   │   │   ├── cable.json
    │       │   │   │   │   ├── coal_generator.json
    │       │   │   │   │   ├── crystalized_chorus_block.json
    │       │   │   │   │   ├── crystalized_chorus_block_slab.json
    │       │   │   │   │   ├── crystalized_chorus_block_stairs.json
    │       │   │   │   │   ├── crystalized_chorus_brick.json
    │       │   │   │   │   ├── crystalized_chorus_brick_slab.json
    │       │   │   │   │   ├── crystalized_chorus_brick_stairs.json
    │       │   │   │   │   ├── crystalized_chorus_chunk.json
    │       │   │   │   │   ├── crystalized_menril_block.json
    │       │   │   │   │   ├── crystalized_menril_block_slab.json
    │       │   │   │   │   ├── crystalized_menril_block_stairs.json
    │       │   │   │   │   ├── crystalized_menril_brick.json
    │       │   │   │   │   ├── crystalized_menril_brick_slab.json
    │       │   │   │   │   ├── crystalized_menril_brick_stairs.json
    │       │   │   │   │   ├── crystalized_menril_chunk.json
    │       │   │   │   │   ├── delay.json
    │       │   │   │   │   ├── drying_basin.json
    │       │   │   │   │   ├── energy_battery.json
    │       │   │   │   │   ├── energy_battery_creative.json
    │       │   │   │   │   ├── enhancement_offset.json
    │       │   │   │   │   ├── facade.json
    │       │   │   │   │   ├── invisible_light.json
    │       │   │   │   │   ├── labeller.json
    │       │   │   │   │   ├── logic_director.json
    │       │   │   │   │   ├── logic_programmer.json
    │       │   │   │   │   ├── materializer.json
    │       │   │   │   │   ├── mechanical_drying_basin.json
    │       │   │   │   │   ├── mechanical_squeezer.json
    │       │   │   │   │   ├── menril_berries.json
    │       │   │   │   │   ├── menril_door.json
    │       │   │   │   │   ├── menril_fence.json
    │       │   │   │   │   ├── menril_fence_gate.json
    │       │   │   │   │   ├── menril_leaves.json
    │       │   │   │   │   ├── menril_log.json
    │       │   │   │   │   ├── menril_log_filled.json
    │       │   │   │   │   ├── menril_log_stripped.json
    │       │   │   │   │   ├── menril_planks.json
    │       │   │   │   │   ├── menril_planks_stairs.json
    │       │   │   │   │   ├── menril_sapling.json
    │       │   │   │   │   ├── menril_slab.json
    │       │   │   │   │   ├── menril_torch.json
    │       │   │   │   │   ├── menril_torch_stone.json
    │       │   │   │   │   ├── menril_wood.json
    │       │   │   │   │   ├── menril_wood_stripped.json
    │       │   │   │   │   ├── on_the_dynamics_of_integration.json
    │       │   │   │   │   ├── part_audio_reader.json
    │       │   │   │   │   ├── part_audio_writer.json
    │       │   │   │   │   ├── part_block_reader.json
    │       │   │   │   │   ├── part_connector_mono_directional.json
    │       │   │   │   │   ├── part_connector_omni_directional.json
    │       │   │   │   │   ├── part_display_panel.json
    │       │   │   │   │   ├── part_dynamic_light_panel.json
    │       │   │   │   │   ├── part_effect_writer.json
    │       │   │   │   │   ├── part_entity_reader.json
    │       │   │   │   │   ├── part_entity_writer.json
    │       │   │   │   │   ├── part_extradimensional_reader.json
    │       │   │   │   │   ├── part_fluid_reader.json
    │       │   │   │   │   ├── part_inventory_reader.json
    │       │   │   │   │   ├── part_inventory_writer.json
    │       │   │   │   │   ├── part_machine_reader.json
    │       │   │   │   │   ├── part_machine_writer.json
    │       │   │   │   │   ├── part_network_reader.json
    │       │   │   │   │   ├── part_redstone_reader.json
    │       │   │   │   │   ├── part_redstone_writer.json
    │       │   │   │   │   ├── part_static_light_panel.json
    │       │   │   │   │   ├── part_world_reader.json
    │       │   │   │   │   ├── portable_logic_programmer.json
    │       │   │   │   │   ├── proto_chorus.json
    │       │   │   │   │   ├── proxy.json
    │       │   │   │   │   ├── squeezer.json
    │       │   │   │   │   ├── variable.json
    │       │   │   │   │   ├── variable_transformer_input.json
    │       │   │   │   │   ├── variable_transformer_output.json
    │       │   │   │   │   ├── variablestore.json
    │       │   │   │   │   └── wrench.json
    │       │   │   │   └── valuetype/
    │       │   │   │       ├── any.json
    │       │   │   │       ├── block.json
    │       │   │   │       ├── boolean.json
    │       │   │   │       ├── double.json
    │       │   │   │       ├── entity.json
    │       │   │   │       ├── fluidstack.json
    │       │   │   │       ├── ingredients.json
    │       │   │   │       ├── integer.json
    │       │   │   │       ├── itemstack.json
    │       │   │   │       ├── list.json
    │       │   │   │       ├── long.json
    │       │   │   │       ├── named.json
    │       │   │   │       ├── nbt.json
    │       │   │   │       ├── nullable.json
    │       │   │   │       ├── number.json
    │       │   │   │       ├── operator.json
    │       │   │   │       ├── recipe.json
    │       │   │   │       ├── string.json
    │       │   │   │       ├── thaumcraftaspect.json
    │       │   │   │       └── uniquely_named.json
    │       │   │   ├── sounds/
    │       │   │   │   ├── page_flip1.ogg
    │       │   │   │   ├── page_flip2.ogg
    │       │   │   │   ├── page_flip3.ogg
    │       │   │   │   └── pages_flip.ogg
    │       │   │   ├── sounds.json
    │       │   │   └── textures/
    │       │   │       └── block/
    │       │   │           ├── coal_generator_front_on.png.mcmeta
    │       │   │           ├── liquid_chorus_flow.png.mcmeta
    │       │   │           ├── liquid_chorus_still.png.mcmeta
    │       │   │           ├── mechanical_drying_basin_on.png.mcmeta
    │       │   │           ├── mechanical_squeezer_x_on.png.mcmeta
    │       │   │           ├── menril_resin_flow.png.mcmeta
    │       │   │           └── menril_resin_still.png.mcmeta
    │       │   └── minecraft/
    │       │       └── atlases/
    │       │           ├── blocks.json
    │       │           └── gui.json
    │       ├── data/
    │       │   ├── c/
    │       │   │   └── tags/
    │       │   │       ├── block/
    │       │   │       │   ├── storage_blocks.json
    │       │   │       │   ├── stripped_logs.json
    │       │   │       │   ├── stripped_woods.json
    │       │   │       │   └── torches.json
    │       │   │       ├── item/
    │       │   │       │   ├── books.json
    │       │   │       │   ├── clumps/
    │       │   │       │   │   └── menril_resin.json
    │       │   │       │   ├── clumps.json
    │       │   │       │   ├── fruits.json
    │       │   │       │   ├── ores/
    │       │   │       │   │   ├── copper.json
    │       │   │       │   │   ├── diamond.json
    │       │   │       │   │   ├── emerald.json
    │       │   │       │   │   ├── gold.json
    │       │   │       │   │   ├── iron.json
    │       │   │       │   │   ├── lapis.json
    │       │   │       │   │   ├── quartz.json
    │       │   │       │   │   └── redstone.json
    │       │   │       │   ├── raw_materials/
    │       │   │       │   │   ├── copper.json
    │       │   │       │   │   ├── gold.json
    │       │   │       │   │   └── iron.json
    │       │   │       │   ├── storage_blocks.json
    │       │   │       │   ├── stripped_logs.json
    │       │   │       │   ├── stripped_woods.json
    │       │   │       │   ├── tools/
    │       │   │       │   │   └── wrench.json
    │       │   │       │   └── torches.json
    │       │   │       └── worldgen/
    │       │   │           └── biome/
    │       │   │               ├── is_cold.json
    │       │   │               ├── is_coniferous.json
    │       │   │               ├── is_dense.json
    │       │   │               ├── is_overworld.json
    │       │   │               └── is_wet.json
    │       │   ├── integrateddynamics/
    │       │   │   ├── advancement/
    │       │   │   │   ├── advanced_network_components/
    │       │   │   │   │   ├── variable_materialization.json
    │       │   │   │   │   └── variable_proxying.json
    │       │   │   │   ├── advanced_operations/
    │       │   │   │   │   ├── item_origin_identification.json
    │       │   │   │   │   ├── logical_list_building.json
    │       │   │   │   │   └── what_would_i_be_looking_at.json
    │       │   │   │   ├── aspects/
    │       │   │   │   │   ├── redstone_capturing.json
    │       │   │   │   │   ├── redstone_observement.json
    │       │   │   │   │   └── redstone_transmission.json
    │       │   │   │   ├── basic_network_components/
    │       │   │   │   │   ├── block_reading.json
    │       │   │   │   │   ├── inventory_reading.json
    │       │   │   │   │   ├── machine_reading.json
    │       │   │   │   │   ├── redstone_reading.json
    │       │   │   │   │   └── value_displaying.json
    │       │   │   │   ├── challenges/
    │       │   │   │   │   ├── creeper_taming.json
    │       │   │   │   │   ├── recursive_recursion.json
    │       │   │   │   │   ├── smart_pressure_plate.json
    │       │   │   │   │   ├── sponge_step_sound.json
    │       │   │   │   │   └── tool_for_obsidian.json
    │       │   │   │   ├── logic_operations/
    │       │   │   │   │   ├── arithmetic_addition.json
    │       │   │   │   │   ├── constant_definition.json
    │       │   │   │   │   └── logic_programming.json
    │       │   │   │   ├── meneglin_basics/
    │       │   │   │   │   ├── drying.json
    │       │   │   │   │   ├── meneglin_discovery.json
    │       │   │   │   │   ├── menril_production.json
    │       │   │   │   │   └── squeezing.json
    │       │   │   │   ├── nbt/
    │       │   │   │   │   ├── lectern_book.json
    │       │   │   │   │   ├── lectern_book_name.json
    │       │   │   │   │   └── lectern_data.json
    │       │   │   │   ├── network_foundations/
    │       │   │   │   │   ├── cables_logic.json
    │       │   │   │   │   ├── menril_wrenching.json
    │       │   │   │   │   ├── networks_logic.json
    │       │   │   │   │   ├── variable_input.json
    │       │   │   │   │   ├── variable_output.json
    │       │   │   │   │   └── variables.json
    │       │   │   │   ├── recipe_handling/
    │       │   │   │   │   ├── recipe_creation.json
    │       │   │   │   │   ├── recipe_lookup.json
    │       │   │   │   │   └── recipe_reading.json
    │       │   │   │   ├── root.json
    │       │   │   │   └── the_value_of_operators/
    │       │   │   │       ├── dynamic_additions.json
    │       │   │   │       └── dynamic_list_filtering.json
    │       │   │   ├── info/
    │       │   │   │   └── on_the_dynamics_of_integration.xml
    │       │   │   ├── loot_table/
    │       │   │   │   └── blocks/
    │       │   │   │       ├── coal_generator.json
    │       │   │   │       ├── crystalized_chorus_block.json
    │       │   │   │       ├── crystalized_chorus_block_slab.json
    │       │   │   │       ├── crystalized_chorus_block_stairs.json
    │       │   │   │       ├── crystalized_chorus_brick.json
    │       │   │   │       ├── crystalized_chorus_brick_slab.json
    │       │   │   │       ├── crystalized_chorus_brick_stairs.json
    │       │   │   │       ├── crystalized_menril_block.json
    │       │   │   │       ├── crystalized_menril_block_slab.json
    │       │   │   │       ├── crystalized_menril_block_stairs.json
    │       │   │   │       ├── crystalized_menril_brick.json
    │       │   │   │       ├── crystalized_menril_brick_slab.json
    │       │   │   │       ├── crystalized_menril_brick_stairs.json
    │       │   │   │       ├── delay.json
    │       │   │   │       ├── drying_basin.json
    │       │   │   │       ├── energy_battery.json
    │       │   │   │       ├── energy_battery_creative.json
    │       │   │   │       ├── logic_programmer.json
    │       │   │   │       ├── materializer.json
    │       │   │   │       ├── mechanical_drying_basin.json
    │       │   │   │       ├── mechanical_squeezer.json
    │       │   │   │       ├── menril_door.json
    │       │   │   │       ├── menril_fence.json
    │       │   │   │       ├── menril_fence_gate.json
    │       │   │   │       ├── menril_leaves.json
    │       │   │   │       ├── menril_log.json
    │       │   │   │       ├── menril_log_filled.json
    │       │   │   │       ├── menril_log_stripped.json
    │       │   │   │       ├── menril_planks.json
    │       │   │   │       ├── menril_planks_stairs.json
    │       │   │   │       ├── menril_sapling.json
    │       │   │   │       ├── menril_slab.json
    │       │   │   │       ├── menril_torch.json
    │       │   │   │       ├── menril_torch_stone.json
    │       │   │   │       ├── menril_torch_stone_wall.json
    │       │   │   │       ├── menril_torch_wall.json
    │       │   │   │       ├── menril_wood.json
    │       │   │   │       ├── menril_wood_stripped.json
    │       │   │   │       ├── proxy.json
    │       │   │   │       ├── squeezer.json
    │       │   │   │       └── variablestore.json
    │       │   │   ├── neoforge/
    │       │   │   │   └── biome_modifier/
    │       │   │   │       └── add_feature_menril_overworld.json
    │       │   │   ├── recipe/
    │       │   │   │   ├── blasting/
    │       │   │   │   │   ├── menril_log_coal.json
    │       │   │   │   │   └── menril_log_filled_coal.json
    │       │   │   │   ├── crafting/
    │       │   │   │   │   ├── cable.json
    │       │   │   │   │   ├── cable_rotated.json
    │       │   │   │   │   ├── coal_generator.json
    │       │   │   │   │   ├── crystalized_chorus_block.json
    │       │   │   │   │   ├── crystalized_chorus_block_slab.json
    │       │   │   │   │   ├── crystalized_chorus_block_stairs.json
    │       │   │   │   │   ├── crystalized_chorus_brick.json
    │       │   │   │   │   ├── crystalized_chorus_brick_slab.json
    │       │   │   │   │   ├── crystalized_chorus_brick_stairs.json
    │       │   │   │   │   ├── crystalized_chorus_chunk.json
    │       │   │   │   │   ├── crystalized_menril_block.json
    │       │   │   │   │   ├── crystalized_menril_block_slab.json
    │       │   │   │   │   ├── crystalized_menril_block_stairs.json
    │       │   │   │   │   ├── crystalized_menril_brick.json
    │       │   │   │   │   ├── crystalized_menril_brick_slab.json
    │       │   │   │   │   ├── crystalized_menril_brick_stairs.json
    │       │   │   │   │   ├── crystalized_menril_chunk.json
    │       │   │   │   │   ├── delay.json
    │       │   │   │   │   ├── drying_basin.json
    │       │   │   │   │   ├── energy_battery.json
    │       │   │   │   │   ├── enhancement_offset.json
    │       │   │   │   │   ├── facade.json
    │       │   │   │   │   ├── labeller.json
    │       │   │   │   │   ├── logic_director.json
    │       │   │   │   │   ├── logic_programmer.json
    │       │   │   │   │   ├── logic_programmer_from_portable.json
    │       │   │   │   │   ├── logic_programmer_to_portable.json
    │       │   │   │   │   ├── materializer.json
    │       │   │   │   │   ├── mechanical_drying_basin.json
    │       │   │   │   │   ├── mechanical_squeezer.json
    │       │   │   │   │   ├── menril_door.json
    │       │   │   │   │   ├── menril_fence.json
    │       │   │   │   │   ├── menril_fence_gate.json
    │       │   │   │   │   ├── menril_planks.json
    │       │   │   │   │   ├── menril_planks_stairs.json
    │       │   │   │   │   ├── menril_slab.json
    │       │   │   │   │   ├── menril_torch.json
    │       │   │   │   │   ├── menril_torch_stone.json
    │       │   │   │   │   ├── menril_torch_stone_cobble.json
    │       │   │   │   │   ├── menril_wood.json
    │       │   │   │   │   ├── menril_wood_stripped.json
    │       │   │   │   │   ├── on_the_dynamics_of_integration.json
    │       │   │   │   │   ├── part_audio_reader.json
    │       │   │   │   │   ├── part_audio_writer.json
    │       │   │   │   │   ├── part_block_reader.json
    │       │   │   │   │   ├── part_connector_mono_directional.json
    │       │   │   │   │   ├── part_display_panel.json
    │       │   │   │   │   ├── part_dynamic_light_panel.json
    │       │   │   │   │   ├── part_effect_writer.json
    │       │   │   │   │   ├── part_entity_reader.json
    │       │   │   │   │   ├── part_entity_writer.json
    │       │   │   │   │   ├── part_extradimensional_reader.json
    │       │   │   │   │   ├── part_fluid_reader.json
    │       │   │   │   │   ├── part_inventory_reader.json
    │       │   │   │   │   ├── part_inventory_writer.json
    │       │   │   │   │   ├── part_machine_reader.json
    │       │   │   │   │   ├── part_machine_writer.json
    │       │   │   │   │   ├── part_network_reader.json
    │       │   │   │   │   ├── part_redstone_reader.json
    │       │   │   │   │   ├── part_redstone_writer.json
    │       │   │   │   │   ├── part_static_light_panel.json
    │       │   │   │   │   ├── part_world_reader.json
    │       │   │   │   │   ├── proto_chorus.json
    │       │   │   │   │   ├── proxy.json
    │       │   │   │   │   ├── squeezer.json
    │       │   │   │   │   ├── variable.json
    │       │   │   │   │   ├── variable_transformer_input.json
    │       │   │   │   │   ├── variable_transformer_output.json
    │       │   │   │   │   ├── variablestore.json
    │       │   │   │   │   └── wrench.json
    │       │   │   │   ├── drying_basin/
    │       │   │   │   │   ├── base/
    │       │   │   │   │   │   ├── crystalized_chorus_block.json
    │       │   │   │   │   │   └── crystalized_menril_block.json
    │       │   │   │   │   └── convenience/
    │       │   │   │   │       ├── evilcraft_hardened_blood.json
    │       │   │   │   │       ├── evilcraft_red_sand.json
    │       │   │   │   │       ├── minecraft_coarse_dirt.json
    │       │   │   │   │       ├── minecraft_dead_bush.json
    │       │   │   │   │       ├── minecraft_dried_kelp.json
    │       │   │   │   │       ├── minecraft_leather.json
    │       │   │   │   │       ├── minecraft_mud.json
    │       │   │   │   │       ├── minecraft_sponge.json
    │       │   │   │   │       ├── minecraft_terracotta.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_black.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_blue.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_brown.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_cyan.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_gray.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_green.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_light_blue.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_light_gray.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_lime.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_magenta.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_orange.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_pink.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_purple.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_red.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_white.json
    │       │   │   │   │       └── minecraft_terracotta_clean_yellow.json
    │       │   │   │   ├── mechanical_drying_basin/
    │       │   │   │   │   ├── base/
    │       │   │   │   │   │   ├── crystalized_chorus_block.json
    │       │   │   │   │   │   └── crystalized_menril_block.json
    │       │   │   │   │   └── convenience/
    │       │   │   │   │       ├── evilcraft_hardened_blood.json
    │       │   │   │   │       ├── evilcraft_red_sand.json
    │       │   │   │   │       ├── minecraft_coarse_dirt.json
    │       │   │   │   │       ├── minecraft_dead_bush.json
    │       │   │   │   │       ├── minecraft_dried_kelp.json
    │       │   │   │   │       ├── minecraft_leather.json
    │       │   │   │   │       ├── minecraft_magma.json
    │       │   │   │   │       ├── minecraft_mud.json
    │       │   │   │   │       ├── minecraft_netherrack.json
    │       │   │   │   │       ├── minecraft_sponge.json
    │       │   │   │   │       ├── minecraft_terracotta.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_black.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_blue.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_brown.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_cyan.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_gray.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_green.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_light_blue.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_light_gray.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_lime.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_magenta.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_orange.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_pink.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_purple.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_red.json
    │       │   │   │   │       ├── minecraft_terracotta_clean_white.json
    │       │   │   │   │       └── minecraft_terracotta_clean_yellow.json
    │       │   │   │   ├── mechanical_squeezer/
    │       │   │   │   │   ├── base/
    │       │   │   │   │   │   ├── liquid_chorus.json
    │       │   │   │   │   │   ├── liquid_chorus_proto.json
    │       │   │   │   │   │   ├── menril_resin_logs.json
    │       │   │   │   │   │   └── menril_resin_planks.json
    │       │   │   │   │   ├── convenience/
    │       │   │   │   │   │   ├── evilcraft_blood_leaves.json
    │       │   │   │   │   │   ├── evilcraft_blood_log.json
    │       │   │   │   │   │   ├── evilcraft_dark_gem.json
    │       │   │   │   │   │   ├── evilcraft_dark_gem_crushed.json
    │       │   │   │   │   │   ├── evilcraft_poison.json
    │       │   │   │   │   │   ├── mechanical_squeezer_facade.json
    │       │   │   │   │   │   ├── minecraft_blaze_powder.json
    │       │   │   │   │   │   ├── minecraft_brick.json
    │       │   │   │   │   │   ├── minecraft_dye_black.json
    │       │   │   │   │   │   ├── minecraft_dye_blue.json
    │       │   │   │   │   │   ├── minecraft_dye_green.json
    │       │   │   │   │   │   ├── minecraft_dye_light_blue.json
    │       │   │   │   │   │   ├── minecraft_dye_light_gray_1.json
    │       │   │   │   │   │   ├── minecraft_dye_light_gray_2.json
    │       │   │   │   │   │   ├── minecraft_dye_magenta_1.json
    │       │   │   │   │   │   ├── minecraft_dye_magenta_2.json
    │       │   │   │   │   │   ├── minecraft_dye_orange.json
    │       │   │   │   │   │   ├── minecraft_dye_pink_1.json
    │       │   │   │   │   │   ├── minecraft_dye_pink_2.json
    │       │   │   │   │   │   ├── minecraft_dye_pink_3.json
    │       │   │   │   │   │   ├── minecraft_dye_red_1.json
    │       │   │   │   │   │   ├── minecraft_dye_red_2.json
    │       │   │   │   │   │   ├── minecraft_dye_red_3.json
    │       │   │   │   │   │   ├── minecraft_dye_white_1.json
    │       │   │   │   │   │   ├── minecraft_dye_white_2.json
    │       │   │   │   │   │   ├── minecraft_dye_white_bone.json
    │       │   │   │   │   │   ├── minecraft_dye_yellow_1.json
    │       │   │   │   │   │   ├── minecraft_dye_yellow_2.json
    │       │   │   │   │   │   ├── minecraft_dye_yellow_3.json
    │       │   │   │   │   │   ├── minecraft_honey_bottle_sugar.json
    │       │   │   │   │   │   ├── minecraft_lava.json
    │       │   │   │   │   │   ├── minecraft_lava_magma_cream.json
    │       │   │   │   │   │   ├── minecraft_lava_netherrack.json
    │       │   │   │   │   │   ├── minecraft_sand.json
    │       │   │   │   │   │   ├── minecraft_string.json
    │       │   │   │   │   │   ├── minecraft_sugar.json
    │       │   │   │   │   │   ├── minecraft_water_ice.json
    │       │   │   │   │   │   ├── minecraft_water_mud.json
    │       │   │   │   │   │   ├── minecraft_water_snow.json
    │       │   │   │   │   │   ├── minecraft_water_snowball.json
    │       │   │   │   │   │   ├── minecraft_water_sponge.json
    │       │   │   │   │   │   └── minecraft_wind_charge.json
    │       │   │   │   │   └── ore/
    │       │   │   │   │       ├── coal.json
    │       │   │   │   │       ├── cobbblestone.json
    │       │   │   │   │       ├── cracked_stone_bricks.json
    │       │   │   │   │       ├── dust_coal.json
    │       │   │   │   │       ├── dust_obsidian.json
    │       │   │   │   │       ├── flint.json
    │       │   │   │   │       ├── gem_diamond.json
    │       │   │   │   │       ├── gem_emerald.json
    │       │   │   │   │       ├── gem_lapis.json
    │       │   │   │   │       ├── gem_prismarine.json
    │       │   │   │   │       ├── gem_quartz.json
    │       │   │   │   │       ├── glowstone_dust.json
    │       │   │   │   │       ├── gold_nugget_blackstone.json
    │       │   │   │   │       ├── gravel.json
    │       │   │   │   │       ├── gravel_nether.json
    │       │   │   │   │       ├── magma_cream.json
    │       │   │   │   │       ├── netherrite_scrap.json
    │       │   │   │   │       ├── raw_aluminum.json
    │       │   │   │   │       ├── raw_ardite.json
    │       │   │   │   │       ├── raw_cobalt.json
    │       │   │   │   │       ├── raw_copper.json
    │       │   │   │   │       ├── raw_gold.json
    │       │   │   │   │       ├── raw_iron.json
    │       │   │   │   │       ├── raw_lead.json
    │       │   │   │   │       ├── raw_mithril.json
    │       │   │   │   │       ├── raw_nickel.json
    │       │   │   │   │       ├── raw_osmium.json
    │       │   │   │   │       ├── raw_platinum.json
    │       │   │   │   │       ├── raw_silver.json
    │       │   │   │   │       ├── raw_tin.json
    │       │   │   │   │       ├── raw_tungsten.json
    │       │   │   │   │       ├── raw_uranium.json
    │       │   │   │   │       ├── raw_zinc.json
    │       │   │   │   │       ├── red_sand.json
    │       │   │   │   │       ├── redstone.json
    │       │   │   │   │       └── sand.json
    │       │   │   │   ├── smelting/
    │       │   │   │   │   ├── menril_log_coal.json
    │       │   │   │   │   └── menril_log_filled_coal.json
    │       │   │   │   ├── special/
    │       │   │   │   │   ├── clear_delay.json
    │       │   │   │   │   ├── clear_facade.json
    │       │   │   │   │   ├── clear_part.json
    │       │   │   │   │   ├── clear_proxy.json
    │       │   │   │   │   ├── clear_variable.json
    │       │   │   │   │   ├── combine_batteries.json
    │       │   │   │   │   ├── facade.json
    │       │   │   │   │   ├── part_connector_omni_directional.json
    │       │   │   │   │   ├── part_connector_omni_directional_copy.json
    │       │   │   │   │   ├── part_connector_omni_directional_join.json
    │       │   │   │   │   └── variable_copy.json
    │       │   │   │   └── squeezer/
    │       │   │   │       ├── base/
    │       │   │   │       │   ├── liquid_chorus.json
    │       │   │   │       │   ├── liquid_chorus_proto.json
    │       │   │   │       │   ├── menril_resin_logs.json
    │       │   │   │       │   └── menril_resin_planks.json
    │       │   │   │       ├── convenience/
    │       │   │   │       │   ├── evilcraft_blood_leaves.json
    │       │   │   │       │   ├── evilcraft_blood_log.json
    │       │   │   │       │   ├── evilcraft_dark_gem.json
    │       │   │   │       │   ├── evilcraft_dark_gem_crushed.json
    │       │   │   │       │   ├── evilcraft_poison.json
    │       │   │   │       │   ├── minecraft_blaze_powder.json
    │       │   │   │       │   ├── minecraft_brick.json
    │       │   │   │       │   ├── minecraft_dye_black.json
    │       │   │   │       │   ├── minecraft_dye_blue.json
    │       │   │   │       │   ├── minecraft_dye_green.json
    │       │   │   │       │   ├── minecraft_dye_light_blue.json
    │       │   │   │       │   ├── minecraft_dye_light_gray_1.json
    │       │   │   │       │   ├── minecraft_dye_light_gray_2.json
    │       │   │   │       │   ├── minecraft_dye_magenta_1.json
    │       │   │   │       │   ├── minecraft_dye_magenta_2.json
    │       │   │   │       │   ├── minecraft_dye_orange.json
    │       │   │   │       │   ├── minecraft_dye_pink_1.json
    │       │   │   │       │   ├── minecraft_dye_pink_2.json
    │       │   │   │       │   ├── minecraft_dye_pink_3.json
    │       │   │   │       │   ├── minecraft_dye_red_1.json
    │       │   │   │       │   ├── minecraft_dye_red_2.json
    │       │   │   │       │   ├── minecraft_dye_red_3.json
    │       │   │   │       │   ├── minecraft_dye_white_1.json
    │       │   │   │       │   ├── minecraft_dye_white_2.json
    │       │   │   │       │   ├── minecraft_dye_white_bone.json
    │       │   │   │       │   ├── minecraft_dye_yellow_1.json
    │       │   │   │       │   ├── minecraft_dye_yellow_2.json
    │       │   │   │       │   ├── minecraft_dye_yellow_3.json
    │       │   │   │       │   ├── minecraft_honey_bottle_sugar.json
    │       │   │   │       │   ├── minecraft_lava.json
    │       │   │   │       │   ├── minecraft_sand.json
    │       │   │   │       │   ├── minecraft_string.json
    │       │   │   │       │   ├── minecraft_sugar.json
    │       │   │   │       │   ├── minecraft_water_ice.json
    │       │   │   │       │   ├── minecraft_water_mud.json
    │       │   │   │       │   ├── minecraft_water_snow.json
    │       │   │   │       │   ├── minecraft_water_snowball.json
    │       │   │   │       │   ├── minecraft_water_sponge.json
    │       │   │   │       │   ├── minecraft_wind_charge.json
    │       │   │   │       │   └── squeezer_facade.json
    │       │   │   │       └── ore/
    │       │   │   │           ├── coal.json
    │       │   │   │           ├── cobbblestone.json
    │       │   │   │           ├── cracked_stone_bricks.json
    │       │   │   │           ├── dust_coal.json
    │       │   │   │           ├── dust_obsidian.json
    │       │   │   │           ├── flint.json
    │       │   │   │           ├── gem_diamond.json
    │       │   │   │           ├── gem_emerald.json
    │       │   │   │           ├── gem_lapis.json
    │       │   │   │           ├── gem_quartz.json
    │       │   │   │           ├── glowstone_dust.json
    │       │   │   │           ├── gold_nugget_blackstone.json
    │       │   │   │           ├── gravel.json
    │       │   │   │           ├── gravel_nether.json
    │       │   │   │           ├── netherrite_scrap.json
    │       │   │   │           ├── quartz.json
    │       │   │   │           ├── raw_aluminum.json
    │       │   │   │           ├── raw_ardite.json
    │       │   │   │           ├── raw_cobalt.json
    │       │   │   │           ├── raw_copper.json
    │       │   │   │           ├── raw_gold.json
    │       │   │   │           ├── raw_iron.json
    │       │   │   │           ├── raw_lead.json
    │       │   │   │           ├── raw_mithril.json
    │       │   │   │           ├── raw_nickel.json
    │       │   │   │           ├── raw_osmium.json
    │       │   │   │           ├── raw_platinum.json
    │       │   │   │           ├── raw_silver.json
    │       │   │   │           ├── raw_tin.json
    │       │   │   │           ├── raw_tungsten.json
    │       │   │   │           ├── raw_uranium.json
    │       │   │   │           ├── raw_zinc.json
    │       │   │   │           ├── redstone.json
    │       │   │   │           └── sand.json
    │       │   │   ├── structure/
    │       │   │   │   ├── empty10.nbt
    │       │   │   │   └── test.nbt
    │       │   │   ├── tags/
    │       │   │   │   ├── block/
    │       │   │   │   │   └── menril_logs.json
    │       │   │   │   └── item/
    │       │   │   │       ├── menril_logs.json
    │       │   │   │       └── parts.json
    │       │   │   ├── test_environment/
    │       │   │   │   ├── performance_empty.json
    │       │   │   │   ├── performance_empty_append.json
    │       │   │   │   ├── performance_empty_appendparts.json
    │       │   │   │   ├── performance_empty_remove.json
    │       │   │   │   ├── performance_idle.json
    │       │   │   │   ├── performance_redstoneioclock.json
    │       │   │   │   ├── performance_redstoneioclock_append.json
    │       │   │   │   ├── performance_redstoneioclock_appendparts.json
    │       │   │   │   ├── performance_redstoneioclock_remove.json
    │       │   │   │   ├── performance_redstoneioclockvariables.json
    │       │   │   │   ├── time_day.json
    │       │   │   │   ├── time_day_far.json
    │       │   │   │   ├── time_night.json
    │       │   │   │   ├── weather_clear.json
    │       │   │   │   ├── weather_clear2.json
    │       │   │   │   ├── weather_rain.json
    │       │   │   │   └── weather_thunder.json
    │       │   │   ├── web/
    │       │   │   │   └── diagnostics.html
    │       │   │   └── worldgen/
    │       │   │       ├── biome/
    │       │   │       │   └── meneglin.json
    │       │   │       ├── configured_feature/
    │       │   │       │   ├── flowers_meneglin.json
    │       │   │       │   └── tree_menril.json
    │       │   │       └── placed_feature/
    │       │   │           ├── flowers_meneglin.json
    │       │   │           ├── tree_menril_general.json
    │       │   │           └── tree_menril_meneglin.json
    │       │   ├── minecraft/
    │       │   │   └── tags/
    │       │   │       ├── block/
    │       │   │       │   ├── doors.json
    │       │   │       │   ├── leaves.json
    │       │   │       │   ├── logs.json
    │       │   │       │   ├── logs_that_burn.json
    │       │   │       │   ├── mineable/
    │       │   │       │   │   ├── axe.json
    │       │   │       │   │   └── pickaxe.json
    │       │   │       │   ├── planks.json
    │       │   │       │   ├── saplings.json
    │       │   │       │   ├── stairs.json
    │       │   │       │   ├── wooden_doors.json
    │       │   │       │   ├── wooden_fences.json
    │       │   │       │   ├── wooden_slabs.json
    │       │   │       │   └── wooden_stairs.json
    │       │   │       ├── item/
    │       │   │       │   ├── bookshelf_books.json
    │       │   │       │   ├── doors.json
    │       │   │       │   ├── leaves.json
    │       │   │       │   ├── lectern_books.json
    │       │   │       │   ├── logs.json
    │       │   │       │   ├── logs_that_burn.json
    │       │   │       │   ├── planks.json
    │       │   │       │   ├── saplings.json
    │       │   │       │   ├── stairs.json
    │       │   │       │   ├── wooden_doors.json
    │       │   │       │   ├── wooden_fences.json
    │       │   │       │   ├── wooden_slabs.json
    │       │   │       │   └── wooden_stairs.json
    │       │   │       └── worldgen/
    │       │   │           └── biome/
    │       │   │               ├── has_structure/
    │       │   │               │   ├── mineshaft.json
    │       │   │               │   └── ruined_portal_mountain.json
    │       │   │               └── is_overworld.json
    │       │   └── neoforge/
    │       │       └── data_maps/
    │       │           └── item/
    │       │               └── compostables.json
    │       ├── mixins.integrateddynamics.json
    │       └── pack.mcmeta
    └── test/
        └── java/
            └── org/
                └── cyclops/
                    └── integrateddynamics/
                        ├── ModBaseMocked.java
                        └── core/
                            └── evaluate/
                                └── variable/
                                    ├── DummyValueType.java
                                    ├── DummyVariable.java
                                    ├── DummyVariableBoolean.java
                                    ├── DummyVariableDouble.java
                                    ├── DummyVariableInteger.java
                                    ├── DummyVariableList.java
                                    ├── DummyVariableLong.java
                                    ├── DummyVariableNamed.java
                                    ├── DummyVariableNbt.java
                                    ├── DummyVariableOperator.java
                                    ├── DummyVariableString.java
                                    ├── TestArithmeticOperators.java
                                    ├── TestBinaryOperators.java
                                    ├── TestCurryingComplex.java
                                    ├── TestDoubleOperators.java
                                    ├── TestGeneralOperators.java
                                    ├── TestImplicitArithmeticCasting.java
                                    ├── TestIntegerOperators.java
                                    ├── TestListOperators.java
                                    ├── TestLogicalOperators.java
                                    ├── TestNbtOperators.java
                                    ├── TestNumberOperators.java
                                    ├── TestOperatorOperators.java
                                    ├── TestParseOperators.java
                                    ├── TestRelationalOperators.java
                                    ├── TestStringOperators.java
                                    ├── TestValueTypeListProxyFactories.java
                                    ├── TestVariables.java
                                    └── ValueDeseralizationContextMocked.java
Download .txt
Showing preview only (796K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (8967 symbols across 954 files)

FILE: src/main/java/org/cyclops/integrateddynamics/Capabilities.java
  class Capabilities (line 27) | public class Capabilities {
    class Cable (line 28) | public static final class Cable {
    class CableFakeable (line 32) | public static final class CableFakeable {
    class DynamicLight (line 36) | public static final class DynamicLight {
    class DynamicRedstone (line 40) | public static final class DynamicRedstone {
    class Facadeable (line 44) | public static final class Facadeable {
    class NetworkCarrier (line 48) | public static final class NetworkCarrier {
    class NetworkElementProvider (line 52) | public static final class NetworkElementProvider {
    class PartContainer (line 56) | public static final class PartContainer {
    class PathElement (line 60) | public static final class PathElement {
    class VariableFacade (line 65) | public static final class VariableFacade {
    class PositionedAddonsNetworkIngredientsHandler (line 69) | public static final class PositionedAddonsNetworkIngredientsHandler {
    class ValueInterface (line 73) | public static final class ValueInterface {
    class VariableContainer (line 78) | public static final class VariableContainer {
    class EnergyNetwork (line 83) | public static final class EnergyNetwork {
    class PartNetwork (line 87) | public static final class PartNetwork {
    class Energy (line 91) | public static final class Energy {

FILE: src/main/java/org/cyclops/integrateddynamics/Configs.java
  class Configs (line 38) | public class Configs {
    method registerBlocks (line 40) | public static void registerBlocks(ConfigHandlerCommon configHandler) {

FILE: src/main/java/org/cyclops/integrateddynamics/GeneralConfig.java
  class GeneralConfig (line 24) | public class GeneralConfig extends DummyConfigCommon<IntegratedDynamics> {
    method GeneralConfig (line 187) | public GeneralConfig() {
    method onConfigLoad (line 193) | public void onConfigLoad(ModConfigEvent.Loading event) {
    method onConfigReload (line 199) | public void onConfigReload(ModConfigEvent.Loading event) {
    method recreatePartMinimumUpdateIntervals (line 205) | private void recreatePartMinimumUpdateIntervals() {

FILE: src/main/java/org/cyclops/integrateddynamics/IntegratedDynamics.java
  class IntegratedDynamics (line 93) | @Mod(Reference.MOD_ID)
    method IntegratedDynamics (line 103) | public IntegratedDynamics(IEventBus modEventBus) {
    method onRegistriesCreate (line 145) | public void onRegistriesCreate(NewRegistryEvent event) {
    method constructBaseCommand (line 149) | @Override
    method setup (line 161) | @Override
    method onServerStartedLoadedGroups (line 195) | protected void onServerStartedLoadedGroups(ServerStartedEvent event) {
    method constructClientProxy (line 199) | @Override
    method constructCommonProxy (line 204) | @Override
    method constructDefaultCreativeModeTab (line 209) | @Override
    method onConfigsRegister (line 215) | @Override
    method getGameTestClasses (line 223) | @Override
    method registerIntegrationGameTests (line 259) | protected void registerIntegrationGameTests(RegisterGameTestsEvent eve...
    method clog (line 278) | public static void clog(String message) {
    method clog (line 287) | public static void clog(Level level, String message) {

FILE: src/main/java/org/cyclops/integrateddynamics/Reference.java
  class Reference (line 10) | public final class Reference {

FILE: src/main/java/org/cyclops/integrateddynamics/RegistryEntries.java
  class RegistryEntries (line 49) | public class RegistryEntries {

FILE: src/main/java/org/cyclops/integrateddynamics/advancement/criterion/NetworkInitializedTrigger.java
  class NetworkInitializedTrigger (line 20) | public class NetworkInitializedTrigger extends SimpleCriterionTrigger<Ne...
    method NetworkInitializedTrigger (line 30) | public NetworkInitializedTrigger() {
    method codec (line 34) | @Override
    method test (line 39) | public void test(ServerPlayer player, NetworkInitializedEvent event) {
    method onCrafted (line 43) | @SubscribeEvent
    method test (line 54) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/advancement/criterion/NetworkInitializedTriggerConfig.java
  class NetworkInitializedTriggerConfig (line 10) | public class NetworkInitializedTriggerConfig extends CriterionTriggerCon...
    method NetworkInitializedTriggerConfig (line 12) | public NetworkInitializedTriggerConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/advancement/criterion/PartReaderAspectTrigger.java
  class PartReaderAspectTrigger (line 23) | public class PartReaderAspectTrigger extends SimpleCriterionTrigger<Part...
    method PartReaderAspectTrigger (line 34) | public PartReaderAspectTrigger() {
    method codec (line 38) | @Override
    method test (line 43) | public void test(ServerPlayer player, PartReaderAspectEvent event) {
    method onEvent (line 47) | @SubscribeEvent
    method test (line 59) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/advancement/criterion/PartReaderAspectTriggerConfig.java
  class PartReaderAspectTriggerConfig (line 10) | public class PartReaderAspectTriggerConfig extends CriterionTriggerConfi...
    method PartReaderAspectTriggerConfig (line 12) | public PartReaderAspectTriggerConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/advancement/criterion/PartVariableDrivenAspectTrigger.java
  class PartVariableDrivenAspectTrigger (line 23) | public class PartVariableDrivenAspectTrigger extends SimpleCriterionTrig...
    method PartVariableDrivenAspectTrigger (line 34) | public PartVariableDrivenAspectTrigger() {
    method codec (line 38) | @Override
    method test (line 43) | public void test(ServerPlayer player, PartVariableDrivenVariableConten...
    method onEvent (line 47) | @SubscribeEvent
    method test (line 59) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/advancement/criterion/PartVariableDrivenAspectTriggerConfig.java
  class PartVariableDrivenAspectTriggerConfig (line 10) | public class PartVariableDrivenAspectTriggerConfig extends CriterionTrig...
    method PartVariableDrivenAspectTriggerConfig (line 12) | public PartVariableDrivenAspectTriggerConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/advancement/criterion/PartWriterAspectTrigger.java
  class PartWriterAspectTrigger (line 26) | public class PartWriterAspectTrigger extends SimpleCriterionTrigger<Part...
    method PartWriterAspectTrigger (line 38) | public PartWriterAspectTrigger() {
    method codec (line 42) | @Override
    method test (line 47) | public void test(ServerPlayer player, PartWriterAspectEvent event) {
    method onEvent (line 51) | @SubscribeEvent
    method test (line 64) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/advancement/criterion/PartWriterAspectTriggerConfig.java
  class PartWriterAspectTriggerConfig (line 10) | public class PartWriterAspectTriggerConfig extends CriterionTriggerConfi...
    method PartWriterAspectTriggerConfig (line 12) | public PartWriterAspectTriggerConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/advancement/criterion/VariableCreatedTrigger.java
  class VariableCreatedTrigger (line 24) | public class VariableCreatedTrigger extends SimpleCriterionTrigger<Varia...
    method VariableCreatedTrigger (line 35) | public VariableCreatedTrigger() {
    method codec (line 39) | @Override
    method test (line 44) | public void test(ServerPlayer player, LogicProgrammerVariableFacadeCre...
    method onEvent (line 48) | @SubscribeEvent
    method test (line 60) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/advancement/criterion/VariableCreatedTriggerConfig.java
  class VariableCreatedTriggerConfig (line 10) | public class VariableCreatedTriggerConfig extends CriterionTriggerConfig...
    method VariableCreatedTriggerConfig (line 12) | public VariableCreatedTriggerConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/api/APIReference.java
  class APIReference (line 7) | public class APIReference {

FILE: src/main/java/org/cyclops/integrateddynamics/api/IntegratedDynamicsAPI.java
  class IntegratedDynamicsAPI (line 10) | public class IntegratedDynamicsAPI {
    method isPresent (line 26) | public static boolean isPresent() {
    method getRegistryManager (line 33) | public static RegistryManager getRegistryManager() {

FILE: src/main/java/org/cyclops/integrateddynamics/api/PartStateException.java
  class PartStateException (line 12) | public class PartStateException extends IllegalArgumentException {
    method PartStateException (line 14) | public PartStateException(DimPos dimPos, Direction side) {

FILE: src/main/java/org/cyclops/integrateddynamics/api/advancement/criterion/ValuePredicate.java
  class ValuePredicate (line 14) | public class ValuePredicate<V extends IValue> {
    method ValuePredicate (line 22) | public ValuePredicate(Optional<IValueType> valueType, Optional<IValue>...
    method getValueType (line 28) | public Optional<IValueType> getValueType() {
    method getValue (line 32) | public Optional<IValue> getValue() {
    method getValueJson (line 36) | public Optional<JsonElement> getValueJson() {
    method test (line 40) | public final boolean test(IValue value) {
    method testTyped (line 45) | protected boolean testTyped(V value) {

FILE: src/main/java/org/cyclops/integrateddynamics/api/advancement/criterion/VariableFacadePredicate.java
  class VariableFacadePredicate (line 9) | public class VariableFacadePredicate<V extends IVariableFacade> {
    method VariableFacadePredicate (line 15) | public VariableFacadePredicate(Class<V> variableClass) {
    method test (line 19) | public final boolean test(IVariableFacade variableFacade) {
    method testTyped (line 23) | protected boolean testTyped(V variableFacade) {

FILE: src/main/java/org/cyclops/integrateddynamics/api/advancement/criterion/VariablePredicate.java
  class VariablePredicate (line 14) | public class VariablePredicate<V extends IVariable> {
    method VariablePredicate (line 22) | public VariablePredicate(Class<V> variableClass, Optional<IValueType> ...
    method getValueType (line 28) | public Optional<IValueType> getValueType() {
    method getValuePredicate (line 32) | public Optional<ValuePredicate> getValuePredicate() {
    method test (line 36) | public final boolean test(IVariable variable) {
    method testTyped (line 47) | protected boolean testTyped(V variable) {

FILE: src/main/java/org/cyclops/integrateddynamics/api/block/IDynamicLight.java
  type IDynamicLight (line 7) | public interface IDynamicLight {
    method setLightLevel (line 13) | public void setLightLevel(int level);
    method getLightLevel (line 19) | public int getLightLevel();

FILE: src/main/java/org/cyclops/integrateddynamics/api/block/IDynamicRedstone.java
  type IDynamicRedstone (line 7) | public interface IDynamicRedstone {
    method setRedstoneLevel (line 14) | public void setRedstoneLevel(int level, boolean direct);
    method getRedstoneLevel (line 20) | public int getRedstoneLevel();
    method isDirect (line 25) | public boolean isDirect();
    method setAllowRedstoneInput (line 31) | public void setAllowRedstoneInput(boolean allow);
    method isAllowRedstoneInput (line 37) | public boolean isAllowRedstoneInput();
    method setLastPulseValue (line 43) | public void setLastPulseValue(int value);
    method getLastPulseValue (line 48) | public int getLastPulseValue();
    method setScheduledPulseRemaining (line 54) | public void setScheduledPulseRemaining(int ticks);
    method getScheduledPulseRemaining (line 59) | public int getScheduledPulseRemaining();

FILE: src/main/java/org/cyclops/integrateddynamics/api/block/IFacadeable.java
  type IFacadeable (line 11) | public interface IFacadeable {
    method hasFacade (line 16) | public boolean hasFacade();
    method getFacade (line 21) | public BlockState getFacade();
    method setFacade (line 27) | public void setFacade(@Nullable BlockState blockState);

FILE: src/main/java/org/cyclops/integrateddynamics/api/block/IVariableContainer.java
  type IVariableContainer (line 14) | public interface IVariableContainer {
    method getVariableCache (line 19) | public Map<Integer, IVariableFacade> getVariableCache();
    method refreshVariables (line 28) | public void refreshVariables(INetwork network, Container inventory, bo...

FILE: src/main/java/org/cyclops/integrateddynamics/api/block/cable/ICable.java
  type ICable (line 12) | public interface ICable {
    method canConnect (line 22) | public boolean canConnect(ICable connector, Direction side);
    method updateConnections (line 24) | public default void updateConnections() {
    method updateConnections (line 32) | public void updateConnections(boolean setChanged);
    method isConnected (line 41) | public boolean isConnected(Direction side);
    method disconnect (line 47) | public void disconnect(Direction side);
    method reconnect (line 54) | public void reconnect(Direction side);
    method getItemStack (line 59) | public ItemStack getItemStack();
    method destroy (line 64) | public void destroy();

FILE: src/main/java/org/cyclops/integrateddynamics/api/block/cable/ICableFakeable.java
  type ICableFakeable (line 9) | public interface ICableFakeable {
    method isRealCable (line 14) | public boolean isRealCable();
    method setRealCable (line 19) | public void setRealCable(boolean real);

FILE: src/main/java/org/cyclops/integrateddynamics/api/client/gui/subgui/IGuiInputElement.java
  type IGuiInputElement (line 17) | public interface IGuiInputElement<S extends ISubGuiBox, G extends Screen...
    method getClient (line 19) | public GIC getClient();
    method getName (line 24) | public Component getName();
    method loadTooltip (line 29) | public void loadTooltip(Consumer<Component> tooltipAdder);
    method getRenderPattern (line 34) | public IConfigRenderPattern getRenderPattern();
    method activate (line 39) | public void activate();
    method deactivate (line 44) | public void deactivate();
    method validate (line 50) | public Component validate();
    method getColor (line 55) | public int getColor();
    method getSymbol (line 60) | public String getSymbol();

FILE: src/main/java/org/cyclops/integrateddynamics/api/client/gui/subgui/IGuiInputElementClient.java
  type IGuiInputElementClient (line 9) | public interface IGuiInputElementClient<S extends ISubGuiBox, G extends ...
    method createSubGui (line 20) | public S createSubGui(int baseX, int baseY, int maxWidth, int maxHeight,

FILE: src/main/java/org/cyclops/integrateddynamics/api/client/gui/subgui/IGuiInputElementValueType.java
  type IGuiInputElementValueType (line 16) | public interface IGuiInputElementValueType<S extends ISubGuiBox, G exten...
    method setValidator (line 19) | public void setValidator(Predicate<IValue> validator);
    method getValue (line 21) | public IValue getValue();
    method setValue (line 23) | public void setValue(IValue value);

FILE: src/main/java/org/cyclops/integrateddynamics/api/client/gui/subgui/IGuiInputElementValueTypeClient.java
  type IGuiInputElementValueTypeClient (line 9) | public interface IGuiInputElementValueTypeClient<S extends ISubGuiBox, G...
    method setValueInGui (line 17) | public void setValueInGui(S subGui, boolean sendToServer);

FILE: src/main/java/org/cyclops/integrateddynamics/api/client/gui/subgui/ISubGui.java
  type ISubGui (line 16) | public interface ISubGui {
    method init (line 18) | public void init(int guiLeft, int guiTop);
    method tick (line 20) | public void tick();
    method renderBg (line 22) | public void renderBg(GuiGraphicsExtractor guiGraphics, int guiLeft, in...
    method drawGuiContainerForegroundLayer (line 24) | public void drawGuiContainerForegroundLayer(GuiGraphicsExtractor guiGr...
    method charTyped (line 31) | public boolean charTyped(CharacterEvent evt);
    method keyPressed (line 38) | public boolean keyPressed(KeyEvent evt);
    method mouseClicked (line 40) | public boolean mouseClicked(MouseButtonEvent evt, boolean isDoubleClick);
    class SubGuiComparator (line 42) | public static class SubGuiComparator implements Comparator<ISubGui> {
      method compare (line 44) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/api/client/gui/subgui/ISubGuiBox.java
  type ISubGuiBox (line 7) | public interface ISubGuiBox extends ISubGui {
    method getX (line 9) | public int getX();
    method getY (line 10) | public int getY();
    method getWidth (line 11) | public int getWidth();
    method getHeight (line 12) | public int getHeight();

FILE: src/main/java/org/cyclops/integrateddynamics/api/client/model/IVariableModelBaked.java
  type IVariableModelBaked (line 7) | public interface IVariableModelBaked {
    method setSubModels (line 15) | public <B extends IVariableModelProvider.BakedModelProvider> void setS...
    method getSubModels (line 23) | public <B extends IVariableModelProvider.BakedModelProvider> B getSubM...

FILE: src/main/java/org/cyclops/integrateddynamics/api/client/model/IVariableModelProvider.java
  type IVariableModelProvider (line 12) | public interface IVariableModelProvider<B extends IVariableModelProvider...
    method bakeOverlayModels (line 21) | public B bakeOverlayModels(ItemModel.BakingContext bakingContext, Matr...
    method resolveDependencies (line 28) | void resolveDependencies(ResolvableModel.Resolver resolver);
    type BakedModelProvider (line 33) | public static interface BakedModelProvider {

FILE: src/main/java/org/cyclops/integrateddynamics/api/client/model/IVariableModelProviderRegistry.java
  type IVariableModelProviderRegistry (line 11) | public interface IVariableModelProviderRegistry extends IRegistry {
    method addProvider (line 20) | public <E extends IVariableModelProvider<B>, B extends IVariableModelP...
    method getProviders (line 25) | public List<IVariableModelProvider<? extends IVariableModelProvider.Ba...

FILE: src/main/java/org/cyclops/integrateddynamics/api/client/render/part/IPartOverlayRenderer.java
  type IPartOverlayRenderer (line 14) | public interface IPartOverlayRenderer {
    method submitPartOverlay (line 29) | public void submitPartOverlay(BlockEntityRendererProvider.Context cont...

FILE: src/main/java/org/cyclops/integrateddynamics/api/client/render/part/IPartOverlayRendererRegistry.java
  type IPartOverlayRendererRegistry (line 12) | public interface IPartOverlayRendererRegistry extends IRegistry {
    method register (line 22) | public <R extends IPartOverlayRenderer> R register(IPartType<?, ?> par...
    method getRenderers (line 29) | public Collection<IPartOverlayRenderer> getRenderers(IPartType<?, ?> p...

FILE: src/main/java/org/cyclops/integrateddynamics/api/client/render/valuetype/IValueTypeWorldRenderer.java
  type IValueTypeWorldRenderer (line 15) | public interface IValueTypeWorldRenderer {
    method submitValue (line 32) | public void submitValue(BlockEntityRendererProvider.Context context, I...

FILE: src/main/java/org/cyclops/integrateddynamics/api/client/render/valuetype/IValueTypeWorldRendererRegistry.java
  type IValueTypeWorldRendererRegistry (line 12) | public interface IValueTypeWorldRendererRegistry extends IRegistry {
    method register (line 21) | public <R extends IValueTypeWorldRenderer> R register(IValueType<?> va...
    method getRenderer (line 28) | @Nullable

FILE: src/main/java/org/cyclops/integrateddynamics/api/evaluate/EvaluationException.java
  class EvaluationException (line 12) | public class EvaluationException extends Exception {
    method EvaluationException (line 18) | public EvaluationException(MutableComponent errorMessage) {
    method getErrorMessage (line 25) | public MutableComponent getErrorMessage() {
    method setRetryEvaluation (line 33) | public void setRetryEvaluation(boolean retryEvaluation) {
    method isRetryEvaluation (line 40) | public boolean isRetryEvaluation() {
    method addResolutionListeners (line 44) | public void addResolutionListeners(Runnable listener) {
    method resolve (line 55) | public void resolve() {

FILE: src/main/java/org/cyclops/integrateddynamics/api/evaluate/IValueInterface.java
  type IValueInterface (line 11) | public interface IValueInterface {
    method getValue (line 18) | public Optional<IValue> getValue() throws EvaluationException;

FILE: src/main/java/org/cyclops/integrateddynamics/api/evaluate/InvalidValueTypeException.java
  class InvalidValueTypeException (line 9) | public class InvalidValueTypeException extends EvaluationException {
    method InvalidValueTypeException (line 11) | public InvalidValueTypeException(MutableComponent errorMessage) {

FILE: src/main/java/org/cyclops/integrateddynamics/api/evaluate/expression/IExpression.java
  type IExpression (line 11) | public interface IExpression<V extends IValue> extends IVariable<V> {
    method evaluate (line 17) | public IValue evaluate() throws EvaluationException;
    method hasErrored (line 22) | public boolean hasErrored();

FILE: src/main/java/org/cyclops/integrateddynamics/api/evaluate/expression/ILazyExpressionValueCache.java
  type ILazyExpressionValueCache (line 10) | public interface ILazyExpressionValueCache {
    method setValue (line 12) | public void setValue(int id, IValue value);
    method hasValue (line 13) | public boolean hasValue(int id);
    method getValue (line 14) | public IValue getValue(int id);
    method removeValue (line 15) | public void removeValue(int id);

FILE: src/main/java/org/cyclops/integrateddynamics/api/evaluate/expression/VariableAdapter.java
  class VariableAdapter (line 15) | public abstract class VariableAdapter<V extends IValue> implements IVari...
    method invalidate (line 19) | @Override
    method addInvalidationListener (line 27) | @Override
    method removeInvalidationListener (line 32) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/api/evaluate/operator/IOperator.java
  type IOperator (line 20) | public interface IOperator {
    method getSymbol (line 25) | public String getSymbol();
    method getUniqueName (line 30) | public Identifier getUniqueName();
    method getInteractName (line 36) | public String getInteractName();
    method getGlobalInteractNamePrefix (line 41) | @Nullable
    method shouldAlsoPrefixLocalScope (line 47) | public boolean shouldAlsoPrefixLocalScope();
    method getGlobalInteractName (line 52) | public default String getGlobalInteractName() {
    method getScopedInteractName (line 64) | public default String getScopedInteractName() {
    method getTranslationKey (line 73) | public String getTranslationKey();
    method getUnlocalizedCategoryName (line 78) | public String getUnlocalizedCategoryName();
    method getLocalizedNameFull (line 83) | public MutableComponent getLocalizedNameFull();
    method loadTooltip (line 91) | public void loadTooltip(Consumer<Component> tooltipAdder, boolean appe...
    method getInputTypes (line 96) | public IValueType[] getInputTypes();
    method getOutputType (line 101) | public IValueType getOutputType();
    method getConditionalOutputType (line 108) | public IValueType getConditionalOutputType(IVariable[] input);
    method evaluate (line 116) | public IValue evaluate(IVariable... input) throws EvaluationException;
    method getRequiredInputLength (line 121) | public int getRequiredInputLength();
    method validateTypes (line 128) | public MutableComponent validateTypes(IValueType[] input);
    method getRenderPattern (line 133) | public IConfigRenderPattern getRenderPattern();
    method materialize (line 140) | public IOperator materialize() throws EvaluationException;

FILE: src/main/java/org/cyclops/integrateddynamics/api/evaluate/operator/IOperatorRegistry.java
  type IOperatorRegistry (line 19) | public interface IOperatorRegistry extends IRegistry, IVariableFacadeHan...
    method register (line 27) | public <O extends IOperator> O register(O operator);
    method getOperators (line 32) | public Collection<IOperator> getOperators();
    method getOperator (line 39) | public IOperator getOperator(Identifier operatorName);
    method getOperatorsWithInputTypes (line 46) | public Collection<IOperator> getOperatorsWithInputTypes(IValueType... ...
    method getOperatorsWithOutputType (line 53) | public Collection<IOperator> getOperatorsWithOutputType(IValueType val...
    method getOperatorsInCategory (line 60) | public Collection<IOperator> getOperatorsInCategory(String categoryName);
    method registerSerializer (line 66) | public void registerSerializer(IOperatorSerializer serializer);
    method serialize (line 74) | public void serialize(ValueOutput valueOutput, IOperator value);
    method deserialize (line 83) | public IOperator deserialize(ValueInput valueInput) throws EvaluationE...
    method getGlobalInteractOperators (line 88) | public Map<String, IOperator> getGlobalInteractOperators();
    method getScopedInteractOperators (line 93) | public Map<IValueType<?>, Map<String, IOperator>> getScopedInteractOpe...

FILE: src/main/java/org/cyclops/integrateddynamics/api/evaluate/operator/IOperatorSerializer.java
  type IOperatorSerializer (line 13) | public interface IOperatorSerializer<O extends IOperator> {
    method canHandle (line 19) | public boolean canHandle(IOperator operator);
    method getUniqueName (line 24) | public Identifier getUniqueName();
    method serialize (line 32) | public void serialize(ValueOutput valueOutput, O operator);
    method deserialize (line 41) | public O deserialize(ValueInput valueInput) throws EvaluationException;

FILE: src/main/java/org/cyclops/integrateddynamics/api/evaluate/variable/IValue.java
  type IValue (line 7) | public interface IValue {
    method getType (line 12) | public IValueType getType();
    method cast (line 21) | public <V extends IValue> V cast(IValueType<V> valueType) throws IValu...
    method canCast (line 29) | public <V extends IValue> boolean canCast(IValueType<V> valueType);

FILE: src/main/java/org/cyclops/integrateddynamics/api/evaluate/variable/IValueCastRegistry.java
  type IValueCastRegistry (line 12) | public interface IValueCastRegistry extends IRegistry {
    method size (line 14) | public int size();
    method register (line 26) | public <T1 extends IValueType<V1>, T2 extends IValueType<V2>, V1 exten...
    method cast (line 41) | public <T1 extends IValueType<V1>, T2 extends IValueType<V2>, V1 exten...
    method canCast (line 53) | public <T1 extends IValueType<V1>, T2 extends IValueType<V2>, V1 exten...
    type IMapping (line 55) | public static interface IMapping<T1 extends IValueType<V1>, T2 extends...
      method cast (line 57) | public V2 cast(V1 value);
    class ValueCastException (line 61) | public static class ValueCastException extends InvalidValueTypeExcepti...
      method ValueCastException (line 63) | public ValueCastException(IValueType from, IValueType to) {

FILE: src/main/java/org/cyclops/integrateddynamics/api/evaluate/variable/IValueType.java
  type IValueType (line 20) | public interface IValueType<V extends IValue> {
    method getClient (line 22) | public IValueTypeClient<V> getClient();
    method isCategory (line 27) | public boolean isCategory();
    method isObject (line 32) | public boolean isObject();
    method getDefault (line 38) | public V getDefault();
    method getTypeName (line 43) | public String getTypeName();
    method getUniqueName (line 48) | public Identifier getUniqueName();
    method getTranslationKey (line 53) | public String getTranslationKey();
    method loadTooltip (line 62) | public void loadTooltip(Consumer<Component> tooltipAdder, boolean appe...
    method toCompactString (line 68) | public MutableComponent toCompactString(V value);
    method getDisplayColor (line 73) | public int getDisplayColor();
    method getDisplayColorFormat (line 78) | public ChatFormatting getDisplayColorFormat();
    method correspondsTo (line 86) | public boolean correspondsTo(IValueType<?> valueType);
    method serialize (line 94) | public void serialize(ValueOutput valueOutput, V value);
    method canDeserialize (line 102) | @Nullable
    method deserialize (line 111) | public V deserialize(ValueInput valueInput);
    method materialize (line 119) | public V materialize(V value) throws EvaluationException;
    method toString (line 130) | public String toString(V value);
    method parseString (line 141) | public V parseString(String value) throws EvaluationException;
    method createLogicProgrammerElement (line 146) | public IValueTypeLogicProgrammerElement createLogicProgrammerElement();
    method cast (line 154) | public V cast(IValue value) throws EvaluationException;
    class ValueTypeComparator (line 159) | public static class ValueTypeComparator implements Comparator<IValueTy...
      method ValueTypeComparator (line 163) | private ValueTypeComparator() {
      method getInstance (line 167) | public static ValueTypeComparator getInstance() {
      method compare (line 172) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/api/evaluate/variable/IValueTypeCategory.java
  type IValueTypeCategory (line 9) | public interface IValueTypeCategory<V extends IValue> extends IValueType...
    method getElements (line 13) | public Collection<IValueType<?>> getElements();

FILE: src/main/java/org/cyclops/integrateddynamics/api/evaluate/variable/IValueTypeClient.java
  type IValueTypeClient (line 11) | public interface IValueTypeClient<V extends IValue> {
    method renderISTER (line 24) | public default void renderISTER(V value, ItemStack stack, ItemDisplayC...

FILE: src/main/java/org/cyclops/integrateddynamics/api/evaluate/variable/IValueTypeLightLevelRegistry.java
  type IValueTypeLightLevelRegistry (line 12) | public interface IValueTypeLightLevelRegistry extends IRegistry {
    method register (line 22) | public <L extends ILightLevelCalculator<V>, V extends IValue> L regist...
    method getLightLevelCalculator (line 30) | @Nullable
    method getLightLevel (line 40) | public <V extends IValue> int getLightLevel(V value) throws InvalidVal...
    type ILightLevelCalculator (line 42) | public static interface ILightLevelCalculator<V extends IValue> {
      method getLightLevel (line 44) | public int getLightLevel(V value);

FILE: src/main/java/org/cyclops/integrateddynamics/api/evaluate/variable/IValueTypeListProxy.java
  type IValueTypeListProxy (line 12) | public interface IValueTypeListProxy<T extends IValueType<V>, V extends ...
    method getLength (line 18) | public int getLength() throws EvaluationException;
    method get (line 26) | public V get(int index) throws EvaluationException;
    method getValueType (line 31) | public T getValueType();
    method getName (line 37) | public Identifier getName();
    method toCompactString (line 42) | public MutableComponent toCompactString();
    method isInfinite (line 47) | public boolean isInfinite();

FILE: src/main/java/org/cyclops/integrateddynamics/api/evaluate/variable/IValueTypeListProxyFactoryTypeRegistry.java
  type IValueTypeListProxyFactoryTypeRegistry (line 12) | public interface IValueTypeListProxyFactoryTypeRegistry extends IRegistry {
    method register (line 23) | public <T extends IValueType<V>, V extends IValue, P extends IValueTyp...
    method getFactory (line 33) | public <T extends IValueType<V>, V extends IValue, P extends IValueTyp...
    method serialize (line 45) | public <T extends IValueType<V>, V extends IValue, P extends IValueTyp...
    method deserialize (line 57) | public <T extends IValueType<V>, V extends IValue, P extends IValueTyp...
    type IProxyFactory (line 65) | public static interface IProxyFactory<T extends IValueType<V>, V exten...
      method getName (line 70) | public Identifier getName();
      method serialize (line 79) | public void serialize(ValueOutput valueOutput, P value) throws Seria...
      method deserialize (line 88) | public P deserialize(ValueInput valueInput) throws SerializationExce...
    class SerializationException (line 95) | public static class SerializationException extends Exception {
      method SerializationException (line 97) | public SerializationException(String message) {

FILE: src/main/java/org/cyclops/integrateddynamics/api/evaluate/variable/IValueTypeNamed.java
  type IValueTypeNamed (line 7) | public interface IValueTypeNamed<V extends IValue> extends IValueType<V> {
    method getName (line 9) | public String getName(V a);

FILE: src/main/java/org/cyclops/integrateddynamics/api/evaluate/variable/IValueTypeNullable.java
  type IValueTypeNullable (line 7) | public interface IValueTypeNullable<V extends IValue> extends IValueType...
    method isNull (line 9) | public boolean isNull(V a);

FILE: src/main/java/org/cyclops/integrateddynamics/api/evaluate/variable/IValueTypeNumber.java
  type IValueTypeNumber (line 11) | public interface IValueTypeNumber<V extends IValue> extends IValueType<V...
    method getDefault (line 17) | public V getDefault();
    method isZero (line 19) | public boolean isZero(V a);
    method isOne (line 20) | public boolean isOne(V a);
    method add (line 21) | public V add(V a, V b);
    method subtract (line 22) | public V subtract(V a, V b);
    method multiply (line 23) | public V multiply(V a, V b);
    method divide (line 24) | public V divide(V a, V b);
    method max (line 25) | public V max(V a, V b);
    method min (line 26) | public V min(V a, V b);
    method increment (line 27) | public V increment(V a);
    method decrement (line 28) | public V decrement(V a);
    method modulus (line 29) | public V modulus(V a, V b);
    method compact (line 30) | public ValueTypeString.ValueString compact(V a);
    method greaterThan (line 31) | public boolean greaterThan(V a, V b);
    method lessThan (line 32) | public boolean lessThan(V a, V b);
    method round (line 33) | public ValueTypeInteger.ValueInteger round(V a);
    method ceil (line 34) | public ValueTypeInteger.ValueInteger ceil(V a);
    method floor (line 35) | public ValueTypeInteger.ValueInteger floor(V a);

FILE: src/main/java/org/cyclops/integrateddynamics/api/evaluate/variable/IValueTypeRegistry.java
  type IValueTypeRegistry (line 14) | public interface IValueTypeRegistry extends IRegistry, IVariableFacadeHa...
    method getClient (line 16) | public IValueTypeRegistryClient getClient();
    method register (line 25) | public <V extends IValue, T extends IValueType<V>> T register(T valueT...
    method registerCategory (line 35) | public <V extends IValue, T extends IValueTypeCategory<V>> T registerC...
    method getValueType (line 42) | public IValueType getValueType(Identifier name);
    method getValueTypes (line 47) | public Collection<IValueType> getValueTypes();

FILE: src/main/java/org/cyclops/integrateddynamics/api/evaluate/variable/IValueTypeRegistryClient.java
  type IValueTypeRegistryClient (line 11) | public interface IValueTypeRegistryClient {
    method registerValueTypeModel (line 20) | public <V extends IValue, T extends IValueType<V>> void registerValueT...
    method getValueTypeModel (line 30) | public <V extends IValue, T extends IValueType<V>> ItemModel.Unbaked g...
    method getValueTypeModels (line 36) | public Collection<ItemModel.Unbaked> getValueTypeModels();

FILE: src/main/java/org/cyclops/integrateddynamics/api/evaluate/variable/IValueTypeUniquelyNamed.java
  type IValueTypeUniquelyNamed (line 7) | public interface IValueTypeUniquelyNamed<V extends IValue> extends IValu...
    method getUniqueName (line 9) | public String getUniqueName(V a);

FILE: src/main/java/org/cyclops/integrateddynamics/api/evaluate/variable/IVariable.java
  type IVariable (line 9) | public interface IVariable<V extends IValue> extends IVariableInvalidate...
    method getType (line 14) | public IValueType<V> getType();
    method getValue (line 20) | public V getValue() throws EvaluationException;
    method addInvalidationListener (line 35) | public void addInvalidationListener(IVariableInvalidateListener invali...
    method removeInvalidationListener (line 42) | public void removeInvalidationListener(IVariableInvalidateListener inv...

FILE: src/main/java/org/cyclops/integrateddynamics/api/evaluate/variable/IVariableInvalidateListener.java
  type IVariableInvalidateListener (line 7) | public interface IVariableInvalidateListener {
    method invalidate (line 12) | public void invalidate();

FILE: src/main/java/org/cyclops/integrateddynamics/api/evaluate/variable/ValueDeseralizationContext.java
  method of (line 13) | public static ValueDeseralizationContext of(Level level) {
  method of (line 20) | public static ValueDeseralizationContext of(HolderLookup.Provider holder...
  method ofClient (line 24) | public static ValueDeseralizationContext ofClient() {
  method ofAllEnabled (line 28) | public static ValueDeseralizationContext ofAllEnabled() {

FILE: src/main/java/org/cyclops/integrateddynamics/api/evaluate/variable/ValueDeseralizationContextClient.java
  class ValueDeseralizationContextClient (line 8) | public class ValueDeseralizationContextClient {
    method ofClient (line 9) | public static ValueDeseralizationContext ofClient() {

FILE: src/main/java/org/cyclops/integrateddynamics/api/ingredient/IIngredientComponentHandler.java
  type IIngredientComponentHandler (line 18) | public interface IIngredientComponentHandler<VT extends IValueType<V>, V...
    method getValueType (line 23) | public VT getValueType();
    method getComponent (line 28) | public IngredientComponent<T, M> getComponent();
    method toValue (line 35) | public V toValue(@Nullable T instance);
    method toInstance (line 42) | @Nullable
    method toCompactString (line 51) | default public Component toCompactString(V ingredientValue) {

FILE: src/main/java/org/cyclops/integrateddynamics/api/ingredient/IIngredientComponentHandlerRegistry.java
  type IIngredientComponentHandlerRegistry (line 15) | public interface IIngredientComponentHandlerRegistry extends IRegistry {
    method register (line 27) | public <VT extends IValueType<V>, V extends IValue, T, M, H extends II...
    method getComponentHandler (line 38) | @Nullable
    method getComponents (line 44) | public Set<IngredientComponent<?, ?>> getComponents();

FILE: src/main/java/org/cyclops/integrateddynamics/api/ingredient/IIngredientComponentStorageObservable.java
  type IIngredientComponentStorageObservable (line 15) | public interface IIngredientComponentStorageObservable<T, M> {
    method getComponent (line 20) | public IngredientComponent<T, M> getComponent();
    method addObserver (line 26) | public void addObserver(IIndexChangeObserver<T, M> observer);
    method removeObserver (line 33) | public void removeObserver(IIndexChangeObserver<T, M> observer);
    method scheduleObservation (line 47) | public void scheduleObservation();
    method scheduleObservationForced (line 59) | public void scheduleObservationForced(int channel, PartPos pos);
    method shouldObserve (line 64) | public boolean shouldObserve();
    method isObservationForcedPending (line 70) | public boolean isObservationForcedPending(int channel);
    method runObserverSync (line 75) | public void runObserverSync();
    method getChannelIndex (line 82) | public IIngredientPositionsIndex<T, M> getChannelIndex(int channel);
    type IIndexChangeObserver (line 89) | public static interface IIndexChangeObserver<T, M> {
      method onChange (line 94) | public void onChange(StorageChangeEvent<T, M> event);
    class StorageChangeEvent (line 104) | public static class StorageChangeEvent<T, M> {
      method StorageChangeEvent (line 112) | public StorageChangeEvent(int channel, PrioritizedPartPos pos,
      method getChannel (line 123) | public int getChannel() {
      method getPos (line 127) | public PrioritizedPartPos getPos() {
      method getChangeType (line 134) | public Change getChangeType() {
      method isCompleteChange (line 143) | public boolean isCompleteChange() {
      method getInstances (line 150) | public IIngredientCollection<T, M> getInstances() {
      method isInitialChange (line 157) | public boolean isInitialChange() {
      method toString (line 161) | @Override
      method getDiff (line 169) | public IngredientCollectionDiff<T, M> getDiff() {
    type Change (line 180) | public static enum Change {

FILE: src/main/java/org/cyclops/integrateddynamics/api/ingredient/IIngredientPositionsIndex.java
  type IIngredientPositionsIndex (line 15) | public interface IIngredientPositionsIndex<T, M> extends IIngredientColl...
    method getNonEmptyPositions (line 20) | public Iterator<PartPos> getNonEmptyPositions();
    method getPositions (line 28) | public Iterator<PartPos> getPositions(T instance, M matchFlags);
    method addPosition (line 35) | public void addPosition(T instance, PrioritizedPartPos pos);
    method removePosition (line 46) | public void removePosition(T instance, PrioritizedPartPos pos);
    method getQuantity (line 53) | public long getQuantity(T instance);

FILE: src/main/java/org/cyclops/integrateddynamics/api/ingredient/capability/DefaultPositionedAddonsNetworkIngredientsHandler.java
  class DefaultPositionedAddonsNetworkIngredientsHandler (line 14) | public class DefaultPositionedAddonsNetworkIngredientsHandler<T, M> impl...
    method DefaultPositionedAddonsNetworkIngredientsHandler (line 18) | public DefaultPositionedAddonsNetworkIngredientsHandler(Function<INetw...
    method getStorage (line 22) | @Nullable

FILE: src/main/java/org/cyclops/integrateddynamics/api/ingredient/capability/IPositionedAddonsNetworkIngredientsHandler.java
  type IPositionedAddonsNetworkIngredientsHandler (line 15) | public interface IPositionedAddonsNetworkIngredientsHandler<T, M> {
    method getStorage (line 22) | public Optional<IPositionedAddonsNetworkIngredients<T, M>> getStorage(...

FILE: src/main/java/org/cyclops/integrateddynamics/api/item/IAspectVariableFacade.java
  type IAspectVariableFacade (line 9) | public interface IAspectVariableFacade extends IVariableFacade {
    method getPartId (line 14) | public int getPartId();
    method getAspect (line 19) | public IAspect getAspect();

FILE: src/main/java/org/cyclops/integrateddynamics/api/item/IDelayVariableFacade.java
  type IDelayVariableFacade (line 7) | public interface IDelayVariableFacade extends IProxyVariableFacade {

FILE: src/main/java/org/cyclops/integrateddynamics/api/item/IOperatorVariableFacade.java
  type IOperatorVariableFacade (line 10) | public interface IOperatorVariableFacade extends IVariableFacade {
    method getOperator (line 15) | public IOperator getOperator();
    method getVariableIds (line 20) | public int[] getVariableIds();
    method getExpression (line 25) | public IExpression getExpression();

FILE: src/main/java/org/cyclops/integrateddynamics/api/item/IProxyVariableFacade.java
  type IProxyVariableFacade (line 7) | public interface IProxyVariableFacade extends IVariableFacade {
    method getProxyId (line 12) | public int getProxyId();

FILE: src/main/java/org/cyclops/integrateddynamics/api/item/IValueTypeVariableFacade.java
  type IValueTypeVariableFacade (line 11) | public interface IValueTypeVariableFacade<V extends IValue> extends IVar...
    method getValueType (line 16) | public IValueType<V> getValueType();
    method getValue (line 21) | public V getValue();
    method getVariable (line 26) | public IVariable<V> getVariable();

FILE: src/main/java/org/cyclops/integrateddynamics/api/item/IVariableFacade.java
  type IVariableFacade (line 19) | public interface IVariableFacade {
    method getClient (line 21) | public IVariableFacadeClient getClient();
    method getId (line 26) | public int getId();
    method getLabel (line 31) | @Nullable
    method getVariable (line 41) | public <V extends IValue> IVariable<V> getVariable(INetwork network, I...
    method isValid (line 46) | public boolean isValid();
    method validate (line 55) | public void validate(INetwork network, IPartNetwork partNetwork, IVali...
    method getOutputType (line 60) | public IValueType getOutputType();
    method appendHoverText (line 68) | public void appendHoverText(Consumer<Component> tooltipAdder, Item.Too...
    type IValidator (line 70) | public static interface IValidator {
      method addError (line 77) | public void addError(MutableComponent error);

FILE: src/main/java/org/cyclops/integrateddynamics/api/item/IVariableFacadeClient.java
  type IVariableFacadeClient (line 15) | public interface IVariableFacadeClient {
    method getItemModelOverlay (line 22) | @Nullable
    method renderISTER (line 35) | public default void renderISTER(ItemStack stack, ItemDisplayContext tr...

FILE: src/main/java/org/cyclops/integrateddynamics/api/item/IVariableFacadeHandler.java
  type IVariableFacadeHandler (line 14) | public interface IVariableFacadeHandler<F extends IVariableFacade> {
    method getUniqueName (line 19) | public Identifier getUniqueName();
    method getVariableFacade (line 29) | public F getVariableFacade(ValueDeseralizationContext valueDeseralizat...
    method setVariableFacade (line 38) | public void setVariableFacade(ValueDeseralizationContext valueDeserali...
    method isInstance (line 45) | public boolean isInstance(IVariableFacade variableFacade);
    method isInstance (line 52) | public boolean isInstance(IVariable<?> variable);

FILE: src/main/java/org/cyclops/integrateddynamics/api/item/IVariableFacadeHandlerRegistry.java
  type IVariableFacadeHandlerRegistry (line 19) | public interface IVariableFacadeHandlerRegistry extends IRegistry {
    method registerHandler (line 25) | public void registerHandler(IVariableFacadeHandler variableFacadeHandl...
    method handle (line 34) | public IVariableFacade handle(ValueDeseralizationContext valueDeserali...
    method handle (line 43) | public IVariableFacade handle(ValueDeseralizationContext valueDeserali...
    method getHandler (line 50) | @Nullable
    method getHandlerNames (line 56) | public Collection<String> getHandlerNames();
    method write (line 67) | public <F extends IVariableFacade> void write(ValueDeseralizationConte...
    method writeVariableFacadeItem (line 77) | public <F extends IVariableFacade> ItemStack writeVariableFacadeItem(I...
    method writeVariableFacadeItem (line 92) | public <F extends IVariableFacade> ItemStack writeVariableFacadeItem(b...
    method writeVariableFacade (line 105) | public <F extends IVariableFacade> F writeVariableFacade(boolean gener...
    method copy (line 114) | public <F extends IVariableFacade> ItemStack copy(boolean generateId, ...
    type IVariableFacadeFactory (line 120) | public static interface IVariableFacadeFactory<F extends IVariableFaca...
      method create (line 127) | public F create(boolean generateId);
      method create (line 134) | public F create(int id);

FILE: src/main/java/org/cyclops/integrateddynamics/api/item/IVariableFacadeHolder.java
  type IVariableFacadeHolder (line 9) | public interface IVariableFacadeHolder {
    method getVariableFacade (line 15) | public IVariableFacade getVariableFacade(ValueDeseralizationContext va...

FILE: src/main/java/org/cyclops/integrateddynamics/api/item/TagPathElement.java
  method get (line 10) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/api/logicprogrammer/IConfigRenderPattern.java
  type IConfigRenderPattern (line 9) | public interface IConfigRenderPattern {
    method getWidth (line 14) | public int getWidth();
    method getHeight (line 19) | public int getHeight();
    method getSlotPositions (line 24) | public Pair<Integer, Integer>[] getSlotPositions();
    method getSymbolPosition (line 29) | public Pair<Integer, Integer> getSymbolPosition();
    class Base (line 31) | public static class Base implements IConfigRenderPattern {
      method Base (line 37) | public Base(int width, int height, Pair<Integer, Integer>[] slotPosi...
      method getWidth (line 44) | public int getWidth() {
      method getHeight (line 48) | public int getHeight() {
      method getSlotPositions (line 52) | public Pair<Integer, Integer>[] getSlotPositions() {
      method getSymbolPosition (line 56) | public Pair<Integer, Integer> getSymbolPosition() {

FILE: src/main/java/org/cyclops/integrateddynamics/api/logicprogrammer/ILogicProgrammerElement.java
  type ILogicProgrammerElement (line 23) | public interface ILogicProgrammerElement<S extends ISubGuiBox, G extends...
    method getType (line 29) | public ILogicProgrammerElementType getType();
    method getMatchString (line 34) | public String getMatchString();
    method matchesInput (line 41) | public boolean matchesInput(IValueType<?> valueType);
    method matchesOutput (line 48) | public boolean matchesOutput(IValueType<?> valueType);
    method createSlot (line 60) | default Slot createSlot(Container temporaryInputSlots, int slotId, int...
    method createSlotDefault (line 64) | public static Slot createSlotDefault(ILogicProgrammerElement logicProg...
    method onInputSlotUpdated (line 81) | public void onInputSlotUpdated(Player player, int slotId, ItemStack it...
    method canWriteElementPre (line 86) | public boolean canWriteElementPre();
    method writeElement (line 94) | public ItemStack writeElement(Player player, ItemStack itemStack);
    method loadElement (line 101) | public void loadElement(IVariableFacade variableFacade);
    method canCurrentlyReadFromOtherItem (line 108) | public boolean canCurrentlyReadFromOtherItem();
    method isFor (line 114) | public boolean isFor(IVariableFacade variableFacade);
    method isItemValidForSlot (line 122) | public boolean isItemValidForSlot(int slotId, ItemStack itemStack);
    method slotClick (line 133) | boolean slotClick(int slotId, Slot slot, int mouseButton, ContainerInp...
    method getItemStackSizeLimit (line 138) | public int getItemStackSizeLimit();
    method setValueInContainer (line 145) | public void setValueInContainer(C container);

FILE: src/main/java/org/cyclops/integrateddynamics/api/logicprogrammer/ILogicProgrammerElementClient.java
  type ILogicProgrammerElementClient (line 11) | public interface ILogicProgrammerElementClient<S extends ISubGuiBox, G e...
    method isFocused (line 17) | public boolean isFocused(S subGui);
    method setFocused (line 24) | public void setFocused(S subGui, boolean focused);
    method setValueInGui (line 31) | public void setValueInGui(S subGui);

FILE: src/main/java/org/cyclops/integrateddynamics/api/logicprogrammer/ILogicProgrammerElementType.java
  type ILogicProgrammerElementType (line 13) | public interface ILogicProgrammerElementType<E extends ILogicProgrammerE...
    method getByName (line 20) | public E getByName(Identifier name);
    method getName (line 27) | public Identifier getName(E element);
    method getUniqueName (line 32) | public Identifier getUniqueName();
    method createElements (line 37) | public List<E> createElements();

FILE: src/main/java/org/cyclops/integrateddynamics/api/logicprogrammer/ILogicProgrammerElementTypeRegistry.java
  type ILogicProgrammerElementTypeRegistry (line 12) | public interface ILogicProgrammerElementTypeRegistry extends IRegistry {
    method addType (line 20) | public <E extends ILogicProgrammerElementType> E addType(E type);
    method getTypes (line 25) | public List<ILogicProgrammerElementType> getTypes();
    method getType (line 32) | public ILogicProgrammerElementType getType(Identifier name);

FILE: src/main/java/org/cyclops/integrateddynamics/api/logicprogrammer/IValueTypeLogicProgrammerElement.java
  type IValueTypeLogicProgrammerElement (line 19) | public interface IValueTypeLogicProgrammerElement<S extends ISubGuiBox, ...
    method getValueType (line 24) | public IValueType<?> getValueType();
    method getValue (line 29) | public IValue getValue();
    method setValue (line 34) | public void setValue(IValue value);
    method createInnerGuiElement (line 41) | @Nullable

FILE: src/main/java/org/cyclops/integrateddynamics/api/network/AttachCapabilitiesEventNetwork.java
  class AttachCapabilitiesEventNetwork (line 18) | public class AttachCapabilitiesEventNetwork extends Event implements IMo...
    method AttachCapabilitiesEventNetwork (line 24) | public AttachCapabilitiesEventNetwork(INetwork network) {
    method getNetwork (line 30) | public INetwork getNetwork() {
    method addFullNetworkListener (line 34) | public void addFullNetworkListener(IFullNetworkListener fullNetworkLis...
    method getFullNetworkListeners (line 38) | public List<IFullNetworkListener> getFullNetworkListeners() {
    method register (line 42) | public <T> void register(
    method getProviders (line 51) | public Map<NetworkCapability<?>, List<ICapabilityProvider<INetwork, Vo...

FILE: src/main/java/org/cyclops/integrateddynamics/api/network/FullNetworkListenerAdapter.java
  class FullNetworkListenerAdapter (line 12) | public class FullNetworkListenerAdapter implements IFullNetworkListener {
    method addNetworkElement (line 13) | @Override
    method removeNetworkElementPre (line 18) | @Override
    method removeNetworkElementPost (line 23) | @Override
    method kill (line 28) | @Override
    method updateGuaranteed (line 33) | @Override
    method update (line 38) | @Override
    method removePathElement (line 43) | @Override
    method afterServerLoad (line 48) | @Override
    method beforeServerStop (line 53) | @Override
    method canUpdate (line 58) | @Override
    method postUpdate (line 63) | @Override
    method onSkipUpdate (line 68) | @Override
    method invalidateElement (line 73) | @Override
    method revalidateElement (line 78) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/api/network/IEnergyConsumingNetworkElement.java
  type IEnergyConsumingNetworkElement (line 7) | public interface IEnergyConsumingNetworkElement extends INetworkElement {
    method getConsumptionRate (line 12) | public int getConsumptionRate();
    method postUpdate (line 21) | public void postUpdate(INetwork network, boolean updated);

FILE: src/main/java/org/cyclops/integrateddynamics/api/network/IEnergyNetwork.java
  type IEnergyNetwork (line 7) | public interface IEnergyNetwork extends IPositionedAddonsNetworkIngredie...
    method getConsumptionRate (line 12) | public int getConsumptionRate();

FILE: src/main/java/org/cyclops/integrateddynamics/api/network/IEventListenableNetworkElement.java
  type IEventListenableNetworkElement (line 11) | public interface IEventListenableNetworkElement<D extends INetworkEventL...
    method getNetworkEventListener (line 17) | public Optional<D> getNetworkEventListener();

FILE: src/main/java/org/cyclops/integrateddynamics/api/network/IFullNetworkListener.java
  type IFullNetworkListener (line 12) | public interface IFullNetworkListener {
    method addNetworkElement (line 21) | public boolean addNetworkElement(INetworkElement element, boolean netw...
    method removeNetworkElementPre (line 28) | public boolean removeNetworkElementPre(INetworkElement element);
    method removeNetworkElementPost (line 38) | public void removeNetworkElementPost(INetworkElement element, BlockSta...
    method kill (line 43) | public void kill();
    method update (line 48) | public void update();
    method updateGuaranteed (line 53) | public void updateGuaranteed();
    method removePathElement (line 65) | public boolean removePathElement(IPathElement pathElement, Direction s...
    method afterServerLoad (line 71) | public void afterServerLoad();
    method beforeServerStop (line 77) | public void beforeServerStop();
    method canUpdate (line 84) | public boolean canUpdate(INetworkElement element);
    method postUpdate (line 90) | public void postUpdate(INetworkElement element);
    method onSkipUpdate (line 97) | public void onSkipUpdate(INetworkElement element);
    method invalidateElement (line 104) | public void invalidateElement(INetworkElement element);
    method revalidateElement (line 111) | public void revalidateElement(INetworkElement element);

FILE: src/main/java/org/cyclops/integrateddynamics/api/network/IIdentifiableNetworkElement.java
  type IIdentifiableNetworkElement (line 10) | public interface IIdentifiableNetworkElement {
    method getId (line 15) | public int getId();
    method getGroup (line 20) | public Identifier getGroup();

FILE: src/main/java/org/cyclops/integrateddynamics/api/network/INetwork.java
  type INetwork (line 14) | public interface INetwork extends IFullNetworkListener {
    method isInitialized (line 19) | public boolean isInitialized();
    method getEventBus (line 24) | public INetworkEventBus getEventBus();
    method addNetworkElementUpdateable (line 30) | public void addNetworkElementUpdateable(INetworkElement element);
    method removeNetworkElementUpdateable (line 36) | public void removeNetworkElementUpdateable(INetworkElement element);
    method setPriorityAndChannel (line 44) | public void setPriorityAndChannel(INetworkElement element, int priorit...
    method killIfEmpty (line 50) | public boolean killIfEmpty();
    method getElements (line 55) | public Set<INetworkElement> getElements();
    method isKilled (line 60) | public boolean isKilled();
    method hasChanged (line 65) | public boolean hasChanged();
    method getCablesCount (line 70) | public int getCablesCount();
    method getLastSecondDuration (line 77) | public long getLastSecondDuration(INetworkElement networkElement);
    method resetLastSecondDurations (line 82) | public void resetLastSecondDurations();
    method isCrashed (line 87) | public boolean isCrashed();
    method setCrashed (line 92) | public void setCrashed(boolean crashed);
    method getCapability (line 100) | public <T> Optional<T> getCapability(NetworkCapability<T> capability);
    method invalidateElement (line 107) | public void invalidateElement(INetworkElement element);
    method revalidateElement (line 114) | public void revalidateElement(INetworkElement element);
    method isValid (line 121) | public boolean isValid(INetworkElement element);
    method containsSidedPathElement (line 127) | public boolean containsSidedPathElement(ISidedPathElement sidedPathEle...
    method getFullNetworkListeners (line 132) | public IFullNetworkListener[] getFullNetworkListeners();

FILE: src/main/java/org/cyclops/integrateddynamics/api/network/INetworkCarrier.java
  type INetworkCarrier (line 9) | public interface INetworkCarrier {
    method setNetwork (line 15) | public void setNetwork(@Nullable INetwork network);
    method getNetwork (line 21) | public INetwork getNetwork();

FILE: src/main/java/org/cyclops/integrateddynamics/api/network/INetworkCraftingHandler.java
  type INetworkCraftingHandler (line 9) | public interface INetworkCraftingHandler {
    method isCrafting (line 23) | public <T, M> boolean isCrafting(INetwork network, IPositionedAddonsNe...
    method canCraft (line 35) | public <T, M> boolean canCraft(INetwork network, IPositionedAddonsNetw...
    method craft (line 52) | public <T, M> boolean craft(INetwork network, IPositionedAddonsNetwork...

FILE: src/main/java/org/cyclops/integrateddynamics/api/network/INetworkCraftingHandlerRegistry.java
  type INetworkCraftingHandlerRegistry (line 12) | public interface INetworkCraftingHandlerRegistry extends IRegistry {
    method register (line 20) | public <C extends INetworkCraftingHandler> C register(C craftingHandler);
    method getCraftingHandlers (line 25) | public Collection<INetworkCraftingHandler> getCraftingHandlers();
    method isCrafting (line 39) | public default <T, M> boolean isCrafting(INetwork network, IPositioned...
    method canCraft (line 58) | public default <T, M> boolean canCraft(INetwork network, IPositionedAd...
    method craft (line 81) | public default <T, M> boolean craft(INetwork network, IPositionedAddon...

FILE: src/main/java/org/cyclops/integrateddynamics/api/network/INetworkElement.java
  type INetworkElement (line 28) | public interface INetworkElement extends Comparable<INetworkElement> {
    method getUpdateInterval (line 33) | public int getUpdateInterval();
    method isUpdate (line 38) | public boolean isUpdate();
    method update (line 44) | public void update(INetwork network);
    method beforeNetworkKill (line 53) | public void beforeNetworkKill(INetwork network, @Nullable BlockState b...
    method afterNetworkAlive (line 59) | public void afterNetworkAlive(INetwork network);
    method afterNetworkReAlive (line 66) | public void afterNetworkReAlive(INetwork network);
    method addDrops (line 77) | public void addDrops(BlockState blockState, BlockEntity blockEntity, L...
    method onNetworkAddition (line 84) | public boolean onNetworkAddition(INetwork network);
    method onNetworkRemoval (line 93) | public void onNetworkRemoval(INetwork network, BlockState blockState, ...
    method onPreRemoved (line 100) | public void onPreRemoved(INetwork network);
    method onPostRemoved (line 107) | public void onPostRemoved(INetwork network);
    method onNeighborBlockChange (line 119) | public void onNeighborBlockChange(@Nullable INetwork network, BlockGet...
    method setPriorityAndChannel (line 128) | @Deprecated
    method getPriority (line 134) | public int getPriority();
    method getChannel (line 139) | public int getChannel();
    method invalidate (line 145) | public void invalidate(INetwork network);
    method canRevalidate (line 151) | public boolean canRevalidate(INetwork network);
    method revalidate (line 156) | public void revalidate(INetwork network);
    method isLoaded (line 161) | public boolean isLoaded();
    method shouldTick (line 169) | public static boolean shouldTick(DimPos pos) {

FILE: src/main/java/org/cyclops/integrateddynamics/api/network/INetworkElementProvider.java
  type INetworkElementProvider (line 15) | public interface INetworkElementProvider {
    method createNetworkElements (line 23) | public Collection<INetworkElement> createNetworkElements(Level world, ...

FILE: src/main/java/org/cyclops/integrateddynamics/api/network/INetworkEventListener.java
  type INetworkEventListener (line 11) | public interface INetworkEventListener<E> {
    method hasEventSubscriptions (line 16) | public boolean hasEventSubscriptions();
    method getSubscribedEvents (line 21) | public Set<Class<? extends INetworkEvent>> getSubscribedEvents();
    method onEvent (line 29) | public void onEvent(INetworkEvent event, E networkElement);

FILE: src/main/java/org/cyclops/integrateddynamics/api/network/INetworkIngredientsChannel.java
  type INetworkIngredientsChannel (line 11) | public interface INetworkIngredientsChannel<T, M> extends IIngredientCom...
    method findNonFullPositions (line 13) | public Iterable<PartPos> findNonFullPositions();
    method findAllPositions (line 14) | public Iterable<PartPos> findAllPositions();
    method findNonEmptyPositions (line 15) | public Iterable<PartPos> findNonEmptyPositions();
    method findMatchingPositions (line 16) | public Iterable<PartPos> findMatchingPositions(@Nonnull T prototype, M...

FILE: src/main/java/org/cyclops/integrateddynamics/api/network/IPartNetwork.java
  type IPartNetwork (line 18) | public interface IPartNetwork extends ILazyExpressionValueCache {
    method addPart (line 26) | public boolean addPart(int partId, PartPos partPos);
    method getPartState (line 33) | public IPartState getPartState(int partId);
    method getPartType (line 40) | public IPartType getPartType(int partId);
    method removePart (line 46) | public void removePart(int partId);
    method hasPart (line 53) | public boolean hasPart(int partId);
    method hasPartVariable (line 63) | public <V extends IValue> boolean hasPartVariable(int partId, IAspectR...
    method getPartVariable (line 73) | public <V extends IValue> IVariable<V> getPartVariable(int partId, IAs...
    method hasVariableFacade (line 80) | public boolean hasVariableFacade(int variableId);
    method getVariableFacade (line 87) | public IVariableFacade getVariableFacade(int variableId);
    method addVariableContainer (line 94) | public boolean addVariableContainer(DimPos dimPos);
    method removeVariableContainer (line 100) | public void removeVariableContainer(DimPos dimPos);
    method addProxy (line 108) | public boolean addProxy(int proxyId, DimPos dimPos);
    method removeProxy (line 114) | public void removeProxy(int proxyId);
    method getProxy (line 121) | public DimPos getProxy(int proxyId);
    method notifyPartsChanged (line 126) | public void notifyPartsChanged();

FILE: src/main/java/org/cyclops/integrateddynamics/api/network/IPartNetworkElement.java
  type IPartNetworkElement (line 15) | public interface IPartNetworkElement<P extends IPartType<P, S>, S extend...
    method getPart (line 23) | public P getPart();
    method getPartState (line 29) | public S getPartState() throws PartStateException;
    method getPartContainer (line 34) | public IPartContainer getPartContainer();
    method getTarget (line 39) | public PartTarget getTarget();

FILE: src/main/java/org/cyclops/integrateddynamics/api/network/IPartPosIteratorHandler.java
  type IPartPosIteratorHandler (line 12) | public interface IPartPosIteratorHandler {
    method handleIterator (line 21) | public Iterator<PartPos> handleIterator(Supplier<Iterator<PartPos>> it...
    method clone (line 28) | public IPartPosIteratorHandler clone();

FILE: src/main/java/org/cyclops/integrateddynamics/api/network/IPositionedAddonsNetwork.java
  type IPositionedAddonsNetwork (line 15) | public interface IPositionedAddonsNetwork {
    method channelsMatch (line 33) | public static boolean channelsMatch(int first, int second) {
    method getChannels (line 40) | public int[] getChannels();
    method hasPositions (line 45) | public boolean hasPositions();
    method getPrioritizedPositions (line 51) | public Collection<PrioritizedPartPos> getPrioritizedPositions(int chan...
    method getPositionChannel (line 59) | public int getPositionChannel(PartPos pos);
    method getPositions (line 65) | public default Collection<PartPos> getPositions(int channel) {
    method getPrioritizedPositions (line 72) | public Collection<PrioritizedPartPos> getPrioritizedPositions();
    method getPositions (line 77) | public default Iterable<PartPos> getPositions() {
    method getPartPosIteratorHandler (line 84) | @Nullable
    method setPartPosIteratorHandler (line 91) | public void setPartPosIteratorHandler(@Nullable IPartPosIteratorHandle...
    method addPosition (line 100) | public boolean addPosition(PartPos pos, int priority, int channel);
    method removePosition (line 106) | public void removePosition(PartPos pos);
    method isPositionDisabled (line 113) | public boolean isPositionDisabled(PartPos pos);
    method disablePosition (line 119) | public void disablePosition(PartPos pos);
    method enablePosition (line 125) | public void enablePosition(PartPos pos);

FILE: src/main/java/org/cyclops/integrateddynamics/api/network/IPositionedAddonsNetworkIngredients.java
  type IPositionedAddonsNetworkIngredients (line 28) | public interface IPositionedAddonsNetworkIngredients<T, M> extends IPosi...
    method getComponent (line 34) | public IngredientComponent<T, M> getComponent();
    method getRateLimit (line 39) | public long getRateLimit();
    method getPositionedStorage (line 46) | public IIngredientComponentStorage<T, M> getPositionedStorage(PartPos ...
    method setPositionedStorageFilter (line 54) | public void setPositionedStorageFilter(PartPos pos, @Nullable Position...
    method getPositionedStorageFilter (line 60) | @Nullable
    method getRawInstances (line 68) | public default Iterator<T> getRawInstances(PartPos pos) {
    method getPositionedStorageUnsafe (line 82) | @Nullable
    method getChannel (line 97) | public INetworkIngredientsChannel<T, M> getChannel(int channel);
    method getChannelSlotted (line 104) | public IIngredientComponentStorageSlotted<T, M> getChannelSlotted(int ...
    method getChannelExternal (line 113) | @Nullable
    method getLastSecondDurationIndex (line 124) | public Map<PartPos, Long> getLastSecondDurationIndex();
    method resetLastSecondDurationsIndex (line 129) | public void resetLastSecondDurationsIndex();
    method registerInsertPreConsumer (line 135) | public void registerInsertPreConsumer(IIngredientChannelInsertPreConsu...
    method unregisterInsertPreConsumer (line 141) | public void unregisterInsertPreConsumer(IIngredientChannelInsertPreCon...
    method getInsertPreConsumers (line 146) | public Collection<IIngredientChannelInsertPreConsumer<T>> getInsertPre...

FILE: src/main/java/org/cyclops/integrateddynamics/api/network/IPositionedNetworkElement.java
  type IPositionedNetworkElement (line 9) | public interface IPositionedNetworkElement extends INetworkElement {
    method getPosition (line 11) | public DimPos getPosition();

FILE: src/main/java/org/cyclops/integrateddynamics/api/network/ISidedNetworkElement.java
  type ISidedNetworkElement (line 9) | public interface ISidedNetworkElement extends INetworkElement {
    method getSide (line 11) | public Direction getSide();

FILE: src/main/java/org/cyclops/integrateddynamics/api/network/NetworkCapability.java
  class NetworkCapability (line 16) | public class NetworkCapability<T> extends BaseCapability<T, Void> {
    method create (line 18) | public static <T> NetworkCapability<T> create(Identifier name, Class<T...
    method getAll (line 22) | public static synchronized List<NetworkCapability<?>> getAll() {
    method NetworkCapability (line 31) | private NetworkCapability(Identifier name, Class<T> typeClass) {
    method getCapability (line 35) | @ApiStatus.Internal

FILE: src/main/java/org/cyclops/integrateddynamics/api/network/PositionedAddonsNetworkIngredientsFilter.java
  class PositionedAddonsNetworkIngredientsFilter (line 9) | public class PositionedAddonsNetworkIngredientsFilter<T> {
    method PositionedAddonsNetworkIngredientsFilter (line 16) | public PositionedAddonsNetworkIngredientsFilter(Predicate<T> filter, b...
    method testInsertion (line 29) | public boolean testInsertion(T ingredient) {
    method testExtraction (line 42) | public boolean testExtraction(T ingredient) {
    method testView (line 55) | public boolean testView(T ingredient) {
    method getFilter (line 62) | public Predicate<T> getFilter() {
    method isApplyToInsertions (line 69) | public boolean isApplyToInsertions() {
    method isApplyToExtractions (line 76) | public boolean isApplyToExtractions() {
    method isAllowAllIfFilterNotApplied (line 85) | public boolean isAllowAllIfFilterNotApplied() {

FILE: src/main/java/org/cyclops/integrateddynamics/api/network/event/ICancelableNetworkEvent.java
  type ICancelableNetworkEvent (line 9) | public interface ICancelableNetworkEvent extends INetworkEvent {
    method cancel (line 14) | public void cancel();
    method isCanceled (line 19) | public boolean isCanceled();

FILE: src/main/java/org/cyclops/integrateddynamics/api/network/event/INetworkEvent.java
  type INetworkEvent (line 9) | public interface INetworkEvent {
    method getNetwork (line 14) | public INetwork getNetwork();

FILE: src/main/java/org/cyclops/integrateddynamics/api/network/event/INetworkEventBus.java
  type INetworkEventBus (line 12) | public interface INetworkEventBus {
    method register (line 19) | public void register(IEventListenableNetworkElement<?> target, Class<?...
    method unregister (line 26) | public void unregister(IEventListenableNetworkElement<?> target, Class...
    method unregister (line 32) | public void unregister(IEventListenableNetworkElement<?> target);
    method post (line 38) | public void post(INetworkEvent event);
    method postCancelable (line 45) | public boolean postCancelable(ICancelableNetworkEvent event);

FILE: src/main/java/org/cyclops/integrateddynamics/api/part/AttachCapabilitiesEventPart.java
  class AttachCapabilitiesEventPart (line 13) | public class AttachCapabilitiesEventPart extends Event {
    method AttachCapabilitiesEventPart (line 18) | public AttachCapabilitiesEventPart(IPartType partType, IPartState part...
    method getPartType (line 23) | public IPartType getPartType() {
    method getPartState (line 27) | public IPartState getPartState() {
    method register (line 31) | public <T> void register(
    method isRegistered (line 40) | public boolean isRegistered(PartCapability<?> capability, IPartType<?,...

FILE: src/main/java/org/cyclops/integrateddynamics/api/part/IPartContainer.java
  type IPartContainer (line 21) | public interface IPartContainer extends INBTSerializable {
    method update (line 26) | public void update();
    method getPosition (line 31) | public DimPos getPosition();
    method getParts (line 36) | public Map<Direction, IPartType<?, ?>> getParts();
    method hasParts (line 41) | public boolean hasParts();
    method setPart (line 51) | public <P extends IPartType<P, S>, S extends IPartState<P>> void setPa...
    method canAddPart (line 62) | public <P extends IPartType<P, S>, S extends IPartState<P>> boolean ca...
    method getPart (line 69) | public IPartType getPart(Direction side);
    method hasPart (line 75) | public boolean hasPart(Direction side);
    method removePart (line 85) | public IPartType removePart(Direction side, @Nullable Player player, b...
    method setPartState (line 93) | public void setPartState(Direction side, IPartState partState) throws ...
    method getPartState (line 101) | public IPartState getPartState(Direction side) throws PartStateException;
    method getWatchingSide (line 111) | public @Nullable
    method getCapability (line 123) | public <T> Optional<T> getCapability(PartCapability<T> partCapability,...

FILE: src/main/java/org/cyclops/integrateddynamics/api/part/IPartState.java
  type IPartState (line 29) | public interface IPartState<P extends IPartType> {
    method serialize (line 38) | public void serialize(ValueOutput valueOutput);
    method deserialize (line 45) | public void deserialize(ValueInput valueInput);
    method generateId (line 50) | public void generateId();
    method getId (line 56) | public int getId();
    method setUpdateInterval (line 62) | public void setUpdateInterval(int updateInterval);
    method getUpdateInterval (line 67) | public int getUpdateInterval();
    method setPriority (line 74) | @Deprecated
    method getPriority (line 80) | public int getPriority();
    method setChannel (line 87) | @Deprecated
    method getChannel (line 93) | public int getChannel();
    method getTargetOffset (line 98) | public Vec3i getTargetOffset();
    method setTargetOffset (line 103) | public void setTargetOffset(Vec3i offset);
    method setTargetSideOverride (line 110) | public void setTargetSideOverride(@Nullable Direction side);
    method getTargetSideOverride (line 115) | @Nullable
    method markDirty (line 121) | public void markDirty();
    method isDirtyAndReset (line 127) | public boolean isDirtyAndReset();
    method isUpdateAndReset (line 133) | public boolean isUpdateAndReset();
    method forceBlockRenderUpdate (line 146) | public void forceBlockRenderUpdate();
    method isForceBlockRenderUpdateAndReset (line 154) | public boolean isForceBlockRenderUpdateAndReset();
    method getAspectProperties (line 163) | public IAspectProperties getAspectProperties(IAspect aspect);
    method setAspectProperties (line 170) | public void setAspectProperties(IAspect aspect, IAspectProperties prop...
    method setEnabled (line 176) | public void setEnabled(boolean enabled);
    method isEnabled (line 181) | public boolean isEnabled();
    method gatherCapabilities (line 188) | public void gatherCapabilities(P partType);
    method getCapability (line 200) | public <T> Optional<T> getCapability(P partType, PartCapability<T> cap...
    method addVolatileCapability (line 208) | public <T> void addVolatileCapability(PartCapability<T> capability, Op...
    method removeVolatileCapability (line 214) | public void removeVolatileCapability(PartCapability<?> capability);
    method loadInventoryNamed (line 221) | public default void loadInventoryNamed(String name, Container inventor...
    method saveInventoryNamed (line 235) | public default void saveInventoryNamed(String name, Container inventor...
    method getInventoryNamed (line 247) | @Nullable
    method setInventoryNamed (line 255) | public void setInventoryNamed(String name, NonNullList<ItemStack> inve...
    method getInventoriesNamed (line 260) | public Map<String, NonNullList<ItemStack>> getInventoriesNamed();
    method clearInventoriesNamed (line 265) | public void clearInventoriesNamed();
    method initializeOffsets (line 270) | public void initializeOffsets(PartTarget target);
    method updateOffsetVariables (line 279) | public void updateOffsetVariables(P partType, INetwork network, IPartN...
    method markOffsetVariablesChanged (line 284) | public void markOffsetVariablesChanged();
    method getOffsetVariableError (line 290) | @Nullable
    method requiresOffsetUpdates (line 296) | public boolean requiresOffsetUpdates();
    method getMaxOffset (line 301) | public int getMaxOffset();
    method setMaxOffset (line 307) | public void setMaxOffset(int offset);

FILE: src/main/java/org/cyclops/integrateddynamics/api/part/IPartType.java
  type IPartType (line 45) | public interface IPartType<P extends IPartType<P, S>, S extends IPartSta...
    method getUniqueName (line 50) | public Identifier getUniqueName();
    method getTranslationKey (line 55) | public String getTranslationKey();
    method getBlockModelPath (line 60) | public Identifier getBlockModelPath();
    method getItem (line 65) | public Item getItem();
    method isSolid (line 71) | public boolean isSolid(S state);
    method getPartRenderPosition (line 77) | public PartRenderPosition getPartRenderPosition();
    method serializeState (line 86) | public void serializeState(ValueOutput valueOutput, S partState);
    method deserializeState (line 95) | public S deserializeState(ValueInput valueInput);
    method defaultBlockState (line 100) | public S defaultBlockState();
    method setUpdateInterval (line 107) | public void setUpdateInterval(S state, int updateInterval);
    method getUpdateInterval (line 113) | public int getUpdateInterval(S state);
    method getMinimumUpdateInterval (line 119) | public int getMinimumUpdateInterval(S state);
    method setPriorityAndChannel (line 131) | @Deprecated
    method getPriority (line 138) | public int getPriority(S state);
    method getChannel (line 144) | public int getChannel(S state);
    method supportsOffsets (line 149) | public default boolean supportsOffsets() {
    method getTargetOffset (line 157) | public Vec3i getTargetOffset(S state);
    method setTargetOffset (line 165) | public boolean setTargetOffset(S state, PartPos center, Vec3i offset);
    method setTargetSideOverride (line 173) | public void setTargetSideOverride(S state, @Nullable Direction side);
    method getTargetSideOverride (line 179) | @Nullable
    method getTarget (line 188) | public PartTarget getTarget(PartPos pos, S state);
    method onOffsetVariablesChanged (line 195) | public void onOffsetVariablesChanged(PartTarget target, S state);
    method isUpdate (line 201) | public boolean isUpdate(S state);
    method update (line 210) | public void update(INetwork network, IPartNetwork partNetwork, PartTar...
    method beforeNetworkKill (line 219) | public void beforeNetworkKill(INetwork network, IPartNetwork partNetwo...
    method afterNetworkAlive (line 228) | public void afterNetworkAlive(INetwork network, IPartNetwork partNetwo...
    method afterNetworkReAlive (line 238) | public void afterNetworkReAlive(INetwork network, IPartNetwork partNet...
    method getItemStack (line 249) | public ItemStack getItemStack(ValueDeseralizationContext valueDeserali...
    method getCloneItemStack (line 258) | public ItemStack getCloneItemStack(Level world, BlockPos pos, S state);
    method getState (line 268) | public S getState(ValueDeseralizationContext valueDeseralizationContex...
    method addDrops (line 278) | public void addDrops(PartTarget target, S state, List<ItemStack> itemS...
    method onNetworkAddition (line 287) | public void onNetworkAddition(INetwork network, IPartNetwork partNetwo...
    method onNetworkRemoval (line 296) | public void onNetworkRemoval(INetwork network, IPartNetwork partNetwor...
    method createNetworkElement (line 305) | public INetworkElement createNetworkElement(IPartContainer partContain...
    method onPartActivated (line 318) | public InteractionResult onPartActivated(S partState, BlockPos pos, Le...
    method getBlockState (line 328) | public BlockState getBlockState(IPartContainer partContainer, Directio...
    method getBaseBlockState (line 333) | public BlockState getBaseBlockState();
    method updateTick (line 342) | public void updateTick(Level world, BlockPos pos, S partState, RandomS...
    method onPreRemoved (line 351) | public void onPreRemoved(INetwork network, IPartNetwork partNetwork, P...
    method onPostRemoved (line 360) | public void onPostRemoved(INetwork network, IPartNetwork partNetwork, ...
    method onBlockNeighborChange (line 375) | public void onBlockNeighborChange(@Nullable INetwork network, @Nullabl...
    method getConsumptionRate (line 382) | public int getConsumptionRate(S state);
    method postUpdate (line 394) | public void postUpdate(INetwork network, IPartNetwork partNetwork, Par...
    method isEnabled (line 400) | public boolean isEnabled(S state);
    method setEnabled (line 407) | public void setEnabled(S state, boolean enabled);
    method loadTooltip (line 414) | public void loadTooltip(S state, List<Component> lines);
    method loadTooltip (line 422) | public void loadTooltip(ItemStack itemStack, Consumer<Component> toolt...
    method shouldTriggerBlockRenderUpdate (line 432) | public boolean shouldTriggerBlockRenderUpdate(@Nullable S oldPartState...
    method forceLightTransparency (line 438) | public boolean forceLightTransparency(S state);
    method getContainerProvider (line 445) | public default Optional<MenuProvider> getContainerProvider(PartPos pos) {
    method writeExtraGuiData (line 455) | public default void writeExtraGuiData(RegistryFriendlyByteBuf packetBu...
    method getContainerProviderSettings (line 464) | public default Optional<MenuProvider> getContainerProviderSettings(Par...
    method getContainerProviderOffsets (line 473) | public default Optional<MenuProvider> getContainerProviderOffsets(Part...
    method writeExtraGuiDataSettings (line 484) | public default void writeExtraGuiDataSettings(RegistryFriendlyByteBuf ...
    method writeExtraGuiDataOffsets (line 495) | public default void writeExtraGuiDataOffsets(RegistryFriendlyByteBuf p...

FILE: src/main/java/org/cyclops/integrateddynamics/api/part/IPartTypeActiveVariable.java
  type IPartTypeActiveVariable (line 12) | public interface IPartTypeActiveVariable<P extends IPartTypeActiveVariab...
    method hasActiveVariable (line 20) | public boolean hasActiveVariable(IPartNetwork network, PartTarget targ...
    method getActiveVariable (line 31) | public <V extends IValue> IVariable<V> getActiveVariable(INetwork netw...

FILE: src/main/java/org/cyclops/integrateddynamics/api/part/IPartTypeRegistry.java
  type IPartTypeRegistry (line 12) | public interface IPartTypeRegistry extends IRegistry {
    method register (line 21) | public <P extends IPartType<P, S>, S extends IPartState<P>> P register...
    method getPartTypes (line 26) | public Collection<IPartType> getPartTypes();
    method getPartType (line 33) | public IPartType getPartType(Identifier partName);

FILE: src/main/java/org/cyclops/integrateddynamics/api/part/PartCapability.java
  class PartCapability (line 17) | public class PartCapability<T> extends BaseCapability<T, PartTarget> {
    method create (line 19) | public static <T> PartCapability<T> create(Identifier name, Class<T> t...
    method getAll (line 23) | public static synchronized List<PartCapability<?>> getAll() {
    method PartCapability (line 32) | private PartCapability(Identifier name, Class<T> typeClass) {
    method getCapability (line 38) | @ApiStatus.Internal

FILE: src/main/java/org/cyclops/integrateddynamics/api/part/PartPathElement.java
  method get (line 10) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/api/part/PartPos.java
  class PartPos (line 19) | public class PartPos implements Comparable<PartPos> {
    method encode (line 24) | @Override
    method decode (line 30) | @Override
    method of (line 42) | public static PartPos of(Level world, BlockPos pos, @Nullable Directio...
    method of (line 46) | public static PartPos of(DimPos pos, @Nullable Direction side) {
    method PartPos (line 50) | private PartPos(DimPos pos, @Nullable Direction side) {
    method getPos (line 55) | public DimPos getPos() {
    method getSide (line 59) | @Nullable
    method equals (line 64) | @Override
    method hashCode (line 76) | @Override
    method toString (line 81) | @Override
    method getPartData (line 94) | @Nullable
    method compareTo (line 107) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/api/part/PartRenderPosition.java
  class PartRenderPosition (line 19) | public class PartRenderPosition {
    method PartRenderPosition (line 32) | public PartRenderPosition(float selectionDepthFactor, float depthFacto...
    method PartRenderPosition (line 36) | public PartRenderPosition(float selectionDepthFactor, float depthFacto...
    method getDepthFactor (line 89) | public float getDepthFactor() {
    method getWidthFactor (line 93) | public float getWidthFactor() {
    method getHeightFactor (line 97) | public float getHeightFactor() {
    method getSidedCableBoundingBox (line 101) | public VoxelShape getSidedCableBoundingBox(Direction side) {
    method getBoundingBox (line 105) | public VoxelShape getBoundingBox(Direction side, CollisionContext cont...
    method getWidthFactorSide (line 112) | public float getWidthFactorSide() {
    method getHeightFactorSide (line 116) | public float getHeightFactorSide() {
    method toString (line 120) | @Override
    method toCompactString (line 131) | public String toCompactString() {

FILE: src/main/java/org/cyclops/integrateddynamics/api/part/PartTarget.java
  class PartTarget (line 15) | public class PartTarget {
    method fromCenter (line 26) | public static PartTarget fromCenter(DimPos pos, @Nullable Direction si...
    method fromCenter (line 38) | public static PartTarget fromCenter(PartPos pos) {
    method fromCenter (line 49) | public static PartTarget fromCenter(Level world, BlockPos pos, Directi...
    method of (line 59) | public static PartTarget of(PartPos center, PartPos target) {
    method getCenter (line 63) | public PartPos getCenter() {
    method getTarget (line 67) | public PartPos getTarget() {
    method isDefaultTarget (line 71) | public boolean isDefaultTarget() {
    method PartTarget (line 75) | private PartTarget(PartPos center, PartPos target) {
    method forTargetSide (line 85) | public PartTarget forTargetSide(Direction targetSide) {
    method forOffset (line 94) | public PartTarget forOffset(Vec3i offset) {
    method equals (line 98) | @Override
    method hashCode (line 110) | @Override
    method toString (line 117) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/api/part/PartTypeAdapter.java
  class PartTypeAdapter (line 42) | public abstract class PartTypeAdapter<P extends IPartType<P, S>, S exten...
    method getTranslationKey (line 48) | @Override
    method createTranslationKey (line 53) | protected abstract String createTranslationKey();
    method isSolid (line 55) | @Override
    method serializeState (line 60) | @Override
    method deserializeState (line 65) | @Override
    method setUpdateInterval (line 73) | @Override
    method getUpdateInterval (line 78) | @Override
    method getMinimumUpdateInterval (line 83) | @Override
    method setPriorityAndChannel (line 88) | @Override
    method getPriority (line 95) | @Override
    method getChannel (line 100) | @Override
    method getTargetOffset (line 105) | @Override
    method setTargetOffset (line 110) | @Override
    method setTargetSideOverride (line 121) | @Override
    method getTargetSideOverride (line 126) | @Nullable
    method getTarget (line 132) | @Override
    method hasOffsetVariables (line 146) | protected boolean hasOffsetVariables(S state) {
    method onOffsetVariablesChanged (line 151) | @Override
    method isUpdate (line 156) | @Override
    method update (line 161) | @Override
    method beforeNetworkKill (line 166) | @Override
    method afterNetworkAlive (line 171) | @Override
    method afterNetworkReAlive (line 176) | @Override
    method getItemStack (line 182) | @Override
    method getCloneItemStack (line 195) | @Override
    method getState (line 200) | @Override
    method constructDefaultState (line 222) | protected abstract S constructDefaultState();
    method defaultBlockState (line 224) | @Override
    method addDrops (line 232) | @Override
    method onNetworkAddition (line 249) | @Override
    method onNetworkRemoval (line 254) | @Override
    method onPartActivated (line 259) | @Override
    method updateTick (line 264) | @Override
    method onPreRemoved (line 269) | @Override
    method onPostRemoved (line 274) | @Override
    method onBlockNeighborChange (line 279) | @Override
    method getConsumptionRate (line 285) | @Override
    method postUpdate (line 290) | @Override
    method isEnabled (line 295) | @Override
    method setEnabled (line 300) | @Override
    method loadTooltip (line 305) | @Override
    method loadTooltip (line 310) | @Override
    method shouldTriggerBlockRenderUpdate (line 315) | @Override
    method hasEventSubscriptions (line 320) | @Override
    method getSubscribedEvents (line 325) | @Override
    method onEvent (line 330) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/api/part/PrioritizedPartPos.java
  class PrioritizedPartPos (line 12) | public class PrioritizedPartPos implements Comparable<PrioritizedPartPos> {
    method PrioritizedPartPos (line 16) | private PrioritizedPartPos(PartPos partPos, int priority) {
    method compareTo (line 21) | @Override
    method of (line 36) | public static PrioritizedPartPos of(PartPos pos, int priority) {
    method getPartPos (line 40) | public PartPos getPartPos() {
    method getPriority (line 44) | public int getPriority() {
    method equals (line 48) | @Override
    method hashCode (line 53) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/api/part/aspect/AspectUpdateType.java
  type AspectUpdateType (line 22) | public enum AspectUpdateType {

FILE: src/main/java/org/cyclops/integrateddynamics/api/part/aspect/IAspect.java
  type IAspect (line 28) | public interface IAspect<V extends IValue, T extends IValueType<V>> {
    method getUniqueName (line 33) | public Identifier getUniqueName();
    method getTranslationKey (line 38) | public String getTranslationKey();
    method loadTooltip (line 46) | public void loadTooltip(Consumer<Component> tooltipAdder, boolean appe...
    method getValueType (line 51) | public T getValueType();
    method update (line 63) | public <P extends IPartType<P, S>, S extends IPartState<P>> void updat...
    method hasProperties (line 70) | public <P extends IPartType<P, S>, S extends IPartState<P>> boolean ha...
    method getProperties (line 81) | public <P extends IPartType<P, S>, S extends IPartState<P>> IAspectPro...
    method setProperties (line 92) | public <P extends IPartType<P, S>, S extends IPartState<P>> void setPr...
    method getDefaultProperties (line 97) | @Nullable
    method getPropertyTypes (line 106) | public Collection<IAspectPropertyTypeInstance> getPropertyTypes();
    method getPropertiesContainerProvider (line 113) | public MenuProvider getPropertiesContainerProvider(PartPos pos);
    class AspectComparator (line 118) | public static class AspectComparator implements Comparator<IAspect> {
      method AspectComparator (line 122) | private AspectComparator() {
      method getInstance (line 126) | public static AspectComparator getInstance() {
      method compare (line 131) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/api/part/aspect/IAspectRead.java
  type IAspectRead (line 13) | public interface IAspectRead<V extends IValue, T extends IValueType<V>> ...
    method createNewVariable (line 20) | public IAspectVariable<V> createNewVariable(Supplier<PartTarget> targe...
    method getUpdateType (line 25) | public AspectUpdateType getUpdateType();

FILE: src/main/java/org/cyclops/integrateddynamics/api/part/aspect/IAspectRegistry.java
  type IAspectRegistry (line 17) | public interface IAspectRegistry extends IRegistry, IVariableFacadeHandl...
    method getClient (line 19) | public IAspectRegistryClient getClient();
    method register (line 27) | public IAspect register(IPartType partType, IAspect aspect);
    method register (line 34) | public void register(IPartType partType, Collection<IAspect> aspects);
    method getAspects (line 41) | public Set<IAspect> getAspects(IPartType partType);
    method getReadAspects (line 48) | public List<IAspectRead<?, ?>> getReadAspects(IPartType partType);
    method getWriteAspects (line 55) | public List<IAspectWrite<?, ?>> getWriteAspects(IPartType partType);
    method getAspects (line 61) | public Set<IAspect> getAspects();
    method getReadAspects (line 67) | public Set<IAspectRead> getReadAspects();
    method getWriteAspects (line 73) | public Set<IAspectWrite> getWriteAspects();
    method getAspect (line 80) | public IAspect getAspect(Identifier name);

FILE: src/main/java/org/cyclops/integrateddynamics/api/part/aspect/IAspectRegistryClient.java
  type IAspectRegistryClient (line 11) | public interface IAspectRegistryClient {
    method registerAspectModel (line 18) | public void registerAspectModel(IAspect aspect, Identifier modelLocati...
    method getAspectModel (line 26) | public ItemModel.Unbaked getAspectModel(IAspect aspect);
    method getAspectModels (line 32) | public Collection<ItemModel.Unbaked> getAspectModels();

FILE: src/main/java/org/cyclops/integrateddynamics/api/part/aspect/IAspectVariable.java
  type IAspectVariable (line 11) | public interface IAspectVariable<V extends IValue> extends IVariable<V> {
    method getTarget (line 16) | public PartTarget getTarget();
    method getAspect (line 21) | public IAspectRead<V, ?> getAspect();

FILE: src/main/java/org/cyclops/integrateddynamics/api/part/aspect/IAspectWrite.java
  type IAspectWrite (line 15) | public interface IAspectWrite<V extends IValue, T extends IValueType<V>>...
    method write (line 27) | public <P extends IPartTypeWriter<P, S>, S extends IPartStateWriter<P>...
    method onActivate (line 39) | public <P extends IPartTypeWriter<P, S>, S extends IPartStateWriter<P>...
    method onDeactivate (line 50) | public <P extends IPartTypeWriter<P, S>, S extends IPartStateWriter<P>...

FILE: src/main/java/org/cyclops/integrateddynamics/api/part/aspect/IPositionedVariable.java
  type IPositionedVariable (line 11) | public interface IPositionedVariable<V extends IValue> extends IVariable...
    method getTarget (line 16) | public DimPos getTarget();
    method requiresUpdate (line 21) | public boolean requiresUpdate();
    method update (line 27) | public void update();

FILE: src/main/java/org/cyclops/integrateddynamics/api/part/aspect/property/IAspectProperties.java
  type IAspectProperties (line 15) | public interface IAspectProperties {
    method getTypes (line 22) | @Deprecated
    method getValue (line 32) | public <T extends IValueType<V>, V extends IValue> V getValue(IAspectP...
    method setValue (line 41) | public <T extends IValueType<V>, V extends IValue> void setValue(IAspe...
    method removeValue (line 49) | public <T extends IValueType<V>, V extends IValue> void removeValue(IA...
    method clone (line 54) | @SuppressWarnings({"CloneDoesntCallSuperClone", "deprecation"})
    method serialize (line 62) | public void serialize(ValueOutput valueOutput);
    method deserialize (line 71) | public void deserialize(ValueInput valueInput);

FILE: src/main/java/org/cyclops/integrateddynamics/api/part/aspect/property/IAspectPropertyTypeInstance.java
  type IAspectPropertyTypeInstance (line 12) | public interface IAspectPropertyTypeInstance<T extends IValueType<V>, V ...
    method getType (line 17) | public T getType();
    method getTranslationKey (line 22) | String getTranslationKey();
    method getValidator (line 27) | Predicate<V> getValidator();

FILE: src/main/java/org/cyclops/integrateddynamics/api/part/read/IPartStateReader.java
  type IPartStateReader (line 17) | public interface IPartStateReader<P extends IPartTypeReader> extends IPa...
    method getVariable (line 28) | public <V extends IValue, T extends IValueType<V>> IAspectVariable<V> ...
    method setVariable (line 35) | public void setVariable(IAspect aspect, IAspectVariable variable);
    method resetVariables (line 40) | public void resetVariables();

FILE: src/main/java/org/cyclops/integrateddynamics/api/part/read/IPartTypeReader.java
  type IPartTypeReader (line 16) | public interface IPartTypeReader<P extends IPartTypeReader<P, S>, S exte...
    method getReadAspects (line 21) | public List<IAspectRead<?, ?>> getReadAspects();
    method getVariable (line 32) | public <V extends IValue, T extends IValueType<V>> IAspectVariable<V> ...

FILE: src/main/java/org/cyclops/integrateddynamics/api/part/write/IPartStateWriter.java
  type IPartStateWriter (line 24) | public interface IPartStateWriter<P extends IPartTypeWriter> extends IPa...
    method getInventory (line 29) | public SimpleInventory getInventory();
    method hasVariable (line 34) | public boolean hasVariable();
    method getVariable (line 44) | public <V extends IValue> IVariable<V> getVariable(INetwork network, I...
    method triggerAspectInfoUpdate (line 55) | public void triggerAspectInfoUpdate(P partType, PartTarget target, IAs...
    method onVariableContentsUpdated (line 63) | public void onVariableContentsUpdated(P partType, PartTarget target);
    method getActiveAspect (line 68) | @Nullable
    method getErrors (line 76) | public List<Component> getErrors(IAspectWrite aspect);
    method addError (line 83) | public void addError(IAspectWrite aspect, MutableComponent error);
    method isDeactivated (line 88) | public boolean isDeactivated();
    method setDeactivated (line 94) | public void setDeactivated(boolean deactivated);
    method checkAndResetFirstTick (line 100) | public boolean checkAndResetFirstTick();

FILE: src/main/java/org/cyclops/integrateddynamics/api/part/write/IPartTypeWriter.java
  type IPartTypeWriter (line 15) | public interface IPartTypeWriter<P extends IPartTypeWriter<P, S>, S exte...
    method getWriteAspects (line 20) | public List<IAspectWrite<?, ?>> getWriteAspects();
    method getActiveAspect (line 28) | public IAspectWrite getActiveAspect(PartTarget target, S partState);
    method updateActivation (line 38) | public void updateActivation(PartTarget target, S partState, @Nullable...

FILE: src/main/java/org/cyclops/integrateddynamics/api/path/IPathElement.java
  type IPathElement (line 15) | public interface IPathElement extends Comparable<IPathElement> {
    method getPosition (line 20) | public DimPos getPosition();
    method getReachableElements (line 25) | public Set<ISidedPathElement> getReachableElements();

FILE: src/main/java/org/cyclops/integrateddynamics/api/path/ISidedPathElement.java
  type ISidedPathElement (line 13) | public interface ISidedPathElement extends Comparable<ISidedPathElement> {
    method getPathElement (line 18) | public IPathElement getPathElement();
    method getSide (line 23) | @Nullable
    method getParams (line 29) | public SidedPathElementParams getParams();

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockCable.java
  class BlockCable (line 75) | public class BlockCable extends BlockWithEntity implements SimpleWaterlo...
    method setDisableCollisionBox (line 118) | public void setDisableCollisionBox(boolean disableCollisionBox) {
    method BlockCable (line 129) | public BlockCable(Properties properties) {
    method codec (line 134) | @Override
    method useShapeForLightOcclusion (line 139) | @Override
    method getTicker (line 144) | @Override
    method createBlockStateDefinition (line 150) | @Override
    method updateShape (line 156) | @Override
    method getStateForPlacement (line 167) | @Override
    method getFluidState (line 173) | @Override
    method canPlaceLiquid (line 178) | @Override
    method onBlockExploded (line 184) | @Override
    method onDestroyedByPlayer (line 193) | @Override
    method affectNeighborsAfterRemoval (line 203) | @Override
    method useItemOn (line 212) | @Override
    method onPlace (line 234) | @Override
    method setPlacedBy (line 245) | @Override
    method getCloneItemStack (line 253) | @Override
    method neighborChanged (line 263) | @Override
    method onNeighborChange (line 269) | @Override
    method tick (line 277) | @Override
    method updateTickPart (line 289) | protected void updateTickPart(IPartType partType, Level world, BlockPo...
    method getCableBoundingBox (line 295) | public AABB getCableBoundingBox(Direction side) {
    method getSelectedShape (line 303) | public VoxelShapeComponents getSelectedShape(BlockState blockState, Bl...
    method getShape (line 311) | @Override
    method getCollisionShape (line 342) | @Override
    method hasDynamicShape (line 347) | @Override
    method getRenderShape (line 352) | @Override
    method getBlockSupportShape (line 357) | @Override
    method shouldDisplayFluidOverlay (line 362) | @Override
    method getAppearance (line 367) | @Override
    method isSignalSource (line 377) | @SuppressWarnings("deprecation")
    method canConnectRedstone (line 383) | @Override
    method getDirectSignal (line 401) | @SuppressWarnings("deprecation")
    method getSignal (line 411) | @SuppressWarnings("deprecation")
    method getLightEmission (line 423) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockCableClientConfig.java
  class BlockCableClientConfig (line 40) | public class BlockCableClientConfig extends BlockClientConfig<Integrated...
    method BlockCableClientConfig (line 44) | public BlockCableClientConfig(BlockConfigCommon<IntegratedDynamics> bl...
    method onRegisterColors (line 52) | public void onRegisterColors(RegisterColorHandlersEvent.BlockTintSourc...
    method postTextureStitch (line 56) | public void postTextureStitch(TextureAtlasStitchedEvent event) {
    method registerClientExtensions (line 62) | public void registerClientExtensions(RegisterClientExtensionsEvent eve...
    method getDynamicModelElement (line 78) | @Override
    class BlockColor (line 83) | public static class BlockColor implements BlockTintSource {
      method color (line 84) | @Override
      method colorInWorld (line 89) | @Override
    class DynamicModel (line 103) | public static class DynamicModel implements IDynamicModelElementCommon {
      method createDynamicBlockModel (line 104) | @Override
      method createDynamicItemModel (line 112) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockCableConfig.java
  class BlockCableConfig (line 15) | public class BlockCableConfig extends BlockConfigCommon<IntegratedDynami...
    method BlockCableConfig (line 20) | public BlockCableConfig() {
    method constructBlockClientConfig (line 33) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockCoalGenerator.java
  class BlockCoalGenerator (line 31) | public class BlockCoalGenerator extends BlockWithEntityGuiCabled {
    method BlockCoalGenerator (line 37) | public BlockCoalGenerator(Properties properties) {
    method codec (line 45) | @Override
    method getTicker (line 50) | @Override
    method createBlockStateDefinition (line 56) | @Override
    method getStateForPlacement (line 61) | @Override
    method setPlacedBy (line 66) | @Override
    method isPickBlockPersistData (line 73) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockCoalGeneratorConfig.java
  class BlockCoalGeneratorConfig (line 11) | public class BlockCoalGeneratorConfig extends BlockConfigCommon<Integrat...
    method BlockCoalGeneratorConfig (line 13) | public BlockCoalGeneratorConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockCreativeEnergyBattery.java
  class BlockCreativeEnergyBattery (line 12) | public class BlockCreativeEnergyBattery extends BlockEnergyBatteryBase {
    method BlockCreativeEnergyBattery (line 16) | public BlockCreativeEnergyBattery(Block.Properties properties) {
    method isCreative (line 20) | public boolean isCreative() {
    method codec (line 24) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockCreativeEnergyBatteryConfig.java
  class BlockCreativeEnergyBatteryConfig (line 24) | public class BlockCreativeEnergyBatteryConfig extends BlockConfigCommon<...
    method BlockCreativeEnergyBatteryConfig (line 26) | public BlockCreativeEnergyBatteryConfig() {
    method registerCapability (line 41) | protected void registerCapability(RegisterCapabilitiesEvent event) {
    method fillCreativeTab (line 45) | protected void fillCreativeTab(BuildCreativeModeTabContentsEvent event) {
    method getDefaultCreativeTabEntries (line 53) | @Override
    method dynamicCreativeTabEntries (line 59) | protected Collection<ItemStack> dynamicCreativeTabEntries() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockCreativeEnergyBatteryConfigClient.java
  class BlockCreativeEnergyBatteryConfigClient (line 12) | public class BlockCreativeEnergyBatteryConfigClient extends BlockClientC...
    method BlockCreativeEnergyBatteryConfigClient (line 13) | public BlockCreativeEnergyBatteryConfigClient(BlockConfigCommon<Integr...

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockCrystalizedChorusBlockConfig.java
  class BlockCrystalizedChorusBlockConfig (line 13) | public class BlockCrystalizedChorusBlockConfig extends BlockConfigCommon...
    method BlockCrystalizedChorusBlockConfig (line 15) | public BlockCrystalizedChorusBlockConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockCrystalizedChorusBlockSlabConfig.java
  class BlockCrystalizedChorusBlockSlabConfig (line 14) | public class BlockCrystalizedChorusBlockSlabConfig extends BlockConfigCo...
    method BlockCrystalizedChorusBlockSlabConfig (line 16) | public BlockCrystalizedChorusBlockSlabConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockCrystalizedChorusBlockStairsConfig.java
  class BlockCrystalizedChorusBlockStairsConfig (line 14) | public class BlockCrystalizedChorusBlockStairsConfig extends BlockConfig...
    method BlockCrystalizedChorusBlockStairsConfig (line 16) | public BlockCrystalizedChorusBlockStairsConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockCrystalizedChorusBrickConfig.java
  class BlockCrystalizedChorusBrickConfig (line 13) | public class BlockCrystalizedChorusBrickConfig extends BlockConfigCommon...
    method BlockCrystalizedChorusBrickConfig (line 15) | public BlockCrystalizedChorusBrickConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockCrystalizedChorusBrickSlabConfig.java
  class BlockCrystalizedChorusBrickSlabConfig (line 14) | public class BlockCrystalizedChorusBrickSlabConfig extends BlockConfigCo...
    method BlockCrystalizedChorusBrickSlabConfig (line 16) | public BlockCrystalizedChorusBrickSlabConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockCrystalizedChorusBrickStairsConfig.java
  class BlockCrystalizedChorusBrickStairsConfig (line 14) | public class BlockCrystalizedChorusBrickStairsConfig extends BlockConfig...
    method BlockCrystalizedChorusBrickStairsConfig (line 16) | public BlockCrystalizedChorusBrickStairsConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockCrystalizedMenrilBlockConfig.java
  class BlockCrystalizedMenrilBlockConfig (line 13) | public class BlockCrystalizedMenrilBlockConfig extends BlockConfigCommon...
    method BlockCrystalizedMenrilBlockConfig (line 15) | public BlockCrystalizedMenrilBlockConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockCrystalizedMenrilBlockSlabConfig.java
  class BlockCrystalizedMenrilBlockSlabConfig (line 14) | public class BlockCrystalizedMenrilBlockSlabConfig extends BlockConfigCo...
    method BlockCrystalizedMenrilBlockSlabConfig (line 16) | public BlockCrystalizedMenrilBlockSlabConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockCrystalizedMenrilBlockStairsConfig.java
  class BlockCrystalizedMenrilBlockStairsConfig (line 14) | public class BlockCrystalizedMenrilBlockStairsConfig extends BlockConfig...
    method BlockCrystalizedMenrilBlockStairsConfig (line 16) | public BlockCrystalizedMenrilBlockStairsConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockCrystalizedMenrilBrickConfig.java
  class BlockCrystalizedMenrilBrickConfig (line 13) | public class BlockCrystalizedMenrilBrickConfig extends BlockConfigCommon...
    method BlockCrystalizedMenrilBrickConfig (line 15) | public BlockCrystalizedMenrilBrickConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockCrystalizedMenrilBrickSlabConfig.java
  class BlockCrystalizedMenrilBrickSlabConfig (line 14) | public class BlockCrystalizedMenrilBrickSlabConfig extends BlockConfigCo...
    method BlockCrystalizedMenrilBrickSlabConfig (line 16) | public BlockCrystalizedMenrilBrickSlabConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockCrystalizedMenrilBrickStairsConfig.java
  class BlockCrystalizedMenrilBrickStairsConfig (line 14) | public class BlockCrystalizedMenrilBrickStairsConfig extends BlockConfig...
    method BlockCrystalizedMenrilBrickStairsConfig (line 16) | public BlockCrystalizedMenrilBrickStairsConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockDelay.java
  class BlockDelay (line 30) | public class BlockDelay extends BlockWithEntityGuiCabled {
    method BlockDelay (line 35) | public BlockDelay(Properties properties) {
    method codec (line 41) | @Override
    method getTicker (line 46) | @Override
    method createBlockStateDefinition (line 52) | @Override
    method getStateForPlacement (line 57) | public BlockState getStateForPlacement(BlockPlaceContext context) {
    method setPlacedBy (line 61) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockDelayConfig.java
  class BlockDelayConfig (line 13) | public class BlockDelayConfig extends BlockConfigCommon<IntegratedDynami...
    method BlockDelayConfig (line 18) | public BlockDelayConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockDryingBasin.java
  class BlockDryingBasin (line 41) | public class BlockDryingBasin extends BlockWithEntityGui {
    method BlockDryingBasin (line 53) | public BlockDryingBasin(Properties properties) {
    method codec (line 57) | @Override
    method getTicker (line 62) | @Override
    method useWithoutItem (line 68) | @Override
    method hasAnalogOutputSignal (line 105) | @SuppressWarnings("deprecation")
    method getAnalogOutputSignal (line 111) | @Override
    method getShape (line 118) | @Override
    method getInteractionShape (line 123) | @Override
    method affectNeighborsAfterRemoval (line 128) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockDryingBasinConfig.java
  class BlockDryingBasinConfig (line 10) | public class BlockDryingBasinConfig extends BlockConfigCommon<Integrated...
    method BlockDryingBasinConfig (line 12) | public BlockDryingBasinConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockEnergyBattery.java
  class BlockEnergyBattery (line 12) | public class BlockEnergyBattery extends BlockEnergyBatteryBase {
    method BlockEnergyBattery (line 16) | public BlockEnergyBattery(Block.Properties properties) {
    method codec (line 20) | @Override
    method isCreative (line 25) | public boolean isCreative() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockEnergyBatteryBase.java
  class BlockEnergyBatteryBase (line 33) | public abstract class BlockEnergyBatteryBase extends BlockContainerCabled {
    method BlockEnergyBatteryBase (line 35) | public BlockEnergyBatteryBase(Block.Properties properties) {
    method getTicker (line 39) | @Override
    method isCreative (line 45) | public abstract boolean isCreative();
    method useWithoutItem (line 47) | @Override
    method fill (line 72) | public static void fill(EnergyHandler energyStorage){
    method setPlacedBy (line 83) | @Override
    method itemStackToTile (line 92) | public static void itemStackToTile(ItemStack itemStack, BlockEntityEne...

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockEnergyBatteryConfig.java
  class BlockEnergyBatteryConfig (line 27) | public class BlockEnergyBatteryConfig extends BlockConfigCommon<Integrat...
    method BlockEnergyBatteryConfig (line 44) | public BlockEnergyBatteryConfig() {
    method registerCapability (line 56) | protected void registerCapability(RegisterCapabilitiesEvent event) {
    method fillCreativeTab (line 60) | protected void fillCreativeTab(BuildCreativeModeTabContentsEvent event) {
    method getDefaultCreativeTabEntries (line 68) | @Override
    method dynamicCreativeTabEntries (line 74) | protected Collection<ItemStack> dynamicCreativeTabEntries() {
    method constructBlockClientConfig (line 96) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockEnergyBatteryConfigClient.java
  class BlockEnergyBatteryConfigClient (line 12) | public class BlockEnergyBatteryConfigClient extends BlockClientConfig<In...
    method BlockEnergyBatteryConfigClient (line 13) | public BlockEnergyBatteryConfigClient(BlockConfigCommon<IntegratedDyna...

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockFluidLiquidChorus.java
  class BlockFluidLiquidChorus (line 20) | public class BlockFluidLiquidChorus extends LiquidBlock {
    method BlockFluidLiquidChorus (line 22) | public BlockFluidLiquidChorus(Block.Properties builder) {
    method entityInside (line 26) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockFluidLiquidChorusConfig.java
  class BlockFluidLiquidChorusConfig (line 17) | public class BlockFluidLiquidChorusConfig extends BlockConfigCommon<Inte...
    method BlockFluidLiquidChorusConfig (line 19) | public BlockFluidLiquidChorusConfig() {
    method getDefaultCreativeTabEntries (line 34) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockFluidMenrilResin.java
  class BlockFluidMenrilResin (line 11) | public class BlockFluidMenrilResin extends LiquidBlock {
    method BlockFluidMenrilResin (line 13) | public BlockFluidMenrilResin(Block.Properties builder) {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockFluidMenrilResinConfig.java
  class BlockFluidMenrilResinConfig (line 17) | public class BlockFluidMenrilResinConfig extends BlockConfigCommon<Integ...
    method BlockFluidMenrilResinConfig (line 19) | public BlockFluidMenrilResinConfig() {
    method getDefaultCreativeTabEntries (line 34) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockInvisibleLight.java
  class BlockInvisibleLight (line 19) | public class BlockInvisibleLight extends Block {
    method BlockInvisibleLight (line 23) | public BlockInvisibleLight(Properties properties) {
    method createBlockStateDefinition (line 30) | @Override
    method getRenderShape (line 35) | @SuppressWarnings("deprecation")
    method canBeReplaced (line 41) | @Override
    method getShape (line 46) | @Override
    method getLightEmission (line 51) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockInvisibleLightConfig.java
  class BlockInvisibleLightConfig (line 18) | public class BlockInvisibleLightConfig extends BlockConfigCommon<Integra...
    method BlockInvisibleLightConfig (line 23) | public BlockInvisibleLightConfig() {
    method getDefaultCreativeTabEntries (line 36) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockLogicProgrammer.java
  class BlockLogicProgrammer (line 29) | public class BlockLogicProgrammer extends BlockGui {
    method BlockLogicProgrammer (line 33) | public BlockLogicProgrammer(Properties properties) {
    method createBlockStateDefinition (line 40) | @Override
    method getStateForPlacement (line 45) | @Nullable
    method getMenuProvider (line 51) | @Nullable

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockLogicProgrammerConfig.java
  class BlockLogicProgrammerConfig (line 11) | public class BlockLogicProgrammerConfig extends BlockConfigCommon<Integr...
    method BlockLogicProgrammerConfig (line 13) | public BlockLogicProgrammerConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockMaterializer.java
  class BlockMaterializer (line 26) | public class BlockMaterializer extends BlockWithEntityGuiCabled {
    method BlockMaterializer (line 32) | public BlockMaterializer(Properties properties) {
    method codec (line 38) | @Override
    method getTicker (line 43) | @Override
    method createBlockStateDefinition (line 49) | @Override
    method getStateForPlacement (line 54) | public BlockState getStateForPlacement(BlockPlaceContext context) {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockMaterializerConfig.java
  class BlockMaterializerConfig (line 11) | public class BlockMaterializerConfig extends BlockConfigCommon<Integrate...
    method BlockMaterializerConfig (line 13) | public BlockMaterializerConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockMechanicalDryingBasin.java
  class BlockMechanicalDryingBasin (line 36) | public class BlockMechanicalDryingBasin extends BlockMechanicalMachine {
    method BlockMechanicalDryingBasin (line 42) | public BlockMechanicalDryingBasin(Properties properties) {
    method codec (line 49) | @Override
    method getTicker (line 54) | @Override
    method createBlockStateDefinition (line 60) | @Override
    method useWithoutItem (line 65) | @Override
    method setPlacedBy (line 74) | @Override
    method isPickBlockPersistData (line 89) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockMechanicalDryingBasinConfig.java
  class BlockMechanicalDryingBasinConfig (line 12) | public class BlockMechanicalDryingBasinConfig extends BlockConfigCommon<...
    method BlockMechanicalDryingBasinConfig (line 20) | public BlockMechanicalDryingBasinConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockMechanicalSqueezer.java
  class BlockMechanicalSqueezer (line 32) | public class BlockMechanicalSqueezer extends BlockMechanicalMachine {
    method BlockMechanicalSqueezer (line 40) | public BlockMechanicalSqueezer(Properties properties) {
    method codec (line 47) | @Override
    method getTicker (line 52) | @Override
    method createBlockStateDefinition (line 58) | @Override
    method useWithoutItem (line 63) | @Override
    method setPlacedBy (line 71) | @Override
    method isPickBlockPersistData (line 84) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockMechanicalSqueezerConfig.java
  class BlockMechanicalSqueezerConfig (line 12) | public class BlockMechanicalSqueezerConfig extends BlockConfigCommon<Int...
    method BlockMechanicalSqueezerConfig (line 23) | public BlockMechanicalSqueezerConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockMenrilDoorConfig.java
  class BlockMenrilDoorConfig (line 15) | public class BlockMenrilDoorConfig extends BlockConfigCommon<IntegratedD...
    method BlockMenrilDoorConfig (line 17) | public BlockMenrilDoorConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockMenrilFenceConfig.java
  class BlockMenrilFenceConfig (line 18) | public class BlockMenrilFenceConfig extends BlockConfigCommon<Integrated...
    method BlockMenrilFenceConfig (line 20) | public BlockMenrilFenceConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockMenrilFenceGateConfig.java
  class BlockMenrilFenceGateConfig (line 19) | public class BlockMenrilFenceGateConfig extends BlockConfigCommon<Integr...
    method BlockMenrilFenceGateConfig (line 21) | public BlockMenrilFenceGateConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockMenrilLeavesClientConfig.java
  class BlockMenrilLeavesClientConfig (line 19) | public class BlockMenrilLeavesClientConfig extends BlockClientConfig<Int...
    method BlockMenrilLeavesClientConfig (line 26) | public BlockMenrilLeavesClientConfig(BlockConfigCommon<IntegratedDynam...
    method onRegisterColors (line 31) | public void onRegisterColors(RegisterColorHandlersEvent.BlockTintSourc...

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockMenrilLeavesConfig.java
  class BlockMenrilLeavesConfig (line 19) | public class BlockMenrilLeavesConfig extends BlockConfigCommon<Integrate...
    method BlockMenrilLeavesConfig (line 21) | public BlockMenrilLeavesConfig() {
    method onRegistryRegistered (line 45) | @Override
    method constructBlockClientConfig (line 51) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockMenrilLogConfig.java
  class BlockMenrilLogConfig (line 18) | public class BlockMenrilLogConfig extends BlockConfigCommon<IntegratedDy...
    method BlockMenrilLogConfig (line 20) | public BlockMenrilLogConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockMenrilLogFilled.java
  class BlockMenrilLogFilled (line 18) | public class BlockMenrilLogFilled extends RotatedPillarBlock {
    method BlockMenrilLogFilled (line 22) | public BlockMenrilLogFilled(Properties properties) {
    method createBlockStateDefinition (line 30) | @Override
    method getStateForPlacement (line 35) | @Override
    method getFireSpreadSpeed (line 40) | @Override
    method getFlammability (line 45) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockMenrilLogFilledConfig.java
  class BlockMenrilLogFilledConfig (line 14) | public class BlockMenrilLogFilledConfig extends BlockConfigCommon<Integr...
    method BlockMenrilLogFilledConfig (line 19) | public BlockMenrilLogFilledConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockMenrilLogStrippedConfig.java
  class BlockMenrilLogStrippedConfig (line 23) | public class BlockMenrilLogStrippedConfig extends BlockConfigCommon<Inte...
    method BlockMenrilLogStrippedConfig (line 25) | public BlockMenrilLogStrippedConfig() {
    method toolActionEvent (line 47) | public static void toolActionEvent(BlockEvent.BlockToolModificationEve...

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockMenrilPlanksConfig.java
  class BlockMenrilPlanksConfig (line 18) | public class BlockMenrilPlanksConfig extends BlockConfigCommon<Integrate...
    method BlockMenrilPlanksConfig (line 20) | public BlockMenrilPlanksConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockMenrilPlanksStairsConfig.java
  class BlockMenrilPlanksStairsConfig (line 19) | public class BlockMenrilPlanksStairsConfig extends BlockConfigCommon<Int...
    method BlockMenrilPlanksStairsConfig (line 21) | public BlockMenrilPlanksStairsConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockMenrilSaplingConfig.java
  class BlockMenrilSaplingConfig (line 22) | public class BlockMenrilSaplingConfig extends BlockConfigCommon<Integrat...
    method BlockMenrilSaplingConfig (line 33) | public BlockMenrilSaplingConfig() {
    method onRegistryRegistered (line 46) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockMenrilSlabConfig.java
  class BlockMenrilSlabConfig (line 18) | public class BlockMenrilSlabConfig extends BlockConfigCommon<IntegratedD...
    method BlockMenrilSlabConfig (line 20) | public BlockMenrilSlabConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockMenrilTorchConfig.java
  class BlockMenrilTorchConfig (line 22) | public class BlockMenrilTorchConfig extends BlockConfigCommon<Integrated...
    method BlockMenrilTorchConfig (line 24) | public BlockMenrilTorchConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockMenrilTorchStoneConfig.java
  class BlockMenrilTorchStoneConfig (line 22) | public class BlockMenrilTorchStoneConfig extends BlockConfigCommon<Integ...
    method BlockMenrilTorchStoneConfig (line 24) | public BlockMenrilTorchStoneConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockMenrilTorchStoneWallConfig.java
  class BlockMenrilTorchStoneWallConfig (line 22) | public class BlockMenrilTorchStoneWallConfig extends BlockConfigCommon<I...
    method BlockMenrilTorchStoneWallConfig (line 24) | public BlockMenrilTorchStoneWallConfig() {
    method getDefaultCreativeTabEntries (line 44) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockMenrilTorchWallConfig.java
  class BlockMenrilTorchWallConfig (line 22) | public class BlockMenrilTorchWallConfig extends BlockConfigCommon<Integr...
    method BlockMenrilTorchWallConfig (line 24) | public BlockMenrilTorchWallConfig() {
    method getDefaultCreativeTabEntries (line 44) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockMenrilWoodConfig.java
  class BlockMenrilWoodConfig (line 18) | public class BlockMenrilWoodConfig extends BlockConfigCommon<IntegratedD...
    method BlockMenrilWoodConfig (line 20) | public BlockMenrilWoodConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockMenrilWoodStrippedConfig.java
  class BlockMenrilWoodStrippedConfig (line 23) | public class BlockMenrilWoodStrippedConfig extends BlockConfigCommon<Int...
    method BlockMenrilWoodStrippedConfig (line 25) | public BlockMenrilWoodStrippedConfig() {
    method toolActionEvent (line 48) | public static void toolActionEvent(BlockEvent.BlockToolModificationEve...

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockProxy.java
  class BlockProxy (line 30) | public class BlockProxy extends BlockWithEntityGuiCabled {
    method BlockProxy (line 36) | public BlockProxy(Properties properties) {
    method codec (line 42) | @Override
    method getTicker (line 47) | @Override
    method createBlockStateDefinition (line 53) | @Override
    method getStateForPlacement (line 58) | @Override
    method setPlacedBy (line 63) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockProxyConfig.java
  class BlockProxyConfig (line 12) | public class BlockProxyConfig extends BlockConfigCommon<IntegratedDynami...
    method BlockProxyConfig (line 14) | public BlockProxyConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockSqueezer.java
  class BlockSqueezer (line 45) | public class BlockSqueezer extends BlockWithEntity {
    method BlockSqueezer (line 78) | public BlockSqueezer(Properties properties) {
    method codec (line 86) | @Override
    method getTicker (line 91) | @Override
    method createBlockStateDefinition (line 97) | @Override
    method getStateForPlacement (line 102) | public BlockState getStateForPlacement(BlockPlaceContext context) {
    method useWithoutItem (line 106) | @Override
    method updateEntityMovementAfterFallOn (line 139) | @Override
    method neighborChanged (line 165) | @Override
    method getRelativeTopPositionTop (line 182) | public float getRelativeTopPositionTop(BlockGetter world, BlockPos blo...
    method getShape (line 186) | @Override
    method getInteractionShape (line 191) | @Override
    method getCollisionShape (line 196) | @Override
    method hasAnalogOutputSignal (line 201) | @SuppressWarnings("deprecation")
    method getAnalogOutputSignal (line 207) | @Override
    method affectNeighborsAfterRemoval (line 212) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockSqueezerConfig.java
  class BlockSqueezerConfig (line 11) | public class BlockSqueezerConfig extends BlockConfigCommon<IntegratedDyn...
    method BlockSqueezerConfig (line 13) | public BlockSqueezerConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockVariablestore.java
  class BlockVariablestore (line 27) | public class BlockVariablestore extends BlockWithEntityGuiCabled {
    method BlockVariablestore (line 32) | public BlockVariablestore(Properties properties) {
    method codec (line 39) | @Override
    method getTicker (line 44) | @Override
    method createBlockStateDefinition (line 50) | @Override
    method getStateForPlacement (line 55) | public BlockState getStateForPlacement(BlockPlaceContext context) {

FILE: src/main/java/org/cyclops/integrateddynamics/block/BlockVariablestoreConfig.java
  class BlockVariablestoreConfig (line 11) | public class BlockVariablestoreConfig extends BlockConfigCommon<Integrat...
    method BlockVariablestoreConfig (line 13) | public BlockVariablestoreConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/shapes/CollisionContextBlockSupport.java
  class CollisionContextBlockSupport (line 11) | public class CollisionContextBlockSupport extends EntityCollisionContext {
    method CollisionContextBlockSupport (line 12) | public CollisionContextBlockSupport() {

FILE: src/main/java/org/cyclops/integrateddynamics/block/shapes/VoxelShapeComponentsFactoryHandlerCableCenter.java
  class VoxelShapeComponentsFactoryHandlerCableCenter (line 32) | public class VoxelShapeComponentsFactoryHandlerCableCenter implements Vo...
    method createComponents (line 39) | @Override
    class Component (line 49) | public static class Component implements VoxelShapeComponents.ICompone...
      method getStateId (line 51) | public String getStateId(BlockState blockState, BlockGetter world, B...
      method getShape (line 55) | @Override
      method getCloneItemStack (line 60) | @Override
      method destroy (line 65) | @Override
      method onBlockActivated (line 74) | @Override
      method getRaytraceDirection (line 84) | @Nullable
      method isRaytraceLastForFace (line 90) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/block/shapes/VoxelShapeComponentsFactoryHandlerCableConnections.java
  class VoxelShapeComponentsFactoryHandlerCableConnections (line 35) | public class VoxelShapeComponentsFactoryHandlerCableConnections implemen...
    method createComponents (line 46) | @Override
    class Component (line 64) | public static class Component extends VoxelShapeComponentsFactoryHandl...
      method Component (line 70) | public Component(Direction direction, @Nullable IPartContainer partC...
      method getStateId (line 75) | @Override
      method getShape (line 80) | @Override
      method onBlockActivated (line 93) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/block/shapes/VoxelShapeComponentsFactoryHandlerFacade.java
  class VoxelShapeComponentsFactoryHandlerFacade (line 36) | public class VoxelShapeComponentsFactoryHandlerFacade implements VoxelSh...
    method createComponents (line 43) | @Override
    class Component (line 53) | public static class Component implements VoxelShapeComponents.ICompone...
      method getStateId (line 55) | @Override
      method getShape (line 65) | @Override
      method getCloneItemStack (line 70) | @Override
      method destroy (line 78) | @Override
      method onBlockActivated (line 96) | @Override
      method getRaytraceDirection (line 109) | @Nullable
      method isRaytraceLastForFace (line 115) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/block/shapes/VoxelShapeComponentsFactoryHandlerParts.java
  class VoxelShapeComponentsFactoryHandlerParts (line 35) | public class VoxelShapeComponentsFactoryHandlerParts implements VoxelSha...
    method createComponents (line 37) | @Override
    class Component (line 51) | public static class Component implements VoxelShapeComponents.ICompone...
      method Component (line 56) | public Component(Direction direction, IPartContainer partContainer) {
      method getPart (line 61) | public Optional<IPartType> getPart() {
      method getStateId (line 65) | @Override
      method getShape (line 72) | @Override
      method getCloneItemStack (line 79) | @Override
      method destroy (line 86) | @Override
      method onBlockActivated (line 94) | @Override
      method getRaytraceDirection (line 114) | @Nullable
      method isRaytraceLastForFace (line 120) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/blockentity/BlockEntityCoalGenerator.java
  class BlockEntityCoalGenerator (line 44) | public class BlockEntityCoalGenerator extends BlockEntityCableConnectabl...
    method BlockEntityCoalGenerator (line 57) | public BlockEntityCoalGenerator(BlockPos blockPos, BlockState blockSta...
    class CapabilityRegistrar (line 62) | public static class CapabilityRegistrar extends BlockEntityCableConnec...
      method CapabilityRegistrar (line 63) | public CapabilityRegistrar(Supplier<BlockEntityType<? extends BlockE...
      method populate (line 67) | @Override
    method getNetworkElementProvider (line 82) | @Override
    method getEnergyHandler (line 92) | public EnergyHandler getEnergyHandler() {
    method getEnergyNetwork (line 96) | public Optional<IEnergyNetwork> getEnergyNetwork() {
    method updateBlockState (line 100) | public void updateBlockState() {
    method getProgress (line 109) | public int getProgress() {
    method isBurning (line 118) | public boolean isBurning() {
    method canAddEnergy (line 122) | public boolean canAddEnergy(int energy) {
    method addEnergy (line 130) | protected int addEnergy(int energy) {
    method addEnergyFe (line 142) | protected int addEnergyFe(int energy, boolean simulate) {
    method getFuelTime (line 146) | public static int getFuelTime(ItemStack itemStack) {
    method getDisplayName (line 150) | @Override
    method createMenu (line 155) | @Nullable
    class Ticker (line 161) | public static class Ticker extends BlockEntityCableConnectableInventor...
      method update (line 162) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/blockentity/BlockEntityCoalGeneratorConfig.java
  class BlockEntityCoalGeneratorConfig (line 16) | public class BlockEntityCoalGeneratorConfig extends BlockEntityConfigCom...
    method BlockEntityCoalGeneratorConfig (line 21) | public BlockEntityCoalGeneratorConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/blockentity/BlockEntityDelay.java
  class BlockEntityDelay (line 54) | public class BlockEntityDelay extends BlockEntityProxy implements MenuPr...
    method getCapacity (line 69) | public int getCapacity() {
    method getUpdateInterval (line 73) | public int getUpdateInterval() {
    method setUpdateInterval (line 77) | public void setUpdateInterval(int updateInterval) {
    method setLastPlayer (line 81) | public void setLastPlayer(Player lastPlayer) {
    method BlockEntityDelay (line 85) | public BlockEntityDelay(BlockPos blockPos, BlockState blockState) {
    class CapabilityRegistrar (line 104) | public static class CapabilityRegistrar extends BlockEntityActiveVaria...
      method CapabilityRegistrar (line 105) | public CapabilityRegistrar(Supplier<BlockEntityType<? extends BlockE...
      method populate (line 109) | @Override
    method getNetworkElementProvider (line 139) | @Override
    method writeProxyInfo (line 149) | @Override
    method getVariable (line 165) | @Override
    method getVariableSuper (line 170) | public IVariable<?> getVariableSuper(IPartNetwork network) {
    method setCapacity (line 174) | public void setCapacity(int capacity) {
    method getValues (line 179) | public Queue<IValue> getValues() {
    method saveAdditional (line 186) | @Override
    method read (line 195) | @Override
    method createMenu (line 209) | @Nullable
    method getDisplayName (line 215) | @Override
    class Ticker (line 220) | public static class Ticker extends BlockEntityProxy.Ticker<BlockEntity...
      method update (line 221) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/blockentity/BlockEntityDelayConfig.java
  class BlockEntityDelayConfig (line 14) | public class BlockEntityDelayConfig extends BlockEntityConfigCommon<Bloc...
    method BlockEntityDelayConfig (line 16) | public BlockEntityDelayConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/blockentity/BlockEntityDryingBasin.java
  class BlockEntityDryingBasin (line 50) | public class BlockEntityDryingBasin extends CyclopsBlockEntity {
    method BlockEntityDryingBasin (line 66) | public BlockEntityDryingBasin(BlockPos blockPos, BlockState blockState) {
    class CapabilityRegistrar (line 124) | public static class CapabilityRegistrar extends BlockEntityCapabilityR...
      method CapabilityRegistrar (line 125) | public CapabilityRegistrar(Supplier<BlockEntityType<? extends BlockE...
      method populate (line 129) | @Override
    method getProgress (line 150) | public int getProgress() {
    method setProgress (line 154) | public void setProgress(int progress) {
    method getFire (line 158) | public int getFire() {
    method setFire (line 162) | public void setFire(int fire) {
    method getInventory (line 166) | public SimpleInventory getInventory() {
    method getTank (line 170) | public SingleUseTank getTank() {
    method read (line 174) | @Override
    method saveAdditional (line 181) | @Override
    method getRegistry (line 188) | protected RecipeType<RecipeDryingBasin> getRegistry() {
    method getCurrentRecipe (line 192) | public Optional<RecipeHolder<RecipeDryingBasin>> getCurrentRecipe() {
    method getRandomRotation (line 200) | public float getRandomRotation() {
    method preRemoveSideEffects (line 204) | @Override
    class TickerServer (line 210) | public static class TickerServer extends BlockEntityTickerDelayed<Bloc...
      method update (line 211) | @Override
    class TickerClient (line 274) | public static class TickerClient implements BlockEntityTicker<BlockEnt...
      method tick (line 275) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/blockentity/BlockEntityDryingBasinConfig.java
  class BlockEntityDryingBasinConfig (line 14) | public class BlockEntityDryingBasinConfig extends BlockEntityConfigCommo...
    method BlockEntityDryingBasinConfig (line 16) | public BlockEntityDryingBasinConfig() {
    method onRegistered (line 26) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/blockentity/BlockEntityDryingBasinConfigClient.java
  class BlockEntityDryingBasinConfigClient (line 8) | public class BlockEntityDryingBasinConfigClient {
    method onRegistered (line 10) | public void onRegistered(BlockEntityDryingBasinConfig config) {

FILE: src/main/java/org/cyclops/integrateddynamics/blockentity/BlockEntityEnergyBattery.java
  class BlockEntityEnergyBattery (line 32) | public class BlockEntityEnergyBattery extends BlockEntityCableConnectable {
    method BlockEntityEnergyBattery (line 36) | public BlockEntityEnergyBattery(BlockPos blockPos, BlockState blockSta...
    class CapabilityRegistrar (line 48) | public static class CapabilityRegistrar extends BlockEntityCableConnec...
      method CapabilityRegistrar (line 49) | public CapabilityRegistrar(Supplier<BlockEntityType<? extends BlockE...
      method populate (line 53) | @Override
    method getNetworkElementProvider (line 68) | @Override
    method read (line 78) | @Override
    method saveAdditional (line 84) | @Override
    method getEnergyHandler (line 90) | public SimpleEnergyHandlerCapacity getEnergyHandler() {
    method isCreative (line 94) | public boolean isCreative() {
    method setEnergyStored (line 99) | public void setEnergyStored(int energy) {
    method getEnergyStored (line 103) | public int getEnergyStored() {
    method getMaxEnergyStored (line 107) | public int getMaxEnergyStored() {
    method getUpdateBackoffTicks (line 111) | @Override
    method getEnergyPerTick (line 116) | public static int getEnergyPerTick(long capacity) {
    method getEnergyPerTick (line 120) | protected long getEnergyPerTick() {
    method addEnergy (line 124) | protected int addEnergy(int energy) {
    method addEnergyFe (line 133) | protected int addEnergyFe(int energy, boolean simulate) {
    class Ticker (line 137) | public static class Ticker extends BlockEntityCableConnectable.Ticker<...
      method update (line 138) | @Override
      method onSendUpdate (line 147) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/blockentity/BlockEntityEnergyBatteryConfig.java
  class BlockEntityEnergyBatteryConfig (line 14) | public class BlockEntityEnergyBatteryConfig extends BlockEntityConfigCom...
    method BlockEntityEnergyBatteryConfig (line 16) | public BlockEntityEnergyBatteryConfig() {
    method onRegistered (line 26) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/blockentity/BlockEntityEnergyBatteryConfigClient.java
  class BlockEntityEnergyBatteryConfigClient (line 14) | public class BlockEntityEnergyBatteryConfigClient {
    method onRegistered (line 18) | public void onRegistered(BlockEntityEnergyBatteryConfig config) {
    method postTextureStitch (line 23) | public void postTextureStitch(TextureAtlasStitchedEvent event) {

FILE: src/main/java/org/cyclops/integrateddynamics/blockentity/BlockEntityMaterializer.java
  class BlockEntityMaterializer (line 45) | public class BlockEntityMaterializer extends BlockEntityActiveVariableBa...
    method setLastPlayer (line 55) | public void setLastPlayer(Player lastPlayer) {
    method BlockEntityMaterializer (line 59) | public BlockEntityMaterializer(BlockPos blockPos, BlockState blockStat...
    class CapabilityRegistrar (line 63) | public static class CapabilityRegistrar extends BlockEntityCableConnec...
      method CapabilityRegistrar (line 64) | public CapabilityRegistrar(Supplier<BlockEntityType<? extends BlockE...
      method populate (line 68) | @Override
    method getNetworkElementProvider (line 98) | @Override
    method createInventory (line 108) | @Override
    method getSlotRead (line 118) | @Override
    method canWrite (line 123) | protected boolean canWrite() {
    method onDirty (line 129) | @Override
    method writeMaterialized (line 137) | public ItemStack writeMaterialized(boolean generateId, ItemStack itemS...
    method createMenu (line 160) | @Nullable
    method getDisplayName (line 166) | @Override
    class Ticker (line 171) | public static class Ticker extends BlockEntityCableConnectableInventor...
      method update (line 172) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/blockentity/BlockEntityMaterializerConfig.java
  class BlockEntityMaterializerConfig (line 14) | public class BlockEntityMaterializerConfig extends BlockEntityConfigComm...
    method BlockEntityMaterializerConfig (line 16) | public BlockEntityMaterializerConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/blockentity/BlockEntityMechanicalDryingBasin.java
  class BlockEntityMechanicalDryingBasin (line 44) | public class BlockEntityMechanicalDryingBasin extends BlockEntityMechani...
    method BlockEntityMechanicalDryingBasin (line 55) | public BlockEntityMechanicalDryingBasin(BlockPos blockPos, BlockState ...
    class CapabilityRegistrar (line 63) | public static class CapabilityRegistrar extends BlockEntityMechanicalM...
      method CapabilityRegistrar (line 64) | public CapabilityRegistrar(Supplier<BlockEntityType<? extends BlockE...
      method populate (line 68) | @Override
    method createCacheUpdater (line 83) | @Override
    method getInputSlots (line 127) | @Override
    method getOutputSlots (line 132) | @Override
    method wasWorking (line 137) | @Override
    method setWorking (line 142) | @Override
    method getTankInput (line 148) | public SingleUseTank getTankInput() {
    method getTankOutput (line 152) | public SingleUseTank getTankOutput() {
    method read (line 156) | @Override
    method saveAdditional (line 163) | @Override
    method getRecipeRegistry (line 170) | @Override
    method getCurrentRecipeCacheKey (line 175) | @Override
    method getRecipeDuration (line 180) | @Override
    method finalizeRecipe (line 185) | @Override
    method getEnergyConsumptionRate (line 233) | @Override
    method getMaxEnergyStored (line 238) | @Override
    method createMenu (line 243) | @Nullable
    method getDisplayName (line 249) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/blockentity/BlockEntityMechanicalDryingBasinConfig.java
  class BlockEntityMechanicalDryingBasinConfig (line 14) | public class BlockEntityMechanicalDryingBasinConfig extends BlockEntityC...
    method BlockEntityMechanicalDryingBasinConfig (line 16) | public BlockEntityMechanicalDryingBasinConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/blockentity/BlockEntityMechanicalSqueezer.java
  class BlockEntityMechanicalSqueezer (line 49) | public class BlockEntityMechanicalSqueezer extends BlockEntityMechanical...
    method BlockEntityMechanicalSqueezer (line 63) | public BlockEntityMechanicalSqueezer(BlockPos blockPos, BlockState blo...
    class CapabilityRegistrar (line 70) | public static class CapabilityRegistrar extends BlockEntityMechanicalM...
      method CapabilityRegistrar (line 71) | public CapabilityRegistrar(Supplier<BlockEntityType<? extends BlockE...
      method populate (line 75) | @Override
    method createCacheUpdater (line 90) | @Override
    method getInputSlots (line 105) | @Override
    method getOutputSlots (line 110) | @Override
    method wasWorking (line 115) | @Override
    method setWorking (line 120) | @Override
    method getTank (line 126) | public SingleUseTank getTank() {
    method read (line 130) | @Override
    method saveAdditional (line 136) | @Override
    method getRecipeRegistry (line 142) | @Override
    method getCurrentRecipeCacheKey (line 147) | @Override
    method getRecipeDuration (line 152) | @Override
    method finalizeRecipe (line 157) | @Override
    method getEnergyConsumptionRate (line 194) | @Override
    method getMaxEnergyStored (line 199) | @Override
    method isAutoEjectFluids (line 204) | public boolean isAutoEjectFluids() {
    method setAutoEjectFluids (line 208) | public void setAutoEjectFluids(boolean autoEjectFluids) {
    method createMenu (line 213) | @Nullable
    method getDisplayName (line 219) | @Override
    class Ticker (line 224) | public static class Ticker extends BlockEntityMechanicalMachine.Ticker...
      method update (line 225) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/blockentity/BlockEntityMechanicalSqueezerConfig.java
  class BlockEntityMechanicalSqueezerConfig (line 14) | public class BlockEntityMechanicalSqueezerConfig extends BlockEntityConf...
    method BlockEntityMechanicalSqueezerConfig (line 16) | public BlockEntityMechanicalSqueezerConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/blockentity/BlockEntityMultipartTickingConfigClient.java
  class BlockEntityMultipartTickingConfigClient (line 9) | public class BlockEntityMultipartTickingConfigClient {
    method onRegistered (line 10) | public void onRegistered(BlockEntityMultipartTickingConfig config) {

FILE: src/main/java/org/cyclops/integrateddynamics/blockentity/BlockEntityProxy.java
  class BlockEntityProxy (line 47) | public class BlockEntityProxy extends BlockEntityActiveVariableBase<Prox...
    method getProxyId (line 62) | public int getProxyId() {
    method setProxyId (line 66) | public void setProxyId(int proxyId) {
    method setLastPlayer (line 70) | public void setLastPlayer(Player lastPlayer) {
    method BlockEntityProxy (line 74) | public BlockEntityProxy(BlockPos blockPos, BlockState blockState) {
    method BlockEntityProxy (line 78) | public BlockEntityProxy(BlockEntityType<?> type, BlockPos blockPos, Bl...
    class CapabilityRegistrar (line 82) | public static class CapabilityRegistrar extends BlockEntityActiveVaria...
      method CapabilityRegistrar (line 83) | public CapabilityRegistrar(Supplier<BlockEntityType<? extends BlockE...
      method populate (line 87) | @Override
    method getNetworkElementProvider (line 117) | @Override
    method isWriteVariable (line 127) | public boolean isWriteVariable() {
    method createInventory (line 131) | @Override
    method createEvaluator (line 141) | @Override
    method generateNewProxyId (line 161) | public void generateNewProxyId() {
    method getSlotRead (line 166) | @Override
    method getSlotWriteIn (line 171) | protected int getSlotWriteIn() {
    method getSlotWriteOut (line 175) | protected int getSlotWriteOut() {
    method onDirty (line 179) | @Override
    method writeProxyInfo (line 187) | public ItemStack writeProxyInfo(boolean generateId, ItemStack itemStac...
    method createMenu (line 202) | @Nullable
    method getDisplayName (line 208) | @Override
    class Ticker (line 213) | public static class Ticker<T extends BlockEntityProxy> extends BlockEn...
      method update (line 214) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/blockentity/BlockEntityProxyConfig.java
  class BlockEntityProxyConfig (line 14) | public class BlockEntityProxyConfig extends BlockEntityConfigCommon<Bloc...
    method BlockEntityProxyConfig (line 16) | public BlockEntityProxyConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/blockentity/BlockEntitySqueezer.java
  class BlockEntitySqueezer (line 47) | public class BlockEntitySqueezer extends CyclopsBlockEntity {
    method getItemHeight (line 57) | public int getItemHeight() {
    method BlockEntitySqueezer (line 61) | public BlockEntitySqueezer(BlockPos blockPos, BlockState blockState) {
    class CapabilityRegistrar (line 100) | public static class CapabilityRegistrar extends BlockEntityCapabilityR...
      method CapabilityRegistrar (line 101) | public CapabilityRegistrar(Supplier<BlockEntityType<? extends BlockE...
      method populate (line 105) | @Override
    method getInventory (line 126) | public SimpleInventory getInventory() {
    method getTank (line 130) | public SingleUseTank getTank() {
    method read (line 134) | @Override
    method saveAdditional (line 141) | @Override
    method getRegistry (line 148) | protected RecipeType<RecipeSqueezer> getRegistry() {
    method getCurrentRecipe (line 152) | public Optional<RecipeHolder<RecipeSqueezer>> getCurrentRecipe() {
    method setItemHeight (line 156) | public void setItemHeight(int itemHeight) {
    method preRemoveSideEffects (line 162) | @Override
    class Ticker (line 168) | public static class Ticker extends BlockEntityTickerDelayed<BlockEntit...
      method update (line 169) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/blockentity/BlockEntitySqueezerConfig.java
  class BlockEntitySqueezerConfig (line 14) | public class BlockEntitySqueezerConfig extends BlockEntityConfigCommon<B...
    method BlockEntitySqueezerConfig (line 16) | public BlockEntitySqueezerConfig() {
    method onRegistered (line 26) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/blockentity/BlockEntitySqueezerConfigClient.java
  class BlockEntitySqueezerConfigClient (line 8) | public class BlockEntitySqueezerConfigClient {
    method onRegistered (line 10) | public void onRegistered(BlockEntitySqueezerConfig config) {

FILE: src/main/java/org/cyclops/integrateddynamics/blockentity/BlockEntityVariableStoreConfig.java
  class BlockEntityVariableStoreConfig (line 14) | public class BlockEntityVariableStoreConfig extends BlockEntityConfigCom...
    method BlockEntityVariableStoreConfig (line 16) | public BlockEntityVariableStoreConfig() {

FILE: src/main/java/org/cyclops/integrateddynamics/blockentity/BlockEntityVariablestore.java
  class BlockEntityVariablestore (line 44) | public class BlockEntityVariablestore extends BlockEntityCableConnectabl...
    method BlockEntityVariablestore (line 55) | public BlockEntityVariablestore(BlockPos blockPos, BlockState blockSta...
    class CapabilityRegistrar (line 61) | public static class CapabilityRegistrar extends BlockEntityCableConnec...
      method CapabilityRegistrar (line 62) | public CapabilityRegistrar(Supplier<BlockEntityType<? extends BlockE...
      method populate (line 66) | @Override
    method getNetworkElementProvider (line 85) | @Override
    method createInventory (line 95) | @Override
    method getVariableContainer (line 106) | public IVariableContainer getVariableContainer() {
    method read (line 110) | @Override
    method refreshVariables (line 116) | protected void refreshVariables(boolean sendVariablesUpdateEvent) {
    method onDirty (line 120) | @Override
    method onLoad (line 130) | @Override
    method hasEventSubscriptions (line 138) | @Override
    method getSubscribedEvents (line 143) | @Override
    method onEvent (line 148) | @Override
    method createMenu (line 155) | @Nullable
    method getDisplayName (line 161) | @Override
    class Ticker (line 166) | public static class Ticker extends BlockEntityCableConnectableInventor...
      method update (line 167) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/capability/cable/CableDefault.java
  class CableDefault (line 16) | public abstract class CableDefault implements ICable {
    method isForceDisconnectable (line 18) | protected abstract boolean isForceDisconnectable();
    method getForceDisconnected (line 19) | protected abstract EnumFacingMap<Boolean> getForceDisconnected();
    method getConnected (line 20) | protected abstract EnumFacingMap<Boolean> getConnected();
    method setChanged (line 21) | protected abstract void setChanged();
    method sendUpdate (line 22) | protected abstract void sendUpdate();
    method getLevel (line 23) | protected abstract Level getLevel();
    method getPos (line 24) | protected abstract BlockPos getPos();
    method isForceDisconnected (line 26) | protected boolean isForceDisconnected(Direction side) {
    method canConnect (line 32) | @Override
    method updateConnections (line 37) | @Override
    method isConnected (line 55) | @Override
    method disconnect (line 66) | @Override
    method reconnect (line 73) | @Override
    method getItemStack (line 80) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/capability/cable/CableFakeableDefault.java
  class CableFakeableDefault (line 9) | public abstract class CableFakeableDefault implements ICableFakeable {
    method isRealCable (line 13) | @Override
    method setRealCable (line 18) | @Override
    method sendUpdate (line 27) | protected abstract void sendUpdate();

FILE: src/main/java/org/cyclops/integrateddynamics/capability/cable/CableFakeableMultipartTicking.java
  class CableFakeableMultipartTicking (line 10) | public class CableFakeableMultipartTicking extends CableFakeableDefault {
    method CableFakeableMultipartTicking (line 14) | public CableFakeableMultipartTicking(BlockEntityMultipartTicking tile) {
    method sendUpdate (line 18) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/capability/cable/CableTile.java
  class CableTile (line 13) | public abstract class CableTile<T extends CyclopsBlockEntity> extends Ca...
    method CableTile (line 17) | public CableTile(T tile) {
    method setChanged (line 21) | @Override
    method sendUpdate (line 26) | @Override
    method getLevel (line 31) | @Override
    method getPos (line 36) | @Override
    method destroy (line 41) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/capability/cable/CableTileMultipartTicking.java
  class CableTileMultipartTicking (line 12) | public class CableTileMultipartTicking extends CableTile<BlockEntityMult...
    method CableTileMultipartTicking (line 14) | public CableTileMultipartTicking(BlockEntityMultipartTicking tile) {
    method isForceDisconnectable (line 18) | @Override
    method getForceDisconnected (line 23) | @Override
    method getConnected (line 28) | @Override
    method isForceDisconnected (line 33) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/capability/dynamiclight/DynamicLightDefault.java
  class DynamicLightDefault (line 9) | public class DynamicLightDefault implements IDynamicLight {
    method setLightLevel (line 11) | @Override
    method getLightLevel (line 16) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/capability/dynamiclight/DynamicLightTileMultipartTicking.java
  class DynamicLightTileMultipartTicking (line 12) | public class DynamicLightTileMultipartTicking implements IDynamicLight {
    method DynamicLightTileMultipartTicking (line 17) | public DynamicLightTileMultipartTicking(BlockEntityMultipartTicking ti...
    method getLightLevels (line 22) | protected EnumFacingMap<Integer> getLightLevels() {
    method setLightLevel (line 26) | @Override
    method getLightLevel (line 46) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/capability/dynamicredstone/DynamicRedstoneDefault.java
  class DynamicRedstoneDefault (line 9) | public class DynamicRedstoneDefault implements IDynamicRedstone {
    method setRedstoneLevel (line 11) | @Override
    method getRedstoneLevel (line 16) | @Override
    method isDirect (line 21) | @Override
    method setAllowRedstoneInput (line 26) | @Override
    method isAllowRedstoneInput (line 31) | @Override
    method setLastPulseValue (line 36) | @Override
    method getLastPulseValue (line 41) | @Override
    method setScheduledPulseRemaining (line 46) | @Override
    method getScheduledPulseRemaining (line 51) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/capability/dynamicredstone/DynamicRedstoneHolderGlobal.java
  class DynamicRedstoneHolderGlobal (line 19) | public class DynamicRedstoneHolderGlobal {
    method DynamicRedstoneHolderGlobal (line 26) | private DynamicRedstoneHolderGlobal() {
    method getInstance (line 30) | public static DynamicRedstoneHolderGlobal getInstance() {
    method hasLevels (line 34) | public boolean hasLevels() {
    method getDynamicRedstone (line 38) | public IDynamicRedstone getDynamicRedstone(DimPos dimPos, Direction si...
    class DynamicRedstoneVirtual (line 42) | public static class DynamicRedstoneVirtual implements IDynamicRedstone {
      method DynamicRedstoneVirtual (line 48) | public DynamicRedstoneVirtual(DynamicRedstoneHolderGlobal holder, Di...
      method setRedstoneLevel (line 54) | @Override
      method updateRedstoneInfo (line 119) | public void updateRedstoneInfo(boolean strongPower) {
      method getRedstoneLevel (line 135) | @Override
      method isDirect (line 144) | @Override
      method setAllowRedstoneInput (line 153) | @Override
      method isAllowRedstoneInput (line 158) | @Override
      method setLastPulseValue (line 164) | @Override
      method getLastPulseValue (line 169) | @Override
      method setScheduledPulseRemaining (line 175) | @Override
      method getScheduledPulseRemaining (line 180) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/capability/dynamicredstone/DynamicRedstoneTileMultipartTicking.java
  class DynamicRedstoneTileMultipartTicking (line 12) | public class DynamicRedstoneTileMultipartTicking implements IDynamicReds...
    method DynamicRedstoneTileMultipartTicking (line 17) | public DynamicRedstoneTileMultipartTicking(BlockEntityMultipartTicking...
    method getRedstoneLevels (line 22) | protected EnumFacingMap<Integer> getRedstoneLevels() {
    method getRedstoneInputs (line 26) | protected EnumFacingMap<Boolean> getRedstoneInputs() {
    method getRedstoneStrong (line 30) | protected EnumFacingMap<Boolean> getRedstoneStrong() {
    method setRedstoneLevel (line 34) | @Override
    method getRedstoneLevel (line 67) | @Override
    method isDirect (line 76) | @Override
    method setAllowRedstoneInput (line 85) | @Override
    method isAllowRedstoneInput (line 91) | @Override
    method setLastPulseValue (line 100) | @Override
    method getLastPulseValue (line 106) | @Override
    method setScheduledPulseRemaining (line 115) | @Override
    method getScheduledPulseRemaining (line 125) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/capability/energystorage/EnergyStorageItemBlockEnergyContainer.java
  class EnergyStorageItemBlockEnergyContainer (line 21) | public class EnergyStorageItemBlockEnergyContainer implements IEnergySto...
    method EnergyStorageItemBlockEnergyContainer (line 29) | public EnergyStorageItemBlockEnergyContainer(ItemBlockEnergyContainer ...
    method EnergyStorageItemBlockEnergyContainer (line 41) | public EnergyStorageItemBlockEnergyContainer(ItemBlockEnergyContainer ...
    method getRate (line 45) | public int getRate() {
    method isCreative (line 49) | public boolean isCreative() {
    method getEnergyStoredSingular (line 54) | protected int getEnergyStoredSingular() {
    method getAmountAsInt (line 59) | @Override
    method getAmountAsLong (line 64) | @Override
    method getMaxEnergyStoredSingular (line 69) | public int getMaxEnergyStoredSingular() {
    method getCapacityAsInt (line 77) | @Override
    method getCapacityAsLong (line 82) | @Override
    method insert (line 87) | @Override
    method extract (line 101) | @Override
    method setItemStackEnergy (line 115) | protected void setItemStackEnergy(ItemStack itemStack, int energy, @Nu...
    method setCapacity (line 123) | @Override
    method setEnergy (line 132) | @Override
    class Journal (line 137) | public class Journal extends SnapshotJournal<Integer> {
      method createSnapshot (line 139) | @Override
      method revertToSnapshot (line 144) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/capability/energystorage/IEnergyStorageCapacity.java
  type IEnergyStorageCapacity (line 9) | public interface IEnergyStorageCapacity extends EnergyHandler {
    method setCapacity (line 11) | public void setCapacity(int capacity);

FILE: src/main/java/org/cyclops/integrateddynamics/capability/energystorage/IEnergyStorageMutable.java
  type IEnergyStorageMutable (line 9) | public interface IEnergyStorageMutable extends EnergyHandler {
    method setEnergy (line 11) | public void setEnergy(int energy);

FILE: src/main/java/org/cyclops/integrateddynamics/capability/energystorage/SimpleEnergyHandlerCapacity.java
  class SimpleEnergyHandlerCapacity (line 10) | public class SimpleEnergyHandlerCapacity extends SimpleEnergyHandler imp...
    method SimpleEnergyHandlerCapacity (line 11) | public SimpleEnergyHandlerCapacity(int capacity) {
    method SimpleEnergyHandlerCapacity (line 15) | public SimpleEnergyHandlerCapacity(int capacity, int maxTransfer) {
    method SimpleEnergyHandlerCapacity (line 19) | public SimpleEnergyHandlerCapacity(int capacity, int maxInsert, int ma...
    method SimpleEnergyHandlerCapacity (line 23) | public SimpleEnergyHandlerCapacity(int capacity, int maxInsert, int ma...
    method serialize (line 27) | @Override
    method deserialize (line 33) | @Override
    method setCapacity (line 39) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/capability/facadeable/FacadeableDefault.java
  class FacadeableDefault (line 12) | public class FacadeableDefault implements IFacadeable {
    method hasFacade (line 14) | @Override
    method getFacade (line 19) | @Override
    method setFacade (line 24) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/capability/facadeable/FacadeableTileMultipartTicking.java
  class FacadeableTileMultipartTicking (line 16) | public class FacadeableTileMultipartTicking implements IFacadeable {
    method FacadeableTileMultipartTicking (line 20) | public FacadeableTileMultipartTicking(BlockEntityMultipartTicking tile) {
    method hasFacade (line 24) | @Override
    method getFacade (line 29) | @Override
    method setFacade (line 37) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/capability/ingredient/IngredientComponentCapabilities.java
  class IngredientComponentCapabilities (line 18) | public class IngredientComponentCapabilities {
    method load (line 24) | public static void load() {

FILE: src/main/java/org/cyclops/integrateddynamics/capability/network/NetworkCapabilityConstructors.java
  class NetworkCapabilityConstructors (line 18) | public class NetworkCapabilityConstructors {
    method onNetworkLoad (line 20) | @SubscribeEvent

FILE: src/main/java/org/cyclops/integrateddynamics/capability/network/NetworkCarrierDefault.java
  class NetworkCarrierDefault (line 12) | public class NetworkCarrierDefault implements INetworkCarrier {
    method setNetwork (line 16) | @Override
    method getNetwork (line 21) | @Nullable

FILE: src/main/java/org/cyclops/integrateddynamics/capability/networkelementprovider/NetworkElementProviderEmpty.java
  class NetworkElementProviderEmpty (line 15) | public class NetworkElementProviderEmpty implements INetworkElementProvi...
    method createNetworkElements (line 16) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/capability/networkelementprovider/NetworkElementProviderPartContainer.java
  class NetworkElementProviderPartContainer (line 21) | public class NetworkElementProviderPartContainer implements INetworkElem...
    method NetworkElementProviderPartContainer (line 25) | public NetworkElementProviderPartContainer(IPartContainer partContaine...
    method createNetworkElements (line 29) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/capability/networkelementprovider/NetworkElementProviderSingleton.java
  class NetworkElementProviderSingleton (line 15) | public abstract class NetworkElementProviderSingleton implements INetwor...
    method createNetworkElements (line 16) | @Override
    method createNetworkElement (line 21) | public abstract INetworkElement createNetworkElement(Level world, Bloc...

FILE: src/main/java/org/cyclops/integrateddynamics/capability/partcontainer/PartContainerDefault.java
  class PartContainerDefault (line 38) | public abstract class PartContainerDefault implements IPartContainer {
    method update (line 42) | @Override
    method getPosition (line 57) | @Override
    method getParts (line 62) | @Override
    method hasParts (line 73) | @Override
    method canAddPart (line 78) | @Override
    method setPart (line 83) | @Override
    method getPart (line 96) | @Override
    method hasPart (line 102) | @Override
    method removePart (line 107) | @Override
    method setPartState (line 167) | @Override
    method getPartState (line 176) | @Override
    method getCapability (line 187) | @Override
    method toValueOutput (line 204) | @Override
    method fromValueInput (line 209) | @Override
    method onPartsChanged (line 216) | protected void onPartsChanged() {
    method setChanged (line 221) | protected abstract void setChanged();
    method sendUpdate (line 222) | protected abstract void sendUpdate();
    method getLevel (line 223) | protected abstract Level getLevel();
    method getPos (line 224) | protected abstract BlockPos getPos();
    method getNetwork (line 225) | protected abstract INetwork getNetwork();
    method getPartNetwork (line 227) | protected Optional<IPartNetwork> getPartNetwork() {
    method getPartData (line 234) | public EnumFacingMap<PartHelpers.PartStateHolder<?, ?>> getPartData() {
    method setPartData (line 242) | public void setPartData(Map<Direction, PartHelpers.PartStateHolder<?, ...
    method silentResetPartData (line 251) | public void silentResetPartData() {

FILE: src/main/java/org/cyclops/integrateddynamics/capability/partcontainer/PartContainerTileMultipartTicking.java
  class PartContainerTileMultipartTicking (line 20) | public class PartContainerTileMultipartTicking extends PartContainerDefa...
    method PartContainerTileMultipartTicking (line 24) | public PartContainerTileMultipartTicking(BlockEntityMultipartTicking t...
    method getTile (line 28) | protected BlockEntityMultipartTicking getTile() {
    method setChanged (line 32) | @Override
    method sendUpdate (line 37) | @Override
    method getLevel (line 42) | @Override
    method getPos (line 47) | @Override
    method getNetwork (line 52) | @Override
    method getWatchingSide (line 57) | @Nullable

FILE: src/main/java/org/cyclops/integrateddynamics/capability/path/PathElementCable.java
  class PathElementCable (line 19) | public abstract class PathElementCable extends PathElementDefault {
    method getCable (line 21) | protected abstract ICable getCable();
    method getReachableElements (line 23) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/capability/path/PathElementDefault.java
  class PathElementDefault (line 13) | public abstract class PathElementDefault implements IPathElement {
    method getReachableElements (line 15) | @Override
    method equals (line 20) | @Override
    method compareTo (line 25) | @Override
    method hashCode (line 30) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/capability/path/PathElementTile.java
  class PathElementTile (line 12) | public class PathElementTile<T extends BlockEntity> extends PathElementC...
    method PathElementTile (line 18) | public PathElementTile(T tile, ICable cable) {
    method getTile (line 24) | protected T getTile() {
    method getCable (line 28) | @Override
    method getPosition (line 33) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/capability/path/PathElementTileMultipartTicking.java
  class PathElementTileMultipartTicking (line 21) | public class PathElementTileMultipartTicking extends PathElementTile<Blo...
    method PathElementTileMultipartTicking (line 23) | public PathElementTileMultipartTicking(BlockEntityMultipartTicking til...
    method getReachableElements (line 27) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/capability/path/SidedPathElement.java
  class SidedPathElement (line 15) | public class SidedPathElement implements ISidedPathElement {
    method SidedPathElement (line 20) | public SidedPathElement(IPathElement pathElement, @Nullable Direction ...
    method getPathElement (line 25) | @Override
    method getSide (line 30) | @Override
    method getParams (line 36) | @Override
    method equals (line 42) | @Override
    method compareTo (line 47) | @Override
    method hashCode (line 59) | @Override
    method toString (line 64) | @Override
    method of (line 69) | public static SidedPathElement of(IPathElement pathElement, @Nullable ...

FILE: src/main/java/org/cyclops/integrateddynamics/capability/valueinterface/ValueInterfaceDefault.java
  class ValueInterfaceDefault (line 12) | public class ValueInterfaceDefault implements IValueInterface {
    method ValueInterfaceDefault (line 16) | public ValueInterfaceDefault(IValue value) {
    method getValue (line 20) | @Override
    method setValue (line 25) | public void setValue(IValue value) {

FILE: src/main/java/org/cyclops/integrateddynamics/capability/variablecontainer/VariableContainerDefault.java
  class VariableContainerDefault (line 21) | public class VariableContainerDefault implements IVariableContainer {
    method getVariableCache (line 25) | @Override
    method refreshVariables (line 30) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/capability/variablefacade/VariableFacadeHolderDefault.java
  class VariableFacadeHolderDefault (line 14) | public class VariableFacadeHolderDefault implements IVariableFacadeHolder {
    method VariableFacadeHolderDefault (line 18) | public VariableFacadeHolderDefault(ItemStack itemStack) {
    method getVariableFacade (line 22) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/client/gui/container/ContainerScreenCoalGenerator.java
  class ContainerScreenCoalGenerator (line 18) | public class ContainerScreenCoalGenerator extends ContainerScreenExtende...
    method ContainerScreenCoalGenerator (line 20) | public ContainerScreenCoalGenerator(ContainerCoalGenerator container, ...
    method constructGuiTexture (line 24) | @Override
    method extractBackground (line 29) | @Override
    method extractLabels (line 39) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/client/gui/container/ContainerScreenDelay.java
  class ContainerScreenDelay (line 24) | public class ContainerScreenDelay extends ContainerScreenActiveVariableB...
    method ContainerScreenDelay (line 32) | public ContainerScreenDelay(ContainerDelay container, Inventory invent...
    method constructGuiTexture (line 36) | @Override
    method getBaseYSize (line 41) | @Override
    method getErrorX (line 46) | @Override
    method getErrorY (line 51) | @Override
    method init (line 56) | @Override
    method charTyped (line 82) | @Override
    method keyPressed (line 94) | @Override
    method onValueChanged (line 106) | protected void onValueChanged() {
    method mouseClicked (line 119) | @Override
    method extractBackground (line 133) | @Override
    method extractLabels (line 143) | @Override
    method onUpdate (line 150) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/client/gui/container/ContainerScreenLabeller.java
  class ContainerScreenLabeller (line 32) | public class ContainerScreenLabeller extends ContainerScreenExtended<Con...
    method ContainerScreenLabeller (line 36) | public ContainerScreenLabeller(ContainerLabeller container, Inventory ...
    method constructGuiTexture (line 53) | @Override
    method init (line 58) | @Override
    method getBaseYSize (line 92) | @Override
    method charTyped (line 97) | @Override
    method keyPressed (line 105) | @Override
    method mouseClicked (line 114) | @Override
    method extractLabels (line 120) | @Override
    method extractBackground (line 125) | @Override
    method setText (line 131) | public void setText(String text) {

FILE: src/main/java/org/cyclops/integrateddynamics/client/gui/container/ContainerScreenLogicProgrammer.java
  class ContainerScreenLogicProgrammer (line 11) | public class ContainerScreenLogicProgrammer extends ContainerScreenLogic...
    method ContainerScreenLogicProgrammer (line 13) | public ContainerScreenLogicProgrammer(ContainerLogicProgrammer contain...

FILE: src/main/java/org/cyclops/integrateddynamics/client/gui/container/ContainerScreenLogicProgrammerBase.java
  class ContainerScreenLogicProgrammerBase (line 50) | public class ContainerScreenLogicProgrammerBase<C extends ContainerLogic...
    method ContainerScreenLogicProgrammerBase (line 66) | public ContainerScreenLogicProgrammerBase(C container, Inventory playe...
    method getScrollRegion (line 74) | @Override
    method init (line 79) | @Override
    method containerTick (line 102) | @Override
    method getScrollX (line 108) | protected int getScrollX() {
    method getScrollY (line 112) | protected int getScrollY() {
    method getScrollHeight (line 116) | protected int getScrollHeight() {
    method getBaseXSize (line 120) | @Override
    method getBaseYSize (line 125) | @Override
    method getSearchX (line 130) | @Override
    method getSearchWidth (line 135) | protected int getSearchWidth() {
    method constructGuiTexture (line 139) | @Override
    method colorSmoothener (line 144) | protected float colorSmoothener(float color, boolean hover) {
    method extractBackground (line 148) | @Override
    method getElementPosition (line 199) | protected Rectangle getElementPosition(ContainerLogicProgrammerBase co...
    method extractLabels (line 206) | @Override
    method onActivateElement (line 247) | protected void onActivateElement(ILogicProgrammerElement<RenderPattern...
    method onDeactivateElement (line 255) | protected void onDeactivateElement(ILogicProgrammerElement element) {
    method handleElementActivation (line 259) | @Override
    method getOperatorConfigPattern (line 299) | @Nullable
    method setSearchFieldFocussed (line 305) | protected void setSearchFieldFocussed(boolean focused) {
    method isSearchFieldFocussed (line 309) | protected boolean isSearchFieldFocussed() {
    method selectPageElement (line 313) | protected boolean selectPageElement(int elementId) {
    method handleKeyCode (line 337) | protected boolean handleKeyCode(KeyEvent evt) {
    method charTyped (line 389) | @Override
    method keyPressed (line 399) | @Override
    method mouseClicked (line 409) | @Override
    method label (line 445) | protected void label(String label) {
    method hasLabeller (line 449) | protected boolean hasLabeller() {
    class SubGuiOperatorInfo (line 453) | public class SubGuiOperatorInfo extends SubGuiValueTypeInfoBase<Render...
      method SubGuiOperatorInfo (line 458) | public SubGuiOperatorInfo(IGuiInputElement<RenderPattern, ContainerS...
      method init (line 478) | @Override
      method showError (line 492) | @Override
      method getLastError (line 497) | @Override
      method getTexture (line 502) | @Override
      method charTyped (line 507) | @Override
      method keyPressed (line 517) | @Override
      method mouseClicked (line 527) | @Override
      method renderBg (line 535) | @Override
      method shouldRenderElementName (line 541) | @Override
      method onButtonEditClick (line 546) | public void onButtonEditClick() {

FILE: src/main/java/org/cyclops/integrateddynamics/client/gui/container/ContainerScreenLogicProgrammerPortable.java
  class ContainerScreenLogicProgrammerPortable (line 11) | public class ContainerScreenLogicProgrammerPortable extends ContainerScr...
    method ContainerScreenLogicProgrammerPortable (line 13) | public ContainerScreenLogicProgrammerPortable(ContainerLogicProgrammer...

FILE: src/main/java/org/cyclops/integrateddynamics/client/gui/container/ContainerScreenMaterializer.java
  class ContainerScreenMaterializer (line 14) | public class ContainerScreenMaterializer extends ContainerScreenActiveVa...
    method ContainerScreenMaterializer (line 19) | public ContainerScreenMaterializer(ContainerMaterializer container, In...
    method constructGuiTexture (line 23) | @Override
    method getBaseYSize (line 28) | @Override
    method getErrorX (line 33) | @Override
    method getErrorY (line 38) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/client/gui/container/ContainerScreenMechanicalDryingBasin.java
  class ContainerScreenMechanicalDryingBasin (line 18) | public class ContainerScreenMechanicalDryingBasin extends ContainerScree...
    method ContainerScreenMechanicalDryingBasin (line 20) | public ContainerScreenMechanicalDryingBasin(ContainerMechanicalDryingB...
    method constructGuiTexture (line 24) | @Override
    method extractBackground (line 29) | public void extractBackground(GuiGraphicsExtractor guiGraphics, int mo...
    method extractLabels (line 53) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/client/gui/container/ContainerScreenMechanicalSqueezer.java
  class ContainerScreenMechanicalSqueezer (line 24) | public class ContainerScreenMechanicalSqueezer extends ContainerScreenMe...
    method ContainerScreenMechanicalSqueezer (line 30) | public ContainerScreenMechanicalSqueezer(ContainerMechanicalSqueezer c...
    method constructGuiTexture (line 36) | @Override
    method init (line 41) | @Override
    method extractBackground (line 50) | public void extractBackground(GuiGraphicsExtractor guiGraphics, int mo...
    method extractLabels (line 73) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/client/gui/container/ContainerScreenOnTheDynamicsOfIntegration.java
  class ContainerScreenOnTheDynamicsOfIntegration (line 19) | public class ContainerScreenOnTheDynamicsOfIntegration extends ScreenInf...
    method ContainerScreenOnTheDynamicsOfIntegration (line 21) | public ContainerScreenOnTheDynamicsOfIntegration(ContainerOnTheDynamic...
    method getGuiWidth (line 25) | @Override
    method getGuiHeight (line 30) | @Override
    method getPageWidth (line 35) | @Override
    method getPageYOffset (line 40) | @Override
    method getFootnoteOffsetX (line 45) | @Override
    method getFootnoteOffsetY (line 50) | @Override
    method getPrevNextOffsetY (line 55) | @Override
    method getPrevNextOffsetX (line 60) | @Override
    method getOffsetXForPageBase (line 65) | @Override
    method getTitleColor (line 70) | @Override
    method playPageFlipSound (line 75) | @Override
    method playPagesFlipSound (line 80) | @Override
    method constructGuiTexture (line 85) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/client/gui/container/ContainerScreenPartDisplay.java
  class ContainerScreenPartDisplay (line 24) | public class ContainerScreenPartDisplay<P extends PartTypePanelVariableD...
    method ContainerScreenPartDisplay (line 32) | public ContainerScreenPartDisplay(ContainerPartPanelVariableDriven<P, ...
    method init (line 36) | @Override
    method getNameId (line 46) | @Override
    method extractBackground (line 51) | @Override
    method extractLabels (line 68) | @Override
    method charTyped (line 79) | @Override
    method getBaseXSize (line 88) | @Override
    method getBaseYSize (line 93) | @Override
    method valueToClipboard (line 98) | protected void valueToClipboard() {

FILE: src/main/java/org/cyclops/integrateddynamics/client/gui/container/ContainerScreenPartReader.java
  class ContainerScreenPartReader (line 24) | public class ContainerScreenPartReader<P extends IPartTypeReader<P, S>, ...
    method ContainerScreenPartReader (line 27) | public ContainerScreenPartReader(ContainerPartReader<P, S> container, ...
    method getNameId (line 31) | @Override
    method drawAdditionalElementInfoForeground (line 36) | @Override
    method drawAdditionalElementInfo (line 41) | @Override
    method getBaseXSize (line 59) | @Override
    method getBaseYSize (line 64) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/client/gui/container/ContainerScreenPartWriter.java
  class ContainerScreenPartWriter (line 24) | public class ContainerScreenPartWriter<P extends IPartTypeWriter<P, S>, ...
    method ContainerScreenPartWriter (line 32) | public ContainerScreenPartWriter(ContainerPartWriter<P, S> container, ...
    method getNameId (line 36) | @Override
    method drawAdditionalElementInfoForeground (line 41) | @Override
    method drawAdditionalElementInfo (line 49) | @Override
    method extractBackground (line 66) | @Override
    method getBaseXSize (line 74) | @Override
    method getBaseYSize (line 79) | @Override
    method getMaxLabelWidth (line 84) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/client/gui/container/ContainerScreenProxy.java
  class ContainerScreenProxy (line 14) | public class ContainerScreenProxy extends ContainerScreenActiveVariableB...
    method ContainerScreenProxy (line 19) | public ContainerScreenProxy(ContainerProxy container, Inventory invent...
    method constructGuiTexture (line 23) | @Override
    method getBaseYSize (line 28) | @Override
    method getErrorX (line 33) | @Override
    method getErrorY (line 38) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/client/gui/container/ContainerScreenVariablestore.java
  class ContainerScreenVariablestore (line 17) | public class ContainerScreenVariablestore extends ContainerScreenExtende...
    method ContainerScreenVariablestore (line 19) | public ContainerScreenVariablestore(ContainerVariablestore container, ...
    method constructGuiTexture (line 23) | @Override
    method getBaseYSize (line 28) | @Override
    method extractBackground (line 33) | @Override
    method extractLabels (line 39) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/client/gui/image/Images.java
  class Images (line 12) | public class Images {

FILE: src/main/java/org/cyclops/integrateddynamics/client/model/CableModel.java
  class CableModel (line 34) | public class CableModel extends CableModelBase {
    method CableModel (line 36) | public CableModel(BlockAndTintGetter level, BlockState state, Directio...
    method CableModel (line 40) | public CableModel(ItemStack itemStack, ClientLevel world, ItemOwner en...
    method CableModel (line 44) | public CableModel() {
    method isRealCable (line 48) | @Override
    method getFacade (line 53) | @Override
    method isConnected (line 58) | @Override
    method hasPart (line 63) | @Override
    method getPartRenderPosition (line 68) | @Override
    method shouldRenderParts (line 74) | @Override
    method getPartModel (line 79) | @Override
    method getRenderState (line 88) | @Override
    method handleBlockState (line 93) | @Override
    method handleItemState (line 98) | @Override
    method wrapped (line 103) | @Override
    method parent (line 108) | @Override
    method debugName (line 113) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/client/model/CableModelBase.java
  class CableModelBase (line 55) | public abstract class CableModelBase extends DelegatingDynamicItemAndBlo...
    method CableModelBase (line 85) | public CableModelBase(BlockAndTintGetter level, BlockState blockState,...
    method CableModelBase (line 89) | public CableModelBase(ItemStack itemStack, ClientLevel world, ItemOwne...
    method CableModelBase (line 93) | public CableModelBase() {
    method makeQuadVertexes (line 97) | protected static float[][][] makeQuadVertexes(float min, float max, fl...
    method getSideFromVecs (line 126) | private Direction getSideFromVecs(Vector3f a, Vector3f b, Vector3f c) {
    method getFacadeQuads (line 138) | public List<BakedQuad> getFacadeQuads(BlockStateModel facadeModel, Blo...
    method addFacadeQuad (line 187) | private void addFacadeQuad(List<BakedQuad> quads, BakedQuad originalQu...
    method getRotation (line 200) | public static BlockModelRotation getRotation(Direction facing) {
    method isRealCable (line 212) | protected abstract boolean isRealCable(ModelData modelData);
    method getFacade (line 213) | protected abstract Optional<BlockState> getFacade(ModelData modelData);
    method isConnected (line 214) | protected abstract boolean isConnected(ModelData modelData, Direction ...
    method hasPart (line 215) | protected abstract boolean hasPart(ModelData modelData, Direction side);
    method getPartRenderPosition (line 216) | protected abstract PartRenderPosition getPartRenderPosition(ModelData ...
    method shouldRenderParts (line 217) | protected abstract boolean shouldRenderParts(ModelData modelData);
    method getPartModel (line 218) | protected abstract BlockStateModel getPartModel(ModelData modelData, D...
    method getRenderState (line 219) | protected abstract IRenderState getRenderState(ModelData modelData);
    method materialFlags (line 221) | @Override
    method getGeneralQuads (line 226) | @Override
    method particleIcon (line 322) | public TextureAtlasSprite particleIcon() {
    method particleMaterial (line 326) | @Override
    method getModelData (line 331) | @Override
    method usesBlockLight (line 338) | @Override
    method getTopTransforms (line 343) | @Override
    method getRenderTypes (line 348) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/client/model/CableRenderState.java
  class CableRenderState (line 10) | public class CableRenderState implements IRenderState {
    method CableRenderState (line 17) | public CableRenderState(boolean realCable, EnumFacingMap<Boolean> conn...
    method isRealCable (line 24) | public boolean isRealCable() {
    method getConnected (line 28) | public EnumFacingMap<Boolean> getConnected() {
    method getPartData (line 32) | public EnumFacingMap<PartHelpers.PartStateHolder<?, ?>> getPartData() {
    method getFacadeBlock (line 36) | public Tag getFacadeBlock() {
    method equals (line 40) | @Override
    method hashCode (line 51) | @Override
    method toString (line 56) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/client/model/IRenderState.java
  type IRenderState (line 6) | public interface IRenderState {

FILE: src/main/java/org/cyclops/integrateddynamics/client/render/blockentity/ItemStackBlockEntityEnergyBatteryRender.java
  class ItemStackBlockEntityEnergyBatteryRender (line 26) | public class ItemStackBlockEntityEnergyBatteryRender implements SpecialM...
    method ItemStackBlockEntityEnergyBatteryRender (line 30) | public ItemStackBlockEntityEnergyBatteryRender() {
    method extractArgument (line 34) | @Override
    method submit (line 39) | @Override
    method getExtents (line 51) | @Override
    method type (line 59) | @Override
    method bake (line 64) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/client/render/blockentity/RenderBlockEntityDryingBasin.java
  class RenderBlockEntityDryingBasin (line 34) | public class RenderBlockEntityDryingBasin implements BlockEntityRenderer...
    method RenderBlockEntityDryingBasin (line 36) | public RenderBlockEntityDryingBasin(BlockEntityRendererProvider.Contex...
    method createRenderState (line 40) | @Override
    method extractRenderState (line 45) | @Override
    method submit (line 54) | @Override
    method renderItem (line 83) | private void renderItem(PoseStack poseStack, SubmitNodeCollector submi...
    class RenderState (line 100) | public static class RenderState extends BlockEntityRenderState {

FILE: src/main/java/org/cyclops/integrateddynamics/client/render/blockentity/RenderBlockEntityEnergyBattery.java
  class RenderBlockEntityEnergyBattery (line 27) | public class RenderBlockEntityEnergyBattery implements BlockEntityRender...
    method RenderBlockEntityEnergyBattery (line 73) | public RenderBlockEntityEnergyBattery(BlockEntityRendererProvider.Cont...
    method shouldRender (line 77) | @Override
    method createRenderState (line 82) | @Override
    method extractRenderState (line 87) | @Override
    method submit (line 100) | @Override
    class RenderState (line 146) | public static class RenderState extends BlockEntityRenderState {

FILE: src/main/java/org/cyclops/integrateddynamics/client/render/blockentity/RenderBlockEntitySqueezer.java
  class RenderBlockEntitySqueezer (line 35) | public class RenderBlockEntitySqueezer implements BlockEntityRenderer<Bl...
    method RenderBlockEntitySqueezer (line 81) | public RenderBlockEntitySqueezer(BlockEntityRendererProvider.Context c...
    method createRenderState (line 85) | @Override
    method extractRenderState (line 90) | @Override
    method submit (line 99) | @Override
    method renderItem (line 136) | private void renderItem(PoseStack poseStack, SubmitNodeCollector submi...
    method getHeight (line 152) | private static float getHeight(Direction side, float height, float rep...
    class RenderState (line 159) | public static class RenderState extends BlockEntityRenderState {

FILE: src/main/java/org/cyclops/integrateddynamics/client/render/blockentity/RenderCable.java
  class RenderCable (line 25) | public class RenderCable implements BlockEntityRenderer<BlockEntityMulti...
    method RenderCable (line 29) | public RenderCable(BlockEntityRendererProvider.Context context) {
    method createRenderState (line 33) | @Override
    method extractRenderState (line 38) | @Override
    method submit (line 46) | @Override
    class CableRenderState (line 57) | public static class CableRenderState extends BlockEntityRenderState {

FILE: src/main/java/org/cyclops/integrateddynamics/client/render/blockentity/SpecialModelRendererVariableOverlay.java
  class SpecialModelRendererVariableOverlay (line 22) | public class SpecialModelRendererVariableOverlay implements SpecialModel...
    method extractArgument (line 24) | @Override
    method submit (line 30) | @Override
    method getExtents (line 37) | @Override
    method type (line 45) | @Override
    method bake (line 50) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/client/render/level/PartOffsetsOverlayRenderer.java
  class PartOffsetsOverlayRenderer (line 27) | public class PartOffsetsOverlayRenderer {
    method PartOffsetsOverlayRenderer (line 35) | private PartOffsetsOverlayRenderer() {
    method getInstance (line 39) | public static PartOffsetsOverlayRenderer getInstance() {
    method subscribeToServerChanges (line 43) | private void subscribeToServerChanges() {
    method unsubscribeToServerChanges (line 48) | private void unsubscribeToServerChanges() {
    method clear (line 53) | public void clear() {
    method setData (line 57) | public void setData(List<PartOffsetsClientNotifier.Entry> data) {
    method onRender (line 61) | @SubscribeEvent
    method renderOffset (line 83) | private void renderOffset(PoseStack matrixStack, MultiBufferSource ren...

FILE: src/main/java/org/cyclops/integrateddynamics/client/render/model/FacadeModel.java
  class FacadeModel (line 27) | public class FacadeModel implements ItemModel {
    method FacadeModel (line 32) | public FacadeModel(ItemModel emptyModel, ModelRenderProperties modelre...
    method update (line 37) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/client/render/part/ConnectorOmniPartOverlayRenderer.java
  class ConnectorOmniPartOverlayRenderer (line 25) | public class ConnectorOmniPartOverlayRenderer extends PartOverlayRendere...
    method getGroupColor (line 31) | protected static int getGroupColor(int group) {
    method submitPartOverlay (line 41) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/client/render/part/DisplayPartOverlayRenderer.java
  class DisplayPartOverlayRenderer (line 25) | public class DisplayPartOverlayRenderer extends PartOverlayRendererBase {
    method setMatrixOrientation (line 30) | @Override
    method submitPartOverlay (line 53) | @Override
    method drawError (line 107) | protected void drawError(BlockEntityRendererProvider.Context context, ...

FILE: src/main/java/org/cyclops/integrateddynamics/client/render/part/PartOverlayRendererBase.java
  class PartOverlayRendererBase (line 17) | public abstract class PartOverlayRendererBase implements IPartOverlayRen...
    method getMaxRenderDistance (line 19) | protected int getMaxRenderDistance() {
    method shouldRender (line 23) | protected boolean shouldRender(BlockPos pos) {
    method setMatrixOrientation (line 36) | protected void setMatrixOrientation(PoseStack matrixStack, Direction d...

FILE: src/main/java/org/cyclops/integrateddynamics/client/render/part/PartOverlayRendererRegistry.java
  class PartOverlayRendererRegistry (line 19) | public final class PartOverlayRendererRegistry implements IPartOverlayRe...
    method get (line 24) | @Override
    method PartOverlayRendererRegistry (line 30) | private PartOverlayRendererRegistry() {
    method getInstance (line 37) | public static PartOverlayRendererRegistry getInstance() {
    method register (line 41) | @Override
    method getRenderers (line 47) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/client/render/part/PartOverlayRenderers.java
  class PartOverlayRenderers (line 11) | public class PartOverlayRenderers {
    method load (line 18) | public static void load() {}

FILE: src/main/java/org/cyclops/integrateddynamics/client/render/valuetype/BlockValueTypeWorldRenderer.java
  class BlockValueTypeWorldRenderer (line 22) | public class BlockValueTypeWorldRenderer implements IValueTypeWorldRende...
    method submitValue (line 24) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/client/render/valuetype/FluidValueTypeWorldRenderer.java
  class FluidValueTypeWorldRenderer (line 26) | public class FluidValueTypeWorldRenderer implements IValueTypeWorldRende...
    method submitValue (line 28) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/client/render/valuetype/IngredientsValueTypeWorldRenderer.java
  class IngredientsValueTypeWorldRenderer (line 28) | public class IngredientsValueTypeWorldRenderer implements IValueTypeWorl...
    method submitValue (line 30) | @Override
    method renderGrid (line 54) | public static void renderGrid(BlockEntityRendererProvider.Context cont...
    method prepareElementForTick (line 87) | @Nullable
    method getSmallestSquareFrom (line 92) | protected static int getSmallestSquareFrom(int n) {
    method isInt (line 97) | protected static final boolean isInt(double n) {

FILE: src/main/java/org/cyclops/integrateddynamics/client/render/valuetype/ItemValueTypeWorldRenderer.java
  class ItemValueTypeWorldRenderer (line 24) | public class ItemValueTypeWorldRenderer implements IValueTypeWorldRender...
    method submitValue (line 26) | @Override
    method renderItemStack (line 48) | public static void renderItemStack(PoseStack matrixStack, SubmitNodeCo...

FILE: src/main/java/org/cyclops/integrateddynamics/client/render/valuetype/ListValueTypeWorldRenderer.java
  class ListValueTypeWorldRenderer (line 25) | public class ListValueTypeWorldRenderer implements IValueTypeWorldRender...
    method submitValue (line 30) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/client/render/valuetype/NbtValueTypeWorldRenderer.java
  class NbtValueTypeWorldRenderer (line 28) | public class NbtValueTypeWorldRenderer implements IValueTypeWorldRenderer {
    method submitValue (line 34) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/client/render/valuetype/OperatorValueTypeWorldRenderer.java
  class OperatorValueTypeWorldRenderer (line 25) | public class OperatorValueTypeWorldRenderer implements IValueTypeWorldRe...
    method submitValue (line 31) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/client/render/valuetype/RecipeValueTypeWorldRenderer.java
  class RecipeValueTypeWorldRenderer (line 40) | public class RecipeValueTypeWorldRenderer implements IValueTypeWorldRend...
    method submitValue (line 45) | @Override
    method renderInput (line 76) | protected void renderInput(BlockEntityRendererProvider.Context context...
    method enhanceRecipeInputs (line 100) | protected <T, M> Stream<List<IPrototypedIngredient>> enhanceRecipeInpu...

FILE: src/main/java/org/cyclops/integrateddynamics/client/render/valuetype/TextValueTypeWorldRenderer.java
  class TextValueTypeWorldRenderer (line 20) | public class TextValueTypeWorldRenderer implements IValueTypeWorldRender...
    method submitValue (line 24) | @Override
    method polishLine (line 61) | protected String polishLine(String line) {

FILE: src/main/java/org/cyclops/integrateddynamics/client/render/valuetype/ValueTypeWorldRendererRegistry.java
  class ValueTypeWorldRendererRegistry (line 14) | public final class ValueTypeWorldRendererRegistry implements IValueTypeW...
    method ValueTypeWorldRendererRegistry (line 20) | private ValueTypeWorldRendererRegistry() {
    method getInstance (line 27) | public static ValueTypeWorldRendererRegistry getInstance() {
    method register (line 31) | @Override
    method getRenderer (line 37) | @Override

FILE: src/main/java/org/cyclops/integrateddynamics/client/render/valuetype/ValueTypeWorldRenderers.java
  class ValueTypeWorldRenderers (line 11) | public class ValueTypeWorldRenderers {
    method load (line 17) | public static void load() {

FILE: src/main/java/org/cyclops/integrateddynamics/command/CommandCrash.java
  class CommandCrash (line 17) | public class CommandCrash implements Command<CommandSourceStack> {
    method run (line 19) | @Override
    method make (line 26) | public static LiteralArgumentBuilder<CommandSourceStack> make() {

FILE: src/main/java/org/cyclops/integrateddynamics/command/CommandGenerateNetwork.java
  class CommandGenerateNetwork (line 42) | public class CommandGenerateNetwork implements Command<CommandSourceStac...
    method make (line 44) | public static LiteralArgumentBuilder<CommandSourceStack> make() {
    method run (line 57) | @Override
    type NetworkPreset (line 64) | public enum NetworkPreset {
    class 
Condensed preview — 2703 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (7,227K chars).
[
  {
    "path": ".gitattributes",
    "chars": 160,
    "preview": "gradle.properties merge=ours\nsrc/main/resources/META-INF/mods.toml merge=ours\nsrc/main/resources/META-INF/neoforge.mods."
  },
  {
    "path": ".github/CONTRIBUTING.md",
    "chars": 1777,
    "preview": "**:tada: Thanks you for taking the time to contribute to this repository! :tada:**\n\nIssues can be created for bugs :bug:"
  },
  {
    "path": ".github/FUNDING.yml",
    "chars": 17,
    "preview": "patreon: kroeser\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/Bug_report.md",
    "chars": 1573,
    "preview": "---\r\nname: \"🐛 Bug report\"\r\nabout: If something is not working as expected or crashes\r\n\r\n---\r\n\r\n<!--Thanks in advance for"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/Feature_request.md",
    "chars": 454,
    "preview": "---\r\nname: \"➕ Feature request\"\r\nabout: Suggest an idea for this project\r\n\r\n---\r\n\r\n<!--Thanks in advance for this issue, "
  },
  {
    "path": ".github/ISSUE_TEMPLATE/Performance_issue.md",
    "chars": 1069,
    "preview": "---\r\nname: \"🐌 Performance issue\"\r\nabout: An issue with the performance of this mod, such as abnormal lag.\r\n\r\n---\r\n\r\n<!--"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/Question.md",
    "chars": 393,
    "preview": "---\r\nname: \"❓ Question\"\r\nabout: A general question\r\n\r\n---\r\n\r\n<!--Thanks in advance for this issue, you're awesome!-->\r\n<"
  },
  {
    "path": ".github/ISSUE_TEMPLATE.md",
    "chars": 468,
    "preview": "<!--Thanks in advance for this issue, you're awesome! Please fill in the following template and make sure your title cle"
  },
  {
    "path": ".github/issue-commenter.yml",
    "chars": 812,
    "preview": "labels:\n  - name: bug\n    labeled:\n      issue:\n        body: Thanks for reporting!\n  - name: feature\n    labeled:\n     "
  },
  {
    "path": ".github/labeler.yml",
    "chars": 553,
    "preview": "bug:\n  - '- :bug: Bug'\nfeature-long-term:\n  - '- :heavy_plus_sign: Feature request'\nperformance:\n  - '- :snail: Performa"
  },
  {
    "path": ".github/no-response.yml",
    "chars": 710,
    "preview": "# Configuration for probot-no-response - https://probot.github.io/apps/no-response/\n\n# Number of days of inactivity befo"
  },
  {
    "path": ".github/parse_benchmark_results.sh",
    "chars": 2024,
    "preview": "#!/bin/bash\n# Parse benchmark results from game tests and convert to JSON format\n# This script reads the benchmark resul"
  },
  {
    "path": ".github/workflows/ci.yml",
    "chars": 3365,
    "preview": "name: \"CI\"\non: [push, pull_request]\n\nconcurrency:\n  group: ${{ github.workflow }}-${{ github.ref }}\n  cancel-in-progress"
  },
  {
    "path": ".github/workflows/close-issues-no-response.yml",
    "chars": 1101,
    "preview": "name: \"Close issues that received no response\"\non:\n  schedule:\n  - cron: \"0 0 * * *\"\n\njobs:\n  stale:\n    runs-on: ubuntu"
  },
  {
    "path": ".github/workflows/copilot-setup-steps.yml",
    "chars": 1656,
    "preview": "name: \"Copilot Setup Steps\"\n\non:\n  workflow_dispatch:\n  push:\n    paths:\n      - .github/workflows/copilot-setup-steps.y"
  },
  {
    "path": ".github/workflows/crowdin.yml",
    "chars": 1009,
    "preview": "name: \"Crowdin Sync Translations\"\n\non:\n  schedule:\n    - cron: '0 7 * * *'\n  workflow_dispatch:\n\njobs:\n  synchronize-wit"
  },
  {
    "path": ".github/workflows/fuzzing.yml",
    "chars": 6439,
    "preview": "name: \"Fuzzing\"\non:\n  schedule:\n    - cron: '30 2 * * *'  # Run every day at 2:30 AM UTC\n  workflow_dispatch:  # Allow m"
  },
  {
    "path": ".github/workflows/issue-label-commenter.yml",
    "chars": 691,
    "preview": "name: \"Comment on issues by label\"\non:\n  issues:\n    types: [labeled]\n\njobs:\n  comment:\n    runs-on: ubuntu-latest\n    s"
  },
  {
    "path": ".github/workflows/issue-label-to-project-board.yml",
    "chars": 1678,
    "preview": "name: \"Add labeled issues to project board\"\non:\n  issues:\n    types: [labeled]\n\njobs:\n  assign:\n    runs-on: ubuntu-late"
  },
  {
    "path": ".github/workflows/new-issue-label.yml",
    "chars": 295,
    "preview": "name: \"Label new issues\"\non:\n  issues:\n    types: [opened, edited]\n\njobs:\n  triage:\n    runs-on: ubuntu-latest\n    steps"
  },
  {
    "path": ".github/workflows/performance.yml",
    "chars": 2549,
    "preview": "name: \"Performance\"\non: [push, pull_request]\n\nconcurrency:\n  group: ${{ github.workflow }}-${{ github.ref }}\n  cancel-in"
  },
  {
    "path": ".github/workflows/publish-github-release.yml",
    "chars": 281,
    "preview": "name: Publish GitHub release on version tags\non:\n  push:\n    tags:\n      - '*'\njobs:\n  build:\n    runs-on: ubuntu-latest"
  },
  {
    "path": ".gitignore",
    "chars": 415,
    "preview": "# We don't want compiled stuff in here!\n/bin\ndoc/info.txt\n/build\n/run\n/runs\n/logs\n\n# Ignore project specific files\n.clas"
  },
  {
    "path": ".gitmodules",
    "chars": 182,
    "preview": "[submodule \"src/main/java/org/cyclops/commoncapabilities/api\"]\n\tpath = src/main/java/org/cyclops/commoncapabilities/api\n"
  },
  {
    "path": "AGENTS.md",
    "chars": 8360,
    "preview": "# AGENTS.md - Developer and AI Agent Guide\n\nThis document provides essential information for developers and AI agents wo"
  },
  {
    "path": "CHANGELOG-1.19.2.md",
    "chars": 26405,
    "preview": "# Changelog for Minecraft 1.19.2\nAll notable changes to this project will be documented in this file.\n\n<a name=\"1.19.2-1"
  },
  {
    "path": "CHANGELOG-1.20.1.md",
    "chars": 22884,
    "preview": "# Changelog for Minecraft 1.20.1\nAll notable changes to this project will be documented in this file.\n\n<a name=\"1.20.1-1"
  },
  {
    "path": "CHANGELOG-1.21.1.md",
    "chars": 27277,
    "preview": "# Changelog for Minecraft 1.21.1\nAll notable changes to this project will be documented in this file.\n\n<a name=\"1.21.1-1"
  },
  {
    "path": "CHANGELOG-26.1.1.md",
    "chars": 2995,
    "preview": "# Changelog for Minecraft 26.1.1\nAll notable changes to this project will be documented in this file.\n\n<a name=\"26.1.1-1"
  },
  {
    "path": "CHANGELOG-26.1.2.md",
    "chars": 1035,
    "preview": "# Changelog for Minecraft 26.1.2\nAll notable changes to this project will be documented in this file.\n\n<a name=\"26.1.2-1"
  },
  {
    "path": "LICENSE.txt",
    "chars": 1074,
    "preview": "The MIT License (MIT)\n\nCopyright (c) 2015 Cyclops\n\nPermission is hereby granted, free of charge, to any person obtaining"
  },
  {
    "path": "PERFORMANCE_BENCHMARKING.md",
    "chars": 5585,
    "preview": "# Performance Benchmarking Setup\n\nThis document describes the performance benchmarking infrastructure for Integrated Dyn"
  },
  {
    "path": "README.md",
    "chars": 3519,
    "preview": "## Integrated Dynamics\n\n[![Build Status](https://github.com/CyclopsMC/IntegratedDynamics/workflows/CI/badge.svg)](https:"
  },
  {
    "path": "build.gradle",
    "chars": 14316,
    "preview": "plugins {\n    id 'net.neoforged.moddev' version '2.0.141'\n    id 'net.darkhax.curseforgegradle' version '1.1.28'\n    id "
  },
  {
    "path": "crowdin.yml",
    "chars": 1106,
    "preview": "project_id_env: CROWDIN_PROJECT_ID\napi_token_env: CROWDIN_PERSONAL_TOKEN\nbase_path: .\n\npreserve_hierarchy: true\n\nfiles:\n"
  },
  {
    "path": "gradle/wrapper/gradle-wrapper.properties",
    "chars": 223,
    "preview": "distributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\ndistributionUrl=https\\://services.gradle.org/distributi"
  },
  {
    "path": "gradle.properties",
    "chars": 1039,
    "preview": "# Project\nmod_version=1.33.0\ngroup=org.cyclops.integrateddynamics\njava_version=25\n\n# Common\nminecraft_version=26.1.2\nmod"
  },
  {
    "path": "gradlew",
    "chars": 8024,
    "preview": "#!/bin/sh\n\n#\n# Copyright  2015-2021 the original authors.\n#\n# Licensed under the Apache License, Version 2.0 (the \"Licen"
  },
  {
    "path": "gradlew.bat",
    "chars": 2763,
    "preview": "@rem\r\n@rem Copyright 2015 the original author or authors.\r\n@rem\r\n@rem Licensed under the Apache License, Version 2.0 (th"
  },
  {
    "path": "resources/changelog/1.10.2-0.6.0.txt",
    "chars": 1878,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.8.0 or higher.\n\nAdditions:\n"
  },
  {
    "path": "resources/changelog/1.10.2-0.6.1.txt",
    "chars": 276,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.8.0 or higher.\n\nFixes:\n* Fi"
  },
  {
    "path": "resources/changelog/1.10.2-0.6.10.txt",
    "chars": 278,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.9.3 or higher.\n\nFixes:\n* Fi"
  },
  {
    "path": "resources/changelog/1.10.2-0.6.11.txt",
    "chars": 174,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.0 or higher.\n\nFixes:\n* F"
  },
  {
    "path": "resources/changelog/1.10.2-0.6.12.txt",
    "chars": 593,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.1 or higher.\n\nFixes:\n* A"
  },
  {
    "path": "resources/changelog/1.10.2-0.6.2.txt",
    "chars": 389,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.8.0 or higher.\n\nChanges:\n* "
  },
  {
    "path": "resources/changelog/1.10.2-0.6.3.txt",
    "chars": 360,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.8.0 or higher.\n\nFixes:\n* Al"
  },
  {
    "path": "resources/changelog/1.10.2-0.6.4.txt",
    "chars": 306,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.8.2 or higher.\n\nFixes:\n* Im"
  },
  {
    "path": "resources/changelog/1.10.2-0.6.5.txt",
    "chars": 188,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.8.0 or higher.\n\nFixes:\n* Do"
  },
  {
    "path": "resources/changelog/1.10.2-0.6.6.txt",
    "chars": 467,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.9.0 or higher.\n\nAdditions:\n"
  },
  {
    "path": "resources/changelog/1.10.2-0.6.7.txt",
    "chars": 664,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.9.1 or higher.\n\nAdditions:\n"
  },
  {
    "path": "resources/changelog/1.10.2-0.6.8.txt",
    "chars": 237,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.9.1 or higher.\n\nChanges:\n* "
  },
  {
    "path": "resources/changelog/1.10.2-0.6.9.txt",
    "chars": 1456,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.9.2 or higher.\n\nAdditions:\n"
  },
  {
    "path": "resources/changelog/1.10.2-0.7.0.txt",
    "chars": 1384,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.3 or higher.\n\nAdditions:"
  },
  {
    "path": "resources/changelog/1.10.2-0.7.1.txt",
    "chars": 178,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.3 or higher.\n\nFixes:\n* F"
  },
  {
    "path": "resources/changelog/1.10.2-0.7.2.txt",
    "chars": 302,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.4 or higher.\n\nChanges:\n*"
  },
  {
    "path": "resources/changelog/1.10.2-0.7.3.txt",
    "chars": 426,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.5 or higher.\n\nChanges:\n*"
  },
  {
    "path": "resources/changelog/1.10.2-0.7.4.txt",
    "chars": 352,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.6 or higher.\n\nChanges:\n*"
  },
  {
    "path": "resources/changelog/1.10.2-0.7.5.txt",
    "chars": 405,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.6 or higher.\n\nChanges:\n*"
  },
  {
    "path": "resources/changelog/1.10.2-0.7.6.txt",
    "chars": 450,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.6 or higher.\n\nChanges:\n*"
  },
  {
    "path": "resources/changelog/1.10.2-0.7.7.txt",
    "chars": 193,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.6 or higher.\n\nFixes:\n* F"
  },
  {
    "path": "resources/changelog/1.10.2-0.7.8.txt",
    "chars": 695,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.7 or higher.\n\nAdditions:"
  },
  {
    "path": "resources/changelog/1.10.2-0.7.9.txt",
    "chars": 295,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.8 or higher.\n\nFixes:\n* F"
  },
  {
    "path": "resources/changelog/1.11.2-0.6.10.txt",
    "chars": 278,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.9.4 or higher.\n\nFixes:\n* Fi"
  },
  {
    "path": "resources/changelog/1.11.2-0.6.11.txt",
    "chars": 174,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.0 or higher.\n\nFixes:\n* F"
  },
  {
    "path": "resources/changelog/1.11.2-0.6.12.txt",
    "chars": 640,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.1 or higher.\n\nAdditions:"
  },
  {
    "path": "resources/changelog/1.11.2-0.6.5.txt",
    "chars": 64,
    "preview": "Requires CyclopsCore version 0.9.0 or higher.\n\nInitial 1.11 port"
  },
  {
    "path": "resources/changelog/1.11.2-0.6.7.txt",
    "chars": 900,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.9.1 or higher.\n\nAdditions:\n"
  },
  {
    "path": "resources/changelog/1.11.2-0.6.8.txt",
    "chars": 380,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.9.2 or higher.\n\nChanges:\n* "
  },
  {
    "path": "resources/changelog/1.11.2-0.6.9.txt",
    "chars": 1720,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.9.3 or higher.\n\nAdditions:\n"
  },
  {
    "path": "resources/changelog/1.11.2-0.7.0.txt",
    "chars": 1433,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.3 or higher.\n\nAdditions:"
  },
  {
    "path": "resources/changelog/1.11.2-0.7.1.txt",
    "chars": 177,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.3 or higher.\n\nFixes:\n* F"
  },
  {
    "path": "resources/changelog/1.11.2-0.7.2.txt",
    "chars": 302,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.4 or higher.\n\nChanges:\n*"
  },
  {
    "path": "resources/changelog/1.11.2-0.7.3.txt",
    "chars": 517,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.5 or higher.\n\nChanges:\n*"
  },
  {
    "path": "resources/changelog/1.11.2-0.7.4.txt",
    "chars": 430,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.6 or higher.\n\nAdditions:"
  },
  {
    "path": "resources/changelog/1.11.2-0.7.5.txt",
    "chars": 290,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.6 or higher.\n\nAdditions:"
  },
  {
    "path": "resources/changelog/1.11.2-0.7.6.txt",
    "chars": 405,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.6 or higher.\n\nChanges:\n*"
  },
  {
    "path": "resources/changelog/1.11.2-0.7.7.txt",
    "chars": 615,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.6 or higher.\n\nAdditions:"
  },
  {
    "path": "resources/changelog/1.11.2-0.8.0.txt",
    "chars": 311,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.6 or higher.\n\nAdditions:"
  },
  {
    "path": "resources/changelog/1.11.2-0.8.1.txt",
    "chars": 220,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.6 or higher.\n\nFixes:\n* F"
  },
  {
    "path": "resources/changelog/1.11.2-0.8.2.txt",
    "chars": 695,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.7 or higher.\n\nAdditions:"
  },
  {
    "path": "resources/changelog/1.11.2-0.8.3.txt",
    "chars": 336,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.7 or higher.\n\nFixes:\n* F"
  },
  {
    "path": "resources/changelog/1.11.2-0.8.4.txt",
    "chars": 338,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.8 or higher.\n\nChanges:\n*"
  },
  {
    "path": "resources/changelog/1.11.2-0.8.5.txt",
    "chars": 429,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.8 or higher.\n\nFixes:\n* F"
  },
  {
    "path": "resources/changelog/1.12-0.7.5.txt",
    "chars": 127,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.8 or higher.\n\nInitial 1."
  },
  {
    "path": "resources/changelog/1.12-0.7.6.txt",
    "chars": 438,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.8 or higher.\n\nChanges:\n*"
  },
  {
    "path": "resources/changelog/1.12-0.7.7.txt",
    "chars": 602,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.8 or higher.\n\nChanges:\n*"
  },
  {
    "path": "resources/changelog/1.12-0.8.0.txt",
    "chars": 311,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.8 or higher.\n\nAdditions:"
  },
  {
    "path": "resources/changelog/1.12-0.8.1.txt",
    "chars": 220,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.8 or higher.\n\nFixes:\n* F"
  },
  {
    "path": "resources/changelog/1.12-0.8.2.txt",
    "chars": 184,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.10 or higher.\n\nChanges:\n"
  },
  {
    "path": "resources/changelog/1.12-0.8.3.txt",
    "chars": 767,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.11 or higher.\n\nAdditions"
  },
  {
    "path": "resources/changelog/1.12-0.8.4.txt",
    "chars": 636,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.12 or higher.\n\nAdditions"
  },
  {
    "path": "resources/changelog/1.12-0.8.5.txt",
    "chars": 919,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.13 or higher.\n\nChanges:\n"
  },
  {
    "path": "resources/changelog/1.12-0.8.6.txt",
    "chars": 430,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.14 or higher.\n\nFixes:\n* "
  },
  {
    "path": "resources/changelog/1.12-0.8.7.txt",
    "chars": 1663,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.16 or higher.\n\nChanges:\n"
  },
  {
    "path": "resources/changelog/1.12-0.9.0.txt",
    "chars": 614,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.16 or higher.\n\nAdditions"
  },
  {
    "path": "resources/changelog/1.12-0.9.1.txt",
    "chars": 756,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.18 or higher.\n\nAdditions"
  },
  {
    "path": "resources/changelog/1.12-0.9.2.txt",
    "chars": 440,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.19 or higher.\n\nAdditions"
  },
  {
    "path": "resources/changelog/1.12-0.9.3.txt",
    "chars": 1506,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.21 or higher.\n\nAdditions"
  },
  {
    "path": "resources/changelog/1.12.2-0.10.0.txt",
    "chars": 2465,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.11.0 or higher.\n\nAdditions:"
  },
  {
    "path": "resources/changelog/1.12.2-0.10.1.txt",
    "chars": 2028,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.11.1 or higher.\n\nAdditions:"
  },
  {
    "path": "resources/changelog/1.12.2-0.10.2.txt",
    "chars": 611,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.11.1 or higher.\n\nChanges:\n*"
  },
  {
    "path": "resources/changelog/1.12.2-0.10.3.txt",
    "chars": 325,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.11.1 or higher.\n\nFixes:\n* F"
  },
  {
    "path": "resources/changelog/1.12.2-0.10.4.txt",
    "chars": 801,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.11.1 or higher.\n\nChanges:\n*"
  },
  {
    "path": "resources/changelog/1.12.2-0.11.0.txt",
    "chars": 1068,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.11.2 or higher.\n\nAdditions:"
  },
  {
    "path": "resources/changelog/1.12.2-0.11.1.txt",
    "chars": 164,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.11.2 or higher.\n\nFixes:\nFix"
  },
  {
    "path": "resources/changelog/1.12.2-0.11.10.txt",
    "chars": 519,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.11.5 or higher.\n\nChanges:\n*"
  },
  {
    "path": "resources/changelog/1.12.2-0.11.11.txt",
    "chars": 623,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.11.5 or higher.\n\nAdditions:"
  },
  {
    "path": "resources/changelog/1.12.2-0.11.12.txt",
    "chars": 181,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.11.6 or higher.\n\nFixes:\n* F"
  },
  {
    "path": "resources/changelog/1.12.2-0.11.13.txt",
    "chars": 259,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.11.6 or higher.\n\nChanges:\n*"
  },
  {
    "path": "resources/changelog/1.12.2-0.11.14.txt",
    "chars": 453,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.11.7 or higher.\n\nChanges:\n*"
  },
  {
    "path": "resources/changelog/1.12.2-0.11.15.txt",
    "chars": 536,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.11.7 or higher.\n\nChanges:\n*"
  },
  {
    "path": "resources/changelog/1.12.2-0.11.16.txt",
    "chars": 419,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.11.7 or higher.\n\nChanges:\n*"
  },
  {
    "path": "resources/changelog/1.12.2-0.11.17.txt",
    "chars": 503,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.11.7 or higher.\n\nFixes:\n* U"
  },
  {
    "path": "resources/changelog/1.12.2-0.11.18.txt",
    "chars": 490,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.11.7 or higher.\n\nChanges:\n*"
  },
  {
    "path": "resources/changelog/1.12.2-0.11.2.txt",
    "chars": 624,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.11.2 or higher.\n\nChanges:\n*"
  },
  {
    "path": "resources/changelog/1.12.2-0.11.3.txt",
    "chars": 944,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.11.4 or higher.\n\nAdditions:"
  },
  {
    "path": "resources/changelog/1.12.2-0.11.4.txt",
    "chars": 681,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.11.4 or higher.\n\nAdditions:"
  },
  {
    "path": "resources/changelog/1.12.2-0.11.5.txt",
    "chars": 417,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.11.4 or higher.\n\nAdditions:"
  },
  {
    "path": "resources/changelog/1.12.2-0.11.6.txt",
    "chars": 739,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.11.4 or higher.\n\nAdditions:"
  },
  {
    "path": "resources/changelog/1.12.2-0.11.7.txt",
    "chars": 385,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.11.5 or higher.\n\nFixes:\n* F"
  },
  {
    "path": "resources/changelog/1.12.2-0.11.8.txt",
    "chars": 180,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.11.5 or higher.\n\nFixes:\n* F"
  },
  {
    "path": "resources/changelog/1.12.2-0.11.9.txt",
    "chars": 232,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.11.5 or higher.\n\nFixes:\n* F"
  },
  {
    "path": "resources/changelog/1.12.2-0.9.4.txt",
    "chars": 903,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.22 or higher.\n\nAdditions"
  },
  {
    "path": "resources/changelog/1.12.2-0.9.5.txt",
    "chars": 1213,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.22 or higher.\n\nChanges:\n"
  },
  {
    "path": "resources/changelog/1.12.2-0.9.6.txt",
    "chars": 701,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.22 or higher.\n\nAdditions"
  },
  {
    "path": "resources/changelog/1.12.2-0.9.7.txt",
    "chars": 1610,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.24 or higher.\n\nChanges:\n"
  },
  {
    "path": "resources/changelog/1.12.2-0.9.8.txt",
    "chars": 569,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.24 or higher.\n\nFixes:\n* "
  },
  {
    "path": "resources/changelog/1.12.2-0.9.9.txt",
    "chars": 985,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 0.10.24 or higher.\n\nAdditions"
  },
  {
    "path": "resources/changelog/1.12.2-1.0.0.txt",
    "chars": 1362,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.0.0 or higher.\n\nAdditions:\n"
  },
  {
    "path": "resources/changelog/1.12.2-1.0.1.txt",
    "chars": 269,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.0.0 or higher.\n\nFixes:\n* Fi"
  },
  {
    "path": "resources/changelog/1.12.2-1.0.10.txt",
    "chars": 369,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.1.1 or higher.\n\nChanges:\n* "
  },
  {
    "path": "resources/changelog/1.12.2-1.0.11.txt",
    "chars": 367,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.1.1 or higher.\n\nFixes:\n* Fi"
  },
  {
    "path": "resources/changelog/1.12.2-1.0.12.txt",
    "chars": 1106,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.1.1 or higher.\n\nAdditions:\n"
  },
  {
    "path": "resources/changelog/1.12.2-1.0.13.txt",
    "chars": 275,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.1.1 or higher.\n\nChanges:\n* "
  },
  {
    "path": "resources/changelog/1.12.2-1.0.14.txt",
    "chars": 587,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.1.1 or higher.\n\nFixes:\n* Pr"
  },
  {
    "path": "resources/changelog/1.12.2-1.0.15.txt",
    "chars": 1144,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.1.1 or higher.\n\nAdditions:\n"
  },
  {
    "path": "resources/changelog/1.12.2-1.0.16.txt",
    "chars": 287,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.1.1 or higher.\n\nFixes:\n* Fi"
  },
  {
    "path": "resources/changelog/1.12.2-1.0.17.txt",
    "chars": 519,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.1.1 or higher.\n\nFixes:\n* Fi"
  },
  {
    "path": "resources/changelog/1.12.2-1.0.18.txt",
    "chars": 336,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.5.0 or higher.\n\nAdditions:\n"
  },
  {
    "path": "resources/changelog/1.12.2-1.0.2.txt",
    "chars": 634,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.0.0 or higher.\n\nChanges:\n* "
  },
  {
    "path": "resources/changelog/1.12.2-1.0.3.txt",
    "chars": 876,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.0.0 or higher.\n\nChanges:\n* "
  },
  {
    "path": "resources/changelog/1.12.2-1.0.4.txt",
    "chars": 583,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.0.0 or higher.\n\nAdditions:\n"
  },
  {
    "path": "resources/changelog/1.12.2-1.0.5.txt",
    "chars": 237,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.0.0 or higher.\n\nFixes:\n* Al"
  },
  {
    "path": "resources/changelog/1.12.2-1.0.6.txt",
    "chars": 160,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.0.0 or higher.\n\nFixes:\n* Fi"
  },
  {
    "path": "resources/changelog/1.12.2-1.0.7.txt",
    "chars": 584,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.0.0 or higher.\n\nChanges:\n* "
  },
  {
    "path": "resources/changelog/1.12.2-1.0.8.txt",
    "chars": 989,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.0.0 or higher.\n\nChanges:\n* "
  },
  {
    "path": "resources/changelog/1.12.2-1.0.9.txt",
    "chars": 510,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.1.0 or higher.\n\nChanges:\n* "
  },
  {
    "path": "resources/changelog/1.12.2-1.1.0.txt",
    "chars": 620,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.5.0 or higher.\n\nAdditions:\n"
  },
  {
    "path": "resources/changelog/1.12.2-1.1.1.txt",
    "chars": 437,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.6.0 or higher.\n\nChanges:\n* "
  },
  {
    "path": "resources/changelog/1.12.2-1.1.10.txt",
    "chars": 414,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.6.5 or higher.\n\nFixes:\n* Fi"
  },
  {
    "path": "resources/changelog/1.12.2-1.1.11.txt",
    "chars": 321,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.6.5 or higher.\n\nChanges:\n* "
  },
  {
    "path": "resources/changelog/1.12.2-1.1.2.txt",
    "chars": 1339,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.6.0 or higher.\n\nChanges:\n* "
  },
  {
    "path": "resources/changelog/1.12.2-1.1.3.txt",
    "chars": 866,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.6.0 or higher.\n\nFixes:\n* Fi"
  },
  {
    "path": "resources/changelog/1.12.2-1.1.4.txt",
    "chars": 204,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.6.0 or higher.\n\nFixes:\n* Fi"
  },
  {
    "path": "resources/changelog/1.12.2-1.1.5.txt",
    "chars": 246,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.6.0 or higher.\n\nAdditions:\n"
  },
  {
    "path": "resources/changelog/1.12.2-1.1.6.txt",
    "chars": 284,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.6.0 or higher.\n\nFixes:\n* Fi"
  },
  {
    "path": "resources/changelog/1.12.2-1.1.7.txt",
    "chars": 1299,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.6.5 or higher.\n\nAdditions:\n"
  },
  {
    "path": "resources/changelog/1.12.2-1.1.8.txt",
    "chars": 147,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.6.5 or higher.\n\nFixes:\n* Fi"
  },
  {
    "path": "resources/changelog/1.12.2-1.1.9.txt",
    "chars": 172,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.6.5 or higher.\n\nFixes:\n* Fi"
  },
  {
    "path": "resources/changelog/1.15.2-1.1.10.txt",
    "chars": 481,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.7.1 or higher.\n\nChanges:\n* "
  },
  {
    "path": "resources/changelog/1.15.2-1.1.11.txt",
    "chars": 251,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.7.1 or higher.\n\nChanges:\n* "
  },
  {
    "path": "resources/changelog/1.15.2-1.1.12.txt",
    "chars": 1151,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.7.1 or higher.\n\nChanges:\n* "
  },
  {
    "path": "resources/changelog/1.15.2-1.1.13.txt",
    "chars": 755,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.8.0 or higher.\n\nFixes:\n* Re"
  },
  {
    "path": "resources/changelog/1.15.2-1.1.14.txt",
    "chars": 281,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.8.1 or higher.\n\nFixes:\n* Fi"
  },
  {
    "path": "resources/changelog/1.15.2-1.1.15.txt",
    "chars": 271,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.8.2 or higher.\n\nFixes:\n* Fi"
  },
  {
    "path": "resources/changelog/1.15.2-1.1.16.txt",
    "chars": 184,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.8.3 or higher.\n\nFixes:\n* Fi"
  },
  {
    "path": "resources/changelog/1.15.2-1.1.17.txt",
    "chars": 518,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.8.3 or higher.\n\nFixes:\n* Fi"
  },
  {
    "path": "resources/changelog/1.15.2-1.1.18.txt",
    "chars": 537,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.8.5 or higher.\n\nAdditions:\n"
  },
  {
    "path": "resources/changelog/1.15.2-1.1.19.txt",
    "chars": 178,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.8.5 or higher.\n\nFixes:\n* Fi"
  },
  {
    "path": "resources/changelog/1.15.2-1.1.20.txt",
    "chars": 299,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.9.0 or higher.\n\nFixes:\n* Do"
  },
  {
    "path": "resources/changelog/1.15.2-1.1.6.txt",
    "chars": 127,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.7.0 or higher.\n\nInitial 1.1"
  },
  {
    "path": "resources/changelog/1.15.2-1.1.7.txt",
    "chars": 183,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.7.0 or higher.\n\nChanges:\n* "
  },
  {
    "path": "resources/changelog/1.15.2-1.1.8.txt",
    "chars": 231,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.7.0 or higher.\n\nFixes:\n* Wi"
  },
  {
    "path": "resources/changelog/1.15.2-1.1.9.txt",
    "chars": 327,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.7.0 or higher.\n\nFixes:\n* Tw"
  },
  {
    "path": "resources/changelog/1.16.4-1.1.20.txt",
    "chars": 130,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.9.0 or higher.\n\nInitial 1.1"
  },
  {
    "path": "resources/changelog/1.16.4-1.1.21.txt",
    "chars": 329,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.9.0 or higher.\n\nAdditions:\n"
  },
  {
    "path": "resources/changelog/1.16.4-1.1.22.txt",
    "chars": 318,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.9.0 or higher.\n\nAdditions:\n"
  },
  {
    "path": "resources/changelog/1.16.4-1.2.0.txt",
    "chars": 1014,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.9.5 or higher.\n\nAdditions:\n"
  },
  {
    "path": "resources/changelog/1.16.4-1.3.0.txt",
    "chars": 388,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.10.0 or higher.\n\nAdditions:"
  },
  {
    "path": "resources/changelog/1.16.4-1.4.0.txt",
    "chars": 393,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.11.0 or higher.\n\nAdditions:"
  },
  {
    "path": "resources/changelog/1.16.4-1.4.1.txt",
    "chars": 631,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.11.0 or higher.\n\nChanges:\n*"
  },
  {
    "path": "resources/changelog/1.16.4-1.4.2.txt",
    "chars": 513,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.11.0 or higher.\n\nFixes:\n* F"
  },
  {
    "path": "resources/changelog/1.16.4-1.4.3.txt",
    "chars": 170,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.11.0 or higher.\n\nFixes:\n* F"
  },
  {
    "path": "resources/changelog/1.16.5-1.10.0.txt",
    "chars": 915,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.11.6 or higher.\n\nAdditions:"
  },
  {
    "path": "resources/changelog/1.16.5-1.10.1.txt",
    "chars": 195,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.11.6 or higher.\n\nFixes:\n* F"
  },
  {
    "path": "resources/changelog/1.16.5-1.10.10.txt",
    "chars": 520,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.11.6 or higher.\n\nChanges:\n*"
  },
  {
    "path": "resources/changelog/1.16.5-1.10.11.txt",
    "chars": 191,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.11.6 or higher.\n\nFixes:\n* F"
  },
  {
    "path": "resources/changelog/1.16.5-1.10.12.txt",
    "chars": 170,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.11.6 or higher.\n\nFixes:\n* F"
  },
  {
    "path": "resources/changelog/1.16.5-1.10.13.txt",
    "chars": 363,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.13.0 or higher.\n\nFixes:\n* F"
  },
  {
    "path": "resources/changelog/1.16.5-1.10.14.txt",
    "chars": 448,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.13.0 or higher.\n\nFixes:\n* F"
  },
  {
    "path": "resources/changelog/1.16.5-1.10.15.txt",
    "chars": 230,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.13.0 or higher.\n\nFixes:\n* F"
  },
  {
    "path": "resources/changelog/1.16.5-1.10.2.txt",
    "chars": 167,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.11.6 or higher.\n\nFixes:\n* F"
  },
  {
    "path": "resources/changelog/1.16.5-1.10.3.txt",
    "chars": 559,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.11.6 or higher.\n\nChanges:\n*"
  },
  {
    "path": "resources/changelog/1.16.5-1.10.4.txt",
    "chars": 308,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.11.6 or higher.\n\nFixes:\n* F"
  },
  {
    "path": "resources/changelog/1.16.5-1.10.5.txt",
    "chars": 281,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.11.6 or higher.\n\nChanges:\n*"
  },
  {
    "path": "resources/changelog/1.16.5-1.10.6.txt",
    "chars": 265,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.11.6 or higher.\n\nFixes:\n* F"
  },
  {
    "path": "resources/changelog/1.16.5-1.10.7.txt",
    "chars": 685,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.11.6 or higher.\n\nChanges:\n*"
  },
  {
    "path": "resources/changelog/1.16.5-1.10.8.txt",
    "chars": 390,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.11.6 or higher.\n\nFixes:\n* R"
  },
  {
    "path": "resources/changelog/1.16.5-1.10.9.txt",
    "chars": 614,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.11.6 or higher.\n\nAdditions:"
  },
  {
    "path": "resources/changelog/1.16.5-1.5.0.txt",
    "chars": 433,
    "preview": "As always, don't forget to backup your world before updating!\nRequires CyclopsCore version 1.11.1 or higher.\n\nAdditions:"
  }
]

// ... and 2503 more files (download for full content)

About this extraction

This page contains the full source code of the CyclopsMC/IntegratedDynamics GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 2703 files (6.2 MB), approximately 1.8M tokens, and a symbol index with 8967 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!