Skip to content

Commit

Permalink
Book of Binding: Empty (#1005)
Browse files Browse the repository at this point in the history
* #1004

* Book of Binding: Empty
  • Loading branch information
Eqis-Edu authored Dec 4, 2023
1 parent 5c3c7f4 commit b263270
Show file tree
Hide file tree
Showing 24 changed files with 283 additions and 21 deletions.
9 changes: 8 additions & 1 deletion src/generated/resources/assets/occultism/lang/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -240,14 +240,17 @@
"book.occultism.dictionary_of_spirits.familiar_rituals.overview.trading.text": "\"Familiars can be easily traded when in a [Familiar Ring](entry://crafting_rituals/craft_familiar_ring).\n\\\n\\\nWhen released, the spirit will recognize the person releasing them as their new master.\n",
"book.occultism.dictionary_of_spirits.familiar_rituals.overview.trading.title": "Equipping Familiars",
"book.occultism.dictionary_of_spirits.familiar_rituals.return_to_rituals.name": "Return to Rituals Category",
"book.occultism.dictionary_of_spirits.getting_started.books_of_binding.awakened_feather_recipe.text": "In order to craft [#](ad03fc)Books of Binding[#]() to summon spirits, you also need awakened feather. Simply drop any feather into [](item://occultism:spirit_fire) to awakened it.\n",
"book.occultism.dictionary_of_spirits.getting_started.books_of_binding.book_of_binding_bound_foliot_recipe.text": "Add the name of the spirit to summon to your book of binding by crafting it with the Dictionary of Spirits. The Dictionary will not be used up.\n",
"book.occultism.dictionary_of_spirits.getting_started.books_of_binding.book_of_binding_empty.text": " Alternatively, you can directly use the Binding Book: Empty instead of the previous three items. There are two ways to obtain this book. Place this book in the center of dyes to get specific book of binding.\n",
"book.occultism.dictionary_of_spirits.getting_started.books_of_binding.book_of_binding_foliot_recipe.text": "Craft a book of binding that will be used to call forth a [#](ad03fc)Foliot[#]() spirit.\n",
"book.occultism.dictionary_of_spirits.getting_started.books_of_binding.description": "Or how to identify your spirit",
"book.occultism.dictionary_of_spirits.getting_started.books_of_binding.intro.text": "To call forth a spirit, a [#](ad03fc)Book of Binding[#]() must be used in the ritual.\nThere is a type of book corresponding to each type (or tier) of spirit.\nTo identify a spirit to summon, it's name must be written in the [#](ad03fc)Book of Binding[#](), resulting in a [#](ad03fc)Bound Book of Binding[#]() that can be used in the ritual.\n",
"book.occultism.dictionary_of_spirits.getting_started.books_of_binding.intro.title": "Books of Binding",
"book.occultism.dictionary_of_spirits.getting_started.books_of_binding.intro2.text": "**Note:** *The spirit names are eye candy only*, that means they are not relevant for the recipe. As long as you have the right spirit type in your book of binding it can be used.\n",
"book.occultism.dictionary_of_spirits.getting_started.books_of_binding.name": "Books of Binding",
"book.occultism.dictionary_of_spirits.getting_started.books_of_binding.purified_ink_recipe.text": "In order to craft [#](ad03fc)Books of Binding[#]() to summon spirits, you need purified ink. Simply drop any black dye into [](item://occultism:spirit_fire) to purify it.\n",
"book.occultism.dictionary_of_spirits.getting_started.books_of_binding.taboo_book_recipe.text": "Lastly you need taboo book to craft [#](ad03fc)Books of Binding[#]() to summon spirits. Simply drop a book into [](item://occultism:spirit_fire) to get it.\n",
"book.occultism.dictionary_of_spirits.getting_started.books_of_calling.description": "Telling your spirits what to do",
"book.occultism.dictionary_of_spirits.getting_started.books_of_calling.intro.text": "Books of Calling allow to control a summoned spirit, and to store it to prevent essence decay or move it more easily.\n\\\n\\\nOnly spirits that require precise instructions - such as a work area or drop-off storage - come with a book of calling.\n",
"book.occultism.dictionary_of_spirits.getting_started.books_of_calling.intro.title": "Books of Calling",
Expand Down Expand Up @@ -676,7 +679,7 @@
"book.occultism.dictionary_of_spirits.summoning_rituals.summon_crusher_t3.intro.text": "The afrit crusher is resistant to essence decay and faster and more efficient than the djinni crusher.\n\\\n\\\nIt will crush **one** ore into **four** corresponding dusts.\n",
"book.occultism.dictionary_of_spirits.summoning_rituals.summon_crusher_t3.intro.title": "Afrit Crusher",
"book.occultism.dictionary_of_spirits.summoning_rituals.summon_crusher_t3.name": "Summon Afrit Crusher",
"book.occultism.dictionary_of_spirits.summoning_rituals.summon_crusher_t4.intro.text": "The afrit crusher is resistant to essence decay and faster and more efficient than the afrit crusher.\n\\\n\\\nIt will crush **one** ore into **six** corresponding dusts.\n",
"book.occultism.dictionary_of_spirits.summoning_rituals.summon_crusher_t4.intro.text": "The marid crusher is resistant to essence decay and faster and more efficient than the afrit crusher.\n\\\n\\\nIt will crush **one** ore into **six** corresponding dusts.\n",
"book.occultism.dictionary_of_spirits.summoning_rituals.summon_crusher_t4.intro.title": "Marid Crusher",
"book.occultism.dictionary_of_spirits.summoning_rituals.summon_crusher_t4.name": "Summon Marid Crusher",
"book.occultism.dictionary_of_spirits.summoning_rituals.summon_lumberjack.book_of_calling.text": "If you lose the book of calling, you can craft a new one.\n[#](ad03fc)Shift-right-click[#]() the spirit with the crafted book to assign it.\n",
Expand Down Expand Up @@ -820,6 +823,7 @@
"gui.occultism.storage_controller.space_info_label": "%d/%d",
"item.minecraft.diamond_sword.occultism_spirit_tooltip": "%s is bound to this sword. May your foes tremor before its glory.",
"item.occultism.afrit_essence": "Afrit Essence",
"item.occultism.awakened_feather": "Awakened Feather",
"item.occultism.book_of_binding_afrit": "Book of Binding: Afrit",
"item.occultism.book_of_binding_afrit.tooltip": "This book has not been bound to an afrit yet.",
"item.occultism.book_of_binding_bound_afrit": "Book of Binding: Afrit (Bound)",
Expand All @@ -832,6 +836,8 @@
"item.occultism.book_of_binding_bound_marid.tooltip": "Can be used to summon the marid %s",
"item.occultism.book_of_binding_djinni": "Book of Binding: Djinni",
"item.occultism.book_of_binding_djinni.tooltip": "This book has not been bound to a djinni yet.",
"item.occultism.book_of_binding_empty": "Book of Binding: Empty",
"item.occultism.book_of_binding_empty.tooltip": "This book has not been defined to any spirit yet.",
"item.occultism.book_of_binding_foliot": "Book of Binding: Foliot",
"item.occultism.book_of_binding_foliot.tooltip": "This book has not been bound to a foliot yet.",
"item.occultism.book_of_binding_marid": "Book of Binding: Marid",
Expand Down Expand Up @@ -1098,6 +1104,7 @@
"item.occultism.storage_remote.tooltip": "Access a storage network remotely.",
"item.occultism.storage_remote.tooltip.linked": "Bound to %s.",
"item.occultism.storage_remote_inert": "Inert Storage Accessor",
"item.occultism.taboo_book": "Taboo Book",
"item.occultism.tallow": "Tallow",
"item.occultism.wormhole_frame": "Wormhole Frame",
"itemGroup.occultism": "Occultism",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,22 @@
"title1": "",
"title2": ""
},
{
"type": "occultism:spirit_fire_recipe",
"anchor": "",
"recipe_id_1": "occultism:spirit_fire/awakened_feather",
"text": "book.occultism.dictionary_of_spirits.getting_started.books_of_binding.awakened_feather_recipe.text",
"title1": "",
"title2": ""
},
{
"type": "occultism:spirit_fire_recipe",
"anchor": "",
"recipe_id_1": "occultism:spirit_fire/taboo_book",
"text": "book.occultism.dictionary_of_spirits.getting_started.books_of_binding.taboo_book_recipe.text",
"title1": "",
"title2": ""
},
{
"type": "modonomicon:crafting_recipe",
"anchor": "",
Expand Down Expand Up @@ -73,6 +89,22 @@
"text": "",
"title1": "",
"title2": ""
},
{
"type": "occultism:spirit_fire_recipe",
"anchor": "",
"recipe_id_1": "occultism:spirit_fire/book_of_binding_empty",
"text": "book.occultism.dictionary_of_spirits.getting_started.books_of_binding.book_of_binding_empty.text",
"title1": "",
"title2": ""
},
{
"type": "modonomicon:crafting_recipe",
"anchor": "",
"recipe_id_2": "occultism:crafting/book_of_binding_empty",
"text": "",
"title1": "",
"title2": ""
}
],
"parents": [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1010,6 +1010,26 @@ There is a type of book corresponding to each type (or tier) of spirit.
In order to craft [#](%1$s)Books of Binding[#]() to summon spirits, you need purified ink. Simply drop any black dye into [](item://occultism:spirit_fire) to purify it.
""".formatted(COLOR_PURPLE));

this.context().page("awakened_feather_recipe");
var awakenedFeatherRecipe = BookSpiritFireRecipePageModel.builder()
.withRecipeId1(this.modLoc("spirit_fire/awakened_feather"))
.withText(this.context().pageText())
.build();
this.lang().add(this.context().pageText(),
"""
In order to craft [#](%1$s)Books of Binding[#]() to summon spirits, you also need awakened feather. Simply drop any feather into [](item://occultism:spirit_fire) to awakened it.
""".formatted(COLOR_PURPLE));

this.context().page("taboo_book_recipe");
var tabooBookRecipe = BookSpiritFireRecipePageModel.builder()
.withRecipeId1(this.modLoc("spirit_fire/taboo_book"))
.withText(this.context().pageText())
.build();
this.lang().add(this.context().pageText(),
"""
Lastly you need taboo book to craft [#](%1$s)Books of Binding[#]() to summon spirits. Simply drop a book into [](item://occultism:spirit_fire) to get it.
""".formatted(COLOR_PURPLE));

this.context().page("book_of_binding_foliot_recipe");
var bookOfBindingFoliotRecipe = BookCraftingRecipePageModel.builder()
.withRecipeId1(this.modLoc("crafting/book_of_binding_foliot"))
Expand Down Expand Up @@ -1045,12 +1065,28 @@ There is a type of book corresponding to each type (or tier) of spirit.
//no text

this.context().page("book_of_binding_marid_recipe");
var bookOfBindingMaritRecipe = BookCraftingRecipePageModel.builder()
var bookOfBindingMaridRecipe = BookCraftingRecipePageModel.builder()
.withRecipeId1(this.modLoc("crafting/book_of_binding_marid"))
.withRecipeId2(this.modLoc("crafting/book_of_binding_bound_marid"))
.build();
//no text

this.context().page("book_of_binding_empty");
var alternativeBooks = BookSpiritFireRecipePageModel.builder()
.withRecipeId1(this.modLoc("spirit_fire/book_of_binding_empty"))
.withText(this.context().pageText())
.build();
this.lang().add(this.context().pageText(),
"""
Alternatively, you can directly use the Binding Book: Empty instead of the previous three items. There are two ways to obtain this book. Place this book in the center of dyes to get specific book of binding.
""".formatted(COLOR_PURPLE));

this.context().page("book_of_binding_empty_recipe");
var bookOfBindingEmptyRecipe = BookCraftingRecipePageModel.builder()
.withRecipeId2(this.modLoc("crafting/book_of_binding_empty"))
.build();
//no text

return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName())
.withDescription(this.context().entryDescription())
.withIcon(OccultismItems.BOOK_OF_BINDING_BOUND_FOLIOT.getId().toString())
Expand All @@ -1059,11 +1095,15 @@ There is a type of book corresponding to each type (or tier) of spirit.
intro,
intro2,
purifiedInkRecipe,
awakenedFeatherRecipe,
tabooBookRecipe,
bookOfBindingFoliotRecipe,
bookOfBindingBoundFoliotRecipe,
bookOfBindingDjinniRecipe,
bookOfBindingAfritRecipe,
bookOfBindingMaritRecipe
bookOfBindingMaridRecipe,
alternativeBooks,
bookOfBindingEmptyRecipe
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ public void addItemMessages() {
public void addItemTooltips() {
//"item\.occultism\.(.*?)\.(.*)": "(.*)",
// this.add\(OccultismItems.\U\1\E.get\(\).getDescriptionId\(\) + " \2", "\3"\);

this.add(OccultismItems.BOOK_OF_BINDING_EMPTY.get().getDescriptionId() + ".tooltip", "This book has not been defined to any spirit yet.");
this.add(OccultismItems.BOOK_OF_BINDING_FOLIOT.get().getDescriptionId() + ".tooltip", "This book has not been bound to a foliot yet.");
this.add(OccultismItems.BOOK_OF_BINDING_BOUND_FOLIOT.get().getDescriptionId() + ".tooltip", "Can be used to summon the foliot %s");
this.add(OccultismItems.BOOK_OF_BINDING_DJINNI.get().getDescriptionId() + ".tooltip", "This book has not been bound to a djinni yet.");
Expand Down Expand Up @@ -153,6 +153,9 @@ private void addItems() {
this.addItem(OccultismItems.BRUSH, "Chalk Brush");
this.addItem(OccultismItems.AFRIT_ESSENCE, "Afrit Essence");
this.addItem(OccultismItems.PURIFIED_INK, "Purified Ink");
this.addItem(OccultismItems.AWAKENED_FEATHER, "Awakened Feather");
this.addItem(OccultismItems.TABOO_BOOK, "Taboo Book");
this.addItem(OccultismItems.BOOK_OF_BINDING_EMPTY, "Book of Binding: Empty");
this.addItem(OccultismItems.BOOK_OF_BINDING_FOLIOT, "Book of Binding: Foliot");
this.addItem(OccultismItems.BOOK_OF_BINDING_BOUND_FOLIOT, "Book of Binding: Foliot (Bound)");
this.addItem(OccultismItems.BOOK_OF_BINDING_DJINNI, "Book of Binding: Djinni");
Expand Down Expand Up @@ -1391,7 +1394,7 @@ private void addSummoningRitualsCategory(BookContextHelper helper) {
this.add(helper.pageTitle(), "Marid Crusher");
this.add(helper.pageText(),
"""
The afrit crusher is resistant to essence decay and faster and more efficient than the afrit crusher.
The marid crusher is resistant to essence decay and faster and more efficient than the afrit crusher.
\\
\\
It will crush **one** ore into **six** corresponding dusts.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -153,14 +153,6 @@ public class OccultismItems {
() -> new Item(defaultProperties()));
public static final RegistryObject<Item> LENS_FRAME = ITEMS.register("lens_frame",
() -> new Item(defaultProperties()));
public static final RegistryObject<Item> PURIFIED_INK = ITEMS.register("purified_ink",
() -> new Item(defaultProperties()));

public static final RegistryObject<Item> SPIRIT_ATTUNED_PICKAXE_HEAD = ITEMS.register("spirit_attuned_pickaxe_head",
() -> new Item(defaultProperties()));

public static final RegistryObject<Item> MAGIC_LAMP_EMPTY = ITEMS.register("magic_lamp_empty",
() -> new Item(defaultProperties()));

public static final RegistryObject<StorageRemoteItem> STORAGE_REMOTE = ITEMS.register("storage_remote",
() -> new StorageRemoteItem(defaultProperties().stacksTo(1)));
Expand All @@ -185,6 +177,8 @@ public class OccultismItems {
public static final RegistryObject<SwordItem> BUTCHER_KNIFE = ITEMS.register("butcher_knife",
() -> new SwordItem(Tiers.IRON, 3, -2.4F, defaultProperties()));

public static final RegistryObject<Item> SPIRIT_ATTUNED_PICKAXE_HEAD = ITEMS.register("spirit_attuned_pickaxe_head",
() -> new Item(defaultProperties()));
public static final RegistryObject<InfusedPickaxeItem> INFUSED_PICKAXE = ITEMS.register("infused_pickaxe",
() -> new InfusedPickaxeItem(OccultismItemTier.SPIRIT_ATTUNED_GEM, 1, -2.8F, defaultProperties()));
public static final RegistryObject<OtherworldPickaxeItem> IESNIUM_PICKAXE = ITEMS.register("iesnium_pickaxe",
Expand All @@ -199,7 +193,15 @@ public class OccultismItems {
public static final RegistryObject<Item> FAMILIAR_RING = ITEMS.register("familiar_ring",
() -> new FamiliarRingItem(defaultProperties().stacksTo(1)));

public static final RegistryObject<Item> PURIFIED_INK = ITEMS.register("purified_ink",
() -> new Item(defaultProperties()));
public static final RegistryObject<Item> AWAKENED_FEATHER = ITEMS.register("awakened_feather",
() -> new Item(defaultProperties()));
public static final RegistryObject<Item> TABOO_BOOK = ITEMS.register("taboo_book",
() -> new Item(defaultProperties()));
//Books of Binding
public static final RegistryObject<BookOfBindingItem> BOOK_OF_BINDING_EMPTY = ITEMS.register(
"book_of_binding_empty", () -> new BookOfBindingItem(defaultProperties().stacksTo(1)));
public static final RegistryObject<BookOfBindingItem> BOOK_OF_BINDING_FOLIOT = ITEMS.register(
"book_of_binding_foliot", () -> new BookOfBindingItem(defaultProperties().stacksTo(1)));
public static final RegistryObject<BookOfBindingBoundItem> BOOK_OF_BINDING_BOUND_FOLIOT = ITEMS.register(
Expand Down Expand Up @@ -257,6 +259,8 @@ public class OccultismItems {
() -> new SpiritHealingItem(defaultProperties().food(OccultismFoods.DATURA.get())));

//Miner Spirits
public static final RegistryObject<Item> MAGIC_LAMP_EMPTY = ITEMS.register("magic_lamp_empty",
() -> new Item(defaultProperties()));
public static final RegistryObject<MinerSpiritItem> MINER_DEBUG_UNSPECIALIZED =
ITEMS.register("miner_debug_unspecialized",
() -> new MinerSpiritItem(defaultProperties().durability(10000), () -> 100, () -> 10, () -> 10000));
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "occultism:item/awakened_feather"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "occultism:item/book_of_binding_empty"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "occultism:item/taboo_book"
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"animation": {
"interpolate": true,
"frames": [
{
"index": 0,
"time": 10
},
{
"index": 1,
"time": 10
},
{
"index": 2,
"time": 10
},
{
"index": 3,
"time": 10
}
]
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
"cp ",
"cpf",
"pbp",
" p "
],
Expand All @@ -10,10 +10,13 @@
"tag": "forge:dyes/purple"
},
"b": {
"item": "minecraft:writable_book"
"item": "occultism:taboo_book"
},
"c": {
"item": "occultism:purified_ink"
},
"f": {
"item": "occultism:awakened_feather"
}
},
"result": {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
" p ",
"pbp",
" p "
],
"key": {
"p": {
"tag": "forge:dyes/purple"
},
"b": {
"item": "occultism:book_of_binding_empty"
}
},
"result": {
"item": "occultism:book_of_binding_afrit"
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
"cg ",
"cgf",
"gbg",
" g "
],
Expand All @@ -10,10 +10,13 @@
"tag": "forge:dyes/green"
},
"b": {
"item": "minecraft:writable_book"
"item": "occultism:taboo_book"
},
"c": {
"item": "occultism:purified_ink"
},
"f": {
"item": "occultism:awakened_feather"
}
},
"result": {
Expand Down
Loading

0 comments on commit b263270

Please sign in to comment.