Skip to content

Commit 2f5be97

Browse files
authored
feat: Ritual Satchels - speed up drawing pentacles! (#1209)
* feat: poc for auto-chalk * feat: PoC for full pentacle auto chalk * chore: generify satchel code to allow different sizes * feat: set up container functionality and icon for ritual satchels * feat: implement basic real functionality of the t1 satchel * feat: implement basic real functionaliity of the t2 satchel * feat: add basic implementation for "collect pentacle" * feat: add ritual materials tag * fix: satchel item can be moved while container is open * feat: add tag filtering to satchel * fix: shorten error message to fit into screen * chore: cleanup fulfilled todos * feat: move binding rituals category into a category provider * feat: add initial book entries * feat: add crafting recipes * feat: spirit name tooltip * feat: add crafting recipes to book entries * feat: move getting started content into a category provider * chore: refactor namespaces * feat: add getting started entry linking to the satchel entries
1 parent 132f43a commit 2f5be97

File tree

126 files changed

+5769
-4070
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

126 files changed

+5769
-4070
lines changed

gradle.properties

+2-2
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,8 @@ smartbrainlib_version=1.14.5
4949
smartbrainlib_version_range=[1.14.5,)
5050
almost_unified_version=0.5.0
5151
almost_unified_version_range=[0.5.0,)
52-
modonomicon_version=1.105.0
53-
modonomicon_version_range=[1.105.0,)
52+
modonomicon_version=1.106.0
53+
modonomicon_version_range=[1.106.0,)
5454
theurgy_version=1.52.0
5555
theurgy_version_range=[1.47.1,)
5656
per_viam_invenire_version_range=[0.1.57,)

src/generated/resources/assets/occultism/lang/en_us.json

+30
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,22 @@
157157
"block.occultism.stripped_otherworld_log": "Stripped Otherworld Log",
158158
"block.occultism.stripped_otherworld_wood": "Stripped Otherworld Wood",
159159
"block.occultism.wither_skeleton_skull_dummy": "Wither Skeleton Skull",
160+
"book.occultism.dictionary_of_spirits.crafting_rituals.apprentice_ritual_satchel.about.text": "A ritual satchel can hold items needed to create pentacles for rituals. Other items cannot be placed in the satchel.\n\\\nThe satchel allows to speed up setting pentacles by automatically choosing the right items from the satchel, instead of manually selecting chalks, candles and other items to place them.\n",
161+
"book.occultism.dictionary_of_spirits.crafting_rituals.apprentice_ritual_satchel.about.title": "About",
162+
"book.occultism.dictionary_of_spirits.crafting_rituals.apprentice_ritual_satchel.description": "Tired of so many chalks and paraphernalia? The Ritual Satchel is the solution!",
163+
"book.occultism.dictionary_of_spirits.crafting_rituals.apprentice_ritual_satchel.name": "Apprentice Ritual Satchel",
164+
"book.occultism.dictionary_of_spirits.crafting_rituals.apprentice_ritual_satchel.spotlight.text": " At first glance the satchel appears to be a normal bag, of moderate size and storage capacity. However, closer inspection reveals that a [#](AA00AA)Djinni[#]() is bound to the satchel, tasked with assisting the summoner in drawing pentacles for their rituals.\n",
165+
"book.occultism.dictionary_of_spirits.crafting_rituals.apprentice_ritual_satchel.usage.text": "1. [#](55FF55)Shift-Right-Click[#]() to open the satchel and place chalks, candles, crystals, skulls and other items needed for rituals.\n2. Using this book, use the \"eye\" icon to preview the pentacle you want to set up in the world.\n3. [#](55FF55)Right-Click[#]() with this book to anchor the preview pentacle in the spot where you want to set it up.\n4. {2} with the satchel on a previewed chalk mark or block to automatically place it.\n5. Repeat until the pentacle is complete.\n",
166+
"book.occultism.dictionary_of_spirits.crafting_rituals.apprentice_ritual_satchel.usage.title": "Usage",
167+
"book.occultism.dictionary_of_spirits.crafting_rituals.artisanal_ritual_satchel.about.text": "A ritual satchel can hold items needed to create pentacles for rituals. Other items cannot be placed in the satchel.\n\\\nThe satchel sets up an entire pentacle at once, if all necessary items are present in the satchel.\\\nIt can also remove (intact) pentacles by [#](55FF55)Right-Clicking[#]() the [](item://occultism:golden_sacrificial_bowl) and store all blocks back in the satchel.\n",
168+
"book.occultism.dictionary_of_spirits.crafting_rituals.artisanal_ritual_satchel.about.title": "About",
169+
"book.occultism.dictionary_of_spirits.crafting_rituals.artisanal_ritual_satchel.description": "The Apprentice Ritual Satchel is still too slow? Let's get help from an Afrit!",
170+
"book.occultism.dictionary_of_spirits.crafting_rituals.artisanal_ritual_satchel.name": "Artisanal Ritual Satchel",
171+
"book.occultism.dictionary_of_spirits.crafting_rituals.artisanal_ritual_satchel.spotlight.text": " The artisanal satchel employs an [#](AA00AA)Afrit[#]() to assist the summoner in drawing pentacles for their rituals. Unlike [#](AA00AA)Djinni[#]() in the apprentice satchel, the bound [#](AA00AA)Afrit[#]() can set up an entire pentacle within a moments notice.\n \\\n Moreover, the spirit can also clean up the pentacle after the ritual is complete, leaving no trace of the ritual behind.\n",
172+
"book.occultism.dictionary_of_spirits.crafting_rituals.artisanal_ritual_satchel.usage_cleaning.text": "1. Find a pentacle you want to remove. The pentacle needs to be intact (ready for a ritual).\n2. [#](55FF55)Right-Click[#]() the central [](item://occultism:golden_sacrificial_bowl) with the satchel.\n2. The satchel will remove all chalk marks, and pick up all paraphernalia blocks, such as candles or skulls, used in the pentacle.\n",
173+
"book.occultism.dictionary_of_spirits.crafting_rituals.artisanal_ritual_satchel.usage_cleaning.title": "Usage (Cleaning)",
174+
"book.occultism.dictionary_of_spirits.crafting_rituals.artisanal_ritual_satchel.usage_drawing.text": "1. [#](55FF55)Shift-Right-Click[#]() to open the satchel and place chalks, candles, crystals, skulls and other items needed for rituals.\n2. Using this book, use the \"eye\" icon to preview the pentacle you want to set up in the world.\n3. [#](55FF55)Right-Click[#]() with this book to anchor the preview pentacle in the spot where you want to set it up.\n4. {2} with the satchel on a previewed chalk mark or block to automatically place it.\n5. Repeat until the pentacle is complete.\n",
175+
"book.occultism.dictionary_of_spirits.crafting_rituals.artisanal_ritual_satchel.usage_drawing.title": "Usage (Drawing)",
160176
"book.occultism.dictionary_of_spirits.crafting_rituals.craft_afrit_miner.name": "Afrit Miner",
161177
"book.occultism.dictionary_of_spirits.crafting_rituals.craft_afrit_miner.spotlight.text": "The [#](ad03fc)Afrit[#]() miner harvests ores, like djinni miners, and additionally mines deepslate ores. This miner is faster and more efficient than the djinnis, thus damaging the magic lamp even more slowly.\n",
162178
"book.occultism.dictionary_of_spirits.crafting_rituals.craft_dimensional_matrix.name": "Dimensional Matrix",
@@ -504,6 +520,11 @@
504520
"book.occultism.dictionary_of_spirits.getting_started.ritual_prep_chalk.usage.text": "Right-click on a block with the chalk to draw a single glyph. For decorative purposes you can repeatedly click a block to cycle through glyphs. The shown glyph does not matter for the ritual, only the color.\n",
505521
"book.occultism.dictionary_of_spirits.getting_started.ritual_prep_chalk.usage.title": "Usage",
506522
"book.occultism.dictionary_of_spirits.getting_started.ritual_prep_chalk.white_chalk.text": "White chalk is used to draw the most basic pentacles, such as for our first ritual.\n\\\n\\\nMore powerful summonings require appropriate more advanced chalk, see [Chalks](entry://occultism:dictionary_of_spirits/getting_started/chalks) for more information.\n",
523+
"book.occultism.dictionary_of_spirits.getting_started.ritual_satchels.description": "Easier pentacle drawing with a Ritual Satchel",
524+
"book.occultism.dictionary_of_spirits.getting_started.ritual_satchels.more.text": "Visit the entry about the [Apprentice Satchel](entry://crafting_rituals/apprentice_ritual_satchel) or the [Artisanal Satchel](entry://crafting_rituals/apprentice_ritual_satchel) in the [Binding Rituals Category](category://crafting_rituals) to learn how to enchant a satchel and use it for rituals.\n",
525+
"book.occultism.dictionary_of_spirits.getting_started.ritual_satchels.more.title": "Obtaining a Satchel",
526+
"book.occultism.dictionary_of_spirits.getting_started.ritual_satchels.name": "Ritual Satchels",
527+
"book.occultism.dictionary_of_spirits.getting_started.ritual_satchels.spotlight.text": "Ritual satchels are bags that can hold items needed to create pentacles for rituals.\\\nMore importantly, they can automatically place the right items for a pentacle, removing the need to manually place chalks, candles, crystals, skulls and other items needed for rituals.\\\\\nThe Apprentice Satchel places pentacle blocks one by one.\\\nThe improved Artisanal Satchel places all pentacle blocks in a single action.\\\n",
507528
"book.occultism.dictionary_of_spirits.getting_started.spirit_fire.description": "Or does it?",
508529
"book.occultism.dictionary_of_spirits.getting_started.spirit_fire.main_uses.text": "The main uses of [](item://occultism:spirit_fire) are to convert [](item://minecraft:diamond) into [](item://occultism:spirit_attuned_gem),\nto get basic ingredients such as [](item://occultism:otherstone) and [Otherworld Saplings](item://occultism:otherworld_sapling_natural),\nand to purify impure chalks.\n",
509530
"book.occultism.dictionary_of_spirits.getting_started.spirit_fire.name": "It burns!",
@@ -1339,6 +1360,15 @@
13391360
"item.occultism.ritual_dummy.summon_wild_parrot.tooltip": "Summons a Parrot that can be tamed by anyone, not just the summoner.",
13401361
"item.occultism.ritual_dummy.summon_wild_silverfish": "Ritual: Summon The Wild Horde Silverfish",
13411362
"item.occultism.ritual_dummy.summon_wild_silverfish.tooltip": "The Wild Horde Silverfish consists of a few Silverfishs that drop items related to ruins trails.",
1363+
"item.occultism.ritual_satchel.no_preview_block_targeted": "You need to aim the ritual satchel at a preview block.",
1364+
"item.occultism.ritual_satchel.no_preview_in_world": " You need to preview a pentacle using the Dictionary of Spirits.",
1365+
"item.occultism.ritual_satchel.no_valid_item_in_satchel": "There is no valid item in the satchel for this previewed block.",
1366+
"item.occultism.ritual_satchel_t1": "Apprentice Ritual Satchel",
1367+
"item.occultism.ritual_satchel_t1.auto_tooltip": "A basic ritual satchel that can place ritual circles block by block.\nRight-Click a preview block to place it out of the satchel.\nShift-Right-Click to open the satchel and add ritual ingredients.\n",
1368+
"item.occultism.ritual_satchel_t1.tooltip": "%s is bound to this satchel.",
1369+
"item.occultism.ritual_satchel_t2": "Artisanal Ritual Satchel",
1370+
"item.occultism.ritual_satchel_t2.auto_tooltip": "An improved ritual satchel that can place an entire ritual circle at once.\nRight-Click any preview block to place all preview blocks out of the satchel.\nShift-Right-Click to open the satchel and add ritual ingredients.\nRight-Click a Golden Bowl to remove the ritual circle and collect the ingredients.\n",
1371+
"item.occultism.ritual_satchel_t2.tooltip": "%s is bound to this satchel.",
13421372
"item.occultism.satchel": "Surprisingly Substantial Satchel",
13431373
"item.occultism.satchel.tooltip": "%s is bound to this satchel.",
13441374
"item.occultism.silver_dust": "Silver Dust",
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"parent": "occultism:item/ritual_dummy"
3+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"parent": "occultism:item/ritual_dummy"
3+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"parent": "minecraft:item/generated",
3+
"textures": {
4+
"layer0": "occultism:item/ritual_satchel_t1"
5+
}
6+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"parent": "minecraft:item/generated",
3+
"textures": {
4+
"layer0": "occultism:item/ritual_satchel_t2"
5+
}
6+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"values": [
3+
"minecraft:skeleton_skull",
4+
"minecraft:wither_skeleton_skull"
5+
]
6+
}
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"values": [
33
"#occultism:miners",
4-
"#occultism:tools/chalks",
4+
"#occultism:tools/chalk",
55
"#occultism:tools/knife"
66
]
77
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
{
2+
"parent": "minecraft:recipes/root",
3+
"criteria": {
4+
"has_bound_djinni": {
5+
"conditions": {
6+
"items": [
7+
{
8+
"items": "occultism:book_of_binding_bound_djinni"
9+
}
10+
]
11+
},
12+
"trigger": "minecraft:inventory_changed"
13+
},
14+
"has_the_recipe": {
15+
"conditions": {
16+
"recipe": "occultism:ritual/craft_ritual_satchel_t1"
17+
},
18+
"trigger": "minecraft:recipe_unlocked"
19+
}
20+
},
21+
"requirements": [
22+
[
23+
"has_the_recipe",
24+
"has_bound_djinni"
25+
]
26+
],
27+
"rewards": {
28+
"recipes": [
29+
"occultism:ritual/craft_ritual_satchel_t1"
30+
]
31+
}
32+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
{
2+
"parent": "minecraft:recipes/root",
3+
"criteria": {
4+
"has_bound_afrit": {
5+
"conditions": {
6+
"items": [
7+
{
8+
"items": "occultism:book_of_binding_bound_afrit"
9+
}
10+
]
11+
},
12+
"trigger": "minecraft:inventory_changed"
13+
},
14+
"has_the_recipe": {
15+
"conditions": {
16+
"recipe": "occultism:ritual/craft_ritual_satchel_t2"
17+
},
18+
"trigger": "minecraft:recipe_unlocked"
19+
}
20+
},
21+
"requirements": [
22+
[
23+
"has_the_recipe",
24+
"has_bound_afrit"
25+
]
26+
],
27+
"rewards": {
28+
"recipes": [
29+
"occultism:ritual/craft_ritual_satchel_t2"
30+
]
31+
}
32+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
{
2+
"background_u_index": 0,
3+
"background_v_index": 0,
4+
"category": "crafting_rituals",
5+
"condition": {
6+
"type": "modonomicon:true"
7+
},
8+
"description": "book.occultism.dictionary_of_spirits.crafting_rituals.apprentice_ritual_satchel.description",
9+
"hide_while_locked": false,
10+
"icon": {
11+
"item": "occultism:ritual_satchel_t1"
12+
},
13+
"name": "book.occultism.dictionary_of_spirits.crafting_rituals.apprentice_ritual_satchel.name",
14+
"pages": [
15+
{
16+
"type": "modonomicon:spotlight",
17+
"anchor": "",
18+
"condition": {
19+
"type": "modonomicon:none"
20+
},
21+
"item": {
22+
"item": "occultism:ritual_satchel_t1"
23+
},
24+
"text": "book.occultism.dictionary_of_spirits.crafting_rituals.apprentice_ritual_satchel.spotlight.text",
25+
"title": ""
26+
},
27+
{
28+
"type": "modonomicon:text",
29+
"anchor": "",
30+
"condition": {
31+
"type": "modonomicon:none"
32+
},
33+
"show_title_separator": true,
34+
"text": "book.occultism.dictionary_of_spirits.crafting_rituals.apprentice_ritual_satchel.about.text",
35+
"title": "book.occultism.dictionary_of_spirits.crafting_rituals.apprentice_ritual_satchel.about.title",
36+
"use_markdown_in_title": false
37+
},
38+
{
39+
"type": "occultism:ritual_recipe",
40+
"anchor": "",
41+
"condition": {
42+
"type": "modonomicon:none"
43+
},
44+
"recipe_id_1": "occultism:ritual/craft_ritual_satchel_t1",
45+
"text": "",
46+
"title1": "",
47+
"title2": ""
48+
},
49+
{
50+
"type": "modonomicon:text",
51+
"anchor": "",
52+
"condition": {
53+
"type": "modonomicon:none"
54+
},
55+
"show_title_separator": true,
56+
"text": "book.occultism.dictionary_of_spirits.crafting_rituals.apprentice_ritual_satchel.usage.text",
57+
"title": "book.occultism.dictionary_of_spirits.crafting_rituals.apprentice_ritual_satchel.usage.title",
58+
"use_markdown_in_title": false
59+
}
60+
],
61+
"parents": [
62+
{
63+
"draw_arrow": true,
64+
"entry": "crafting_rituals/craft_satchel",
65+
"line_enabled": true,
66+
"line_reversed": false
67+
}
68+
],
69+
"show_when_any_parent_unlocked": false,
70+
"sort_number": 19,
71+
"x": 3,
72+
"y": 1
73+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
{
2+
"background_u_index": 0,
3+
"background_v_index": 0,
4+
"category": "crafting_rituals",
5+
"condition": {
6+
"type": "modonomicon:true"
7+
},
8+
"description": "book.occultism.dictionary_of_spirits.crafting_rituals.artisanal_ritual_satchel.description",
9+
"hide_while_locked": false,
10+
"icon": {
11+
"item": "occultism:ritual_satchel_t2"
12+
},
13+
"name": "book.occultism.dictionary_of_spirits.crafting_rituals.artisanal_ritual_satchel.name",
14+
"pages": [
15+
{
16+
"type": "modonomicon:spotlight",
17+
"anchor": "",
18+
"condition": {
19+
"type": "modonomicon:none"
20+
},
21+
"item": {
22+
"item": "occultism:ritual_satchel_t2"
23+
},
24+
"text": "book.occultism.dictionary_of_spirits.crafting_rituals.artisanal_ritual_satchel.spotlight.text",
25+
"title": ""
26+
},
27+
{
28+
"type": "modonomicon:text",
29+
"anchor": "",
30+
"condition": {
31+
"type": "modonomicon:none"
32+
},
33+
"show_title_separator": true,
34+
"text": "book.occultism.dictionary_of_spirits.crafting_rituals.artisanal_ritual_satchel.about.text",
35+
"title": "book.occultism.dictionary_of_spirits.crafting_rituals.artisanal_ritual_satchel.about.title",
36+
"use_markdown_in_title": false
37+
},
38+
{
39+
"type": "occultism:ritual_recipe",
40+
"anchor": "",
41+
"condition": {
42+
"type": "modonomicon:none"
43+
},
44+
"recipe_id_1": "occultism:ritual/craft_ritual_satchel_t2",
45+
"text": "",
46+
"title1": "",
47+
"title2": ""
48+
},
49+
{
50+
"type": "modonomicon:text",
51+
"anchor": "",
52+
"condition": {
53+
"type": "modonomicon:none"
54+
},
55+
"show_title_separator": true,
56+
"text": "book.occultism.dictionary_of_spirits.crafting_rituals.artisanal_ritual_satchel.usage_drawing.text",
57+
"title": "book.occultism.dictionary_of_spirits.crafting_rituals.artisanal_ritual_satchel.usage_drawing.title",
58+
"use_markdown_in_title": false
59+
},
60+
{
61+
"type": "modonomicon:text",
62+
"anchor": "",
63+
"condition": {
64+
"type": "modonomicon:none"
65+
},
66+
"show_title_separator": true,
67+
"text": "book.occultism.dictionary_of_spirits.crafting_rituals.artisanal_ritual_satchel.usage_cleaning.text",
68+
"title": "book.occultism.dictionary_of_spirits.crafting_rituals.artisanal_ritual_satchel.usage_cleaning.title",
69+
"use_markdown_in_title": false
70+
}
71+
],
72+
"parents": [
73+
{
74+
"draw_arrow": true,
75+
"entry": "crafting_rituals/apprentice_ritual_satchel",
76+
"line_enabled": true,
77+
"line_reversed": false
78+
}
79+
],
80+
"show_when_any_parent_unlocked": false,
81+
"sort_number": 20,
82+
"x": 5,
83+
"y": 1
84+
}

src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_afrit_miner.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
}
4646
],
4747
"show_when_any_parent_unlocked": false,
48-
"sort_number": -1,
48+
"sort_number": 6,
4949
"x": 0,
5050
"y": -5
5151
}

src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_dimensional_matrix.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
}
4646
],
4747
"show_when_any_parent_unlocked": false,
48-
"sort_number": -1,
48+
"sort_number": 9,
4949
"x": -2,
5050
"y": 1
5151
}

src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_dimensional_mineshaft.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
}
5757
],
5858
"show_when_any_parent_unlocked": false,
59-
"sort_number": -1,
59+
"sort_number": 3,
6060
"x": -6,
6161
"y": -5
6262
}

src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_djinni_miner.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
}
4646
],
4747
"show_when_any_parent_unlocked": false,
48-
"sort_number": -1,
48+
"sort_number": 5,
4949
"x": -2,
5050
"y": -5
5151
}

src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_familiar_ring.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
}
5757
],
5858
"show_when_any_parent_unlocked": false,
59-
"sort_number": -1,
59+
"sort_number": 22,
6060
"x": -2,
6161
"y": -3
6262
}

src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_foliot_miner.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@
7878
}
7979
],
8080
"show_when_any_parent_unlocked": false,
81-
"sort_number": -1,
81+
"sort_number": 4,
8282
"x": -4,
8383
"y": -5
8484
}

0 commit comments

Comments
 (0)