From 56d5cb12439d8ff0764d58e3cb1d422cb8226415 Mon Sep 17 00:00:00 2001 From: LordMZTE Date: Tue, 17 Jan 2023 18:12:46 +0100 Subject: [PATCH] feat: add more researches and recipes --- .../anvilcraft/classiccasting/Recipes.java | 121 +++++++++++++- .../anvilcraft/classiccasting/Research.java | 149 +++++++++++++++--- .../assets/classiccasting/lang/en_US.lang | 12 ++ .../textures/misc/basic_flux.png | Bin 0 -> 567 bytes .../misc/the_theory_of_everything.png | Bin 0 -> 538 bytes 5 files changed, 258 insertions(+), 24 deletions(-) create mode 100644 src/main/resources/assets/classiccasting/textures/misc/basic_flux.png create mode 100644 src/main/resources/assets/classiccasting/textures/misc/the_theory_of_everything.png diff --git a/src/main/java/net/anvilcraft/classiccasting/Recipes.java b/src/main/java/net/anvilcraft/classiccasting/Recipes.java index 467541b..4950b02 100644 --- a/src/main/java/net/anvilcraft/classiccasting/Recipes.java +++ b/src/main/java/net/anvilcraft/classiccasting/Recipes.java @@ -5,6 +5,8 @@ import dev.tilera.auracore.api.AuracoreRecipes; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.CraftingManager; +import net.minecraftforge.oredict.ShapedOreRecipe; import thaumcraft.api.ThaumcraftApi; import thaumcraft.api.aspects.Aspect; import thaumcraft.api.aspects.AspectList; @@ -12,7 +14,21 @@ import thaumcraft.common.config.ConfigBlocks; import thaumcraft.common.config.ConfigItems; public class Recipes { + @SuppressWarnings("unchecked") public static void init() { + CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe( + CCItems.wandCastingApprentice, + " C", + " S ", + "G ", + 'C', + new ItemStack(ConfigItems.itemShard, 1, 32767), + 'S', + "stickWood", + 'G', + "nuggetGold" + )); + Research.arcaneRecipes.put( "ArcaneStone", ThaumcraftApi.addArcaneCraftingRecipe( @@ -188,7 +204,6 @@ public class Recipes { "WANDLIGHTNING", "WANDLIGHTNING", 50, - // TODO: this used to be Aspect.POWER. is ENERGY correct? new AspectList().add(Aspect.ENERGY, 16).add(Aspect.WEAPON, 4), new ItemStack(CCItems.wandLightning), "SS", @@ -199,5 +214,109 @@ public class Recipes { new ItemStack(ConfigItems.itemShard, 1, 0) ) ); + + Research.infusionRecipes.put( + "FluxFilter", + AuracoreRecipes.addInfusionCraftingRecipe( + "FLUXFILTER", + "BASICFLUX", + 25, + new AspectList().add(Aspects.PURE, 8).add(Aspect.EXCHANGE, 8), + new ItemStack(ConfigItems.itemResource, 1, 8), + "GFG", + 'F', + new ItemStack(ConfigBlocks.blockMagicalLog, 1, 1), + 'G', + Items.gold_ingot + ) + ); + + Research.infusionRecipes.put( + "Alembic", + AuracoreRecipes.addInfusionCraftingRecipe( + "BASICFLUX", + "ALEMBIC", + 75, + new AspectList() + .add(Aspect.AIR, 8) + .add(Aspect.WATER, 8) + .add(Aspect.CRYSTAL, 8), + new ItemStack(ConfigBlocks.blockMetalDevice, 1, 1), + "GFG", + "J G", + "B ", + 'F', + new ItemStack(ConfigItems.itemResource, 1, 8), + 'J', + new ItemStack(ConfigBlocks.blockJar, 1, 0), + 'B', + Items.brewing_stand, + 'G', + Items.gold_ingot + ) + ); + + Research.infusionRecipes.put( + "MageWand", + AuracoreRecipes.addInfusionCraftingRecipe( + "WANDMAGE", + "THETHEORYOFEVERYTHING", + 250, + new AspectList().add(Aspect.MAGIC, 32), + new ItemStack(CCItems.wandCastingMage), + " N", + "S ", + 'S', + new ItemStack(CCItems.wandCastingAdept, 1, 32767), + 'N', + Items.nether_star + ) + ); + + Research.infusionRecipes.put( + "WandHellrod", + AuracoreRecipes.addInfusionCraftingRecipe( + "HELLROD", + "HELLROD", + 250, + new AspectList() + .add(Aspects.EVIL, 32) + .add(Aspect.FIRE, 32) + .add(Aspect.BEAST, 32), + new ItemStack(CCItems.wandHellrod), + " GN", + " SG", + "W ", + 'S', + new ItemStack(CCItems.wandFire, 1, 32767), + 'W', + new ItemStack(CCItems.wandCastingAdept, 1, 32767), + 'N', + Blocks.tnt, + 'G', + Items.gold_ingot + ) + ); + + Research.infusionRecipes.put( + "PortableHole", + AuracoreRecipes.addInfusionCraftingRecipe( + "PORTABLEHOLE", + "PORTABLEHOLE", + 200, + new AspectList() + .add(Aspect.VOID, 24) + .add(Aspect.ELDRITCH, 24) + .add(Aspect.EXCHANGE, 16), + new ItemStack(CCItems.portableHole), + " C ", + "CEC", + " C ", + 'C', + new ItemStack(ConfigItems.itemResource, 1, 7), + 'E', + Items.ender_pearl + ) + ); } } diff --git a/src/main/java/net/anvilcraft/classiccasting/Research.java b/src/main/java/net/anvilcraft/classiccasting/Research.java index b073268..42265d5 100644 --- a/src/main/java/net/anvilcraft/classiccasting/Research.java +++ b/src/main/java/net/anvilcraft/classiccasting/Research.java @@ -10,6 +10,7 @@ import dev.tilera.auracore.api.crafting.IInfusionRecipe; import dev.tilera.auracore.api.research.ResearchPageInfusion; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; +import thaumcraft.api.ThaumcraftApi; import thaumcraft.api.aspects.Aspect; import thaumcraft.api.aspects.AspectList; import thaumcraft.api.crafting.IArcaneRecipe; @@ -90,8 +91,8 @@ public class Research { .add(Aspect.MAGIC, 1) .add(Aspect.TREE, 1) .add(Aspect.CRAFT, 1), - 0, - 0, + -2, + -2, 2, new ItemStack(CCBlocks.infusionWorkbench) ) @@ -134,8 +135,8 @@ public class Research { .add(Aspects.FLUX, 16) .add(Aspect.MOTION, 32) .add(Aspect.VOID, 16), - 0, - 2, + -3, + 7, 3, new ItemStack(CCBlocks.crystal) ) @@ -145,6 +146,7 @@ public class Research { new ResearchPage("classiccasting.research_page.CRYSTALCORE.2"), new ResearchPage(magnetStructure) ) + .setParents("THETHEORYOFEVERYTHING") .registerResearchItem(); new ResearchItem( @@ -154,8 +156,8 @@ public class Research { .add(Aspect.CRYSTAL, 24) .add(Aspect.MAGIC, 32) .add(Aspect.EXCHANGE, 24), - -2, - 2, + -5, + 7, 1, new ItemStack(CCBlocks.crystal, 1, 1) ) @@ -166,9 +168,6 @@ public class Research { .setParents("CRYSTALCORE") .registerResearchItem(); - int utftCol = 3; - int utftRow = -2; - new ResearchItem( "UNIFIEDTHAUMICFIELDTHEORY", "CLASSICCASTING", @@ -181,8 +180,8 @@ public class Research { .add(Aspect.EARTH, 8) .add(Aspect.WATER, 8) .add(Aspects.TIME, 4), - utftCol, - utftRow, + 0, + 0, 3, new ResourceLocation( "classiccasting", "textures/misc/unified_thaumic_field_theory.png" @@ -193,6 +192,7 @@ public class Research { ), new ResearchPageInfusion(infusionRecipes.get("AdeptWand")) ) + .setParents("MAGBLOCKS") .setSpecial() .registerResearchItem(); @@ -204,8 +204,8 @@ public class Research { .add(Aspect.MAGIC, 8) .add(Aspect.WEAPON, 8) .add(Aspect.FIRE, 8), - utftCol + 1, - utftRow + 2, + 1, + 2, 2, new ItemStack(CCItems.wandFire) ) @@ -220,8 +220,8 @@ public class Research { "WANDFROST", "CLASSICCASTING", new AspectList().add(Aspect.COLD, 16).add(Aspect.WEAPON, 4), - utftCol + 1, - utftRow + 3, + 1, + 3, 2, new ItemStack(CCItems.wandFrost) ) @@ -239,8 +239,8 @@ public class Research { .add(Aspect.EXCHANGE, 16) .add(Aspect.MAGIC, 8) .add(Aspect.TOOL, 8), - utftCol - 1, - utftRow + 4, + -1, + 4, 2, new ItemStack(CCItems.wandTrade) ) @@ -255,8 +255,8 @@ public class Research { "WANDEXCAVATE", "CLASSICCASTING", new AspectList().add(Aspect.METAL, 16).add(Aspect.TOOL, 4), - utftCol - 1, - utftRow + 3, + -1, + 3, 2, new ItemStack(CCItems.wandExcavation) ) @@ -274,18 +274,121 @@ public class Research { .add(Aspects.DESTRUCTION, 8) .add(Aspect.MAGIC, 8) .add(Aspect.WEAPON, 8) - // TODO: this used to be Aspect.POWER. is ENERGY correct? .add(Aspect.ENERGY, 8), - utftCol + 1, - utftRow + 4, + 1, + 4, 2, new ItemStack(CCItems.wandLightning) ) .setPages( new ResearchPage("classiccasting.research_page.WANDLIGHTNING"), - new ResearchPageInfusion(infusionRecipes.get("wandLightning")) + new ResearchPageInfusion(infusionRecipes.get("WandLightning")) ) .setParents("UNIFIEDTHAUMICFIELDTHEORY") .registerResearchItem(); + + new ResearchItem( + "BASICFLUX", + "CLASSICCASTING", + new AspectList() + .add(Aspects.FLUX, 20) + .add(Aspects.CONTROL, 8) + .add(Aspect.EXCHANGE, 8) + .add(Aspects.PURE, 8) + .add(Aspect.MECHANISM, 4), + -3, + 4, + 2, + new ResourceLocation("classiccasting", "textures/misc/basic_flux.png") + ) + .setPages( + new ResearchPage("classiccasting.research_page.BASICFLUX.1"), + new ResearchPageInfusion(infusionRecipes.get("FluxFilter")), + new ResearchPage("classiccasting.research_page.BASICFLUX.2"), + new ResearchPageInfusion(infusionRecipes.get("Alembic")), + new ResearchPage("classiccasting.research_page.BASICFLUX.3") + ) + .setParents("UNIFIEDTHAUMICFIELDTHEORY", "DISTILESSENTIA") + .registerResearchItem(); + + new ResearchItem( + "THETHEORYOFEVERYTHING", + "CLASSICCASTING", + new AspectList() + .add(Aspect.MIND, 24) + .add(Aspect.ARMOR, 8) + .add(Aspects.INSECT, 8) + .add(Aspect.PLANT, 8) + .add(Aspect.WEAPON, 8) + .add(Aspect.BEAST, 8) + .add(Aspect.FLESH, 8) + .add(Aspect.LIFE, 8) + .add(Aspect.POISON, 8) + .add(Aspect.TREE, 8) + .add(Aspect.CROP, 8) + .add(Aspects.FLOWER, 8) + .add(Aspect.MECHANISM, 8) + .add(Aspects.SOUND, 8) + .add(Aspect.CRYSTAL, 8) + .add(Aspects.FUNGUS, 8) + .add(Aspect.METAL, 8) + .add(Aspect.TOOL, 8), + 0, + 7, + 3, + new ResourceLocation( + "classiccasting", "textures/misc/the_theory_of_everything.png" + ) + ) + .setPages( + new ResearchPage("classiccasting.research_page.THETHEORYOFEVERYTHING"), + new ResearchPageInfusion(infusionRecipes.get("WandMage")) + ) + .setParents("UNIFIEDTHAUMICFIELDTHEORY", "BASICFLUX", "GOLEMSTRAW") + .setSpecial() + .registerResearchItem(); + + new ResearchItem( + "HELLROD", + "CLASSICCASTING", + new AspectList() + .add(Aspect.FIRE, 24) + .add(Aspect.MAGIC, 16) + .add(Aspect.WEAPON, 16) + .add(Aspect.BEAST, 24) + .add(Aspects.EVIL, 24), + 3, + 7, + 2, + new ItemStack(CCItems.wandHellrod) + ) + .setPages( + new ResearchPage("classiccasting.research_page.HELLROD"), + new ResearchPageInfusion(infusionRecipes.get("WandHellrod")) + ) + .setParents("THETHEORYOFEVERYTHING", "WANDFIRE") + .registerResearchItem(); + ThaumcraftApi.addWarpToResearch("HELLROD", 2); + ThaumcraftApi.addWarpToItem(new ItemStack(CCItems.wandHellrod), 1); + + new ResearchItem( + "PORTABLEHOLE", + "CLASSICCASTING", + new AspectList() + .add(Aspect.VOID, 20) + .add(Aspect.MOTION, 8) + .add(Aspect.ELDRITCH, 8) + .add(Aspect.EXCHANGE, 8), + -3, + 2, + 1, + new ItemStack(CCItems.portableHole) + ) + .setPages( + new ResearchPage("classiccasting.research_page.PORTABLEHOLE"), + new ResearchPageInfusion(infusionRecipes.get("PortableHole")) + ) + .setParents("UNIFIEDTHAUMICFIELDTHEORY", "ENCHFABRIC") + .registerResearchItem(); } } diff --git a/src/main/resources/assets/classiccasting/lang/en_US.lang b/src/main/resources/assets/classiccasting/lang/en_US.lang index 588ae25..0e1f1c2 100644 --- a/src/main/resources/assets/classiccasting/lang/en_US.lang +++ b/src/main/resources/assets/classiccasting/lang/en_US.lang @@ -74,3 +74,15 @@ classiccasting.research_page.WANDLIGHTNING=You have successfully adapted the enc tc.research_name.AURACOMPASS=Aura Compass tc.research_text.AURACOMPASS=Magical detector classiccasting.research_page.AURACOMPASS=The Aura Compass acts like a mystical compass, pointing you towards the center of the nearest magical aura.

You are confident you will be able to craft more refined devices in the future allowing you to discover more information about aura nodes.
For now this will have to do. + +tc.research_name.THETHEORYOFEVERYTHING=The Theory of Everything +tc.research_text.THETHEORYOFEVERYTHING=Well, almost everything +classiccasting.research_pange.THETHEORYOFEVERYTHING=You understanding of the material and mystical worlds have grown considerably and you now have a much greater grasp of how magic interacts with solid matter.

Not only is this knowledge enlightening, it has some practical applications. Once again it has led you to an improvement of your casting wand. You now know how to create a Wand of the Thaumaturge.

It is similar to the Wand of the Adept, except it is able to store much more vis thus allowing for larger and more complex feats of magic. It also recharges faster. + +tc.research_name.HELLROD=Rod of the Nine Hells +tc.research_text.HELLROD=Nether on a stick. +classiccasting.research_page.HELLROD=You have discovered a way to summon the little terrors and send them after your enemies.

You have bound this power into a special rod and once it has gathered enough vis it can be used to summon a hellbat. + +tc.research_name.PORTABLEHOLE=Portable Hole +tc.research_text.PORTABLEHOLE=Never without an exit again +classiccasting.research_page.PORTABLEHOLE=You have succeeded in creating a Portable Hole. Simply placing this strange sheet of fabric against a solid surface will reveal an extra dimensional passage leading to the other side.
This 'hole' only remains open for a few seconds and drains charge from the Portable Hole equal to the amount of matter shifted. The hole does recharge itself by drawing vis from the aura.
Holes cannot be created through certain kinds of matter or particularly complex objects. diff --git a/src/main/resources/assets/classiccasting/textures/misc/basic_flux.png b/src/main/resources/assets/classiccasting/textures/misc/basic_flux.png new file mode 100644 index 0000000000000000000000000000000000000000..43b895dde9925c8a8a11e31c5ed48f5c08d221a5 GIT binary patch literal 567 zcmV-70?7S|P)2xx`Zp2x`M!<$ut6uo4e$P`2yRBBMe;?4dPs_5bbF26xovdycbq+zIPo*+sMAK!b z^QOhPnPyqm*@tui4+iQHhr*e zKxW((Q^}mJg{&Nu>Q~6Mwbax#O&E_RKov@lEr=!Hh#^^dSkDdquYg!2>Zv~?5;Ip`?7j-OgGzuS%T*HQk}OgfRzIlM_nCew2SJ`}nJ;gD^O=5F{{j7>*O-bM*3JL`002ovPDHLk FV1jTX5Lf^J literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/classiccasting/textures/misc/the_theory_of_everything.png b/src/main/resources/assets/classiccasting/textures/misc/the_theory_of_everything.png new file mode 100644 index 0000000000000000000000000000000000000000..147467fd6bee01f8ac40307e480446d859c7cd45 GIT binary patch literal 538 zcmV+#0_FXQP)$(Q&3|Nr;C_q{iw>pH_sPQ)_+@l`oI6r}6= zK$jDX*`uVWA0sLX7vEoA{r6PB~DFYdn&J@ik4 z{V~`cfne?z01zzDQkc-c<2d{5`|w43E(}KA-Gtck`t0uce6CckL#GWbbvU|JflixJ zxz6tSd@i=UJ}UskR+6F3ytH3C)!;M1& literal 0 HcmV?d00001