Witchwood Wand and Vinteum Cap

This commit is contained in:
Jeremy Diamond committed 2014-01-28 19:09:57 -08:00
1 parent 17a912feb5
commit 333f41baed
13 files changed
+107 -16

No files matched your search

+18 -12
View File
@@ -26,18 +26,6 @@ item.MorphPickaxe.name=Chameleon Pickaxe
item.MorphSword.name=Chameleon Sword
item.MorphShovel.name=Chameleon Shovel
item.MorphAxe.name=Chameleon Axe
item.WandCores.tainted.name=Tainted Rod
item.WandCores.infernal.name=Infernal Rod
item.WandCores.soul.name=Eldritch Rod
item.WandCores.blood.name=Bloody Rod
item.WandCaps.alchemical.name=Alchemical Cap
item.Wand.tainted.rod=Tainted
item.Wand.infernal.rod=Infernal
item.Wand.neutronium.rod=Cosmic Neutronium
item.Wand.soul.rod=Eldritch
item.Wand.blood.rod=Blood
item.Wand.orichalcum.cap=Orichalcum Studded
item.Wand.alchemical.cap=Alchemically Crowned
item.FMResource.0.name=Emerald Fragment
item.FMResource.1.name=Shadow Ink
item.MobCrystalEmpty.name=Blank Imprinting Crystal
@@ -45,6 +33,24 @@ item.MobCrystal.name=Imprinted Crystal
item.DiabolistFork.name=Diabolist Fork
item.DiabolistSpork.name=Spork of Doom
#
# Wand components
item.Wand.tainted.rod=Tainted
item.Wand.infernal.rod=Infernal
item.Wand.neutronium.rod=Cosmic Neutronium
item.Wand.soul.rod=Eldritch
item.Wand.blood.rod=Blood
item.Wand.witchwood.rod=Witchwood
item.Wand.orichalcum.cap=Orichalcum Studded
item.Wand.alchemical.cap=Alchemically Crowned
item.Wand.vinteum.cap=Vinteum Infused
item.WandCores.tainted.name=Tainted Rod
item.WandCores.infernal.name=Infernal Rod
item.WandCores.soul.name=Eldritch Rod
item.WandCores.blood.name=Bloody Rod
item.WandCores.witchwood.name=Witchwood Rod
item.WandCaps.alchemical.name=Alchemical Cap
item.WandCaps.vinteum.name=Vinteum Cap
#
# Blocks
tile.ArcaneCake.name=Thaumic Cake
tile.InkFlower.name=Umbral Rose
Binary file not shown.

After

Width:  |  Height:  |  Size: 684 B

