diff options
Diffstat (limited to 'src')
4 files changed, 106 insertions, 0 deletions
diff --git a/src/main/java/common/reactorItem/AbstractReactorItem.java b/src/main/java/common/reactorItem/AbstractReactorItem.java new file mode 100644 index 0000000000..e78889b57f --- /dev/null +++ b/src/main/java/common/reactorItem/AbstractReactorItem.java @@ -0,0 +1,29 @@ +package common.reactorItem; + +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public abstract class AbstractReactorItem extends Item { + + private final int[] behaviourID; + + protected AbstractReactorItem(int...behaviourID) { + this.behaviourID = behaviourID; + } + + @Override + public abstract double getDurabilityForDisplay(ItemStack stack); + + @Override + public abstract boolean showDurabilityBar(ItemStack stack); + + @Override + public final String getUnlocalizedName(ItemStack stack) { + return super.hasSubtypes ? (super.getUnlocalizedName() + "." + stack.getItemDamage()) + : super.getUnlocalizedName(); + } + + public final int getBehaviourID(int meta) { + return behaviourID[meta]; + } +} diff --git a/src/main/java/common/reactorItem/ReactorItem.java b/src/main/java/common/reactorItem/ReactorItem.java new file mode 100644 index 0000000000..e8dfbef21e --- /dev/null +++ b/src/main/java/common/reactorItem/ReactorItem.java @@ -0,0 +1,48 @@ +package common.reactorItem; + +import cpw.mods.fml.common.registry.GameRegistry; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +public class ReactorItem extends AbstractReactorItem { + + private static final ReactorItem INSTANCE = new ReactorItem(); + + private final IIcon[] icons = new IIcon[50]; + + private ReactorItem() { + super(); + } + + public static ReactorItem registerItem() { + INSTANCE.setHasSubtypes(true); + INSTANCE.setCreativeTab(CreativeTabs.tabMisc); + INSTANCE.setMaxStackSize(1); + final String unloc = "kekztech_reactor_item"; + INSTANCE.setUnlocalizedName(unloc); + GameRegistry.registerItem(INSTANCE, unloc); + return INSTANCE; + } + + @Override + public void registerIcons(IIconRegister reg) { + + } + + @Override + public IIcon getIconFromDamage(int meta) { + return icons[meta]; + } + + @Override + public double getDurabilityForDisplay(ItemStack stack) { + return 0; + } + + @Override + public boolean showDurabilityBar(ItemStack stack) { + return false; + } +} diff --git a/src/main/java/reactor/Reactor.java b/src/main/java/reactor/Reactor.java new file mode 100644 index 0000000000..f6f955b230 --- /dev/null +++ b/src/main/java/reactor/Reactor.java @@ -0,0 +1,9 @@ +package reactor; + +public class Reactor { + + private long energyPerSecond; + private long heat; + private long maxHeat; + +} diff --git a/src/main/java/reactor/itemBehaviour/IReactorItemBehaviour.java b/src/main/java/reactor/itemBehaviour/IReactorItemBehaviour.java new file mode 100644 index 0000000000..1990938270 --- /dev/null +++ b/src/main/java/reactor/itemBehaviour/IReactorItemBehaviour.java @@ -0,0 +1,20 @@ +package reactor.itemBehaviour; + +import java.util.HashMap; + +public abstract class IReactorItemBehaviour { + + protected final HashMap<String, String> properties; + + protected IReactorItemBehaviour(String propertiesKey) { + // load + + properties = new HashMap<>(); + } + + public abstract void apply(); + + public abstract boolean hasDurabilityBar(); + + public abstract double getDurabilityForDisplay(); +} |