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
[](https://github.com/CyclopsMC/IntegratedDynamics/actions?query=workflow%3ACI)
[](https://coveralls.io/github/CyclopsMC/IntegratedDynamics)
[](https://crowdin.com/project/cyclopsmc-integrateddynamic)
[](https://github.com/CyclopsMC/packages/packages/769739)
[](https://www.curseforge.com/minecraft/mc-mods/integrated-dynamics)
[](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
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
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[](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.