aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/common/reactorItem/AbstractReactorItem.java29
-rw-r--r--src/main/java/common/reactorItem/ReactorItem.java48
-rw-r--r--src/main/java/reactor/Reactor.java9
-rw-r--r--src/main/java/reactor/itemBehaviour/IReactorItemBehaviour.java20
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();
+}