mirror of
https://github.com/GTNewHorizons/ForbiddenMagic.git
synced 2026-11-12 08:17:56 +00:00
Crystal Scribing Tools
This commit is contained in:
1 parent
45ef632de7
commit
2bdb1931ad
7 files changed
+98
No files matched your search
@@ -34,6 +34,7 @@ item.DiabolistFork.name=Diabolist Fork
|
||||
item.DiabolistSpork.name=Spork of Doom
|
||||
item.GluttonyShard.name=Gluttony Shard
|
||||
item.Bloodwell.name=Bloody Scrivener's Tools
|
||||
item.Crystalwell.name=Crystal Scribing Tools
|
||||
#
|
||||
# Wand components
|
||||
item.Wand.tainted.rod=Tainted
|
||||
@@ -187,4 +188,8 @@ forbidden.research_page.TAINTBASICS.2=Tainted Lands can be found naturally in th
|
||||
forbidden.research_name.BLOODWELL=Bloody Scrivener's Tools
|
||||
forbidden.research_text.BLOODWELL="I'll complete this research if it kills me!"
|
||||
forbidden.research_page.BLOODWELL.1=There's nothing more frustrating than having to pause your research to refill your inkwell. Sometimes, you're just so desperate to complete a research you'd rather use your own blood as ink than stop to go find a refill.<BR><BR>The Bloody Scrivener's Tools will refill using Life Points from their owner's network, at a rate of 25 LP per point. This ability requires human warmth to activate, requiring you to remove the tools from the research table, but without having to actually leave the research area.
|
||||
#
|
||||
forbidden.research_name.CRYSTALWELL=Crystal Scribing Tools
|
||||
forbidden.research_text.CRYSTALWELL=Arcane Research Grant
|
||||
forbidden.research_page.CRYSTALWELL.1=Combining elemental shards with your inkwell results in some interesting effects. The Crystal Scribing Tools seem to absorb knowledge as you use them to write. Once the well is empty of ink, you can absorb this knowledge for a small burst of research points by holding the tools in your hand and right clicking. Unfortunately, this burns the tool out and turns it back into a mundane Scribing Tool again.
|
||||
#
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 588 B |
@@ -42,6 +42,7 @@ public class Config
|
||||
public static int wandCapID;
|
||||
public static int gluttonyShardID;
|
||||
public static int bloodwellID;
|
||||
public static int crystalwellID;
|
||||
|
||||
public static int arcaneCakeBlockID;
|
||||
public static int blackFlowerBlockID;
|
||||
@@ -100,6 +101,7 @@ public class Config
|
||||
wandCapID = conf.getItem("Wand Caps", idCount++).getInt();
|
||||
gluttonyShardID = conf.getItem("Gluttony Shard", idCount++).getInt();
|
||||
bloodwellID = conf.getItem("Bloody Scrivener's Tools", idCount++).getInt();
|
||||
crystalwellID = conf.getItem("Crystal Scribing Tools", idCount++).getInt();
|
||||
|
||||
int blockCount = 3000;
|
||||
arcaneCakeBlockID = conf.getBlock("Thaumic Cake", blockCount++).getInt();
|
||||
|
||||
@@ -58,6 +58,8 @@ public class ForbiddenRecipes
|
||||
ForbiddenResearch.recipes.put("BlackFlower", ThaumcraftApi.addCrucibleRecipe("BLACKFLOWER", new ItemStack(ForbiddenBlocks.blackFlower, 1, 0), new ItemStack(Block.plantRed), (new AspectList()).merge(Aspect.DARKNESS, 5).merge(Aspect.LIFE, 5)));
|
||||
ForbiddenResearch.recipes.put("BlackInk", CraftingManager.getInstance().addRecipe(new ItemStack(ForbiddenItems.resource, 2, 1), new Object[]{"#", Character.valueOf('#'), new ItemStack(ForbiddenBlocks.blackFlower, 1, 0)}));
|
||||
|
||||
ForbiddenResearch.recipes.put("Crystalwell", ThaumcraftApi.addShapelessArcaneCraftingRecipe("CRYSTALWELL", new ItemStack(ForbiddenItems.crystalwell, 1, 0), (new AspectList()).add(Aspect.EARTH, 5).add(Aspect.FIRE, 5).add(Aspect.AIR, 5).add(Aspect.WATER, 5).add(Aspect.ORDER, 5).add(Aspect.ENTROPY, 5), new Object[]{ItemApi.getItem("itemInkwell", 100), "dyeBlack", ItemApi.getBlock("blockCrystal", 6)}));
|
||||
|
||||
ForbiddenResearch.recipes.put("Cluster", ThaumcraftApi.addInfusionEnchantmentRecipe("CLUSTER", DarkEnchantments.cluster, 3, (new AspectList()).add(Aspect.FIRE, 4).add(Aspect.METAL, 4).add(Aspect.GREED, 4), new ItemStack[]{ItemApi.getItem("itemPickElemental", 0), ItemApi.getItem("itemResource", 14)}));
|
||||
if(Config.greedyEnch)
|
||||
ForbiddenResearch.recipes.put("Greedy", ThaumcraftApi.addInfusionEnchantmentRecipe("GREEDY", DarkEnchantments.greedy, 4, (new AspectList()).add(DarkAspects.NETHER, 16).add(Aspect.WEAPON, 8).add(Aspect.GREED, 16), new ItemStack[]{new ItemStack(Item.swordGold), new ItemStack(Item.diamond), new ItemStack(Block.blockGold), ItemApi.getItem("itemResource", 14)}));
|
||||
|
||||
@@ -48,6 +48,8 @@ public class ForbiddenResearch
|
||||
(new DarkResearchItem("TRANSEMERALD", "FORBIDDEN", (new AspectList()).add(Aspect.CRYSTAL, 2).add(Aspect.EXCHANGE, 5).add(Aspect.GREED, 4), -6, 4, 3, new ItemStack(ForbiddenItems.resource, 1, 0))).setPages(new ResearchPage[]{new ResearchPage("forbidden.research_page.TRANSEMERALD.1"), new ResearchPage((CrucibleRecipe)recipes.get("TransEmerald"))}).setSecondary().setConcealed().setParents(new String[]{"TRANSGOLD"}).registerResearchItem();
|
||||
(new DarkResearchItem("BLACKFLOWER", "FORBIDDEN", (new AspectList()).add(Aspect.PLANT, 3).add(Aspect.SENSES, 2).add(Aspect.DARKNESS, 4), -7, 4, 3, new ItemStack(ForbiddenBlocks.blackFlower, 1, 0))).setPages(new ResearchPage[]{new ResearchPage("forbidden.research_page.BLACKFLOWER.1"), new ResearchPage((CrucibleRecipe)recipes.get("BlackFlower")), new ResearchPage((IRecipe)recipes.get("BlackInk"))}).setAspectTriggers(new Aspect[]{Aspect.SENSES}).registerResearchItem();
|
||||
|
||||
(new DarkResearchItem("CRYSTALWELL", "FORBIDDEN", (new AspectList()).add(Aspect.MIND, 3).add(Aspect.CRYSTAL, 2).add(Aspect.MAGIC, 1), -9, 4, 3, new ItemStack(ForbiddenItems.crystalwell, 1, 0))).setPages(new ResearchPage[]{new ResearchPage("forbidden.research_page.CRYSTALWELL.1"), new ResearchPage((IArcaneRecipe)recipes.get("Crystalwell"))}).setParents(new String[]{"RESEARCH"}).setAspectTriggers(new Aspect[]{Aspect.MIND}).setConcealed().registerResearchItem();
|
||||
|
||||
|
||||
(new DarkResearchItem("CONSUMING", "FORBIDDEN", (new AspectList()).add(Aspect.VOID, 4).add(Aspect.ENTROPY, 3).add(Aspect.MAGIC, 2), -1, 2, 3, new ResourceLocation("forbidden", "textures/misc/consuming.png"))).setPages(new ResearchPage[]{new ResearchPage("forbidden.research_page.CONSUMING.1"), new ResearchPage((InfusionEnchantmentRecipe)recipes.get("Consuming"))}).setParents(new String[]{"INFAUXSIONENCHANTMENT"}).setSecondary().setConcealed().registerResearchItem();
|
||||
(new DarkResearchItem("PIGBANE", "FORBIDDEN", (new AspectList()).add(Aspect.HUNGER, 3).add(Aspect.WEAPON, 4).add(Aspect.MAGIC, 2), -1, 3, 2, new ResourceLocation("forbidden", "textures/misc/pigbane.png"))).setPages(new ResearchPage[]{new ResearchPage("forbidden.research_page.PIGBANE.1"), new ResearchPage((InfusionEnchantmentRecipe)recipes.get("Pigbane"))}).setParents(new String[]{"INFAUXSIONENCHANTMENT"}).setSecondary().setConcealed().registerResearchItem();
|
||||
|
||||
@@ -33,6 +33,7 @@ public class ForbiddenItems
|
||||
public static Item morphShovel;
|
||||
public static Item morphAxe;
|
||||
public static Item bloodwell;
|
||||
public static Item crystalwell;
|
||||
|
||||
public static WandRod WAND_ROD_TAINTED;
|
||||
public static WandRod WAND_ROD_INFERNAL;
|
||||
@@ -131,5 +132,8 @@ public class ForbiddenItems
|
||||
GameRegistry.registerItem(bloodwell, "Bloodwell");
|
||||
}
|
||||
|
||||
crystalwell = new ItemCrystalwell(Config.crystalwellID).setUnlocalizedName("Crystalwell");
|
||||
GameRegistry.registerItem(crystalwell, "Crystalwell");
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
package com.spiteful.forbidden.items;
|
||||
|
||||
import com.spiteful.forbidden.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Iterator;
|
||||
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.entity.player.EntityPlayerMP;
|
||||
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;
|
||||
import thaumcraft.api.ItemApi;
|
||||
import thaumcraft.api.aspects.Aspect;
|
||||
import thaumcraft.common.Thaumcraft;
|
||||
import thaumcraft.common.lib.PacketHandler;
|
||||
|
||||
public class ItemCrystalwell extends Item implements IScribeTools {
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public Icon icon;
|
||||
|
||||
public ItemCrystalwell(int id) {
|
||||
super(id);
|
||||
maxStackSize = 1;
|
||||
canRepair = false;
|
||||
setMaxDamage(100);
|
||||
setCreativeTab(Forbidden.tab);
|
||||
setHasSubtypes(false);
|
||||
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerIcons(IconRegister ir) {
|
||||
this.icon = ir.registerIcon("forbidden:crystalwell");
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public Icon getIconFromDamage(int par1) {
|
||||
return this.icon;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
|
||||
{
|
||||
if(stack.getItemDamage() >= 100)
|
||||
{
|
||||
if(!world.isRemote)
|
||||
{
|
||||
Iterator count = Aspect.getPrimalAspects().iterator();
|
||||
|
||||
while(count.hasNext()) {
|
||||
Aspect aspect = (Aspect)count.next();
|
||||
short amount = (short)(world.rand.nextInt(3) + 4);
|
||||
Thaumcraft.proxy.playerKnowledge.addAspectPool(player.username, aspect, amount);
|
||||
Thaumcraft.proxy.getResearchManager().updateAspectNBT(player);
|
||||
PacketHandler.sendAspectPoolPacket(aspect.getTag(), amount, Thaumcraft.proxy.playerKnowledge.getAspectPoolFor(player.username, aspect), (EntityPlayerMP)player);
|
||||
}
|
||||
}
|
||||
player.swingItem();
|
||||
return ItemApi.getItem("itemInkwell", 100);
|
||||
}
|
||||
else
|
||||
return stack;
|
||||
}
|
||||
|
||||
/**
|
||||
* Render Pass sensitive version of hasEffect()
|
||||
*/
|
||||
@SideOnly(Side.CLIENT)
|
||||
public boolean hasEffect(ItemStack stack, int pass)
|
||||
{
|
||||
return stack.getItemDamage() >= 100;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user