@@ -0,0 +1,11 @@
{
"animation": {
"frametime": 3,
"frames": [
0,
1,
2,
1
]
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 362 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 353 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 874 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

+3
View File
@@ -38,6 +38,7 @@ public class Compat {
public static boolean natura = false;
public static boolean pb = false;
public static boolean bm = false;
public static boolean am2 = false;
public static int tabletID = -1;
@@ -55,6 +56,8 @@ public class Compat {
pb = true;
if(Loader.isModLoaded("AWWayofTime"))
bm = true;
if(Loader.isModLoaded("arsmagica2"))
am2 = true;
}
public static void compatify()
@@ -73,7 +73,9 @@ public class ForbiddenRecipes
while(i$1.hasNext()) {
String rodtag = (String)i$1.next();
if((rodtag.equals("tainted") || rodtag.equals("infernal") || rodtag.equals("soul")) && !rodtag.equals("mercurial") && !rodtag.equals("neutronium") && !captag.equals("orichalcum")){
if((rodtag.equals("tainted") || rodtag.equals("infernal") || rodtag.equals("soul") || rodtag.equals("blood") || rodtag.equals("witchwood") || captag.equals("alchemical") || captag.equals("vinteum"))
&& !rodtag.equals("mercurial") && !rodtag.equals("neutronium") && !captag.equals("orichalcum"))
{
int cost = ((WandCap)WandCap.caps.get(captag)).getCraftCost() * ((WandRod)WandRod.rods.get(rodtag)).getCraftCost();
ItemStack wand = ItemApi.getItem("itemWandCasting", cost);
((ItemWandCasting)wand.getItem()).setCap(wand, (WandCap)WandCap.caps.get(captag));
@@ -86,6 +88,14 @@ public class ForbiddenRecipes
res = "ROD_infernal";
else if(rodtag.equals("soul"))
res = "ROD_soul";
else if(rodtag.equals("blood"))
res = "ROD_blood";
else if(rodtag.equals("witchwood"))
res = "ROD_witchwood";
else if(captag.equals("alchemical"))
res = "CAP_alchemical";
else if(captag.equals("vinteum"))
res = "CAP_vinteum";
ForbiddenResearch.recipes.put(key, ThaumcraftApi.addArcaneCraftingRecipe(res, wand, (new AspectList()).add(Aspect.AIR, cost).add(Aspect.ORDER, cost).add(Aspect.EARTH, cost).add(Aspect.FIRE, cost).add(Aspect.WATER, cost).add(Aspect.ENTROPY, cost), new Object[]{" C", " R ", "C ", Character.valueOf('C'), ((WandCap)WandCap.caps.get(captag)).getItem(), Character.valueOf('R'), ((WandRod)WandRod.rods.get(rodtag)).getItem()}));
}
}
@@ -37,8 +37,10 @@ public class ForbiddenItems
public static WandRod WAND_ROD_NEUTRONIUM;
public static WandRod WAND_ROD_SOUL;
public static WandRod WAND_ROD_BLOOD;
public static WandRod WAND_ROD_WITCHWOOD;
public static WandCap WAND_CAP_ORICHALCUM;
public static WandCap WAND_CAP_ALCHEMICAL;
public static WandCap WAND_CAP_VINTEUM;
public static void addItems()
{
@@ -85,8 +87,10 @@ public class ForbiddenItems
WAND_ROD_SOUL = new WandRod("soul", 100, new ItemStack(wandCore, 1, 2), 12, new SoulWandUpdate(), new ResourceLocation("forbidden", "textures/models/wand_rod_soul.png"));
WAND_ROD_SOUL.setGlowing(true);
WAND_ROD_BLOOD = new WandRod("blood", 100, new ItemStack(wandCore, 1, 3), 12, new BloodWandUpdate(), new ResourceLocation("forbidden", "textures/models/wand_rod_blood.png"));
WAND_ROD_WITCHWOOD = new WandRod("witchwood", 100, new ItemStack(wandCore, 1, 4), 12, new ManaWandUpdate(), 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.95F, 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), 7, new ResourceLocation("forbidden", "textures/models/wand_cap_vinteum.png"));
resource = new ItemResource(Config.resourceID).setUnlocalizedName("FMResource");
GameRegistry.registerItem(resource, "FMResource");
@@ -18,7 +18,7 @@ import thaumcraft.common.items.wands.ItemWandCasting;
public class ItemWandCaps extends Item {
public final String[] types = {"alchemical"};
public final String[] types = {"alchemical", "vinteum"};
public Icon[] icon;
@@ -18,8 +18,8 @@ import thaumcraft.common.items.wands.ItemWandCasting;
public class ItemWandCores extends Item {
public final String[] types = {"tainted", "infernal", "soul", "blood"};
public Icon[] icon = new Icon[4];
public final String[] types = {"tainted", "infernal", "soul", "blood", "witchwood"};
public Icon[] icon;
public ItemWandCores(int par1) {
@@ -32,6 +32,7 @@ public class ItemWandCores extends Item {
@SideOnly(Side.CLIENT)
public void registerIcons(IconRegister ir) {
icon = new Icon[types.length];
for(int x = 0; x < types.length; x++)
this.icon[x] = ir.registerIcon("forbidden:wand_rod_" + types[x]);
}
@@ -73,6 +74,13 @@ public class ItemWandCores extends Item {
((ItemWandCasting)creative.getItem()).setRod(blood, (WandRod)WandRod.rods.get("blood"));
par3List.add(blood);
}
if(Compat.am2)
{
ItemStack mana = ItemApi.getItem("itemWandCasting", 72);
((ItemWandCasting)creative.getItem()).setCap(mana, (WandCap)WandCap.caps.get("vinteum"));
((ItemWandCasting)creative.getItem()).setRod(mana, (WandRod)WandRod.rods.get("witchwood"));
par3List.add(mana);
}
}
public String getUnlocalizedName(ItemStack par1ItemStack) {
@@ -0,0 +1,49 @@
package com.spiteful.forbidden.items;
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 ManaWandUpdate implements IWandRodOnUpdate {
Aspect primals[] = Aspect.getPrimalAspects().toArray(new Aspect[0]);
public void onUpdate(ItemStack itemstack, EntityPlayer player) {
if(Compat.am2)
{
if(player.ticksExisted % 100 == 0){
IExtendedProperties prop = ArsMagicaApi.instance.getExtendedProperties(player);
float cost;
if(((ItemWandCasting)itemstack.getItem()).getCap(itemstack).getTag().equals("vinteum"))
cost = 90.0F;
else
cost = 150.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);
}
}
}
}
}
}
}