hexdoc-fishcasting 0.1.3.2.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 (63) hide show
  1. hexdoc_fishcasting-0.1.3.2.1.0/.gitignore +286 -0
  2. hexdoc_fishcasting-0.1.3.2.1.0/LICENSE.txt +21 -0
  3. hexdoc_fishcasting-0.1.3.2.1.0/PKG-INFO +73 -0
  4. hexdoc_fishcasting-0.1.3.2.1.0/doc/README.md +60 -0
  5. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/__gradle_version__.py +34 -0
  6. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/__init__.py +0 -0
  7. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/__version__.py +4 -0
  8. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/.gitignore +2 -0
  9. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/__init__.py +0 -0
  10. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/__init__.py +2 -0
  11. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/fishcasting/lang/en_us.flatten.json5 +1 -0
  12. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/fishcasting/lang/en_us.json +1 -0
  13. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/fishcasting/textures/entity/tacklebox_chair.png +0 -0
  14. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/fishcasting/textures/gui/fishing/cast_bar_hexy.png +0 -0
  15. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/fishcasting/textures/items/blessed_focus_bobber.png +0 -0
  16. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/fishcasting/textures/items/blessed_focus_bobber_.png +0 -0
  17. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/fishcasting/textures/items/cursed.png +0 -0
  18. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/fishcasting/textures/items/fishy_fragment.png +0 -0
  19. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/fishcasting/textures/items/glass_shard.png +0 -0
  20. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/fishcasting/textures/items/hookless_fishing_hook.png +0 -0
  21. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/fishcasting/textures/items/loud_fishing_line.png +0 -0
  22. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/fishcasting/textures/items/message_in_a_bottle.png +0 -0
  23. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/fishcasting/textures/items/music_disc_returning_to_the_surface.png +0 -0
  24. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/fishcasting/textures/items/shepherds_casting_rod.png +0 -0
  25. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/fishcasting/textures/items/shepherds_casting_rod_cast.png +0 -0
  26. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/fishcasting/textures/items/tacklebox_chair.png +0 -0
  27. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/fishcasting/textures/items/unlucky_bait.png +0 -0
  28. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/fishcasting/textures/lore/newsletter.png +0 -0
  29. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/hexcasting/patchouli_books/thehexbook/en_us/categories/lore/fishlore.json +7 -0
  30. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/hexcasting/patchouli_books/thehexbook/en_us/entries/greatwork/fanciful_fishing.json +24 -0
  31. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/hexcasting/patchouli_books/thehexbook/en_us/entries/items/casting_rod.json +26 -0
  32. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/hexcasting/patchouli_books/thehexbook/en_us/entries/items/fishy_business.json +29 -0
  33. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/hexcasting/patchouli_books/thehexbook/en_us/entries/items/focus_bobber.json +18 -0
  34. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/hexcasting/patchouli_books/thehexbook/en_us/entries/lore/fishlore/newsletter.json +30 -0
  35. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/hexcasting/patchouli_books/thehexbook/en_us/entries/lore/fishlore/newsletter2.json +11 -0
  36. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/hexcasting/patchouli_books/thehexbook/en_us/entries/lore/fishlore/notes.json +20 -0
  37. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/hexcasting/patchouli_books/thehexbook/en_us/entries/lore/fishlore/notes2.json +10 -0
  38. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/hexcasting/patchouli_books/thehexbook/en_us/entries/patterns/fishing_patterns.json +63 -0
  39. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/tide/lang/en_us.json +1 -0
  40. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/tide/textures/entity/fishing_hook/hookless_fishing_hook.png +0 -0
  41. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/tide/textures/items/amethyst_fishing_bobber.png +0 -0
  42. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/tide/textures/items/amethyst_fishing_bobber_.png +0 -0
  43. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/tide/textures/items/crystal_fishing_rod.png +0 -0
  44. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/tide/textures/items/crystal_fishing_rod_cast.png +0 -0
  45. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/tide/textures/items/crystal_shrimp.png +0 -0
  46. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/assets/tide/textures/items/crystalline_carp.png +0 -0
  47. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/data/fishcasting/recipes/amethyst_focus_bobber.json +27 -0
  48. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/data/fishcasting/recipes/amethyst_from_shrimp.json +12 -0
  49. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/data/fishcasting/recipes/blessed_bobber_smithing.json +17 -0
  50. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/data/fishcasting/recipes/charged_amethyst_from_carp.json +11 -0
  51. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/data/fishcasting/recipes/charged_amethyst_from_shrimp_manual_only.json +20 -0
  52. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/data/fishcasting/recipes/crystal_casting_rod_smithing.json +17 -0
  53. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/data/fishcasting/recipes/shepherds_rod_smithing.json +17 -0
  54. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/fishcasting.hexdoc.json +1 -0
  55. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_export/generated/fishcasting.patterns.hexdoc.json +1 -0
  56. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_hooks.py +57 -0
  57. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_templates/__init__.py +2 -0
  58. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/_templates/pages/fishcasting/example.html.jinja +7 -0
  59. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/patchouli/__init__.py +0 -0
  60. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/patchouli/pages.py +7 -0
  61. hexdoc_fishcasting-0.1.3.2.1.0/doc/src/hexdoc_fishcasting/py.typed +0 -0
  62. hexdoc_fishcasting-0.1.3.2.1.0/gradle.properties +42 -0
  63. hexdoc_fishcasting-0.1.3.2.1.0/pyproject.toml +112 -0
