|
1 | 1 | modid = "{{ cookiecutter.modid }}"
|
2 |
| -book = "hexcasting:thehexbook" |
| 2 | +book = "{{ cookiecutter.book_id }}" |
3 | 3 | default_lang = "en_us"
|
4 | 4 |
|
5 |
| -_export_root = "{{ cookiecutter.__export_root }}" |
6 | 5 | resource_dirs = [ # top takes priority
|
7 |
| - { path="{^_export_root}/resources", reexport=false }, |
| 6 | + "resources", |
8 | 7 | "{_common.src}/main/resources",
|
9 | 8 | "{_common.src}/generated/resources",
|
| 9 | + {% if cookiecutter.multiloader -%} |
10 | 10 | "{_fabric.src}/main/resources",
|
11 | 11 | "{_fabric.src}/generated/resources",
|
12 | 12 | "{_forge.src}/main/resources",
|
13 | 13 | "{_forge.src}/generated/resources",
|
| 14 | + {%- endif %} |
14 | 15 | { modid="hexcasting" },
|
| 16 | + { modid="hexdoc" }, |
15 | 17 | ]
|
16 |
| -export_dir = "{_export_root}/generated" |
| 18 | +export_dir = "{{ cookiecutter.__export_root }}/generated" |
17 | 19 |
|
18 |
| -{# beware of eldritch abombinations lurking beneath these waters -#} |
| 20 | +[extra.hexcasting] |
| 21 | +# regexes for parsing pattern registry files - try uncommenting a different one if your patterns aren't loading |
19 | 22 | # NOTE: "!Raw" means "don't apply variable interpolation to this value"
|
20 |
| -{% if cookiecutter.pattern_regex == "hex_latest" -%} |
21 |
| -_pattern_regex = { "!Raw"='make\(\s*"(?P<name>[a-zA-Z0-9_\/]+)",\s*(?:new )?(?:ActionRegistryEntry|OperationAction)\(\s*HexPattern\.fromAngles\(\s*"(?P<signature>[aqweds]+)",\s*HexDir.(?P<startdir>\w+)\)' } |
22 |
| -{% elif cookiecutter.pattern_regex == "hex_0.10.3" -%} |
23 |
| -_pattern_regex = { "!Raw"='HexPattern\.fromAngles\("(?P<signature>[qweasd]+)", HexDir\.(?P<startdir>\w+)\),\s*modLoc\("(?P<name>[^"]+)"\)[^;]+?(?:makeConstantOp|Op\w+|Widget\.\w+)(?:[^;]*(?P<is_per_world>true)\);)?' } |
24 |
| -{% elif cookiecutter.pattern_regex == "hexal_0.3.0" -%} |
25 |
| -_pattern_regex = { "!Raw"='make\(\s*"(?P<name>[a-zA-Z0-9_\/]+)",\s*HexPattern\.fromAngles\(\s*"(?P<signature>[aqweds]+)",\s*HexDir.(?P<startdir>\w+)\)' } |
26 |
| -{% elif cookiecutter.pattern_regex == "hexal_0.2.18" -%} |
27 |
| -{#- :yea: -#} |
28 |
| -_pattern_regex = { "!Raw"='(?s-m:HexPattern\.fromAngles\("(?P<signature>[qweasd]+)", HexDir\.(?P<startdir>\w+)\),\s*modLoc\("(?P<name>[^"]+)"\),[^,]+?(?:makeConstantOp|Op\w+).*?(?P<is_per_world>\btrue)?\)(?:[^\)]+?\bval\b|(?:(?!\bval\b)(?:.))+$))' } |
29 |
| -{% else %} |
30 |
| -{# intentionally crash the template because we got an unhandled value #} |
31 |
| -{{ 0/0 }} |
32 |
| -{% endif %} |
33 | 23 |
|
34 |
| -[[pattern_stubs]] |
35 |
| -path = "{^_common.package}/TODO/TODO.java" |
| 24 | +# Hex Casting (0.11.0) |
| 25 | +{{ "# " if cookiecutter.pattern_regex != "hex_latest" }}_pattern_regex = { "!Raw"='make\(\s*"(?P<name>[a-zA-Z0-9_\/]+)",\s*(?:new )?(?:ActionRegistryEntry|OperationAction)\(\s*HexPattern\.fromAngles\(\s*"(?P<signature>[aqweds]+)",\s*HexDir.(?P<startdir>\w+)\)' } |
| 26 | + |
| 27 | +# Hex Casting (0.10.3) |
| 28 | +{{ "# " if cookiecutter.pattern_regex != "hex_0.10.3" }}_pattern_regex = { "!Raw"='HexPattern\.fromAngles\("(?P<signature>[qweasd]+)", HexDir\.(?P<startdir>\w+)\),\s*modLoc\("(?P<name>[^"]+)"\)[^;]+?(?:makeConstantOp|Op\w+|Widget\.\w+)(?:[^;]*(?P<is_per_world>true)\);)?' } |
| 29 | + |
| 30 | +# Hexal (0.3.0) |
| 31 | +{{ "# " if cookiecutter.pattern_regex != "hexal_0.3.0" }}_pattern_regex = { "!Raw"='make\(\s*"(?P<name>[a-zA-Z0-9_\/]+)",\s*HexPattern\.fromAngles\(\s*"(?P<signature>[aqweds]+)",\s*HexDir.(?P<startdir>\w+)\)' } |
| 32 | + |
| 33 | +# Hexal (0.2.18) |
| 34 | +{{ "# " if cookiecutter.pattern_regex != "hexal_0.2.18" }}_pattern_regex = { "!Raw"='(?s-m:HexPattern\.fromAngles\("(?P<signature>[qweasd]+)", HexDir\.(?P<startdir>\w+)\),\s*modLoc\("(?P<name>[^"]+)"\),[^,]+?(?:makeConstantOp|Op\w+).*?(?P<is_per_world>\btrue)?\)(?:[^\)]+?\bval\b|(?:(?!\bval\b)(?:.))+$))' } |
| 35 | + |
| 36 | +[[extra.hexcasting.pattern_stubs]] |
| 37 | +path = "{^^^_common.package}/{{ cookiecutter.pattern_registry }}" |
36 | 38 | regex = "{^_pattern_regex}"
|
37 | 39 |
|
| 40 | +[minecraft_assets] |
| 41 | +# https://github.com/PrismarineJS/minecraft-assets/tree/83e2169afbbce40990d69fc53e5962e4a793d467/data/1.19.1 |
| 42 | +ref = "83e2169afbbce40990d69fc53e5962e4a793d467" |
| 43 | +version = "1.19.1" |
| 44 | + |
38 | 45 | [template]
|
39 |
| -static_dir = "static" |
| 46 | +icon = "icon.png" |
40 | 47 | include = [
|
41 | 48 | "{{ cookiecutter.modid }}",
|
42 | 49 | "hexcasting",
|
43 | 50 | "patchouli",
|
| 51 | + "hexdoc", |
44 | 52 | ]
|
45 | 53 |
|
46 | 54 | [template.args]
|
47 | 55 | mod_name = "{{ cookiecutter.mod_display_name }}"
|
48 | 56 | author = "{{ cookiecutter.author }}"
|
49 |
| -icon_href = "icon.png" |
50 | 57 | show_landing_text = false
|
51 | 58 |
|
52 |
| - |
53 | 59 | # platforms
|
54 | 60 |
|
55 | 61 | [_common]
|
56 |
| -src = "../Common/src" |
57 |
| -package = "{src}/main/java/TODO/{{ cookiecutter.modid }}" |
| 62 | +src = "../{{ 'common/src' if cookiecutter.multiloader else 'src' }}" |
| 63 | +package = "{src}/main/{{ cookiecutter.java_lang }}/{{ cookiecutter.java_package }}" |
58 | 64 |
|
| 65 | +{% if cookiecutter.multiloader -%} |
59 | 66 | [_fabric]
|
60 |
| -src = "../Fabric/src" |
61 |
| -package = "{src}/main/java/TODO/{{ cookiecutter.modid }}/fabric" |
| 67 | +src = "../fabric/src" |
| 68 | +package = "{src}/main/{{ cookiecutter.java_lang }}/{{ cookiecutter.java_package }}/fabric" |
62 | 69 |
|
63 | 70 | [_forge]
|
64 |
| -src = "../Forge/src" |
65 |
| -package = "{src}/main/java/TODO/{{ cookiecutter.modid }}/forge" |
| 71 | +src = "../forge/src" |
| 72 | +package = "{src}/main/{{ cookiecutter.java_lang }}/{{ cookiecutter.java_package }}/forge" |
| 73 | +{%- endif %} |
0 commit comments