implementing ItemRailingTransfer object to have links and data holding

This commit is contained in:
tgame14 2014-03-16 13:23:31 +02:00
parent 35c0bb2369
commit 54246205a2
2 changed files with 58 additions and 5 deletions

View file

@ -1,12 +1,63 @@
package resonantinduction.electrical.itemrailing;
import calclavia.lib.render.EnumColor;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import resonantinduction.electrical.itemrailing.interfaces.IItemRailingTransfer;
import universalelectricity.api.vector.VectorWorld;
/**
* An object that Transfers all
*
* @since 16/03/14
* @author tgame14
*/
public class ItemRailingTransfer
public class ItemRailingTransfer implements IItemRailingTransfer
{
private ItemStack stack;
private EnumColor color;
private PartRailing railing;
public ItemRailingTransfer(ItemStack stack, PartRailing railing)
{
this.stack = stack.copy();
this.color = EnumColor.ORANGE;
this.railing = railing;
}
public ItemRailingTransfer(Item item, PartRailing railing)
{
this(new ItemStack(item), railing);
}
@Override
public ItemStack getItemStack ()
{
return this.stack;
}
@Override
public EnumColor getColor ()
{
return this.color;
}
public IItemRailingTransfer setColor(EnumColor color)
{
this.color = color;
return this;
}
@Override
public PartRailing getRailing ()
{
return this.railing;
}
@Override
public IItemRailingTransfer setRailing (PartRailing railing)
{
this.railing = railing;
return this;
}
}

View file

@ -2,6 +2,7 @@ package resonantinduction.electrical.itemrailing.interfaces;
import calclavia.lib.render.EnumColor;
import net.minecraft.item.ItemStack;
import resonantinduction.electrical.itemrailing.PartRailing;
import universalelectricity.api.vector.VectorWorld;
/**
@ -12,14 +13,15 @@ import universalelectricity.api.vector.VectorWorld;
*/
public interface IItemRailingTransfer
{
public VectorWorld getWorldPos();
public ItemStack getItemStack();
public EnumColor getColor();
public IItemRailingTransfer setColor();
public IItemRailingTransfer setColor(EnumColor color);
public PartRailing getRailing();
public IItemRailingTransfer setRailing(PartRailing railing);
// getEndTarget();