@@ -0,0 +1,286 @@
1
+ # hexdoc
2
+
3
+ /_site/
4
+ __gradle_version__.py
5
+ .hexdoc*/
6
+
7
+ # Python
8
+
9
+ # Byte-compiled / optimized / DLL files
10
+ __pycache__/
11
+ *.py[cod]
12
+ *$py.class
13
+
14
+ # C extensions
15
+ *.so
16
+
17
+ # Distribution / packaging
18
+ .Python
19
+ build/
20
+ develop-eggs/
21
+ dist/
22
+ downloads/
23
+ eggs/
24
+ .eggs/
25
+ lib/
26
+ lib64/
27
+ parts/
28
+ sdist/
29
+ var/
30
+ wheels/
31
+ share/python-wheels/
32
+ *.egg-info/
33
+ .installed.cfg
34
+ *.egg
35
+ MANIFEST
36
+
37
+ # PyInstaller
38
+ # Usually these files are written by a python script from a template
39
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
40
+ *.manifest
41
+ *.spec
42
+
43
+ # Installer logs
44
+ pip-log.txt
45
+ pip-delete-this-directory.txt
46
+
47
+ # Unit test / coverage reports
48
+ htmlcov/
49
+ .tox/
50
+ .nox/
51
+ .coverage
52
+ .coverage.*
53
+ .cache
54
+ nosetests.xml
55
+ coverage.xml
56
+ *.cover
57
+ *.py,cover
58
+ .hypothesis/
59
+ .pytest_cache/
60
+ cover/
61
+
62
+ # Translations
63
+ *.mo
64
+ *.pot
65
+
66
+ # Django stuff:
67
+ *.log
68
+ local_settings.py
69
+ db.sqlite3
70
+ db.sqlite3-journal
71
+
72
+ # Flask stuff:
73
+ instance/
74
+ .webassets-cache
75
+
76
+ # Scrapy stuff:
77
+ .scrapy
78
+
79
+ # Sphinx documentation
80
+ docs/_build/
81
+
82
+ # PyBuilder
83
+ .pybuilder/
84
+ target/
85
+
86
+ # Jupyter Notebook
87
+ .ipynb_checkpoints
88
+
89
+ # IPython
90
+ profile_default/
91
+ ipython_config.py
92
+
93
+ # pyenv
94
+ # For a library or package, you might want to ignore these files since the code is
95
+ # intended to run in multiple environments; otherwise, check them in:
96
+ # .python-version
97
+
98
+ # pipenv
99
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
100
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
101
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
102
+ # install all needed dependencies.
103
+ #Pipfile.lock
104
+
105
+ # poetry
106
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
107
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
108
+ # commonly ignored for libraries.
109
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
110
+ #poetry.lock
111
+
112
+ # pdm
113
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
114
+ #pdm.lock
115
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
116
+ # in version control.
117
+ # https://pdm.fming.dev/#use-with-ide
118
+ .pdm.toml
119
+
120
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
121
+ __pypackages__/
122
+
123
+ # Celery stuff
124
+ celerybeat-schedule
125
+ celerybeat.pid
126
+
127
+ # SageMath parsed files
128
+ *.sage.py
129
+
130
+ # Environments
131
+ .env
132
+ .venv
133
+ env/
134
+ venv/
135
+ ENV/
136
+ env.bak/
137
+ venv.bak/
138
+
139
+ # Spyder project settings
140
+ .spyderproject
141
+ .spyproject
142
+
143
+ # Rope project settings
144
+ .ropeproject
145
+
146
+ # mkdocs documentation
147
+ /site
148
+
149
+ # mypy
150
+ .mypy_cache/
151
+ .dmypy.json
152
+ dmypy.json
153
+
154
+ # Pyre type checker
155
+ .pyre/
156
+
157
+ # pytype static type analyzer
158
+ .pytype/
159
+
160
+ # Cython debug symbols
161
+ cython_debug/
162
+
163
+ # User-specific stuff
164
+ .idea/
165
+
166
+ *.iml
167
+ *.ipr
168
+ *.iws
169
+
170
+ # IntelliJ
171
+ out/
172
+ # mpeltonen/sbt-idea plugin
173
+ .idea_modules/
174
+
175
+ # JIRA plugin
176
+ atlassian-ide-plugin.xml
177
+
178
+ # Compiled class file
179
+ *.class
180
+
181
+ # Log file
182
+ *.log
183
+
184
+ # BlueJ files
185
+ *.ctxt
186
+
187
+ # Package Files #
188
+ *.jar
189
+ *.war
190
+ *.nar
191
+ *.ear
192
+ *.zip
193
+ *.tar.gz
194
+ *.rar
195
+
196
+ # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
197
+ hs_err_pid*
198
+
199
+ *~
200
+
201
+ # temporary files which can be created if a process still has a handle open of a deleted file
202
+ .fuse_hidden*
203
+
204
+ # KDE directory preferences
205
+ .directory
206
+
207
+ # Linux trash folder which might appear on any partition or disk
208
+ .Trash-*
209
+
210
+ # .nfs files are created when an open file is removed but is still being accessed
211
+ .nfs*
212
+
213
+ # General
214
+ .DS_Store
215
+ .AppleDouble
216
+ .LSOverride
217
+
218
+ # Icon must end with two \r
219
+ Icon
220
+
221
+ # Thumbnails
222
+ ._*
223
+
224
+ # Files that might appear in the root of a volume
225
+ .DocumentRevisions-V100
226
+ .fseventsd
227
+ .Spotlight-V100
228
+ .TemporaryItems
229
+ .Trashes
230
+ .VolumeIcon.icns
231
+ .com.apple.timemachine.donotpresent
232
+
233
+ # Directories potentially created on remote AFP share
234
+ .AppleDB
235
+ .AppleDesktop
236
+ Network Trash Folder
237
+ Temporary Items
238
+ .apdisk
239
+
240
+ # Windows thumbnail cache files
241
+ Thumbs.db
242
+ Thumbs.db:encryptable
243
+ ehthumbs.db
244
+ ehthumbs_vista.db
245
+
246
+ # Dump file
247
+ *.stackdump
248
+
249
+ # Folder config file
250
+ [Dd]esktop.ini
251
+
252
+ # Recycle Bin used on file shares
253
+ $RECYCLE.BIN/
254
+
255
+ # Windows Installer files
256
+ *.cab
257
+ *.msi
258
+ *.msix
259
+ *.msm
260
+ *.msp
261
+
262
+ # Windows shortcuts
263
+ *.lnk
264
+
265
+ .gradle
266
+ build/
267
+
268
+ # Ignore Gradle GUI config
269
+ gradle-app.setting
270
+
271
+ # Cache of project
272
+ .gradletasknamecache
273
+
274
+ **/build/
275
+
276
+ # Common working directory
277
+ run/
278
+ runs/
279
+
280
+ # Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
281
+ !gradle-wrapper.jar
282
+
283
+ # 568369__cookiespolicy__returning-to-the-surface.wav
284
+ royaltyFree/
285
+ # antibloat maybe
286
+ common/src/main/resources/_bb/
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2026 hauveli
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-fishcasting
3
+ Version: 0.1.3.2.1.0
4
+ Summary: Fishcasting addon for Hex Casting.
5
+ Project-URL: Homepage, https://hauveli.github.io/fishcasting
6
+ Project-URL: Source, https://github.com/hauveli/fishcasting
7
+ Author: hauveli
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-fishcasting
15
+
16
+ Python web book docgen and [hexdoc](https://pypi.org/project/hexdoc) plugin for Fishcasting.
17
+
18
+ Fishcasting addon for Hex Casting.
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=hauveli/fishcasting
48
+ GITHUB_SHA=master
49
+ GITHUB_PAGES_URL=https://hauveli.github.io/fishcasting
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-fishcasting
2
+
3
+ Python web book docgen and [hexdoc](https://pypi.org/project/hexdoc) plugin for Fishcasting.
4
+
5
+ Fishcasting addon for Hex Casting.
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=hauveli/fishcasting
35
+ GITHUB_SHA=master
36
+ GITHUB_PAGES_URL=https://hauveli.github.io/fishcasting
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,34 @@
1
+ # This file is auto-generated by hatch-gradle-version. Do not edit.
2
+
3
+ GRADLE_VERSION = "0.1.3.2"
4
+ FULL_VERSION = "0.1.3.2.1.0"
5
+
6
+ ARCHITECTURY_VERSION = "13.0.2"
7
+ CC_VERSION = "15.0.140"
8
+ CREDITS = "hauveli, Hex Casting, Tide, HexOverpowered"
9
+ DESCRIPTION = "Fishy things. An addon for Hex Casting and Tide 2, adding some interoperability and other fun little things to hopefully improve your experience with the two."
10
+ FABRIC_LOADER_VERSION = "0.19.2"
11
+ FABRIC_VERSION = "0.116.12+1.21.1"
12
+ FORGE_LOADER_VERSION_RANGE = "[51,)"
13
+ FORGE_VERSION = "51.0.17"
14
+ GROUP = "hauveli"
15
+ HEXCASTING_VERSION = "0.11.3"
16
+ JAVA_VERSION = "21"
17
+ KOTLIN_FOR_FORGE_VERSION = "5.8.0"
18
+ KOTLIN_VERSION = "2.0.21"
19
+ LICENSE = "MIT"
20
+ MINECRAFT_VERSION = "1.21.1"
21
+ MINECRAFT_VERSION_RANGE = "[1.21, 1.21.1]"
22
+ MOD_AUTHOR = "hauveli"
23
+ MOD_ID = "fishcasting"
24
+ MOD_NAME = "Fishcasting"
25
+ NEO_FORM_VERSION = "1.21-20240613.152323"
26
+ NEOFORGE_LOADER_VERSION_RANGE = "[4,)"
27
+ NEOFORGE_VERSION = "21.1.230"
28
+ ORG_GRADLE_DAEMON = "false"
29
+ ORG_GRADLE_JVMARGS = "-Xmx3G"
30
+ PARCHMENT_MINECRAFT = "1.21"
31
+ PARCHMENT_VERSION = "2024.11.10"
32
+ PLATFORM = "neoforge"
33
+ TIDE_VERSION = "2.0.3"
34
+ VERSION = "0.1.3.2"
@@ -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.fishcasting.title": "Fishcasting Book", "hexdoc.fishcasting.description": "Fishcasting addon for Hex Casting."}
@@ -0,0 +1 @@
1
+ {"fishcasting.creative_tab.title": "Fishcasting", "item.fishcasting.shepherds_casting_rod": "Shepherd's Casting Rod", "item.fishcasting.blessed_focus_bobber": "Blessed Focus Bobber", "item.fishcasting.loud_fishing_line": "Loud Fishing Line", "item.fishcasting.loud_fishing_line.desc": "Pacifies creepers and phantoms", "item.fishcasting.hookless_fishing_hook": "Hookless Fishing Hook", "item.fishcasting.hookless_fishing_hook.desc": "Prevents entities from getting hooked", "item.fishcasting.unlucky_bait": "Unlucky Bait", "item.fishcasting.unlucky_bait.desc": "Prevents anything from nibbling or biting", "accessory.item.fishcasting.blessed_focus_bobber": "Blessed Bobber", "accessory.item.fishcasting.loud_fishing_line": "Loud Line", "accessory.item.fishcasting.hookless_fishing_hook": "Hookless Hook", "text.fishcasting.rod_tooltip.casting_bonus": "Usable as a staff", "text.fishcasting.rod_tooltip.casting_bonus.momentary": "Acts as a staff when used briefly", "text.fishcasting.rod_tooltip.casting_bonus.offhand": "Acts as a staff when held in off-hand", "text.fishcasting.rod_tooltip.shepherds_bonus": "Unbreakable", "text.fishcasting.bobber_tooltip.focus_bonus": "Can be written to as a Focus when held or cast", "text.fishcasting.bobber_tooltip.sound_bonus": "Plays sound when a fish bites", "text.fishcasting.bobber_tooltip.blessed_bonus": "Rarely catches loot from any category", "item.fishcasting.message_in_a_bottle": "Message in a Bottle", "item.fishcasting.music_disc_returning_to_the_surface": "Music Disc", "jukebox_song.fishcasting.returning_to_the_surface": "cookies+policy - Returning To The Surface", "entity.fishcasting.tacklebox_chair": "Tacklebox Chair", "item.fishcasting.tacklebox_chair": "Tacklebox Chair", "item.fishcasting.fishy_fragment": "Soggy Lore Fragment", "item.fishcasting.glass_shard": "Glass Shard", "entity.fishcasting.cursed": "Cursed", "item.fishcasting.cursed": "Cursed", "journal.description.fishcasting.cursed": "They seem to be possessed of some intelligence, but remain unable to do much with it due to their form. Perhaps if I could free them...", "hexcasting.action.fishcasting:bobber/from_owner": "Bobbert's Purification", "hexcasting.action.fishcasting:owner/from_bobber": "Trebbob's Purification", "hexcasting.action.fishcasting:catch/from_bobber": "Babs' Purification", "hexcasting.action.fishcasting:bobber/from_catch": "Bob's Purification", "hexcasting.action.fishcasting:fish/length": "PLACEHOLDER's Purification", "hexcasting.action.fishcasting:fish/rarity": "PLACEHOLDER's Purification", "fishcasting.book.fishing_patterns.title": "Fishing Patterns", "fishcasting.book.fishing_patterns.1": "I came across a soggy book in my travels written by a sage fisher who went by the name $(italic)'Babs'/$. While most of the text consists of the ramblings of a sailor, found within the pages were some mundane patterns for fishing. While I don't see myself fishing one way or the other, I must note these down. These would come in handy I ever decide to use a $(l:items/casting_rod#fishcasting:landing)$(thing)Casting Rod/$.", "fishcasting.book.fishing_patterns.bobber/from_owner": "Transforms a player on the stack into the bobber attached to their fishing pole (or $(l:casting/influences)$(thing)Null/$ if there isn't one). Costs about one $(l:items/amethyst)$(item)Amethyst Dust/$.", "fishcasting.book.fishing_patterns.owner/from_bobber": "Transforms a bobber on the stack into the player which cast it. Costs about one $(l:items/amethyst)$(item)Amethyst Shard/$.", "fishcasting.book.fishing_patterns.catch/from_bobber": "Transforms a bobber on the stack into the entity caught on its hook (or $(l:casting/influences)$(thing)Null/$ if there isn't one). Costs about one $(l:items/amethyst)$(item)Amethyst Shard/$.", "fishcasting.book.fishing_patterns.bobber/from_catch": "Transforms an entity on the stack into the bobber it is caught on (or $(l:casting/influences)$(thing)Null/$ if there isn't one). Costs about one $(l:items/amethyst)$(item)Charged Amethyst/$.", "fishcasting.book.fishing_patterns.fish/length": "Measure the length of the fish entity. Returns 0 if the entity could not be measured or was not a fish.", "fishcasting.book.fishing_patterns.fish/length_all_entities": "Compute the largest dimension of the entity. For a fish, this returns its $(t:Tide 2 provides fish as items and\nas entities with a length property\nindependent of the entity hitbox size)$(thing)length as measured by a fisher$().", "fishcasting.book.fishing_patterns.fish/length_forbidden": "Measure the length of the fish entity. Returns 0 if the entity could not be measured or was not a fish.$(br2)$(t:This page was added by the mod\nFishcasting. To disable it, please set the\nshowForbiddenPatchouliKnowledge field\nto false in the fishcasting config\nfishcasting.toml)[Fishcasting]$()", "fishcasting.book.fishing_patterns.fish/length_all_entities_forbidden": "Compute the largest dimension of the entity. For a fish, this returns its $(t:Tide 2 provides fish as items and\nas entities with a length property\nindependent of the entity hitbox size)$(thing)length as measured by a fisher$().$(br2)$(t:This page was added by the mod\nFishcasting. To disable it, please set the\nshowForbiddenPatchouliKnowledge field\nto false in the fishcasting config\nfishcasting.toml)[Fishcasting]$()", "hexcasting.mishap.bad_item.tide_fishing_hook": "Fishing Hook", "fishcasting.spelldata.fish.whoknows": "An unknown fish", "fishcasting.entry.casting_rod": "Casting Rods", "fishcasting.page.casting_rod.1": "At least something good came from these... $(italic)Fish/$casters. While it is doubtless useful if I would like to fish, a $(thing)Casting Rod/$ will serve me as well as any $(l:items/staff)$(thing)Staff/$.", "fishcasting.page.casting_rod.1.momentary": "At least something good came from these... $(italic)Fish/$casters. While it is doubtless useful if I would like to fish, a $(thing)Casting Rod/$ will serve me as well as any $(l:items/staff)$(thing)Staff/$ when swung gently.", "fishcasting.page.casting_rod.1.offhand_only": "At least something good came from these... $(italic)Fish/$casters. While it is doubtless useful if I would like to fish, a $(thing)Casting Rod/$ will serve me as well as any $(l:items/staff)$(thing)Staff/$ when I hold it in my non-dominant hand.", "fishcasting.page.casting_rod.smithing": "A construction similar to the $(l:items/staff)$(thing)Staves/$.", "fishcasting.entry.focus_bobber": "Focus Bobbers", "fishcasting.page.focus_bobber.1": "A truly remarkable invention for such a trite sport. A $(thing)Focus Bobber/$ not only extends my ambit by about an arms length from its origin, it also casts any stored hex within once I pull on it with enough force. This added range does not come for free however, as casting via the Focus Bobber costs $(l:items/amethyst)$(item)Amethyst Dust/$ equal to the square of the length of the vector from myself to the bobber.", "fishcasting.page.focus_bobber.crafting": "A construction similar to the $(l:items/focus)$(thing)Focus/$.", "fishcasting.entry.fishy_business": "Fishy Business", "fishcasting.page.fishy_business.1": "Some useful recipes to be certain, should I ever come across a fool foolish enough to part with these without knowing their true value as sources of _Media.", "fishcasting.page.fishy_business.crystal_shrimp.shard": "These $(thing)Crystal Shrimp$() do look quite delicious...", "fishcasting.page.fishy_business.crystal_shrimp.charged": "Especially when they're together like this...", "fishcasting.page.fishy_business.crystalline_carp": "This imposing $(thing)Crystalline Carp$() looks like it could channel media without any effort at all, if it had the brains to do so.", "fishcasting.entry.fanciful_fishing": "Fanciful Fishing", "fishcasting.page.fanciful_fishing.smithing": "A construction similar to the $(l:greatwork/fanciful_staves)$(thing)Fanciful Staves/$.", "fishcasting.page.fanciful_fishing.1": "Ha! That even that fisher should have gone to such lengths -- just in order to fish without pause... I shudder to imagine what over a week of non-stop fishing would do to my psyche. As different as this $(l:items/casting_rod#fishcasting:landing)$(thing)Casting Rod/$ may look, it offers me no additional benefits in my work aside from its durability, should I wish to cast using a $(l:items/focus_bobber)$(thing)Focus Bobber/$.", "fishcasting.page.fanciful_fishing.2": "Among the notes in the soggy book I've found one interesting passage I could not determine the meaning of. I have transcribed it here, since the original notes are not long for this world.$(br)$(italic)'An unremarkable blob of flesh Cursed to live, intelligent much like an /$$(l:greatwork/quenching_allays)$(thing)Allay/$$(italic), yet undying. I've tried nearly everything I could to carefully desynthesize it with no luck. Should I try evaporating it with a /$$(l:patterns/great_spells/weather_manip#hexcasting:lightning)$(thing)bolt/$$(italic) of /$_Media$(italic) next? No, I must keep it for my big fish collection.'/$ - Babs", "fishcasting.category.fishlore": "Fishcasting", "fishcasting.category.fishlore.desc": "Further, some texts vaguely related to some sort of figure in the \"Fishcasting\" society have surfaced... Literally.", "advancement.fishcasting:lore/newsletter": "Fishcasting: Newsletter #1", "fishcasting.entry.lore.newsletter": "Newsletter #1", "fishcasting.page.lore.newsletter.title": "Newsletter", "fishcasting.page.lore.newsletter.subtitle": "Day-three-way tie, usual champion still first", "fishcasting.page.lore.newsletter.1": "Opinions, Discussion 1.$(br2)$(#000000)Stay classy champ.$()$(#5520ff)$(br)One person knocking three people out of the top six spots. Cheating by exploiting loopholes as usual.$() $(#541e18)$(br)Imagine thinking its the same person just because they are wearing the same robes.$() $(#d3d3d3)$(br)It\u2019s probably one fishcaste's meme doing it though, judging by the robes being worn all being the same one.$(br)$(#596979)Next year is going to be my year, just watch.", "fishcasting.page.lore.newsletter.2": "Opinions, Discussion 2.$(br)$(#99622e)And that right there is why I while heartedly believe that the tournaments top three are either hexcasting, or rod sharing. Babs had a full three hundred point lead over second place in two days, and then the current second and third come out of nowhere to have over six hundred points each as well, matching Babs' score. Even my acquaintance who is spending between nine and twelve hours each day in there, fishing for nothing but $(l:items/fishy_business#fishcasting:carp)$(item)crystalline carp$()$(#99622e), isn't anywhere near those points$()", "fishcasting.page.lore.newsletter.3": "$(#491499)If you've taken part in any other tournaments with similar rankings you'd know that twelve hours is not nearly enough for a top rank.$()$(#10B383)$(br)Yeah for stuff like this you pretty much have to out-no life the no-lifers. Or have a group that you share a rod with.$()$(#99622e)$(br)Babs is a known and notorious griefer, i wouldn\u2019t put hexcasting past them.$()$(#095909)$(br)Regardless of what they're doing to get all their points, if someone appears on the leader boards out of nowhere it's because they didn't turn in the things they gathered until that day. Sounds to me like your friend isn't fishing optimally enough.$()", "fishcasting.page.lore.newsletter.4": "Opinions, Discussion 2. cont.$(br2)$(#090980)Six hundred ninety is nowhere even near the all-time top score, stop having such a kneejerk reaction. Most top fishers are pulling one hundred to two hundred a day. Take a look at the $(k)super secret$()$(#090980) leaderboards.$(br)This fisher was at nine hundred points that year, same time in the tournament. These are not terribly high scores for a good fisher.$(br)Is the champion hexcasting? I dont know, I dont care. But as another high-scorer I'm really $(k)fucking$()$(#090980) sick of being accused of hexcasting when there are other people with much higher scores. Most of us ultra high-scorers are spending fifteen to twenty one hours a day in $(k)place$()$(#090980).$()", "fishcasting.page.lore.newsletter.5": "$(#914149)$(k)Some people$()$(#914149) certainly are pulling monstrous numbers.$(br)$(#d3d3d3)I know people who are aiming to reach one thousand points just to say they did it.$(br)$(#)I hope The School looks at the people who are way above others. The disparity is too much to ignore.$(br)$(#99992e)Most people aren't giving a $(k)shit$()$(#99992e), there are only a handful of people seriously competing for a given tool. Think back to the great potato farming war if you need an example, which was essentially just between two people.$()", "fishcasting.page.lore.newsletter.6": "Opinions, Discussion 2.1.$(br2)$(#491499)I know the fishers, they've been spending every waking minute in the $(k)place$()$(#491499) and worked out optimal fishing methods for this year's contest on day one. They did the same stuff with the $(k)other$()$(#491499) contest, $(k)more$()$(#491499), etc. They grind themselves to the brink of exhaustion nonstop until it's done.$(br)$(#99622e)Just because you know the fishers doesn't mean you know whether they are hexcasting or not. Do you expect people to tell you \"yeah I'm hexcasting in $(k)place$()$(#99622e)\"?", "fishcasting.page.lore.newsletter.7": "$(#491499)Well they've shared their fishing method with me, and I've put it to good effect and I would have similar results if I put in nine plus hours a day fishing myself instead of three. Not to mention that \"hexcasting\" can't magically change your luck on reels.$(br)$(#99622e)what hexcasting or rod sharing can do, however, is allow you to essentially have a twenty-four hour uptime on fishing, not accounting for meal times, travel, and fish sensing something amiss. I know that those top three scores $(o)can$()$(#99622e) be one hundred percent legit, especially since were at the halfway point in the ranking period, but for people like my buddy, and others in my fishcaste, and even myself to drop more time than we spend at work just fishing, and still not come close to that? Seems more than a little fishy.$()", "fishcasting.page.lore.newsletter.8": "Opinions, Discussion 2.1. cont.$(#d3d3d3)$(br2)If they are fishing nine hours a day since the start, that\u2019s actually kinda low of a score. See scores on $(k)place$()$(#d3d3d3). It\u2019s obvious they didn\u2019t turn in all of their fish as they caught them but all at once for the meme laughs. There\u2019s lots of people farming potatoes too at over six hundred, jumping up three hundred or so points over a day.$()", "fishcasting.page.lore.newsletter.9": "$(#99622e)six hundred points in one day dude, are you really trying to justify that? Luck doesn't matter when you can do it for an extended time longer than any regular fisher can without repetitiveness breaking them. Either you're willingly defending hexcasters or you're naive and eat what they tell you.$(br)$(#105939)It's seven hundred over three days. Which is totally normal pace.$(br)$(#ee9e01)If you look at two of them, you can see their point gain in the last twenty four hours, which is indeed nearly seven hundred in one day. That said, as others mentioned they could be hold on to their catches over multiple days, in theory.$(br)$(#105939)Yeah, that isn't over one day, that's my point. My point is all fish handed in must be considered to be over the entire duration over the ranking period.", "fishcasting.page.lore.newsletter.10": "Opinions, Discussion 2.2.$(br)$(#009000)Fish may expire, but their point values do not expire. They've been fishing since the start, they just never turned in all the stuff until yesterday to get the triple tie. I have been sitting right next to them as they fished for the last few days chatting with them.$(br)$(#801010)I really don\u2019t think people realize the amount people can no life stuff like this especially with a lot of people on holiday right now. Like no-lifing fishing for eighteen hours a day isn\u2019t even unfeasible especially if you\u2019re only doing it for about a week.$(br)$(#009000)Seriously. I was on vacation for the $(k)silly$()$(#009000) competition and the fishcaste I was competing with put in eighteen hour days for a week straight, easily.$(br)$(#801010)Don\u2019t get me wrong I don\u2019t think can commit to that a type of play anymore but I\u2019ve seen way more ridiculous things than this from people who took part in the potato war.$(br)$(#009000)Oh for sure, there are definitely people who go way more hard in things.", "fishcasting.page.lore.newsletter.11": "$(#FF024e)The Ignorance is strong in this one.$(#004090)I've gotta say I agree, $(#99622e)\"Either you're willingly defending hexcasters or you're naive and eat what they tell you.\"$() $(#004090)You're either full of yourself or honestly don't realize that you may just be wrong. I don't know which would be worse.$(br)$(#99622e)Nah I think most people just don't realize how widespread hexcasting tools are, when even things like $(k)art$()$(#99622e) can be automated.$(br)$(#FF024e)Hexcasting isn't hard, it's the fact hexcasting for things like competitions is just straight up asking to get banned and I'm sure they will if that is the case. But the fact of the matter. The numbers aren't that ridiculous given the circumstances. I feel like you really just underestimate some of the types of people who compete in sports like this.$(br)$(#491499)Would you like them to give you a copy of their $()$(l:patterns/readwrite)$(thing)True Name$()$(#491499) themselves so you can spy on them fishing all day, for your approval? I don't know why you can't comprehend the possibility that some people competing have nothing else to do, and they don't get bored of fishing for hours on end.", "fishcasting.page.lore.newsletter.12": "Opinions, Discussion 2.3.$(br)$(#909090)I would love to know what their optimal method for catching $(l:items/fishy_business#fishcasting:carp)$(item)crystalline carp$()$(#909090) is. I've probably made ten trips to the lake and only $(o)caught$()$(#909090) one. Only gotten the indicatory bite like four times. Two I lost off the hook and one I dropped on land before it slipped back, and I was left furious.$(br)$(#491499)You'll need to be fishing way underground to catch any for this year's competition. I've typically found mine somewhere about half-way to bedrock.", "fishcasting.page.lore.newsletter.13": "Opinions, Discussion 3.$(br)$(#FF20FF)funny as $(k)fuck$()$(#FF20FF), but still all reasonable scores.$(br)$(#AA4020)I cannot help but respect this. That is diligence.$(br)$(#090999)I have Babs right across the cave from me right this moment so this made me chuckle.$(br)$(#000000)Make sure champs' doing alright, yeah? I worry for the little twerp.", "advancement.fishcasting:lore/notes": "Fishcasting: Notes #1", "fishcasting.entry.lore.notes": "Notes #1", "fishcasting.page.lore.notes.1": "Year $(k)6666$(), Day 1.$(br2)I'm going to be entering the competition again this year. It'll start tomorrow. As usual I will be using my trusty wooden fishing rod. The people telling me to upgrade my rod are out of their minds, my rod works perfectly fine. At least only total idiots would accuse somebody without a $(l:items/casting_rod#fishcasting:landing)$(thing)casting rod$() of hexcasting.", "fishcasting.page.lore.notes.2": "Year $(k)6666$(), Day 2.", "fishcasting.page.lore.notes.3": "Year $(k)6666$(), Day 3.", "fishcasting.page.lore.notes.4": "Year $(k)6666$(), Day 4.", "fishcasting.page.lore.notes.5": "Year $(k)6666$(), Day 5.", "fishcasting.page.lore.notes.6": "Year $(k)6666$(), Day 6.", "fishcasting.page.lore.notes.7": "Year $(k)6666$(), Day 7.", "fishcasting.page.lore.notes.8": "Year $(k)6666$(), Day 8.", "fishcasting.page.lore.notes.9": "Year $(k)6666$(), Day 9.", "fishcasting.page.lore.notes.10": "Year $(k)6666$(), Day 10.", "fishcasting.page.lore.notes.11": "Year $(k)6666$(), Day 11.$(br2)I neglected to step away from fishing to write in my diary again this year. I won, again. I passed out as soon as I handed in my last batch of fish, raising my final score to well over two thousand points, putting me at number 1 world-wide, again. My friends put in a modest effort, reaching over a thousand points each, getting them a shared sixty-ninth place. I don't think I'll be fishing next year.$(br)I'm going to go for a walk.", "advancement.fishcasting:lore/newsletter2": "Fishcasting: Newsletter #2", "fishcasting.entry.lore.newsletter2": "Newsletter #2", "fishcasting.page.lore.newsletter2.1": "Opinions, Discussion 1.$(br2)$(#596979)I finally did it! I beat Babs!$(br)$(#491499)Babs didn't take part in this year's competitions.$(br)$(#596979)What?", "fishcasting.page.lore.newsletter2.2": "Opinions, Discussion 2.$(br2)$(#99622e)Thank god that hexcaster didn't cheat this year too. I saw they had embezzled over a $(o)billion$()$(#99622e) emeralds from somebody using a hex just a few months ago, terrible person.$(br)$(#491499)If you mean the transaction mentioned in last month's newsletter, that article was satire.", "advancement.fishcasting:lore/notes2": "Fishcasting: Notes #2", "fishcasting.entry.lore.notes2": "Notes #2", "fishcasting.page.lore.notes2.1": "Year $(k)6667$(), Day 90.$(br2)I've moved, I no longer have a partner and I've decided to stop standing around while fishing for once. I think I'll pick up sailing. Maybe I'll even get that $(l:items/casting_rod#fishcasting:landing)$(thing)casting rod$() people had been nagging me about.$(br)If I'm going to be touching any of that stuff, I may as well do so wasted. I've got enough bottles to last me a lifetime, anyway. I'll just chuck the bottles out along with anything else I want to get rid of when I'm done.", "_comment_confg": "CONFIGURATION STUFF", "text.autoconfig.fishcasting.title": "Fishcasting Configuration", "text.autoconfig.fishcasting.category.gameplay": "Gameplay", "text.autoconfig.fishcasting.category.client": "Client", "text.autoconfig.fishcasting.option.gameplay.castingTicksToCast": "Casting Rod Hex charge ticks", "text.autoconfig.fishcasting.option.gameplay.castingTicksToCast.@Tooltip": "Specifies number of ticks until the purple is depleted when charging.", "text.autoconfig.fishcasting.option.gameplay.cooldownAfterFishing": "Casting Rod cooldown", "text.autoconfig.fishcasting.option.gameplay.cooldownAfterFishing.@Tooltip": "Specifies number of ticks after reeling in the hook until casting rods are usable again.", "text.autoconfig.fishcasting.option.gameplay.castingType": "Casting Rod cast method", "text.autoconfig.fishcasting.option.gameplay.castingType.@Tooltip": "Specifies whether casts are charged or not.", "text.autoconfig.fishcasting.option.gameplay.lengthPurificationOnlyFish": "Length Purification only applies to fish", "text.autoconfig.fishcasting.option.gameplay.lengthPurificationOnlyFish.@Tooltip": "Specifies if length purification works on all entities", "text.autoconfig.fishcasting.option.client.showForbiddenPatchouliKnowledge": "Show Length Purification in Entity entry of Hex Notebook", "text.autoconfig.fishcasting.option.client.showForbiddenPatchouliKnowledge.@Tooltip": "Not recommended for new players as it will be confusing and not beneficial. Leave this off if you are including it in a modpack. REQUIRES JSONPATCHER."}
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "fishcasting.category.fishlore",
3
+ "icon": "fishcasting:textures/items/message_in_a_bottle.png",
4
+ "description": "fishcasting.category.fishlore.desc",
5
+ "parent": "hexcasting:lore",
6
+ "sortnum": 999
7
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "fishcasting.entry.fanciful_fishing",
3
+ "category": "hexcasting:greatwork",
4
+ "icon": "fishcasting:textures/items/shepherds_casting_rod.png",
5
+ "sortnum": 66,
6
+ "advancement": "hexcasting:enlightenment",
7
+ "entry_color": "54398a",
8
+ "pages": [
9
+ {
10
+ "type": "patchouli:text",
11
+ "text": "fishcasting.page.fanciful_fishing.1"
12
+ },
13
+ {
14
+ "type": "patchouli:smithing",
15
+ "recipe": "fishcasting:shepherds_rod_smithing",
16
+ "recipe2": "fishcasting:blessed_bobber_smithing",
17
+ "text": "fishcasting.page.fanciful_fishing.smithing"
18
+ },
19
+ {
20
+ "type": "patchouli:text",
21
+ "text": "fishcasting.page.fanciful_fishing.2"
22
+ }
23
+ ]
24
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "name": "fishcasting.entry.casting_rod",
3
+ "category": "hexcasting:items",
4
+ "icon": "tide:textures/items/crystal_fishing_rod.png",
5
+ "sortnum": 66,
6
+ "advancement": "hexcasting:root",
7
+ "pages": [
8
+ {
9
+ "type": "patchouli:text",
10
+ "text": "fishcasting.page.casting_rod.1.momentary",
11
+ "flag": "fishcasting:momentary_casting",
12
+ "anchor": "fishcasting:landing"
13
+ },
14
+ {
15
+ "type": "patchouli:text",
16
+ "text": "fishcasting.page.casting_rod.1.offhand_only",
17
+ "flag": "!fishcasting:momentary_casting",
18
+ "anchor": "fishcasting:landing"
19
+ },
20
+ {
21
+ "type": "patchouli:smithing",
22
+ "recipe": "fishcasting:crystal_casting_rod_smithing",
23
+ "text": "fishcasting.page.casting_rod.smithing"
24
+ }
25
+ ]
26
+ }