More work on the P Stone, to be immediately changed again heh.
This commit is contained in:
parent
838335ca69
commit
1fba95e2c8
32
ee3_common/ee3/core/CraftingHandler.java
Normal file
32
ee3_common/ee3/core/CraftingHandler.java
Normal file
|
@ -0,0 +1,32 @@
|
|||
package ee3.core;
|
||||
|
||||
import ee3.item.ItemPhilosopherStone;
|
||||
import ee3.item.ModItems;
|
||||
import net.minecraft.src.EntityPlayer;
|
||||
import net.minecraft.src.IInventory;
|
||||
import net.minecraft.src.ItemStack;
|
||||
import net.minecraft.src.forge.ICraftingHandler;
|
||||
|
||||
public class CraftingHandler implements ICraftingHandler {
|
||||
|
||||
public CraftingHandler() { }
|
||||
|
||||
@Override
|
||||
public void onTakenFromCrafting(EntityPlayer player, ItemStack stack, IInventory craftMatrix) {
|
||||
// TODO Auto-generated method stub
|
||||
ItemStack currentItemStack;
|
||||
for (int i = 0; i < craftMatrix.getSizeInventory(); i++) {
|
||||
currentItemStack = craftMatrix.getStackInSlot(i);
|
||||
if (currentItemStack != null) {
|
||||
if (currentItemStack.itemID == ModItems.philStone.shiftedIndex) {
|
||||
System.out.println(currentItemStack.getItem().getItemName());
|
||||
ItemPhilosopherStone stone = (ItemPhilosopherStone) currentItemStack.getItem();
|
||||
System.out.println("Stone Type: " + stone.getType(currentItemStack));
|
||||
stone.setType(currentItemStack, (byte)1);
|
||||
System.out.println("Stone Type: " + stone.getType(currentItemStack));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -14,17 +14,18 @@ import net.minecraft.src.mod_EE3;
|
|||
*/
|
||||
public class ItemPhilosopherStone extends ItemEE implements IItemChargeable, IItemModal {
|
||||
|
||||
private byte type;
|
||||
private byte currentCharge;
|
||||
private byte maxCharge;
|
||||
|
||||
private byte currentMode;
|
||||
private byte maxMode;
|
||||
|
||||
public ItemPhilosopherStone(int i) {
|
||||
super(i);
|
||||
type = 1;
|
||||
maxCharge = 4;
|
||||
maxMode = 2;
|
||||
|
||||
this.setMaxDamage(1561);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -32,7 +33,10 @@ public class ItemPhilosopherStone extends ItemEE implements IItemChargeable, IIt
|
|||
*/
|
||||
public int getIconFromDamage(int par1)
|
||||
{
|
||||
return this.iconIndex + type;
|
||||
if (this.getMaxDamage() > 0)
|
||||
return this.iconIndex;
|
||||
else
|
||||
return this.iconIndex + 1;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -40,7 +44,7 @@ public class ItemPhilosopherStone extends ItemEE implements IItemChargeable, IIt
|
|||
* @see net.minecraft.src.Item#getRarity(net.minecraft.src.ItemStack)
|
||||
*/
|
||||
public EnumRarity getRarity(ItemStack par1ItemStack) {
|
||||
if (type == 1)
|
||||
if (getShort(par1ItemStack, "Damage") > 0)
|
||||
return mod_EE3.proxy.getCustomEnumRarityType(CustomItemRarity.RARE);
|
||||
else
|
||||
return mod_EE3.proxy.getCustomEnumRarityType(CustomItemRarity.MAGICAL);
|
||||
|
@ -51,7 +55,7 @@ public class ItemPhilosopherStone extends ItemEE implements IItemChargeable, IIt
|
|||
* @see net.minecraft.src.Item#hasEffect(net.minecraft.src.ItemStack)
|
||||
*/
|
||||
public boolean hasEffect(ItemStack par1ItemStack) {
|
||||
return (this.type == 1);
|
||||
return (getType(par1ItemStack) == 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -104,6 +108,17 @@ public class ItemPhilosopherStone extends ItemEE implements IItemChargeable, IIt
|
|||
public void setMode(ItemStack ist, byte mode) {
|
||||
setByte(ist, "currentMode", mode);
|
||||
}
|
||||
|
||||
public byte getType(ItemStack ist) {
|
||||
return getByte(ist, "type");
|
||||
}
|
||||
|
||||
public void setType(ItemStack ist, byte type) {
|
||||
setByte(ist, "type", type);
|
||||
setShort(ist, "Damage", -1);
|
||||
ist.writeToNBT(ist.stackTagCompound);
|
||||
this.setMaxDamage(-1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean doesContainerItemLeaveCraftingGrid(ItemStack ist) {
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
package ee3.item;
|
||||
|
||||
import ee3.lib.ItemIds;
|
||||
import net.minecraft.src.Block;
|
||||
import net.minecraft.src.Item;
|
||||
import net.minecraft.src.ItemStack;
|
||||
import net.minecraft.src.ModLoader;
|
||||
|
||||
/**
|
||||
|
@ -28,5 +30,7 @@ public class ModItems {
|
|||
|
||||
/* Add the item names to the mod items */
|
||||
ModLoader.addName(philStone, "Philosopher's Stone");
|
||||
|
||||
ModLoader.addShapelessRecipe(new ItemStack(philStone), Block.dirt);
|
||||
}
|
||||
}
|
||||
|
|
19
ee3_common/mod_EE3.info
Normal file
19
ee3_common/mod_EE3.info
Normal file
|
@ -0,0 +1,19 @@
|
|||
[
|
||||
{
|
||||
"modid" : "mod_EE3",
|
||||
"name" : "Equivalent Exchange 3",
|
||||
"version" : "v1.0.0.0",
|
||||
"url" : "http://www.minecraftforum.net/topic/1106178-",
|
||||
"credits" : "Original by x3n0ph0b3, maintained by Pahimar",
|
||||
"authors": [
|
||||
"x3n0ph0b3",
|
||||
"pahimar"
|
||||
],
|
||||
"description": "Transmute stuff into other stuff! Become a Minecraft God!",
|
||||
"logoFile" : "",
|
||||
"updateUrl" : "http://www.minecraftforum.net/topic/1106178-",
|
||||
"parent" : "",
|
||||
"screenshots": [
|
||||
]
|
||||
}
|
||||
]
|
|
@ -2,6 +2,7 @@ package net.minecraft.src;
|
|||
|
||||
import ee3.addons.BuildCraftAddon;
|
||||
import ee3.core.ConfigurationManager;
|
||||
import ee3.core.CraftingHandler;
|
||||
import ee3.core.RecipesPhilStone;
|
||||
import ee3.core.ServerClientProxy;
|
||||
import ee3.core.Version;
|
||||
|
@ -52,6 +53,9 @@ public class mod_EE3 extends NetworkMod {
|
|||
// Bind Sound Handler
|
||||
this.proxy.registerSoundHandler();
|
||||
|
||||
// Register the Crafting Handler
|
||||
MinecraftForge.registerCraftingHandler(new CraftingHandler());
|
||||
|
||||
// Initialise the configuration settings from file
|
||||
this.config.init();
|
||||
|
||||
|
|
Loading…
Reference in a new issue