diff --git a/assets/forbidden/lang/en_US.lang b/assets/forbidden/lang/en_US.lang index 7a2a613..0b146af 100644 --- a/assets/forbidden/lang/en_US.lang +++ b/assets/forbidden/lang/en_US.lang @@ -63,6 +63,7 @@ item.WandCores.blood_inert.name=Inert Blood Rod item.WandCores.livingwood.name=Livingwood Rod item.WandCores.livingwood_inert.name=Dormant Livingwood Rod item.WandCores.blood_staff.name=Blood Staff Core +item.WandCores.witchwood_staff.name=Witchwood Staff Core item.WandCaps.alchemical.name=Alchemical Cap item.WandCaps.vinteum.name=Vinteum Cap item.WandCaps.soul.name=Ender Cap @@ -139,7 +140,11 @@ forbidden.research_page.ROD_blood_staff.1=The Blood Wand is useful, but it just # forbidden.research_name.ROD_witchwood=Witchwood Wand Core forbidden.research_text.ROD_witchwood=Mana converter -forbidden.research_page.ROD_witchwood.1=By creating a wand core out of Witchwood, you've discovered a way to convert mana into Vis. The Witchwood Wand Core holds up to 100 vis and will gradually charge itself at the cost of 150 mana per point of vis.

Further research may reveal ways to lower this price. +forbidden.research_page.ROD_witchwood.1=By creating a wand core out of Witchwood, you've discovered a way to convert mana into Vis. The Witchwood Wand Core holds up to 100 vis and will gradually charge itself at the cost of 140 mana per point of vis.

Further research may reveal ways to lower this price. +# +forbidden.research_name.ROD_witchwood_staff=Witchwood Staff Core +forbidden.research_text.ROD_witchwood_staff=Staff of the Arcanist +forbidden.research_page.ROD_witchwood_staff.1=The Witchwood Wand eats far too much magical power and charges far too slowly to stand up in sustained combat. It's time for something a little more efficient at channeling arcane power.

Unlike most staves, the Witchwood Staff can only hold 50 vis. Its true strength lies in how quickly it recharges itself. The staff regains vis at over twice the rate of the Witchwood Wand. Furthermore, the staff uses considerably less magical power than the Witchwood Wand, only needing 100 mana per point of vis, if used without the appropriate cap. # forbidden.research_name.ROD_totem=Totemic Wand Core forbidden.research_text.ROD_totem=Verdant vis storage @@ -151,15 +156,15 @@ forbidden.research_page.ROD_livingwood.1=Livingwood has the fantastic ability to # forbidden.research_name.CAP_alchemical=Alchemical Caps forbidden.research_text.CAP_alchemical=When Thaumium isn't bloody enough -forbidden.research_page.CAP_alchemical.1=You've developed a wand cap that merges Thaumaturgy and Alchemical Wizardry. Alchemical Caps are very effective at channeling Aqua, only using 80% of the normal vis cost. Unfortunately, they're less effective than Thaumium at channeling other aspects, offering only a 95% rate on everything else.

If combined with a Bloody Wand Core, Alchemical Caps discount the amount of LP consumed by the wand, costing only 900 LP per vis. The caps also cause all attacks from a blood wand to inflict Weakness. +forbidden.research_page.CAP_alchemical.1=You've developed a wand cap that merges Thaumaturgy and Alchemical Wizardry. Alchemical Caps are very effective at channeling Aqua, only using 80% of the normal vis cost. For everything else, they offer only a 90% rate.

If combined with a Bloody Wand Core, Alchemical Caps discount the amount of LP consumed by the wand, costing only 900 LP per vis. The caps also cause all attacks from a blood wand to inflict Weakness. # forbidden.research_name.CAP_vinteum=Vinteum Caps forbidden.research_text.CAP_vinteum=Magical wand caps -forbidden.research_page.CAP_vinteum.1=By infusing a Thaumium cap with Vinteum, you create a cap that, when combined with a Witchwood Wand Core, lowers its mana cost to only 90 per point of vis.

The Thaumium cap seems to meld well with Vinteum, offering the same 90% vis rate. +forbidden.research_page.CAP_vinteum.1=By infusing a Thaumium cap with Vinteum, you create a cap that, when combined with a Witchwood Wand Core, lowers its mana cost to only 80 per point of vis.

