hexdoc-hexautomata 0.1.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. hexdoc_hexautomata-0.1.1.0/.gitignore +192 -0
  2. hexdoc_hexautomata-0.1.1.0/LICENSE.txt +21 -0
  3. hexdoc_hexautomata-0.1.1.0/PKG-INFO +73 -0
  4. hexdoc_hexautomata-0.1.1.0/doc/README.md +60 -0
  5. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/__gradle_version__.py +17 -0
  6. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/__init__.py +0 -0
  7. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/__version__.py +4 -0
  8. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/.gitignore +2 -0
  9. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/__init__.py +0 -0
  10. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/__init__.py +2 -0
  11. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/lang/en_us.flatten.json5 +1 -0
  12. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/lang/en_us.json +1 -0
  13. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/lang/zh_cn.json +1 -0
  14. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/_active.json +6 -0
  15. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/_idle.json +14 -0
  16. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/active/hurt.json +6 -0
  17. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/active/kill.json +6 -0
  18. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/active/melee_hit.json +6 -0
  19. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/active/projectile_hit.json +6 -0
  20. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/active/shoot.json +6 -0
  21. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/active/targeted.json +6 -0
  22. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/hurt.json +11 -0
  23. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/idle/hurt.json +6 -0
  24. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/idle/kill.json +6 -0
  25. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/idle/melee_hit.json +6 -0
  26. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/idle/projectile_hit.json +6 -0
  27. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/idle/shoot.json +6 -0
  28. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/idle/targeted.json +6 -0
  29. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/kill.json +11 -0
  30. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/melee_hit.json +11 -0
  31. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/projectile_hit.json +11 -0
  32. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/shoot.json +11 -0
  33. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/targeted.json +11 -0
  34. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/textures/item/reactive_focus/active.png +0 -0
  35. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/textures/item/reactive_focus/idle.png +0 -0
  36. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/textures/item/reactive_focus/inner/blue.png +0 -0
  37. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/textures/item/reactive_focus/inner/green.png +0 -0
  38. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/textures/item/reactive_focus/inner/orange.png +0 -0
  39. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/textures/item/reactive_focus/inner/purple.png +0 -0
  40. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/textures/item/reactive_focus/inner/red.png +0 -0
  41. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/textures/item/reactive_focus/inner/yellow.png +0 -0
  42. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexcasting/patchouli_books/thehexbook/en_us/entries/reactive_focus.json +41 -0
  43. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexcasting/patchouli_books/thehexbook/en_us/entries/reactive_focus_patterns.json +18 -0
  44. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/minecraft/textures/entities/elder_guardian.png +0 -0
  45. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/minecraft/textures/entities/enderman.png +0 -0
  46. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/minecraft/textures/entities/evoker.png +0 -0
  47. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/minecraft/textures/entities/shulker.png +0 -0
  48. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/minecraft/textures/entities/vindicator.png +0 -0
  49. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/minecraft/textures/entities/zombie_villager.png +0 -0
  50. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/data/hexautomata/recipes/brainsweep/reactive_focus/hurt.json +15 -0
  51. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/data/hexautomata/recipes/brainsweep/reactive_focus/kill.json +15 -0
  52. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/data/hexautomata/recipes/brainsweep/reactive_focus/melee_hit.json +15 -0
  53. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/data/hexautomata/recipes/brainsweep/reactive_focus/projectile_hit.json +15 -0
  54. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/data/hexautomata/recipes/brainsweep/reactive_focus/shoot.json +15 -0
  55. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/data/hexautomata/recipes/brainsweep/reactive_focus/targeted.json +15 -0
  56. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/hexautomata.hexdoc.json +1 -0
  57. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/hexautomata.patterns.hexdoc.json +1 -0
  58. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_hooks.py +76 -0
  59. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_templates/__init__.py +2 -0
  60. hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/py.typed +0 -0
  61. hexdoc_hexautomata-0.1.1.0/gradle.properties +18 -0
  62. hexdoc_hexautomata-0.1.1.0/pyproject.toml +131 -0
