Bloody Scrivener's Tools

This commit is contained in:
Jeremy Diamond committed 2014-02-25 01:53:38 -08:00
1 parent 89483b28e4
commit 320bdfd234
5 files changed
+153 -17

No files matched your search

Binary file not shown.

After

Width:  |  Height:  |  Size: 319 B

+11 -6
View File
@@ -150,10 +150,10 @@ public class Compat {
try
{
InfusionRecipe soul_recipe = ThaumcraftApi.addInfusionCraftingRecipe("ROD_soul", new ItemStack(ForbiddenItems.wandCore, 1, 2), 5, (new AspectList()).add(Aspect.ELDRITCH, 32).add(Aspect.MAGIC, 12).add(Aspect.SOUL, 16), new ItemStack(PlayerBeacons.defiledSoulPylonBlock), new ItemStack[]{ItemApi.getItem("itemResource", 14), new ItemStack(PlayerBeacons.defiledSoulConductorBlock), new ItemStack(PlayerBeacons.defiledSoulConductorBlock), new ItemStack(PlayerBeacons.defiledSoulConductorBlock), new ItemStack(PlayerBeacons.defiledSoulConductorBlock), new ItemStack(Item.eyeOfEnder), new ItemStack(Item.eyeOfEnder)});
(new DarkResearchItem("ROD_soul", "FORBIDDEN", (new AspectList()).add(Aspect.ELDRITCH, 2).add(Aspect.SOUL, 1).add(Aspect.TOOL, 1), -3, -3, 5, new ItemStack(ForbiddenItems.wandCore, 1, 2))).setPages(new ResearchPage[]{new ResearchPage("forbidden.research_page.ROD_soul.1"), new ResearchPage(soul_recipe)}).setParents(new String[]{"ROD_silverwood", "PB_CRYSTAL"}).setConcealed().registerResearchItem();
(new DarkResearchItem("ROD_soul", "FORBIDDEN", "[PB]", (new AspectList()).add(Aspect.ELDRITCH, 4).add(Aspect.SOUL, 3).add(Aspect.TOOL, 2), -3, -3, 5, new ItemStack(ForbiddenItems.wandCore, 1, 2))).setPages(new ResearchPage[]{new ResearchPage("forbidden.research_page.ROD_soul.1"), new ResearchPage(soul_recipe)}).setParents(new String[]{"ROD_silverwood", "PB_CRYSTAL"}).setConcealed().registerResearchItem();
IArcaneRecipe soul_cap = ThaumcraftApi.addArcaneCraftingRecipe("CAP_soul", new ItemStack(ForbiddenItems.wandCap, 1, 2), (new AspectList()).add(Aspect.ENTROPY, 20).add(Aspect.FIRE, 5).add(Aspect.WATER, 5).add(Aspect.AIR, 5).add(Aspect.EARTH, 5), new Object[]{"NXN", "N N", Character.valueOf('N'), Item.enderPearl, Character.valueOf('X'), PlayerBeacons.crystalItem});
(new DarkResearchItem("CAP_soul", "FORBIDDEN", (new AspectList()).add(Aspect.ELDRITCH, 1).add(Aspect.MAGIC, 1).add(Aspect.ENTROPY, 2), -3, -5, 3, new ItemStack(ForbiddenItems.wandCap, 1, 2))).setPages(new ResearchPage[]{new ResearchPage("forbidden.research_page.CAP_soul.1"), new ResearchPage(soul_cap)}).setParents(new String[]{"ROD_soul"}).setConcealed().registerResearchItem();
(new DarkResearchItem("CAP_soul", "FORBIDDEN", "[PB]", (new AspectList()).add(Aspect.ELDRITCH, 3).add(Aspect.MAGIC, 2).add(Aspect.ENTROPY, 4), -3, -5, 3, new ItemStack(ForbiddenItems.wandCap, 1, 2))).setPages(new ResearchPage[]{new ResearchPage("forbidden.research_page.CAP_soul.1"), new ResearchPage(soul_cap)}).setParents(new String[]{"ROD_soul"}).setSecondary().setConcealed().registerResearchItem();
}
catch(LinkageError e)
@@ -185,12 +185,17 @@ public class Compat {
Item incendium = (Item)(bloodItems.getField("incendium").get(null));
Item sanctus = (Item)(bloodItems.getField("sanctus").get(null));
Item tennebrae = (Item)(bloodItems.getField("tennebrae").get(null));
Item bloodBucket = (Item)(bloodItems.getField("bucketLife").get(null));
Item crapOrb = (Item)(bloodItems.getField("weakBloodOrb").get(null));
InfusionRecipe blood_recipe = ThaumcraftApi.addInfusionCraftingRecipe("ROD_blood", new ItemStack(ForbiddenItems.wandCore, 1, 3), 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", (new AspectList()).add(Aspect.LIFE, 2).add(Aspect.WATER, 1).add(Aspect.WEAPON, 1), -5, -3, 4, new ItemStack(ForbiddenItems.wandCore, 1, 3))).setPages(new ResearchPage[]{new ResearchPage("forbidden.research_page.ROD_blood.1"), new ResearchPage(blood_recipe)}).setParents(new String[]{"ROD_silverwood"}).setConcealed().registerResearchItem();
(new DarkResearchItem("ROD_blood", "FORBIDDEN", "[BM]", (new AspectList()).add(Aspect.LIFE, 5).add(Aspect.WATER, 4).add(Aspect.WEAPON, 3), -5, -3, 4, new ItemStack(ForbiddenItems.wandCore, 1, 3))).setPages(new ResearchPage[]{new ResearchPage("forbidden.research_page.ROD_blood.1"), new ResearchPage(blood_recipe)}).setParents(new String[]{"ROD_silverwood"}).setConcealed().registerResearchItem();
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", (new AspectList()).add(Aspect.METAL, 1).add(Aspect.LIFE, 2).add(Aspect.TOOL, 1).add(Aspect.WATER, 1), -5, -5, 5, 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"}).setConcealed().registerResearchItem();
(new DarkResearchItem("CAP_alchemical", "FORBIDDEN", "[BM]", (new AspectList()).add(Aspect.LIFE, 4).add(Aspect.TOOL, 1).add(Aspect.WATER, 3), -5, -5, 5, 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"}).setSecondary().setConcealed().registerResearchItem();
IArcaneRecipe bloodwell_recipe = ThaumcraftApi.addShapelessArcaneCraftingRecipe("BLOODWELL", new ItemStack(ForbiddenItems.bloodwell, 1, 0), (new AspectList()).add(Aspect.WATER, 10).add(Aspect.EARTH, 10), new Object[]{new ItemStack(Item.feather, 1, 0), new ItemStack(bloodBucket, 1, 0), new ItemStack(Item.glassBottle, 1, 0), new ItemStack(crapOrb, 1, 0)});
(new DarkResearchItem("BLOODWELL", "FORBIDDEN", "[BM]", (new AspectList()).add(Aspect.LIFE, 5).add(Aspect.MIND, 4).add(Aspect.SENSES, 3), -10, 4, 3, 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();
}
catch(Exception e)
@@ -212,10 +217,10 @@ public class Compat {
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)});
(new DarkResearchItem("ROD_witchwood", "FORBIDDEN", (new AspectList()).add(Aspect.MAGIC, 2).add(Aspect.TREE, 1).add(Aspect.TOOL, 1), -4, -3, 4, 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"}).setConcealed().registerResearchItem();
(new DarkResearchItem("ROD_witchwood", "FORBIDDEN", "[AM2]", (new AspectList()).add(Aspect.MAGIC, 4).add(Aspect.TREE, 5).add(Aspect.MIND, 2), -4, -3, 4, 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"}).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", (new AspectList()).add(Aspect.METAL, 1).add(Aspect.MAGIC, 2).add(Aspect.TOOL, 1).add(Aspect.ENERGY, 1), -4, -5, 5, 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"}).setConcealed().registerResearchItem();
(new DarkResearchItem("CAP_vinteum", "FORBIDDEN", "[AM2]", (new AspectList()).add(Aspect.MAGIC, 4).add(Aspect.TOOL, 1).add(Aspect.ENERGY, 2), -4, -5, 5, 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"}).setSecondary().setConcealed().registerResearchItem();
}
catch(Exception e)
{
+18 -11
View File
@@ -41,6 +41,7 @@ public class Config
public static int morphAxeID;
public static int wandCapID;
public static int gluttonyShardID;
public static int bloodwellID;
public static int arcaneCakeBlockID;
public static int blackFlowerBlockID;
@@ -68,6 +69,7 @@ public class Config
public static boolean spork = false;
public static boolean greedyEnch = true;
public static boolean emeraldTrans = true;
public static boolean wrathCrazy = false;
public static int wrathCost = 5;
public static int wrathEff = 4;
@@ -97,6 +99,7 @@ public class Config
morphAxeID = conf.getItem("Chameleon Axe", idCount++).getInt();
wandCapID = conf.getItem("Wand Caps", idCount++).getInt();
gluttonyShardID = conf.getItem("Gluttony Shard", idCount++).getInt();
bloodwellID = conf.getItem("Bloody Scrivener's Tools", idCount++).getInt();
int blockCount = 3000;
arcaneCakeBlockID = conf.getBlock("Thaumic Cake", blockCount++).getInt();
@@ -140,6 +143,10 @@ public class Config
wrathEff = we.getInt(4);
if(wrathEff < 0)
wrathEff = 4;
Property cw = conf.get("general", "Wrath Cage Cries Havoc", wrathCrazy);
cw.comment = "Enable to let the Wrath Cage imprint on ANY non-boss mob. May break your game or make your game Awesome.";
wrathCrazy = cw.getBoolean(false);
Property sd = conf.get("general", "Spork of Doom", spork);
sd.comment = "What is this? I don't even...";
spork = sd.getBoolean(false);
@@ -201,17 +208,17 @@ public class Config
spawnerMobs.put("Blaze", Aspect.FIRE);
spawnerMobs.put("LavaSlime", Aspect.FIRE);
spawnerMobs.put("Witch", Aspect.MAGIC);
spawnerMobs.put("Firebat", Aspect.FIRE);
spawnerMobs.put("Wisp", Aspect.AURA);
spawnerMobs.put("ThaumSlime", Aspect.TAINT);
spawnerMobs.put("BrainyZombie", Aspect.MIND);
spawnerMobs.put("TaintSpider", Aspect.TAINT);
spawnerMobs.put("TaintSwarm", Aspect.TAINT);
spawnerMobs.put("TaintedPig", Aspect.TAINT);
//spawnerMobs.put("TaintedSheep", Aspect.TAINT);
spawnerMobs.put("TaintedCow", Aspect.TAINT);
spawnerMobs.put("TaintedChicken", Aspect.TAINT);
spawnerMobs.put("TaintedVillager", Aspect.TAINT);
spawnerMobs.put("Thaumcraft.Firebat", Aspect.FIRE);
spawnerMobs.put("Thaumcraft.Wisp", Aspect.AURA);
spawnerMobs.put("Thaumcraft.ThaumSlime", Aspect.TAINT);
spawnerMobs.put("Thaumcraft.BrainyZombie", Aspect.MIND);
spawnerMobs.put("Thaumcraft.TaintSpider", Aspect.TAINT);
spawnerMobs.put("Thaumcraft.TaintSwarm", Aspect.TAINT);
spawnerMobs.put("Thaumcraft.TaintedPig", Aspect.TAINT);
spawnerMobs.put("Thaumcraft.TaintedSheep", Aspect.TAINT);
spawnerMobs.put("Thaumcraft.TaintedCow", Aspect.TAINT);
spawnerMobs.put("Thaumcraft.TaintedChicken", Aspect.TAINT);
spawnerMobs.put("Thaumcraft.TaintedVillager", Aspect.TAINT);
//spawnerMobs.put("Taintacle", DarkAspects.LUST);
}
@@ -32,6 +32,7 @@ public class ForbiddenItems
public static Item morphSword;
public static Item morphShovel;
public static Item morphAxe;
public static Item bloodwell;
public static WandRod WAND_ROD_TAINTED;
public static WandRod WAND_ROD_INFERNAL;
@@ -124,5 +125,11 @@ public class ForbiddenItems
OreDictionary.registerOre("nuggetEmerald", new ItemStack(resource, 1, 0));
OreDictionary.registerOre("dyeBlack", new ItemStack(resource, 1, 1));
if(Compat.bm)
{
bloodwell = new ItemBloodwell(Config.bloodwellID).setUnlocalizedName("Bloodwell");
GameRegistry.registerItem(bloodwell, "Bloodwell");
}
}
}
@@ -0,0 +1,117 @@
package com.spiteful.forbidden.items;
import com.spiteful.forbidden.*;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.List;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Icon;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
import thaumcraft.api.IScribeTools;
public class ItemBloodwell extends Item implements IScribeTools {
@SideOnly(Side.CLIENT)
public Icon icon;
Method checkOwner;
Method syphon;
public ItemBloodwell(int id) {
super(id);
maxStackSize = 1;
canRepair = false;
setMaxDamage(100);
setCreativeTab(Forbidden.tab);
setHasSubtypes(false);
try
{
Class energyItems;
try
{
energyItems = Class.forName("WayofTime.alchemicalWizardry.EnergyItems");
}
catch(Exception e)
{
energyItems = Class.forName("WayofTime.alchemicalWizardry.common.itemsEnergyItems");
}
if(energyItems == null)
return;
checkOwner = energyItems.getDeclaredMethod("checkAndSetItemOwner", new Class[] {ItemStack.class, EntityPlayer.class});
syphon = energyItems.getDeclaredMethod("syphonWhileInContainer", new Class[] {ItemStack.class, Integer.TYPE});
}
catch(Exception e){}
}
@SideOnly(Side.CLIENT)
public void registerIcons(IconRegister ir) {
this.icon = ir.registerIcon("forbidden:bloodwell");
}
@SideOnly(Side.CLIENT)
public Icon getIconFromDamage(int par1) {
return this.icon;
}
/**
* Called each tick as long the item is on a player inventory. Uses by maps to check if is on a player hand and
* update it's contents.
*/
public void onUpdate(ItemStack stack, World world, Entity fauxplayer, int par4, boolean par5)
{
if(stack.getItemDamage() > 0 && stack.hasTagCompound())
{
EntityPlayer player = null;
if(fauxplayer instanceof EntityPlayer)
player = (EntityPlayer)fauxplayer;
else
return;
try
{
if(player instanceof EntityPlayer && ((EntityPlayer)player).capabilities.isCreativeMode)
stack.setItemDamage(0);
else if(((Boolean)(syphon.invoke(null, stack, 25))).booleanValue())
stack.setItemDamage(stack.getItemDamage() - 1);
else if(player.getHealth() > 6)
{
player.setHealth(player.getHealth() - 2);
stack.setItemDamage(stack.getItemDamage() - 1);
}
}
catch(Exception e){}
}
}
@Override
public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
{
try
{
checkOwner.invoke(null, par1ItemStack, par3EntityPlayer);
}
catch (Exception e){}
return par1ItemStack;
}
@Override
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
{
if (par1ItemStack.hasTagCompound())
{
par3List.add("");
par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName"));
}
}
}