From b096dad3bf2733f56fc4fedb77bd0bba8ce0a491 Mon Sep 17 00:00:00 2001 From: Ellpeck Date: Wed, 21 Nov 2018 11:49:21 +0100 Subject: [PATCH] finish the offering to the Gods --- .../compat/patchouli/ProcessorOffering.java | 35 +++++++++++++ .../naturesaura/recipes/ModRecipes.java | 2 +- .../advancements/conversion_catalyst.json | 2 +- .../naturesaura/advancements/offering.json | 26 ++++++++++ .../advancements/potion_generator.json | 2 +- .../naturesaura/advancements/sky_ingot.json | 26 ++++++++++ .../assets/naturesaura/lang/en_US.lang | 4 ++ .../en_us/entries/collecting/aura_bottle.json | 1 + .../entries/creating/potion_generator.json | 2 +- .../en_us/entries/practices/offering.json | 36 ++++++++++++++ .../entries/using/conversion_catalyst.json | 2 +- .../book/en_us/templates/offering.json | 46 ++++++++++++++++++ .../naturesaura/recipes/calling_spirit.json | 38 +++++++++++++++ .../naturesaura/recipes/offering_table.json | 24 +++++++++ .../naturesaura/recipes/potion_generator.json | 2 +- .../textures/gui/patchouli/elements.png | Bin 3453 -> 3894 bytes 16 files changed, 242 insertions(+), 6 deletions(-) create mode 100644 src/main/java/de/ellpeck/naturesaura/compat/patchouli/ProcessorOffering.java create mode 100644 src/main/resources/assets/naturesaura/advancements/offering.json create mode 100644 src/main/resources/assets/naturesaura/advancements/sky_ingot.json create mode 100644 src/main/resources/assets/naturesaura/patchouli_books/book/en_us/entries/practices/offering.json create mode 100644 src/main/resources/assets/naturesaura/patchouli_books/book/en_us/templates/offering.json create mode 100644 src/main/resources/assets/naturesaura/recipes/calling_spirit.json create mode 100644 src/main/resources/assets/naturesaura/recipes/offering_table.json diff --git a/src/main/java/de/ellpeck/naturesaura/compat/patchouli/ProcessorOffering.java b/src/main/java/de/ellpeck/naturesaura/compat/patchouli/ProcessorOffering.java new file mode 100644 index 00000000..70364724 --- /dev/null +++ b/src/main/java/de/ellpeck/naturesaura/compat/patchouli/ProcessorOffering.java @@ -0,0 +1,35 @@ +package de.ellpeck.naturesaura.compat.patchouli; + +import de.ellpeck.naturesaura.api.NaturesAuraAPI; +import de.ellpeck.naturesaura.api.recipes.OfferingRecipe; +import net.minecraft.util.ResourceLocation; +import vazkii.patchouli.api.IComponentProcessor; +import vazkii.patchouli.api.IVariableProvider; +import vazkii.patchouli.api.PatchouliAPI; + +public class ProcessorOffering implements IComponentProcessor { + + private OfferingRecipe recipe; + + @Override + public void setup(IVariableProvider provider) { + ResourceLocation res = new ResourceLocation(provider.get("recipe")); + this.recipe = NaturesAuraAPI.OFFERING_RECIPES.get(res); + } + + @Override + public String process(String key) { + switch (key) { + case "input": + return PatchouliAPI.instance.serializeIngredient(this.recipe.input); + case "output": + return PatchouliAPI.instance.serializeItemStack(this.recipe.output); + case "start": + return PatchouliAPI.instance.serializeIngredient(this.recipe.startItem); + case "name": + return this.recipe.output.getDisplayName(); + default: + return null; + } + } +} diff --git a/src/main/java/de/ellpeck/naturesaura/recipes/ModRecipes.java b/src/main/java/de/ellpeck/naturesaura/recipes/ModRecipes.java index 34fe06d7..253127cc 100644 --- a/src/main/java/de/ellpeck/naturesaura/recipes/ModRecipes.java +++ b/src/main/java/de/ellpeck/naturesaura/recipes/ModRecipes.java @@ -61,7 +61,7 @@ public final class ModRecipes { Ingredient.fromStacks(new ItemStack(Blocks.STONEBRICK, 1, 1)), Helper.blockIng(ModBlocks.INFUSED_STONE), Ingredient.fromItem(Items.BREWING_STAND), - Ingredient.fromItem(Items.GOLD_INGOT), + Ingredient.fromItem(ModItems.SKY_INGOT), Ingredient.fromItem(ModItems.GOLD_LEAF), Helper.blockIng(Blocks.GLOWSTONE)).register(); diff --git a/src/main/resources/assets/naturesaura/advancements/conversion_catalyst.json b/src/main/resources/assets/naturesaura/advancements/conversion_catalyst.json index fded579a..6f91e05f 100644 --- a/src/main/resources/assets/naturesaura/advancements/conversion_catalyst.json +++ b/src/main/resources/assets/naturesaura/advancements/conversion_catalyst.json @@ -10,7 +10,7 @@ "translate": "advancement.naturesaura.conversion_catalyst.desc" } }, - "parent": "naturesaura:infused_materials", + "parent": "naturesaura:sky_ingot", "criteria": { "catalyst": { "trigger": "minecraft:inventory_changed", diff --git a/src/main/resources/assets/naturesaura/advancements/offering.json b/src/main/resources/assets/naturesaura/advancements/offering.json new file mode 100644 index 00000000..0ae31b23 --- /dev/null +++ b/src/main/resources/assets/naturesaura/advancements/offering.json @@ -0,0 +1,26 @@ +{ + "display": { + "icon": { + "item": "naturesaura:offering_table" + }, + "title": { + "translate": "advancement.naturesaura.offering" + }, + "description": { + "translate": "advancement.naturesaura.offering.desc" + } + }, + "parent": "naturesaura:aura_bottle_end", + "criteria": { + "table": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "naturesaura:offering_table" + } + ] + } + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/naturesaura/advancements/potion_generator.json b/src/main/resources/assets/naturesaura/advancements/potion_generator.json index ddcba0dc..aa1e2260 100644 --- a/src/main/resources/assets/naturesaura/advancements/potion_generator.json +++ b/src/main/resources/assets/naturesaura/advancements/potion_generator.json @@ -10,7 +10,7 @@ "translate": "advancement.naturesaura.potion_generator.desc" } }, - "parent": "naturesaura:aura_bottle_nether", + "parent": "naturesaura:sky_ingot", "criteria": { "generator": { "trigger": "minecraft:inventory_changed", diff --git a/src/main/resources/assets/naturesaura/advancements/sky_ingot.json b/src/main/resources/assets/naturesaura/advancements/sky_ingot.json new file mode 100644 index 00000000..ae2453e3 --- /dev/null +++ b/src/main/resources/assets/naturesaura/advancements/sky_ingot.json @@ -0,0 +1,26 @@ +{ + "display": { + "icon": { + "item": "naturesaura:sky_ingot" + }, + "title": { + "translate": "advancement.naturesaura.sky_ingot" + }, + "description": { + "translate": "advancement.naturesaura.sky_ingot.desc" + } + }, + "parent": "naturesaura:offering", + "criteria": { + "ingot": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "naturesaura:sky_ingot" + } + ] + } + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/naturesaura/lang/en_US.lang b/src/main/resources/assets/naturesaura/lang/en_US.lang index 06d0128d..64522664 100644 --- a/src/main/resources/assets/naturesaura/lang/en_US.lang +++ b/src/main/resources/assets/naturesaura/lang/en_US.lang @@ -100,5 +100,9 @@ advancement.naturesaura.aura_bottle_nether=Spooky Scary Skeletons advancement.naturesaura.aura_bottle_nether.desc=Collect Aura using a Bottle in the Nether advancement.naturesaura.aura_bottle_end=Breathy Surroundings advancement.naturesaura.aura_bottle_end.desc=Collect Aura using a Bottle in the End +advancement.naturesaura.offering=Yo God, ya want this? +advancement.naturesaura.offering.desc=Create an Offering Table for the Offering to the Gods +advancement.naturesaura.sky_ingot=Sturdy and light +advancement.naturesaura.sky_ingot.desc=Create an Ingot of the Skies using the Offering to the Gods command.naturesaura.aura.usage=/naaura \ No newline at end of file diff --git a/src/main/resources/assets/naturesaura/patchouli_books/book/en_us/entries/collecting/aura_bottle.json b/src/main/resources/assets/naturesaura/patchouli_books/book/en_us/entries/collecting/aura_bottle.json index 9f713296..183ce0cf 100644 --- a/src/main/resources/assets/naturesaura/patchouli_books/book/en_us/entries/collecting/aura_bottle.json +++ b/src/main/resources/assets/naturesaura/patchouli_books/book/en_us/entries/collecting/aura_bottle.json @@ -3,6 +3,7 @@ "icon": "naturesaura:aura_bottle{stored_type:'naturesaura:overworld'}", "category": "collecting", "advancement": "naturesaura:wood_stand", + "priority": true, "pages": [ { "type": "text", diff --git a/src/main/resources/assets/naturesaura/patchouli_books/book/en_us/entries/creating/potion_generator.json b/src/main/resources/assets/naturesaura/patchouli_books/book/en_us/entries/creating/potion_generator.json index 9ab5bc40..92b8a7ee 100644 --- a/src/main/resources/assets/naturesaura/patchouli_books/book/en_us/entries/creating/potion_generator.json +++ b/src/main/resources/assets/naturesaura/patchouli_books/book/en_us/entries/creating/potion_generator.json @@ -2,7 +2,7 @@ "name": "Ritual of the Brewer", "icon": "naturesaura:potion_generator", "category": "creating", - "advancement": "naturesaura:aura_bottle_nether", + "advancement": "naturesaura:sky_ingot", "pages": [ { "type": "text", diff --git a/src/main/resources/assets/naturesaura/patchouli_books/book/en_us/entries/practices/offering.json b/src/main/resources/assets/naturesaura/patchouli_books/book/en_us/entries/practices/offering.json new file mode 100644 index 00000000..5b7cfa75 --- /dev/null +++ b/src/main/resources/assets/naturesaura/patchouli_books/book/en_us/entries/practices/offering.json @@ -0,0 +1,36 @@ +{ + "name": "Offering to the Gods", + "icon": "naturesaura:offering_table", + "category": "practices", + "advancement": "naturesaura:aura_bottle_end", + "pages": [ + { + "type": "text", + "text": "$(item)Infused Iron$() is good and well, and it has enough natural power to do a variety of things on its own. But for more advanced mechanisms, a more powerful metal is required. For that, and for a lot of other things, the $(item)Offering to the Gods$() is required.$(br)The Gods have been, for a long time, the strongest and most powerful beings, and as such, also posess the strongest metals known to man." + }, + { + "type": "text", + "text": "To construct a way to call to the Gods themselves, simply place down an $(item)Offering Table$() with some flowers around it as depicted on the next page. Then, to start an offering, place any amount of items you want to offer into the bowl on the table, and then throw down the item that will call the Gods themselves, in most cases, the $(item)Spirit of Calling$(), close to the table.$(br)The requested items will then, with any luck, rain down from the sky." + }, + { + "type": "multiblock", + "multiblock_id": "naturesaura:offering_table", + "text": "Preparing the $(item)Offering to the Gods$(). Any type of flower can be used." + }, + { + "type": "crafting", + "text": "Creating the $(item)Offering Table$()", + "recipe": "naturesaura:offering_table" + }, + { + "type": "crafting", + "text": "Creating $(item)Spirits of Calling$()", + "recipe": "naturesaura:calling_spirit" + }, + { + "type":"naturesaura:offering", + "text":"Asking for $(item)Ingots of the Sky$(), a powerful metal infused with divine energy.", + "recipe":"naturesaura:sky_ingot" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/naturesaura/patchouli_books/book/en_us/entries/using/conversion_catalyst.json b/src/main/resources/assets/naturesaura/patchouli_books/book/en_us/entries/using/conversion_catalyst.json index 1a3bf46d..3607641d 100644 --- a/src/main/resources/assets/naturesaura/patchouli_books/book/en_us/entries/using/conversion_catalyst.json +++ b/src/main/resources/assets/naturesaura/patchouli_books/book/en_us/entries/using/conversion_catalyst.json @@ -2,7 +2,7 @@ "name": "Transmutation Catalyst", "icon": "naturesaura:conversion_catalyst", "category": "using", - "advancement": "naturesaura:infused_materials", + "advancement": "naturesaura:sky_ingot", "pages": [ { "type": "text", diff --git a/src/main/resources/assets/naturesaura/patchouli_books/book/en_us/templates/offering.json b/src/main/resources/assets/naturesaura/patchouli_books/book/en_us/templates/offering.json new file mode 100644 index 00000000..8e903090 --- /dev/null +++ b/src/main/resources/assets/naturesaura/patchouli_books/book/en_us/templates/offering.json @@ -0,0 +1,46 @@ +{ + "processor": "de.ellpeck.naturesaura.compat.patchouli.ProcessorOffering", + "components": [ + { + "type": "image", + "image": "naturesaura:textures/gui/patchouli/elements.png", + "x": 16, + "y": 13, + "u": 76, + "v": 0, + "width": 84, + "height": 38 + }, + { + "type": "item", + "item": "#input", + "x": 20, + "y": 31 + }, + { + "type": "item", + "item": "#output", + "x": 80, + "y": 31, + "link_recipe": true + }, + { + "type": "item", + "item": "#start", + "x": 48, + "y": 17 + }, + { + "type": "header", + "text": "#name", + "x": -1, + "y": 0 + }, + { + "type": "text", + "text": "#text", + "x": 0, + "y": 63 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/naturesaura/recipes/calling_spirit.json b/src/main/resources/assets/naturesaura/recipes/calling_spirit.json new file mode 100644 index 00000000..0df9d0a8 --- /dev/null +++ b/src/main/resources/assets/naturesaura/recipes/calling_spirit.json @@ -0,0 +1,38 @@ +{ + "type": "forge:ore_shaped", + "pattern": [ + " O ", + "GNG", + " E " + ], + "key": { + "G": { + "item": "naturesaura:infused_iron" + }, + "O": { + "type": "minecraft:item_nbt", + "item": "naturesaura:aura_bottle", + "nbt": { + "stored_type": "naturesaura:overworld" + } + }, + "N": { + "type": "minecraft:item_nbt", + "item": "naturesaura:aura_bottle", + "nbt": { + "stored_type": "naturesaura:nether" + } + }, + "E": { + "type": "minecraft:item_nbt", + "item": "naturesaura:aura_bottle", + "nbt": { + "stored_type": "naturesaura:end" + } + } + }, + "result": { + "item": "naturesaura:calling_spirit", + "count": 3 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/naturesaura/recipes/offering_table.json b/src/main/resources/assets/naturesaura/recipes/offering_table.json new file mode 100644 index 00000000..84c0f962 --- /dev/null +++ b/src/main/resources/assets/naturesaura/recipes/offering_table.json @@ -0,0 +1,24 @@ +{ + "type": "forge:ore_shaped", + "pattern": [ + "SIS", + " S ", + "WWW" + ], + "key": { + "S": { + "type": "forge:ore_dict", + "ore": "stone" + }, + "W": { + "type": "forge:ore_dict", + "ore": "logWood" + }, + "I": { + "item": "naturesaura:infused_iron" + } + }, + "result": { + "item": "naturesaura:offering_table" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/naturesaura/recipes/potion_generator.json b/src/main/resources/assets/naturesaura/recipes/potion_generator.json index 28532f6f..65fd6ab3 100644 --- a/src/main/resources/assets/naturesaura/recipes/potion_generator.json +++ b/src/main/resources/assets/naturesaura/recipes/potion_generator.json @@ -13,7 +13,7 @@ "item": "minecraft:blaze_rod" }, "I": { - "item": "naturesaura:infused_iron" + "item": "naturesaura:sky_ingot" }, "W": { "type": "minecraft:item_nbt", diff --git a/src/main/resources/assets/naturesaura/textures/gui/patchouli/elements.png b/src/main/resources/assets/naturesaura/textures/gui/patchouli/elements.png index 38e7bd73e59d06565f5648ef6bab3b125006f6d9..d3773dbabd579acc3f902ddb5c7473c5257ea100 100644 GIT binary patch literal 3894 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 L7i}u7ynp*2qcub?>eE zzIr#09&tcy(B1$50K&=fz%c-TK_U!Trwlb79yV^!z9*FydEB*#;M z0HF42`GIZRc901vwJ3J(l;i&ADZ$?4a{$Tvk{`v??;J(n%ygIOE+3=hLjdrd!s&p` zi4dJd! zz)?yyrv{UZXo<9kiPM|aE@V-u6%$KJ)^}*stlUF6xsNT>c{Af;E|MEMG|i<+ad0M; zz`1oM&GrvsXujKc1waslv*T2Y8Gdf(;uk1wuH_0PQ4GRu`=;|tea{+<6eHBBv>z ztb*i&n*0WF*%OSq_r9thJxm^OQ^j(Dn47v#aw{vZP_wbG4*ng>1l@2cT}Z9DUD{D9 zr8ov6)ptHAHET1km&tZ_^E&MJogNhhSv}!|m)};=I(8=T^v(bT0jQ!9n=ZYqF)x4t z(h~FRwHm@IW#Fl>D_Qff2OJ3$c>UKMPmZa#w*I|YnAf?`XYE^LihLKJ7!|F%h@q#(i^J=R ziU*SI%B?XU{L~vCB8H4|J?05YuN%VyGs#ib1u%UiGA7R>4l3TZUe8Phh;JrXgcmie z?Y1M9D~Rk*84R`8uflz{u|1MKJMMG)OB*oqA*S()Q|*6nQnd0l^;MBEO(t)lrKl7Y z42b&vtb2^lfRswFUxxd*bW*pf`@e^E6%V*S$6v0DPbmAWw8y8q@M58FTV2G}Prs>8 z0$oJ|?kA{IT}tm{hRloCmy`f@H_6z@1aIO+BVIQ-I1}x_(B<*~sBA3AP#Dq;Fc%6Q zYp7mMxUt!_R3g_R!y~_PpM$QY$ERV3ZyxVS>m=BcYQ2Q&Icbem#3o_~t|v+&QGNW) zq~UMFOifMCdM}DBuFicKoREYy)v~U1(uJ|8hhTF{3kcurNmVPFuFpW@Ii39o6vb@Bd>|t1mLK?Ww_2Jq(yEYDgC^^N;1ada zef~^-QF~OFe8_emIi`fvF%%@ZQ(Rmesx7Fkt&P=A;5LaQfN#O$j9c~ndQ+n^sW7%e z*u&_w`-x2u$jqP6m)J&LsHXuzZO*=p0f4!Pblm@4#XqBqe}C*O($N2 zOnwL!D}O#Ip_H*QmvFbVYZ)#D&0lQ%-}XI8tew26=~TQvtlf@?4frCD^SP*nTb=GHJ9*f0+dg+ts(CJUc zb!E*ciExaf2%#2jNXe?vKBVGmIIzaB|AEBqlBAX9Uoq#EO^{|;-_TDTyngT=Dfga# z<0PAc6FcL2@e#+6g|HEkY`rl^(YPRVvgoYeB*fIsO6UYYls$Oe??V9$f{ch&sRLx3 z3ZCfmQme>q3y$L|r}@vNC0P)FYJb2_Bj;aKif%xjv_G1c(Ps|O-l&Lcyx}?4i{!SM zl3?Fl`+k>kZ6gXn**~WVuG{;6}y^#}@(6e1(@ymkLuWqV$9B$L=yw=a3RNX_F zuOJ%tCHe7$4@V7dFBA=AC9ZwD=n2qbczdl~wVn4oQyCA#E?_h4Axg!-kbValmf5Ga zjp3Aid8uOPy{P*68W*uM2-Rm_e6)v;5LpBcW!p=J>%P8zr1G&U{K%3+1AQc$`O#r; zf@>GZjUqTNy@CS}%6eD?&=aOJ8m@SN5T#!u0s%*^EUfi>o*^kx?`&&pi-5F|$g1w{ zZnSO!4FdkubOF}7H%rC~-bry*NN=_SSybFd`~ zqn&IV%lgGDXIk+JSTz!Ui~H`CPz~rJh{PAjSmgd_T