The Thaumium cap seems to meld well with Vinteum, offering the same 90% vis rate. # forbidden.research_name.CAP_soul=Ender Caps forbidden.research_text.CAP_soul=Protection for your soul -forbidden.research_page.CAP_soul.1=You've created a wand cap that can safely channel the destructive energy of The End. Ender Caps have an 80% vis rate on Perditio, but only 95% for other aspects.

When combined with an Eldritch Wand Core, Ender Caps also reduce the amount of corruption your soul suffers from channeling vis out of the End. +forbidden.research_page.CAP_soul.1=You've created a wand cap that can safely channel the destructive energy of The End. Ender Caps have an 80% vis rate on Perditio, but only 90% for other aspects.

When combined with an Eldritch Wand Core, Ender Caps also reduce the amount of corruption your soul suffers from channeling vis out of the End. # forbidden.research_name.CAP_manasteel=Manasteel Caps forbidden.research_text.CAP_manasteel=The secret of mana diff --git a/assets/forbidden/textures/items/wand_rod_witchwood_staff.png b/assets/forbidden/textures/items/wand_rod_witchwood_staff.png new file mode 100644 index 0000000..7444695 Binary files /dev/null and b/assets/forbidden/textures/items/wand_rod_witchwood_staff.png differ diff --git a/src/com/spiteful/forbidden/Compat.java b/src/com/spiteful/forbidden/Compat.java index 495e4ee..907f699 100644 --- a/src/com/spiteful/forbidden/Compat.java +++ b/src/com/spiteful/forbidden/Compat.java @@ -206,11 +206,11 @@ public class Compat { bloodItems = Class.forName("WayofTime.alchemicalWizardry.AlchemicalWizardry"); Item bloodBucket = (Item)(bloodItems.getField("bucketLife").get(null)); + AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ForbiddenItems.wandCore, 1, 3), new ItemStack(ForbiddenItems.wandCore, 1, 6), 4, 20000, 15, 20, false); + InfusionRecipe blood_recipe = ThaumcraftApi.addInfusionCraftingRecipe("ROD_blood", new ItemStack(ForbiddenItems.wandCore, 1, 6), 2, (new AspectList()).add(Aspect.LIFE, 32).add(Aspect.MAGIC, 12).add(Aspect.WATER, 16), new ItemStack(masterOrb), new ItemStack[]{new ItemStack(magicales), new ItemStack(imbuedSlate), new ItemStack(imbuedSlate), new ItemStack(tennebrae), new ItemStack(sanctus), new ItemStack(aquasalus), new ItemStack(incendium), new ItemStack(terrae), new ItemStack(aether)}); (new DarkResearchItem("ROD_blood", "FORBIDDEN", "[BM]", (new AspectList()).add(Aspect.LIFE, 5).add(Aspect.WATER, 4).add(Aspect.WEAPON, 3), -5, -3, 3, new ItemStack(ForbiddenItems.wandCore, 1, 3))).setPages(new ResearchPage[]{new ResearchPage("forbidden.research_page.ROD_blood.1"), new ResearchPage(blood_recipe), new ResearchPage("forbidden.research_page.ROD_blood.2")}).setParents(new String[]{"ROD_silverwood", "INFAUXSION"}).setAspectTriggers(new Aspect[]{Aspect.LIFE}).setConcealed().registerResearchItem(); - AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ForbiddenItems.wandCore, 1, 3), new ItemStack(ForbiddenItems.wandCore, 1, 6), 4, 20000, 15, 20, false); - InfusionRecipe alchemical_recipe = ThaumcraftApi.addInfusionCraftingRecipe("CAP_alchemical", new ItemStack(ForbiddenItems.wandCap, 1, 0), 3, (new AspectList()).add(Aspect.LIFE, 12).add(Aspect.WATER, 6), ItemApi.getItem("itemWandCap", 1), new ItemStack[]{new ItemStack(magicales), new ItemStack(magicales), new ItemStack(magicales)}); (new DarkResearchItem("CAP_alchemical", "FORBIDDEN", "[BM]", (new AspectList()).add(Aspect.LIFE, 4).add(Aspect.TOOL, 1).add(Aspect.WATER, 3), -5, -5, 2, new ItemStack(ForbiddenItems.wandCap, 1, 0))).setPages(new ResearchPage[]{new ResearchPage("forbidden.research_page.CAP_alchemical.1"), new ResearchPage(alchemical_recipe)}).setParents(new String[]{"ROD_blood", "CAP_gold"}).setSecondary().setConcealed().registerResearchItem(); @@ -218,7 +218,7 @@ public class Compat { (new DarkResearchItem("BLOODWELL", "FORBIDDEN", "[BM]", (new AspectList()).add(Aspect.LIFE, 5).add(Aspect.MIND, 4).add(Aspect.SENSES, 3), -10, 4, 1, new ItemStack(ForbiddenItems.bloodwell, 1, 0))).setPages(new ResearchPage[]{new ResearchPage("forbidden.research_page.BLOODWELL.1"), new ResearchPage(bloodwell_recipe)}).setParents(new String[]{"RESEARCH"}).setAspectTriggers(new Aspect[]{Aspect.LIFE}).setConcealed().registerResearchItem(); IArcaneRecipe blood_staff = ThaumcraftApi.addArcaneCraftingRecipe("ROD_blood_staff", new ItemStack(ForbiddenItems.wandCore, 1, 9), (new AspectList()).add(Aspect.ENTROPY, 26).add(Aspect.FIRE, 26).add(Aspect.WATER, 26).add(Aspect.AIR, 26).add(Aspect.EARTH, 26).add(Aspect.ORDER, 26), new Object[]{"__D", "_B_", "B__", Character.valueOf('B'), new ItemStack(ForbiddenItems.wandCore, 1, 3), Character.valueOf('D'), new ItemStack(demonShard)}); - (new DarkResearchItem("ROD_blood_staff", "FORBIDDEN", "[BM]", (new AspectList()).add(Aspect.LIFE, 8).add(Aspect.WATER, 7).add(Aspect.WEAPON, 6), -6, -5, 5, new ItemStack(ForbiddenItems.wandCore, 1, 9))).setPages(new ResearchPage[]{new ResearchPage("forbidden.research_page.ROD_blood_staff.1"), new ResearchPage(blood_staff)}).setParents(new String[]{"ROD_silverwood_staff", "ROD_blood"}).setSpecial().setConcealed().registerResearchItem(); + (new DarkResearchItem("ROD_blood_staff", "FORBIDDEN", "[BM]", (new AspectList()).add(Aspect.LIFE, 8).add(Aspect.WATER, 7).add(Aspect.WEAPON, 6), -5, -7, 5, new ItemStack(ForbiddenItems.wandCore, 1, 9))).setPages(new ResearchPage[]{new ResearchPage("forbidden.research_page.ROD_blood_staff.1"), new ResearchPage(blood_staff)}).setParents(new String[]{"ROD_silverwood_staff", "ROD_blood"}).setSpecial().setConcealed().registerResearchItem(); if(kami) { @@ -316,14 +316,16 @@ public class Compat { Class amBlocks = Class.forName("am2.blocks.BlocksCommonProxy"); Item essence = (Item)(amItems.getField("essence").get(null)); Item amOre = (Item)(amItems.getField("itemOre").get(null)); - Item rune = (Item)(amItems.getField("rune").get(null)); Block witchwood = (Block)(amBlocks.getField("witchwoodLog").get(null)); - InfusionRecipe witchwood_recipe = ThaumcraftApi.addInfusionCraftingRecipe("ROD_witchwood", new ItemStack(ForbiddenItems.wandCore, 1, 4), 5, (new AspectList()).add(Aspect.MAGIC, 16).add(Aspect.EARTH, 9).add(Aspect.WATER, 9).add(Aspect.FIRE, 9).add(Aspect.AIR, 9), new ItemStack(witchwood), new ItemStack[]{new ItemStack(amOre.itemID, 1, 3), new ItemStack(essence.itemID, 1, 1), new ItemStack(essence.itemID, 1, 2), new ItemStack(essence.itemID, 1, 3), new ItemStack(essence.itemID, 1, 4), new ItemStack(rune.itemID, 1, 7), new ItemStack(rune.itemID, 1, 8), new ItemStack(amOre.itemID, 1, 2)}); + InfusionRecipe witchwood_recipe = ThaumcraftApi.addInfusionCraftingRecipe("ROD_witchwood", new ItemStack(ForbiddenItems.wandCore, 1, 4), 5, (new AspectList()).add(Aspect.MAGIC, 16).add(Aspect.EARTH, 9).add(Aspect.WATER, 9).add(Aspect.FIRE, 9).add(Aspect.AIR, 9), new ItemStack(witchwood), new ItemStack[]{new ItemStack(essence.itemID, 1, 0), new ItemStack(amOre.itemID, 1, 3), new ItemStack(essence.itemID, 1, 1), new ItemStack(essence.itemID, 1, 2), new ItemStack(essence.itemID, 1, 3), new ItemStack(essence.itemID, 1, 4), new ItemStack(amOre.itemID, 1, 6), new ItemStack(amOre.itemID, 1, 7), new ItemStack(amOre.itemID, 1, 2)}); (new DarkResearchItem("ROD_witchwood", "FORBIDDEN", "[AM2]", (new AspectList()).add(Aspect.MAGIC, 6).add(Aspect.TREE, 5).add(Aspect.MIND, 4), -4, -3, 3, new ItemStack(ForbiddenItems.wandCore, 1, 4))).setPages(new ResearchPage[]{new ResearchPage("forbidden.research_page.ROD_witchwood.1"), new ResearchPage(witchwood_recipe)}).setParents(new String[]{"ROD_silverwood", "INFAUXSION"}).setConcealed().registerResearchItem(); InfusionRecipe vinteum_recipe = ThaumcraftApi.addInfusionCraftingRecipe("CAP_vinteum", new ItemStack(ForbiddenItems.wandCap, 1, 1), 5, (new AspectList()).add(Aspect.ENERGY, 12).add(Aspect.MAGIC, 6), ItemApi.getItem("itemWandCap", 6), new ItemStack[]{new ItemStack(amOre.itemID, 1, 0), new ItemStack(amOre.itemID, 1, 0), new ItemStack(amOre.itemID, 1, 0)}); (new DarkResearchItem("CAP_vinteum", "FORBIDDEN", "[AM2]", (new AspectList()).add(Aspect.MAGIC, 4).add(Aspect.TOOL, 1).add(Aspect.ENERGY, 2), -4, -5, 1, new ItemStack(ForbiddenItems.wandCap, 1, 1))).setPages(new ResearchPage[]{new ResearchPage("forbidden.research_page.CAP_vinteum.1"), new ResearchPage(vinteum_recipe)}).setParents(new String[]{"ROD_witchwood", "CAP_thaumium"}).setSecondary().setConcealed().registerResearchItem(); + + IArcaneRecipe witchwood_staff = ThaumcraftApi.addArcaneCraftingRecipe("ROD_witchwood_staff", new ItemStack(ForbiddenItems.wandCore, 1, 10), (new AspectList()).add(Aspect.ENTROPY, 26).add(Aspect.FIRE, 26).add(Aspect.WATER, 26).add(Aspect.AIR, 26).add(Aspect.EARTH, 26).add(Aspect.ORDER, 26), new Object[]{"__D", "_B_", "B__", Character.valueOf('B'), new ItemStack(ForbiddenItems.wandCore, 1, 4), Character.valueOf('D'), new ItemStack(essence.itemID, 1, 10)}); + (new DarkResearchItem("ROD_witchwood_staff", "FORBIDDEN", "[AM2]", (new AspectList()).add(Aspect.MAGIC, 8).add(Aspect.MIND, 7).add(Aspect.TOOL, 6), -4, -7, 5, new ItemStack(ForbiddenItems.wandCore, 1, 10))).setPages(new ResearchPage[]{new ResearchPage("forbidden.research_page.ROD_witchwood_staff.1"), new ResearchPage(witchwood_staff)}).setParents(new String[]{"ROD_silverwood_staff", "ROD_witchwood"}).setSpecial().setConcealed().registerResearchItem(); } catch(Exception e) { diff --git a/src/com/spiteful/forbidden/items/ForbiddenItems.java b/src/com/spiteful/forbidden/items/ForbiddenItems.java index 4cb771a..4645bc4 100644 --- a/src/com/spiteful/forbidden/items/ForbiddenItems.java +++ b/src/com/spiteful/forbidden/items/ForbiddenItems.java @@ -50,6 +50,8 @@ public class ForbiddenItems public static WandRod WAND_ROD_TOTEM; public static WandRod WAND_ROD_LIVINGWOOD; public static StaffRod STAFF_ROD_BLOOD; + public static StaffRod STAFF_ROD_NEUTRONIUM; + public static StaffRod STAFF_ROD_WITCHWOOD; public static WandCap WAND_CAP_ORICHALCUM; public static WandCap WAND_CAP_ALCHEMICAL; public static WandCap WAND_CAP_VINTEUM; @@ -127,11 +129,14 @@ public class ForbiddenItems WAND_ROD_TOTEM = new WandRod("totem", 50, new ItemStack(wandCore, 1, 5), 4, new TotemWandUpdate(), new ResourceLocation("forbidden", "textures/models/wand_rod_totem.png")); WAND_ROD_LIVINGWOOD = new WandRod("livingwood", 100, new ItemStack(wandCore, 1, 7), 12, new YandereWandUpdate(), new ResourceLocation("forbidden", "textures/models/wand_rod_livingwood.png")); STAFF_ROD_BLOOD = new StaffRod("blood", 50, new ItemStack(wandCore, 1, 9), 24, new BloodStaffUpdate(), new ResourceLocation("forbidden", "textures/models/wand_rod_blood.png")); + STAFF_ROD_NEUTRONIUM = new StaffRod("neutronium", 9002, new ItemStack(Block.bedrock, 1), 1000, new CreativeWandUpdate(), new ResourceLocation("forbidden", "textures/models/wand_rod_neutronium.png")); + STAFF_ROD_NEUTRONIUM.setGlowing(true); + STAFF_ROD_WITCHWOOD = new StaffRod("witchwood", 50, new ItemStack(wandCore, 1, 10), 24, new ManaStaffUpdate(), new ResourceLocation("forbidden", "textures/models/wand_rod_witchwood.png")); WAND_CAP_ORICHALCUM = new DarkWandCap("orichalcum", 0.0F, new ItemStack(Block.commandBlock, 1), 1000, new ResourceLocation("forbidden", "textures/models/wand_cap_orichalcum.png")); WAND_CAP_ALCHEMICAL = new DarkWandCap("alchemical", 0.9F, Arrays.asList(new Aspect[]{Aspect.WATER}), 0.8F, new ItemStack(wandCap, 1, 0), 7, new ResourceLocation("forbidden", "textures/models/wand_cap_alchemical.png")); WAND_CAP_VINTEUM = new DarkWandCap("vinteum", 0.9F, new ItemStack(wandCap, 1, 1), 6, new ResourceLocation("forbidden", "textures/models/wand_cap_vinteum.png")); WAND_CAP_SOUL = new DarkWandCap("soul", 0.9F, Arrays.asList(new Aspect[]{Aspect.ENTROPY}), 0.8F, new ItemStack(wandCap, 1, 2), 7, new ResourceLocation("forbidden", "textures/models/wand_cap_soul.png")); - WAND_CAP_MANASTEEL = new DarkWandCap("manasteel", 0.9F, new ItemStack(wandCap, 1, 3), 7, new ResourceLocation("forbidden", "textures/models/wand_cap_manasteel.png")); + WAND_CAP_MANASTEEL = new DarkWandCap("manasteel", 0.9F, new ItemStack(wandCap, 1, 3), 6, new ResourceLocation("forbidden", "textures/models/wand_cap_manasteel.png")); resource = new ItemResource(Config.resourceID).setUnlocalizedName("FMResource"); GameRegistry.registerItem(resource, "FMResource"); diff --git a/src/com/spiteful/forbidden/items/wands/ItemWandCores.java b/src/com/spiteful/forbidden/items/wands/ItemWandCores.java index 28ecaa1..5221a75 100644 --- a/src/com/spiteful/forbidden/items/wands/ItemWandCores.java +++ b/src/com/spiteful/forbidden/items/wands/ItemWandCores.java @@ -18,7 +18,8 @@ import thaumcraft.common.items.wands.ItemWandCasting; public class ItemWandCores extends Item { - public final String[] types = {"tainted", "infernal", "soul", "blood", "witchwood", "totem", "blood_inert", "livingwood", "livingwood_inert", "blood_staff"}; + public final String[] types = {"tainted", "infernal", "soul", "blood", "witchwood", "totem", "blood_inert", "livingwood", "livingwood_inert", "blood_staff", + "witchwood_staff"}; public Icon[] icon; @@ -60,6 +61,10 @@ public class ItemWandCores extends Item { ((ItemWandCasting)wand.getItem()).setCap(wand, (WandCap)WandCap.caps.get("orichalcum")); ((ItemWandCasting)wand.getItem()).setRod(wand, (WandRod)WandRod.rods.get("neutronium")); par3List.add(wand); + wand = ItemApi.getItem("itemWandCasting", 2000); + ((ItemWandCasting)wand.getItem()).setCap(wand, (WandCap)WandCap.caps.get("orichalcum")); + ((ItemWandCasting)wand.getItem()).setRod(wand, (WandRod)WandRod.rods.get("neutronium_staff")); + par3List.add(wand); if(Compat.pb) { wand = ItemApi.getItem("itemWandCasting", 84); @@ -73,6 +78,10 @@ public class ItemWandCores extends Item { ((ItemWandCasting)wand.getItem()).setCap(wand, (WandCap)WandCap.caps.get("alchemical")); ((ItemWandCasting)wand.getItem()).setRod(wand, (WandRod)WandRod.rods.get("blood")); par3List.add(wand); + wand = ItemApi.getItem("itemWandCasting", 168); + ((ItemWandCasting)wand.getItem()).setCap(wand, (WandCap)WandCap.caps.get("alchemical")); + ((ItemWandCasting)wand.getItem()).setRod(wand, (WandRod)WandRod.rods.get("blood_staff")); + par3List.add(wand); } if(Compat.am2) { @@ -80,6 +89,10 @@ public class ItemWandCores extends Item { ((ItemWandCasting)wand.getItem()).setCap(wand, (WandCap)WandCap.caps.get("vinteum")); ((ItemWandCasting)wand.getItem()).setRod(wand, (WandRod)WandRod.rods.get("witchwood")); par3List.add(wand); + wand = ItemApi.getItem("itemWandCasting", 144); + ((ItemWandCasting)wand.getItem()).setCap(wand, (WandCap)WandCap.caps.get("vinteum")); + ((ItemWandCasting)wand.getItem()).setRod(wand, (WandRod)WandRod.rods.get("witchwood_staff")); + par3List.add(wand); } if(Compat.totes) { diff --git a/src/com/spiteful/forbidden/items/wands/ManaStaffUpdate.java b/src/com/spiteful/forbidden/items/wands/ManaStaffUpdate.java new file mode 100644 index 0000000..e6aa552 --- /dev/null +++ b/src/com/spiteful/forbidden/items/wands/ManaStaffUpdate.java @@ -0,0 +1,53 @@ +package com.spiteful.forbidden.items.wands; + +import com.spiteful.forbidden.Config; +import com.spiteful.forbidden.Compat; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import thaumcraft.api.aspects.Aspect; +import thaumcraft.api.wands.IWandRodOnUpdate; +import thaumcraft.common.items.wands.ItemWandCasting; +import am2.api.ArsMagicaApi; +import am2.api.IExtendedProperties; + +public class ManaStaffUpdate implements IWandRodOnUpdate { + + Aspect primals[] = Aspect.getPrimalAspects().toArray(new Aspect[0]); + + public void onUpdate(ItemStack itemstack, EntityPlayer player) { + if(Compat.am2) + { + if(player.ticksExisted % 40 == 0){ + + try + { + IExtendedProperties prop = ArsMagicaApi.instance.getExtendedProperties(player); + + float cost; + if(((ItemWandCasting)itemstack.getItem()).getCap(itemstack).getTag().equals("vinteum")) + cost = 50.0F; + else + cost = 100.0F; + + if(prop == null || prop.getCurrentMana() <= 0) + return; + + + for(int x = 0;x < primals.length;x++){ + if(((ItemWandCasting)itemstack.getItem()).getVis(itemstack, primals[x]) < ((ItemWandCasting)itemstack.getItem()).getMaxVis(itemstack)) { + if(prop.getCurrentMana() > cost) + { + prop.setCurrentMana(prop.getCurrentMana() - cost); + ((ItemWandCasting)itemstack.getItem()).addVis(itemstack, primals[x], 1, true); + } + } + } + } + catch(Throwable e){} + } + + } + + } +}