@@ -0,0 +1,192 @@
1
+ **/libs/**/*.jar
2
+
3
+ # hexdoc
4
+ _site/
5
+ _checkout/
6
+ __gradle_version__.py
7
+ .hexdoc*/
8
+
9
+ # eclipse
10
+ bin
11
+ *.launch
12
+ .settings
13
+ .metadata
14
+ .classpath
15
+ .project
16
+
17
+ # idea
18
+ out
19
+ *.ipr
20
+ *.iws
21
+ *.iml
22
+ .idea
23
+
24
+ # gradle
25
+ build
26
+ .gradle
27
+
28
+ # other
29
+ eclipse
30
+ run
31
+
32
+ # Files from Forge MDK
33
+ forge*changelog.txt
34
+
35
+ Session.vim
36
+ plot/
37
+
38
+ # Python
39
+
40
+ # Byte-compiled / optimized / DLL files
41
+ __pycache__/
42
+ *.py[cod]
43
+ *$py.class
44
+
45
+ # C extensions
46
+ *.so
47
+
48
+ # Distribution / packaging
49
+ .Python
50
+ build/
51
+ develop-eggs/
52
+ dist/
53
+ downloads/
54
+ eggs/
55
+ .eggs/
56
+ lib/
57
+ lib64/
58
+ parts/
59
+ sdist/
60
+ var/
61
+ wheels/
62
+ share/python-wheels/
63
+ *.egg-info/
64
+ .installed.cfg
65
+ *.egg
66
+ MANIFEST
67
+
68
+ # PyInstaller
69
+ # Usually these files are written by a python script from a template
70
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
71
+ *.manifest
72
+ *.spec
73
+
74
+ # Installer logs
75
+ pip-log.txt
76
+ pip-delete-this-directory.txt
77
+
78
+ # Unit test / coverage reports
79
+ htmlcov/
80
+ .tox/
81
+ .nox/
82
+ .coverage
83
+ .coverage.*
84
+ .cache
85
+ nosetests.xml
86
+ coverage.xml
87
+ *.cover
88
+ *.py,cover
89
+ .hypothesis/
90
+ .pytest_cache/
91
+ cover/
92
+
93
+ # Translations
94
+ *.mo
95
+ *.pot
96
+
97
+ # Django stuff:
98
+ *.log
99
+ local_settings.py
100
+ db.sqlite3
101
+ db.sqlite3-journal
102
+
103
+ # Flask stuff:
104
+ instance/
105
+ .webassets-cache
106
+
107
+ # Scrapy stuff:
108
+ .scrapy
109
+
110
+ # Sphinx documentation
111
+ docs/_build/
112
+
113
+ # PyBuilder
114
+ .pybuilder/
115
+ target/
116
+
117
+ # Jupyter Notebook
118
+ .ipynb_checkpoints
119
+
120
+ # IPython
121
+ profile_default/
122
+ ipython_config.py
123
+
124
+ # pyenv
125
+ # For a library or package, you might want to ignore these files since the code is
126
+ # intended to run in multiple environments; otherwise, check them in:
127
+ # .python-version
128
+
129
+ # pipenv
130
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
131
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
132
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
133
+ # install all needed dependencies.
134
+ #Pipfile.lock
135
+
136
+ # poetry
137
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
138
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
139
+ # commonly ignored for libraries.
140
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
141
+ #poetry.lock
142
+
143
+ # pdm
144
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
145
+ #pdm.lock
146
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
147
+ # in version control.
148
+ # https://pdm.fming.dev/#use-with-ide
149
+ .pdm.toml
150
+
151
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
152
+ __pypackages__/
153
+
154
+ # Celery stuff
155
+ celerybeat-schedule
156
+ celerybeat.pid
157
+
158
+ # SageMath parsed files
159
+ *.sage.py
160
+
161
+ # Environments
162
+ .env
163
+ .venv
164
+ env/
165
+ venv/
166
+ ENV/
167
+ env.bak/
168
+ venv.bak/
169
+
170
+ # Spyder project settings
171
+ .spyderproject
172
+ .spyproject
173
+
174
+ # Rope project settings
175
+ .ropeproject
176
+
177
+ # mkdocs documentation
178
+ /site
179
+
180
+ # mypy
181
+ .mypy_cache/
182
+ .dmypy.json
183
+ dmypy.json
184
+
185
+ # Pyre type checker
186
+ .pyre/
187
+
188
+ # pytype static type analyzer
189
+ .pytype/
190
+
191
+ # Cython debug symbols
192
+ cython_debug/
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2024 YukkuriC
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,73 @@
1
+ Metadata-Version: 2.4
2
+ Name: hexdoc-hexautomata
3
+ Version: 0.1.1.0
4
+ Summary: Provides items with ability listening to various game events and triggering custom spells.
5
+ Project-URL: Homepage, https://yukkuric.github.io/HexAutomata
6
+ Project-URL: Source, https://github.com/YukkuriC/HexAutomata
7
+ Author: YukkuriC
8
+ License-File: LICENSE.txt
9
+ Keywords: hexdoc
10
+ Requires-Python: >=3.12
11
+ Requires-Dist: hexdoc-hexcasting~=0.11.3.1.0
12
+ Description-Content-Type: text/markdown
13
+
14
+ # hexdoc-hexautomata
15
+
16
+ Python web book docgen and [hexdoc](https://pypi.org/project/hexdoc) plugin for HexAutomata.
17
+
18
+ Provides items with ability listening to various game events and triggering custom spells.
19
+
20
+ ## Version scheme
21
+
22
+ We use [hatch-gradle-version](https://pypi.org/project/hatch-gradle-version) to generate the version number based on whichever mod version the docgen was built with.
23
+
24
+ The version is in this format: `mod-version.python-version.mod-pre.python-dev.python-post`
25
+
26
+ For example:
27
+ * Mod version: `0.11.1-7`
28
+ * Python package version: `1.0.dev0`
29
+ * Full version: `0.11.1.1.0rc7.dev0`
30
+
31
+ ## Setup
32
+
33
+ Install [uv](https://docs.astral.sh/uv/getting-started/installation/), then:
34
+
35
+ ```sh
36
+ uv sync
37
+
38
+ .\.venv\Scripts\activate # Windows
39
+ . .venv/bin/activate.fish # fish
40
+ source .venv/bin/activate # everything else
41
+ ```
42
+
43
+ ## Usage
44
+
45
+ For local testing, create a file called `.env` in the repo root following this template:
46
+ ```sh
47
+ GITHUB_REPOSITORY=YukkuriC/HexAutomata
48
+ GITHUB_SHA=main
49
+ GITHUB_PAGES_URL=https://yukkuric.github.io/HexAutomata
50
+ ```
51
+
52
+ Useful commands:
53
+
54
+ ```sh
55
+ # update your Python environment and lockfile if you added new dependencies
56
+ uv sync
57
+
58
+ # show help
59
+ hexdoc -h
60
+
61
+ # render and serve the web book in watch mode
62
+ nodemon --config doc/nodemon.json
63
+
64
+ # render and serve the web book
65
+ hexdoc serve
66
+
67
+ # build and merge the web book
68
+ hexdoc build
69
+ hexdoc merge
70
+
71
+ # start the Python interpreter with some extra local variables
72
+ hexdoc repl
73
+ ```
@@ -0,0 +1,60 @@
1
+ # hexdoc-hexautomata
2
+
3
+ Python web book docgen and [hexdoc](https://pypi.org/project/hexdoc) plugin for HexAutomata.
4
+
5
+ Provides items with ability listening to various game events and triggering custom spells.
6
+
7
+ ## Version scheme
8
+
9
+ We use [hatch-gradle-version](https://pypi.org/project/hatch-gradle-version) to generate the version number based on whichever mod version the docgen was built with.
10
+
11
+ The version is in this format: `mod-version.python-version.mod-pre.python-dev.python-post`
12
+
13
+ For example:
14
+ * Mod version: `0.11.1-7`
15
+ * Python package version: `1.0.dev0`
16
+ * Full version: `0.11.1.1.0rc7.dev0`
17
+
18
+ ## Setup
19
+
20
+ Install [uv](https://docs.astral.sh/uv/getting-started/installation/), then:
21
+
22
+ ```sh
23
+ uv sync
24
+
25
+ .\.venv\Scripts\activate # Windows
26
+ . .venv/bin/activate.fish # fish
27
+ source .venv/bin/activate # everything else
28
+ ```
29
+
30
+ ## Usage
31
+
32
+ For local testing, create a file called `.env` in the repo root following this template:
33
+ ```sh
34
+ GITHUB_REPOSITORY=YukkuriC/HexAutomata
35
+ GITHUB_SHA=main
36
+ GITHUB_PAGES_URL=https://yukkuric.github.io/HexAutomata
37
+ ```
38
+
39
+ Useful commands:
40
+
41
+ ```sh
42
+ # update your Python environment and lockfile if you added new dependencies
43
+ uv sync
44
+
45
+ # show help
46
+ hexdoc -h
47
+
48
+ # render and serve the web book in watch mode
49
+ nodemon --config doc/nodemon.json
50
+
51
+ # render and serve the web book
52
+ hexdoc serve
53
+
54
+ # build and merge the web book
55
+ hexdoc build
56
+ hexdoc merge
57
+
58
+ # start the Python interpreter with some extra local variables
59
+ hexdoc repl
60
+ ```
@@ -0,0 +1,17 @@
1
+ # This file is auto-generated by hatch-gradle-version. Do not edit.
2
+
3
+ GRADLE_VERSION = "0.1"
4
+ FULL_VERSION = "0.1.1.0"
5
+
6
+ ARCHIVES_NAME = "HexAutomata"
7
+ ENABLED_PLATFORMS = "fabric,forge"
8
+ FABRIC_API_VERSION = "0.92.6+1.20.1"
9
+ FABRIC_LOADER_VERSION = "0.16.10"
10
+ FORGE_VERSION = "1.20.1-47.2.0"
11
+ HEXCASTING_VERSION = "0.11.3"
12
+ MAVEN_GROUP = "io.yukkuric"
13
+ MINECRAFT_VERSION = "1.20.1"
14
+ MOD_VERSION = "DYNAMIC"
15
+ MOD_VERSION_BASE = "0.1"
16
+ ORG_GRADLE_JVMARGS = "-Xmx2G"
17
+ ORG_GRADLE_PARALLEL = "true"
@@ -0,0 +1,4 @@
1
+ # This file is auto-generated by hatch-gradle-version.
2
+ # Only the value of PY_VERSION is editable. Do not edit other values.
3
+
4
+ PY_VERSION = "1.0"
@@ -0,0 +1,2 @@
1
+ generated/*
2
+ !generated/__init__.py
@@ -0,0 +1,2 @@
1
+ # This directory is auto-generated by hexdoc.
2
+ # Do not edit or commit these files.
@@ -0,0 +1 @@
1
+ {"hexdoc.hexautomata.title": "HexAutomata Book", "hexdoc.hexautomata.description": "Provides items with ability listening to various game events and triggering custom spells."}
@@ -0,0 +1 @@
1
+ {"itemGroup.hexautomata.main": "HexAutomata", "item.hexautomata.reactive_focus": "Reactive Focus", "item.hexautomata.reactive_focus.template": "Reactive Focus: %s", "block.hexautomata.reactive_focus.hurt": "Hurt", "block.hexautomata.reactive_focus.targeted": "Targeted", "block.hexautomata.reactive_focus.shoot": "Projectile Shot", "block.hexautomata.reactive_focus.projectile_hit": "Projectile Hit", "block.hexautomata.reactive_focus.melee_hit": "Melee Hit", "block.hexautomata.reactive_focus.kill": "Killing", "hexcasting.action.book.hexautomata:quantum_swap": "Quantum Swap", "book.descrip.hexautomata:quantum_swap": "Swaps me and the triggering entity spatially, at cost of half of a dust. Takes no effect if there's no such entity (for example, hurt event triggered by environmental damage).", "mishap.hexautomata.out_event": "You've lost in the Quantum Sea.", "hexautomata.book.reactive_focus.intro": "I found a way - using the intelligence from a settled villager mind, with some special $(thing)\"concepts\"/$ from wild creatures - to create a kind of special spell-casters: $(thing)Reactive Focus/$.$(br)These spell holders act like normal focus when reading/writing, while their inner spells get triggered when certain situations happen, drawing media from me directly when casting.", "hexautomata.book.reactive_focus.2": "Each type of $(thing)Reactive Focus/$ also sends iota(s) to the initial stack when they're triggered, this usually contains the triggering entity as the first iota.$(br)Additionally, due to $(thing)Quantum Media Entanglement/$ effect between me and whoever triggers a $(thing)Reactive Focus/$, the inner spell has an extra casting ambit of small radius around whom. $(o)How convenient :)/$", "hexautomata.book.reactive_focus.patterns.title": "Spells Inside Reactive Focus", "hexautomata.book.reactive_focus.patterns.intro": "Using $(thing)Quantum Media Entanglement/$ effect between me and the triggerer, there are several tricks I can play with exclusively inside an event of $(thing)Reactive Focus/$.$(br)However, I have the feeling that, if I cast these spells outside the $(o)$(thing)Focus/$, something $(bold)REALLY BAD/$ might happen.", "hexautomata.book.reactive_focus.hurt": "Triggers whenever I get hurt, with the damage causer (could be null) and amount as initial iotas.", "hexautomata.book.reactive_focus.targeted": "Triggers at the moment an enemy targets me, with the enemy as initial iota.", "hexautomata.book.reactive_focus.shoot": "Triggers when I shoot a projectile (arrow, snowball, etc.), with the projectile as initial iota.", "hexautomata.book.reactive_focus.projectile_hit": "Triggers when a projectile I shot hits something; receives 3 initial iotas: the projectile, where it hits, and the target block position or entity it hits.", "hexautomata.book.reactive_focus.melee_hit": "Triggers when I hit a target by hand or using melee weapon; receives the target entity and damage value as initial iotas.", "hexautomata.book.reactive_focus.kill": "Triggers when I kill something; receives the dying target as initial iota.", "foo": "tired of line end commas."}
@@ -0,0 +1 @@
1
+ {"itemGroup.hexautomata.main": "\u5492\u6cd5\u81ea\u52a8\u673a", "item.hexautomata.reactive_focus": "\u53cd\u5e94\u6838\u5fc3", "item.hexautomata.reactive_focus.template": "\u53cd\u5e94\u6838\u5fc3\uff1a%s", "block.hexautomata.reactive_focus.hurt": "\u53d7\u4f24", "block.hexautomata.reactive_focus.targeted": "\u88ab\u9501\u5b9a", "block.hexautomata.reactive_focus.shoot": "\u5f39\u5c04\u7269\u5c04\u51fa", "block.hexautomata.reactive_focus.projectile_hit": "\u5f39\u5c04\u7269\u547d\u4e2d", "block.hexautomata.reactive_focus.melee_hit": "\u8fd1\u6218\u547d\u4e2d", "block.hexautomata.reactive_focus.kill": "\u51fb\u6740", "hexcasting.action.book.hexautomata:quantum_swap": "\u91cf\u5b50\u4e92\u6362", "book.descrip.hexautomata:quantum_swap": "\u5c06\u6211\u548c\u89e6\u53d1\u5b9e\u4f53\u5728\u7a7a\u95f4\u4e0a\u4e92\u6362\uff0c\u6d88\u8017\u534a\u7c89\u3002\u5f53\u8be5\u5b9e\u4f53\u4e0d\u5b58\u5728\uff08\u5982\u73af\u5883\u4f24\u5bb3\u89e6\u53d1\u7684\u53d7\u4f24\u4e8b\u4ef6\uff09\u65f6\u65e0\u6548\u679c\u3002", "mishap.hexautomata.out_event": "\u4f60\u5728\u91cf\u5b50\u6d77\u6d0b\u4e2d\u8ff7\u5931\u4e86\u3002", "hexautomata.book.reactive_focus.intro": "\u6211\u627e\u5230\u4e00\u4e2a\u65b9\u6cd5 - \u901a\u8fc7\u4e00\u4e2a\u56fa\u5b9a\u7684\u6751\u6c11\u610f\u8bc6\u7684\u667a\u80fd\uff0c\u4f50\u4ee5\u6e90\u81ea\u91ce\u751f\u751f\u7269\u7684$(thing)\"\u6982\u5ff5\"/$ - \u521b\u9020\u4e00\u7c7b\u7279\u522b\u7684\u65bd\u6cd5\u7269\u54c1\uff1a$(thing)\u53cd\u5e94\u6838\u5fc3/$\u3002$(br)\u8fd9\u4e9b\u6cd5\u672f\u5bb9\u5668\u5728\u8bfb\u5199\u65f6\u4e0e\u666e\u901a\u6838\u5fc3\u65e0\u5f02\uff0c\u4f46\u5b83\u4eec\u5bb9\u7eb3\u7684\u6cd5\u672f\u4f1a\u5728\u7279\u5b9a\u60c5\u5f62\u4e0b\u89e6\u53d1\uff0c\u5e76\u4ece\u6211\u8eab\u4e0a\u76f4\u63a5\u62bd\u53d6\u5a92\u8d28\u4ee5\u65bd\u6cd5\u3002", "hexautomata.book.reactive_focus.2": "\u6bcf\u7c7b$(thing)\u53cd\u5e94\u6838\u5fc3/$\u5728\u89e6\u53d1\u65f6\u4e5f\u4f1a\u53d1\u9001 iota \u81f3\u6cd5\u672f\u7684\u521d\u59cb\u6808\uff0c\u5176\u4e2d\u901a\u5e38\u4ee5\u89e6\u53d1\u8005\u5b9e\u4f53\u4f5c\u4e3a\u6808\u5185\u9996\u4e2a\u5143\u7d20\u3002$(br)\u53e6\u5916\uff0c\u57fa\u4e8e\u6211\u548c\u89e6\u53d1$(thing)\u53cd\u5e94\u6838\u5fc3/$\u8005\u4e4b\u95f4\u7684$(thing)\u91cf\u5b50\u5a92\u8d28\u7ea0\u7f20/$\u6548\u5e94\uff0c\u5185\u90e8\u6cd5\u672f\u5728\u89e6\u53d1\u8005\u5468\u56f4\u4f1a\u6709\u4e00\u5c0f\u5757\u989d\u5916\u7684\u65bd\u6cd5\u8303\u56f4\u3002$(o)\u592a\u4fbf\u5229\u4e86 :)/$", "hexautomata.book.reactive_focus.patterns.title": "\u53cd\u5e94\u6838\u5fc3\u5185\u7684\u6cd5\u672f", "hexautomata.book.reactive_focus.patterns.intro": "\u5229\u7528\u6211\u548c\u89e6\u53d1\u8005\u4e4b\u95f4\u7684$(thing)\u91cf\u5b50\u5a92\u8d28\u7ea0\u7f20/$\u6548\u5e94\uff0c\u5728$(thing)\u53cd\u5e94\u6838\u5fc3/$\u89e6\u53d1\u4e8b\u4ef6\u5185\u53ef\u4ee5\u65bd\u5c55\u4e00\u4e9b\u72ec\u7279\u7684\u64cd\u4f5c\u3002$(br)\u4f46\u662f\uff0c\u6211\u6709\u4e00\u79cd\u9884\u611f\uff0c\u5982\u679c\u6211\u5728$(o)$(thing)\u6838\u5fc3/$\u5916\u65bd\u653e\u4e86\u8fd9\u4e9b\u6cd5\u672f\uff0c\u4f1a\u53d1\u751f\u4e00\u4e9b$(bold)\u5f88\u6050\u6016/$\u7684\u4e8b\u60c5\u3002", "hexautomata.book.reactive_focus.hurt": "\u5728\u6211\u53d7\u4f24\u65f6\u89e6\u53d1\uff0c\u521d\u59cbiota\u4e3a\u653b\u51fb\u8005\uff08\u53ef\u80fd\u4e3anull\uff09\u4e0e\u4f24\u5bb3\u6570\u503c\u3002", "hexautomata.book.reactive_focus.targeted": "\u5728\u654c\u4eba\u89c6\u6211\u4e3a\u76ee\u6807\u7684\u77ac\u95f4\u89e6\u53d1\uff0c\u521d\u59cbiota\u4e3a\u8be5\u654c\u4eba\u3002", "hexautomata.book.reactive_focus.shoot": "\u5728\u6211\u53d1\u5c04\u5f39\u5c04\u7269\uff08\u7bad\uff0c\u96ea\u7403\uff0c\u7b49\u7b49\uff09\u65f6\u89e6\u53d1\uff0c\u521d\u59cbiota\u4e3a\u5bf9\u5e94\u5f39\u5c04\u7269\u3002", "hexautomata.book.reactive_focus.projectile_hit": "\u5728\u6211\u53d1\u5c04\u7684\u5f39\u5c04\u7269\u51fb\u4e2d\u65f6\u89e6\u53d1\uff0c\u521d\u59cbiota\u67093\u4e2a\uff0c\u6309\u987a\u5e8f\u5206\u522b\u4e3a\u8be5\u5f39\u5c04\u7269\uff0c\u5176\u51fb\u4e2d\u5750\u6807\uff0c\u4e0e\u5b83\u51fb\u4e2d\u7684\u65b9\u5757\u5750\u6807\u6216\u5b9e\u4f53\u3002", "hexautomata.book.reactive_focus.melee_hit": "\u5728\u6211\u7528\u7a7a\u624b\u6216\u8fd1\u6218\u6b66\u5668\u653b\u51fb\u76ee\u6807\u65f6\u89e6\u53d1\uff0c\u521d\u59cbiota\u4e3a\u76ee\u6807\u5b9e\u4f53\u4e0e\u4f24\u5bb3\u6570\u503c\u3002", "hexautomata.book.reactive_focus.kill": "\u5728\u6211\u51fb\u6740\u67d0\u7269\u65f6\u89e6\u53d1\uff0c\u521d\u59cbiota\u4e3a\u6b63\u5728\u6b7b\u53bb\u7684\u76ee\u6807\u3002", "foo": "\u62d2\u7eddjson\u884c\u5c3e\u9017\u53f7"}
@@ -0,0 +1,6 @@
1
+ {
2
+ "parent": "minecraft:item/generated",
3
+ "textures": {
4
+ "layer1": "hexautomata:item/reactive_focus/active"
5
+ }
6
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "parent": "minecraft:item/generated",
3
+ "textures": {
4
+ "layer1": "hexautomata:item/reactive_focus/idle"
5
+ },
6
+ "overrides": [
7
+ {
8
+ "model": "hexautomata:item/reactive_focus/_active",
9
+ "predicate": {
10
+ "hexautomata:data": 1.0
11
+ }
12
+ }
13
+ ]
14
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "parent": "hexautomata:item/reactive_focus/_active",
3
+ "textures": {
4
+ "layer0": "hexautomata:item/reactive_focus/inner/red"
5
+ }
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "parent": "hexautomata:item/reactive_focus/_active",
3
+ "textures": {
4
+ "layer0": "hexautomata:item/reactive_focus/inner/purple"
5
+ }
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "parent": "hexautomata:item/reactive_focus/_active",
3
+ "textures": {
4
+ "layer0": "hexautomata:item/reactive_focus/inner/orange"
5
+ }
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "parent": "hexautomata:item/reactive_focus/_active",
3
+ "textures": {
4
+ "layer0": "hexautomata:item/reactive_focus/inner/green"
5
+ }
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "parent": "hexautomata:item/reactive_focus/_active",
3
+ "textures": {
4
+ "layer0": "hexautomata:item/reactive_focus/inner/yellow"
5
+ }
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "parent": "hexautomata:item/reactive_focus/_active",
3
+ "textures": {
4
+ "layer0": "hexautomata:item/reactive_focus/inner/blue"
5
+ }
6
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "parent": "hexautomata:item/reactive_focus/idle/hurt",
3
+ "overrides": [
4
+ {
5
+ "model": "hexautomata:item/reactive_focus/active/hurt",
6
+ "predicate": {
7
+ "hexautomata:data": 1.0
8
+ }
9
+ }
10
+ ]
11
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "parent": "hexautomata:item/reactive_focus/_idle",
3
+ "textures": {
4
+ "layer0": "hexautomata:item/reactive_focus/inner/red"
5
+ }
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "parent": "hexautomata:item/reactive_focus/_idle",
3
+ "textures": {
4
+ "layer0": "hexautomata:item/reactive_focus/inner/purple"
5
+ }
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "parent": "hexautomata:item/reactive_focus/_idle",
3
+ "textures": {
4
+ "layer0": "hexautomata:item/reactive_focus/inner/orange"
5
+ }
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "parent": "hexautomata:item/reactive_focus/_idle",
3
+ "textures": {
4
+ "layer0": "hexautomata:item/reactive_focus/inner/green"
5
+ }
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "parent": "hexautomata:item/reactive_focus/_idle",
3
+ "textures": {
4
+ "layer0": "hexautomata:item/reactive_focus/inner/yellow"
5
+ }
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "parent": "hexautomata:item/reactive_focus/_idle",
3
+ "textures": {
4
+ "layer0": "hexautomata:item/reactive_focus/inner/blue"
5
+ }
6
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "parent": "hexautomata:item/reactive_focus/idle/kill",
3
+ "overrides": [
4
+ {
5
+ "model": "hexautomata:item/reactive_focus/active/kill",
6
+ "predicate": {
7
+ "hexautomata:data": 1.0
8
+ }
9
+ }
10
+ ]
11
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "parent": "hexautomata:item/reactive_focus/idle/melee_hit",
3
+ "overrides": [
4
+ {
5
+ "model": "hexautomata:item/reactive_focus/active/melee_hit",
6
+ "predicate": {
7
+ "hexautomata:data": 1.0
8
+ }
9
+ }
10
+ ]
11
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "parent": "hexautomata:item/reactive_focus/idle/projectile_hit",
3
+ "overrides": [
4
+ {
5
+ "model": "hexautomata:item/reactive_focus/active/projectile_hit",
6
+ "predicate": {
7
+ "hexautomata:data": 1.0
8
+ }
9
+ }
10
+ ]
11
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "parent": "hexautomata:item/reactive_focus/idle/shoot",
3
+ "overrides": [
4
+ {
5
+ "model": "hexautomata:item/reactive_focus/active/shoot",
6
+ "predicate": {
7
+ "hexautomata:data": 1.0
8
+ }
9
+ }
10
+ ]
11
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "parent": "hexautomata:item/reactive_focus/idle/targeted",
3
+ "overrides": [
4
+ {
5
+ "model": "hexautomata:item/reactive_focus/active/targeted",
6
+ "predicate": {
7
+ "hexautomata:data": 1.0
8
+ }
9
+ }
10
+ ]
11
+ }
@@ -0,0 +1,41 @@
1
+ {
2
+ "name": "item.hexautomata.reactive_focus",
3
+ "category": "hexcasting:greatwork",
4
+ "icon": "hexautomata:reactive_focus/hurt",
5
+ "advancement": "hexcasting:enlightenment",
6
+ "entry_color": "54398a",
7
+ "pages": [
8
+ "hexautomata.book.reactive_focus.intro",
9
+ "hexautomata.book.reactive_focus.2",
10
+ {
11
+ "type": "hexcasting:brainsweep",
12
+ "recipe": "hexautomata:brainsweep/reactive_focus/hurt",
13
+ "text": "hexautomata.book.reactive_focus.hurt"
14
+ },
15
+ {
16
+ "type": "hexcasting:brainsweep",
17
+ "recipe": "hexautomata:brainsweep/reactive_focus/targeted",
18
+ "text": "hexautomata.book.reactive_focus.targeted"
19
+ },
20
+ {
21
+ "type": "hexcasting:brainsweep",
22
+ "recipe": "hexautomata:brainsweep/reactive_focus/shoot",
23
+ "text": "hexautomata.book.reactive_focus.shoot"
24
+ },
25
+ {
26
+ "type": "hexcasting:brainsweep",
27
+ "recipe": "hexautomata:brainsweep/reactive_focus/projectile_hit",
28
+ "text": "hexautomata.book.reactive_focus.projectile_hit"
29
+ },
30
+ {
31
+ "type": "hexcasting:brainsweep",
32
+ "recipe": "hexautomata:brainsweep/reactive_focus/melee_hit",
33
+ "text": "hexautomata.book.reactive_focus.melee_hit"
34
+ },
35
+ {
36
+ "type": "hexcasting:brainsweep",
37
+ "recipe": "hexautomata:brainsweep/reactive_focus/kill",
38
+ "text": "hexautomata.book.reactive_focus.kill"
39
+ }
40
+ ]
41
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "hexautomata.book.reactive_focus.patterns.title",
3
+ "category": "hexcasting:greatwork",
4
+ "icon": "hexcasting:scroll",
5
+ "advancement": "hexcasting:enlightenment",
6
+ "entry_color": "54398a",
7
+ "pages": [
8
+ "hexautomata.book.reactive_focus.patterns.intro",
9
+ {
10
+ "type": "hexcasting:pattern",
11
+ "op_id": "hexautomata:quantum_swap",
12
+ "anchor": "hexautomata:quantum_swap",
13
+ "input": "",
14
+ "output": "",
15
+ "text": "book.descrip.hexautomata:quantum_swap"
16
+ }
17
+ ]
18
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "type": "hexcasting:brainsweep",
3
+ "blockIn": {
4
+ "type": "block",
5
+ "block": "hexcasting:akashic_record"
6
+ },
7
+ "cost": 1000000,
8
+ "entityIn": {
9
+ "type": "entity_type",
10
+ "entityType": "evoker"
11
+ },
12
+ "result": {
13
+ "name": "hexautomata:reactive_focus/hurt"
14
+ }
15
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "type": "hexcasting:brainsweep",
3
+ "blockIn": {
4
+ "type": "block",
5
+ "block": "hexcasting:akashic_record"
6
+ },
7
+ "cost": 1000000,
8
+ "entityIn": {
9
+ "type": "entity_type",
10
+ "entityType": "zombie_villager"
11
+ },
12
+ "result": {
13
+ "name": "hexautomata:reactive_focus/kill"
14
+ }
15
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "type": "hexcasting:brainsweep",
3
+ "blockIn": {
4
+ "type": "block",
5
+ "block": "hexcasting:akashic_record"
6
+ },
7
+ "cost": 1000000,
8
+ "entityIn": {
9
+ "type": "entity_type",
10
+ "entityType": "vindicator"
11
+ },
12
+ "result": {
13
+ "name": "hexautomata:reactive_focus/melee_hit"
14
+ }
15
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "type": "hexcasting:brainsweep",
3
+ "blockIn": {
4
+ "type": "block",
5
+ "block": "hexcasting:akashic_record"
6
+ },
7
+ "cost": 1000000,
8
+ "entityIn": {
9
+ "type": "entity_type",
10
+ "entityType": "shulker"
11
+ },
12
+ "result": {
13
+ "name": "hexautomata:reactive_focus/projectile_hit"
14
+ }
15
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "type": "hexcasting:brainsweep",
3
+ "blockIn": {
4
+ "type": "block",
5
+ "block": "hexcasting:akashic_record"
6
+ },
7
+ "cost": 1000000,
8
+ "entityIn": {
9
+ "type": "entity_type",
10
+ "entityType": "elder_guardian"
11
+ },
12
+ "result": {
13
+ "name": "hexautomata:reactive_focus/shoot"
14
+ }
15
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "type": "hexcasting:brainsweep",
3
+ "blockIn": {
4
+ "type": "block",
5
+ "block": "hexcasting:akashic_record"
6
+ },
7
+ "cost": 1000000,
8
+ "entityIn": {
9
+ "type": "entity_type",
10
+ "entityType": "enderman"
11
+ },
12
+ "result": {
13
+ "name": "hexautomata:reactive_focus/targeted"
14
+ }
15
+ }
@@ -0,0 +1 @@
1
+ {"book_url":"https://yukkuric.github.io/HexAutomata/v/0.1/1.0/en_us","asset_url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64","textures":{"PNGTexture":{"hexautomata:textures/item/reactive_focus/idle.png":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/common/src/main/resources/assets/hexautomata/textures/item/reactive_focus/idle.png","pixelated":true},"hexautomata:textures/item/reactive_focus/active.png":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/common/src/main/resources/assets/hexautomata/textures/item/reactive_focus/active.png","pixelated":true},"hexautomata:textures/item/reactive_focus/inner/orange.png":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/common/src/main/resources/assets/hexautomata/textures/item/reactive_focus/inner/orange.png","pixelated":true},"hexautomata:textures/item/reactive_focus/inner/yellow.png":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/common/src/main/resources/assets/hexautomata/textures/item/reactive_focus/inner/yellow.png","pixelated":true},"hexautomata:textures/item/reactive_focus/inner/red.png":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/common/src/main/resources/assets/hexautomata/textures/item/reactive_focus/inner/red.png","pixelated":true},"hexautomata:textures/item/reactive_focus/inner/purple.png":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/common/src/main/resources/assets/hexautomata/textures/item/reactive_focus/inner/purple.png","pixelated":true},"hexautomata:textures/item/reactive_focus/inner/blue.png":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/common/src/main/resources/assets/hexautomata/textures/item/reactive_focus/inner/blue.png","pixelated":true},"hexautomata:textures/item/reactive_focus/inner/green.png":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/common/src/main/resources/assets/hexautomata/textures/item/reactive_focus/inner/green.png","pixelated":true},"minecraft:textures/entities/evoker.png":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/doc/resources/assets/minecraft/textures/entities/evoker.png","pixelated":true},"minecraft:textures/entities/enderman.png":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/doc/resources/assets/minecraft/textures/entities/enderman.png","pixelated":true},"minecraft:textures/entities/zombie_villager.png":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/doc/resources/assets/minecraft/textures/entities/zombie_villager.png","pixelated":true},"minecraft:textures/entities/vindicator.png":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/doc/resources/assets/minecraft/textures/entities/vindicator.png","pixelated":true},"minecraft:textures/entities/shulker.png":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/doc/resources/assets/minecraft/textures/entities/shulker.png","pixelated":true},"minecraft:textures/entities/elder_guardian.png":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/doc/resources/assets/minecraft/textures/entities/elder_guardian.png","pixelated":true}},"SingleItemTexture":{"hexautomata:reactive_focus/shoot":{"inner":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/common/src/main/resources/assets/hexautomata/textures/item/reactive_focus/inner/yellow.png","pixelated":true}},"hexautomata:reactive_focus/kill":{"inner":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/common/src/main/resources/assets/hexautomata/textures/item/reactive_focus/inner/purple.png","pixelated":true}},"hexautomata:reactive_focus/hurt":{"inner":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/common/src/main/resources/assets/hexautomata/textures/item/reactive_focus/inner/red.png","pixelated":true}},"hexautomata:reactive_focus/_active":{"inner":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/common/src/main/resources/assets/hexautomata/textures/item/reactive_focus/active.png","pixelated":true}},"hexautomata:reactive_focus/_idle":{"inner":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/common/src/main/resources/assets/hexautomata/textures/item/reactive_focus/active.png","pixelated":true}},"hexautomata:reactive_focus/melee_hit":{"inner":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/common/src/main/resources/assets/hexautomata/textures/item/reactive_focus/inner/orange.png","pixelated":true}},"hexautomata:reactive_focus/targeted":{"inner":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/common/src/main/resources/assets/hexautomata/textures/item/reactive_focus/inner/blue.png","pixelated":true}},"hexautomata:reactive_focus/projectile_hit":{"inner":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/common/src/main/resources/assets/hexautomata/textures/item/reactive_focus/inner/green.png","pixelated":true}},"hexautomata:reactive_focus/active/shoot":{"inner":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/common/src/main/resources/assets/hexautomata/textures/item/reactive_focus/inner/yellow.png","pixelated":true}},"hexautomata:reactive_focus/active/kill":{"inner":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/common/src/main/resources/assets/hexautomata/textures/item/reactive_focus/inner/purple.png","pixelated":true}},"hexautomata:reactive_focus/active/hurt":{"inner":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/common/src/main/resources/assets/hexautomata/textures/item/reactive_focus/inner/red.png","pixelated":true}},"hexautomata:reactive_focus/active/melee_hit":{"inner":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/common/src/main/resources/assets/hexautomata/textures/item/reactive_focus/inner/orange.png","pixelated":true}},"hexautomata:reactive_focus/active/targeted":{"inner":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/common/src/main/resources/assets/hexautomata/textures/item/reactive_focus/inner/blue.png","pixelated":true}},"hexautomata:reactive_focus/active/projectile_hit":{"inner":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/common/src/main/resources/assets/hexautomata/textures/item/reactive_focus/inner/green.png","pixelated":true}},"hexautomata:reactive_focus/idle/shoot":{"inner":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/common/src/main/resources/assets/hexautomata/textures/item/reactive_focus/inner/yellow.png","pixelated":true}},"hexautomata:reactive_focus/idle/kill":{"inner":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/common/src/main/resources/assets/hexautomata/textures/item/reactive_focus/inner/purple.png","pixelated":true}},"hexautomata:reactive_focus/idle/hurt":{"inner":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/common/src/main/resources/assets/hexautomata/textures/item/reactive_focus/inner/red.png","pixelated":true}},"hexautomata:reactive_focus/idle/melee_hit":{"inner":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/common/src/main/resources/assets/hexautomata/textures/item/reactive_focus/inner/orange.png","pixelated":true}},"hexautomata:reactive_focus/idle/targeted":{"inner":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/common/src/main/resources/assets/hexautomata/textures/item/reactive_focus/inner/blue.png","pixelated":true}},"hexautomata:reactive_focus/idle/projectile_hit":{"inner":{"url":"https://raw.githubusercontent.com/YukkuriC/HexAutomata/51811e076681ad0d276eda2c528e49ab8d7e7d64/common/src/main/resources/assets/hexautomata/textures/item/reactive_focus/inner/green.png","pixelated":true}}}}}
@@ -0,0 +1 @@
1
+ {"patterns":[{"startdir":"NORTH_WEST","signature":"aqaedwaqded","id":"hexautomata:quantum_swap"}]}
@@ -0,0 +1,76 @@
1
+ from importlib.resources import Package
2
+ from typing_extensions import override
3
+
4
+ from hexdoc.plugin import (
5
+ HookReturn,
6
+ ModPlugin,
7
+ ModPluginImpl,
8
+ ModPluginWithBook,
9
+ hookimpl,
10
+ )
11
+
12
+ import hexdoc_hexautomata
13
+
14
+ from .__gradle_version__ import FULL_VERSION, GRADLE_VERSION
15
+ from .__version__ import PY_VERSION
16
+
17
+
18
+ class HexAutomataPlugin(ModPluginImpl):
19
+ @staticmethod
20
+ @hookimpl
21
+ def hexdoc_mod_plugin(branch: str) -> ModPlugin:
22
+ # monkey-patch item texture
23
+ def add_texture1(func):
24
+ def inner(self, loader, gaslighting_items, checked_overrides=None):
25
+ res = func(self, loader, gaslighting_items, checked_overrides)
26
+ if not res:
27
+ layer1 = None
28
+ if self.textures:
29
+ layer1 = self.textures.get("layer1")
30
+ if layer1:
31
+ texture_id = "textures" / layer1 + ".png"
32
+ return "texture", texture_id
33
+ return res
34
+
35
+ return inner
36
+
37
+ from hexdoc.minecraft.assets.models import ModelItem
38
+
39
+ ModelItem.find_texture = add_texture1(ModelItem.find_texture)
40
+
41
+ return HexAutomataModPlugin(branch=branch)
42
+
43
+
44
+ class HexAutomataModPlugin(ModPluginWithBook):
45
+ @property
46
+ @override
47
+ def modid(self) -> str:
48
+ return "hexautomata"
49
+
50
+ @property
51
+ @override
52
+ def full_version(self) -> str:
53
+ return FULL_VERSION
54
+
55
+ @property
56
+ @override
57
+ def mod_version(self) -> str:
58
+ return GRADLE_VERSION
59
+
60
+ @property
61
+ @override
62
+ def plugin_version(self) -> str:
63
+ return PY_VERSION
64
+
65
+ @override
66
+ def resource_dirs(self) -> HookReturn[Package]:
67
+ # lazy import because generated may not exist when this file is loaded
68
+ # eg. when generating the contents of generated
69
+ # so we only want to import it if we actually need it
70
+ from ._export import generated
71
+
72
+ return generated
73
+
74
+ @override
75
+ def jinja_template_root(self) -> tuple[Package, str]:
76
+ return hexdoc_hexautomata, "_templates"
@@ -0,0 +1,2 @@
1
+ # You can add custom Jinja templates here.
2
+ # This can be used for customizing your CSS styles, adding new page types, etc.
@@ -0,0 +1,18 @@
1
+ # Done to increase the memory available to Gradle.
2
+ org.gradle.jvmargs=-Xmx2G
3
+ org.gradle.parallel=true
4
+ # Mod properties
5
+ mod_version_base=0.1
6
+ mod_version=DYNAMIC
7
+ maven_group=io.yukkuric
8
+ archives_name=HexAutomata
9
+ enabled_platforms=fabric,forge
10
+ # Minecraft properties
11
+ minecraft_version=1.20.1
12
+ # Dependencies
13
+ fabric_loader_version=0.16.10
14
+ fabric_api_version=0.92.6+1.20.1
15
+ forge_version=1.20.1-47.2.0
16
+
17
+ # hex
18
+ hexcastingVersion=0.11.3
@@ -0,0 +1,131 @@
1
+ [build-system]
2
+ requires = [
3
+ "hatchling",
4
+ "hatch-gradle-version>=0.9.8",
5
+ ]
6
+ build-backend = "hatchling.build"
7
+
8
+ # project metadata
9
+
10
+ [project]
11
+ name = "hexdoc-hexautomata"
12
+ description = "Provides items with ability listening to various game events and triggering custom spells."
13
+ readme = "doc/README.md"
14
+ authors = [
15
+ { name="YukkuriC" },
16
+ ]
17
+ keywords = ["hexdoc"]
18
+ requires-python = ">=3.12"
19
+ dynamic = ["version", "dependencies", "optional-dependencies"]
20
+
21
+ [project.urls]
22
+ Homepage = "https://yukkuric.github.io/HexAutomata"
23
+ Source = "https://github.com/YukkuriC/HexAutomata"
24
+
25
+ # project version
26
+
27
+ [tool.hatch.version]
28
+ scheme = "gradle"
29
+ source = "gradle-properties"
30
+ py-path = "doc/src/hexdoc_hexautomata/__version__.py"
31
+ key = "mod_version_base"
32
+
33
+ # Python dependencies
34
+
35
+ # required
36
+ [tool.hatch.metadata.hooks.gradle-properties]
37
+ dependencies = [
38
+ { package="hexdoc-hexcasting", op="~=", py-version="1.0", key="hexcastingVersion" },
39
+ ]
40
+
41
+ # dev-only
42
+ [dependency-groups]
43
+ dev = [
44
+ "ruff",
45
+ ]
46
+
47
+ # directory inclusion
48
+
49
+ [tool.hatch.build]
50
+ only-include = [
51
+ "doc/src/hexdoc_hexautomata",
52
+ "gradle.properties",
53
+ ]
54
+ artifacts = [
55
+ "/doc/src/hexdoc_hexautomata/_export/generated",
56
+ "/doc/src/hexdoc_hexautomata/__gradle_version__.py",
57
+ ]
58
+
59
+ [tool.hatch.build.targets.wheel]
60
+ sources = ["doc/src"]
61
+
62
+ # hexdoc entry points
63
+
64
+ [project.entry-points.hexdoc]
65
+ hexautomata = "hexdoc_hexautomata._hooks:HexAutomataPlugin"
66
+
67
+ # linting
68
+
69
+ [tool.pyright]
70
+ pythonVersion = "3.12"
71
+ pythonPlatform = "All"
72
+
73
+ include = ["doc/src"]
74
+ extraPaths = ["doc/src"]
75
+
76
+ typeCheckingMode = "standard"
77
+
78
+ strictDictionaryInference = true
79
+ strictListInference = true
80
+ strictSetInference = true
81
+
82
+ reportConstantRedefinition = "error"
83
+ reportIncompleteStub = "error"
84
+ reportInconsistentConstructor = "error"
85
+ reportInvalidStubStatement = "error"
86
+
87
+ reportDeprecated = "warning"
88
+ reportDuplicateImport = "warning"
89
+ reportMatchNotExhaustive = "warning"
90
+ reportMissingParameterType = "warning"
91
+ reportMissingTypeArgument = "warning"
92
+ reportMissingTypeStubs = "warning"
93
+ reportPrivateUsage = "warning"
94
+ reportTypeCommentUsage = "warning"
95
+ reportUnknownArgumentType = "warning"
96
+ reportUnknownLambdaType = "warning"
97
+ reportUnknownMemberType = "warning"
98
+ reportUnknownParameterType = "warning"
99
+ reportUnknownVariableType = "warning"
100
+ reportUnnecessaryCast = "warning"
101
+ reportUnnecessaryComparison = "warning"
102
+ reportUnnecessaryContains = "warning"
103
+ reportUnnecessaryIsInstance = "warning"
104
+ reportUntypedBaseClass = "warning"
105
+ reportUntypedClassDecorator = "warning"
106
+ reportUntypedFunctionDecorator = "warning"
107
+ reportUntypedNamedTuple = "warning"
108
+ reportUnusedClass = "warning"
109
+ reportUnusedExpression = "warning"
110
+ reportUnusedFunction = "warning"
111
+ reportUnusedImport = "warning"
112
+ reportUnusedVariable = "warning"
113
+
114
+ # mirror
115
+ # uv sync --index-strategy unsafe-best-match
116
+ [[tool.uv.index]]
117
+ name = "tencent"
118
+ url = "https://mirrors.cloud.tencent.com/pypi/simple/"
119
+ [[tool.uv.index]]
120
+ name = "aliyun"
121
+ url = "https://mirrors.aliyun.com/pypi/simple/"
122
+ [[tool.uv.index]]
123
+ name = "tuna"
124
+ url = "https://pypi.tuna.tsinghua.edu.cn/simple/"
125
+ [[tool.uv.index]]
126
+ name = "volces"
127
+ url = "https://mirrors.volces.com/pypi/simple/"
128
+
129
+ [[tool.uv.index]]
130
+ name = "default"
131
+ url = "https://files.pythonhosted.org/"