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.
- hexdoc_hexautomata-0.1.1.0/.gitignore +192 -0
- hexdoc_hexautomata-0.1.1.0/LICENSE.txt +21 -0
- hexdoc_hexautomata-0.1.1.0/PKG-INFO +73 -0
- hexdoc_hexautomata-0.1.1.0/doc/README.md +60 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/__gradle_version__.py +17 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/__init__.py +0 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/__version__.py +4 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/.gitignore +2 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/__init__.py +0 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/__init__.py +2 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/lang/en_us.flatten.json5 +1 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/lang/en_us.json +1 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/lang/zh_cn.json +1 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/_active.json +6 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/_idle.json +14 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/active/hurt.json +6 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/active/kill.json +6 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/active/melee_hit.json +6 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/active/projectile_hit.json +6 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/active/shoot.json +6 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/active/targeted.json +6 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/hurt.json +11 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/idle/hurt.json +6 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/idle/kill.json +6 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/idle/melee_hit.json +6 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/idle/projectile_hit.json +6 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/idle/shoot.json +6 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/idle/targeted.json +6 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/kill.json +11 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/melee_hit.json +11 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/projectile_hit.json +11 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/shoot.json +11 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/models/item/reactive_focus/targeted.json +11 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/textures/item/reactive_focus/active.png +0 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/textures/item/reactive_focus/idle.png +0 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/textures/item/reactive_focus/inner/blue.png +0 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/textures/item/reactive_focus/inner/green.png +0 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/textures/item/reactive_focus/inner/orange.png +0 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/textures/item/reactive_focus/inner/purple.png +0 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/textures/item/reactive_focus/inner/red.png +0 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/hexautomata/textures/item/reactive_focus/inner/yellow.png +0 -0
- 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
- 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
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/minecraft/textures/entities/elder_guardian.png +0 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/minecraft/textures/entities/enderman.png +0 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/minecraft/textures/entities/evoker.png +0 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/minecraft/textures/entities/shulker.png +0 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/minecraft/textures/entities/vindicator.png +0 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/assets/minecraft/textures/entities/zombie_villager.png +0 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/data/hexautomata/recipes/brainsweep/reactive_focus/hurt.json +15 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/data/hexautomata/recipes/brainsweep/reactive_focus/kill.json +15 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/data/hexautomata/recipes/brainsweep/reactive_focus/melee_hit.json +15 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/data/hexautomata/recipes/brainsweep/reactive_focus/projectile_hit.json +15 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/data/hexautomata/recipes/brainsweep/reactive_focus/shoot.json +15 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/data/hexautomata/recipes/brainsweep/reactive_focus/targeted.json +15 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/hexautomata.hexdoc.json +1 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/hexautomata.patterns.hexdoc.json +1 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_hooks.py +76 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_templates/__init__.py +2 -0
- hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/py.typed +0 -0
- hexdoc_hexautomata-0.1.1.0/gradle.properties +18 -0
- 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"
|
|
File without changes
|
|
File without changes
|
|
@@ -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"}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -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
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -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
|
+
}
|
hexdoc_hexautomata-0.1.1.0/doc/src/hexdoc_hexautomata/_export/generated/hexautomata.hexdoc.json
ADDED
|
@@ -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"
|
|
File without changes
|
|
@@ -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/"
|