aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/api/thermal/sample/ItemThermalContainer.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gtPlusPlus/api/thermal/sample/ItemThermalContainer.java')
-rw-r--r--src/main/java/gtPlusPlus/api/thermal/sample/ItemThermalContainer.java84
1 files changed, 84 insertions, 0 deletions
diff --git a/src/main/java/gtPlusPlus/api/thermal/sample/ItemThermalContainer.java b/src/main/java/gtPlusPlus/api/thermal/sample/ItemThermalContainer.java
new file mode 100644
index 0000000000..015e5fd5f3
--- /dev/null
+++ b/src/main/java/gtPlusPlus/api/thermal/sample/ItemThermalContainer.java
@@ -0,0 +1,84 @@
+package gtPlusPlus.api.thermal.sample;
+
+import gtPlusPlus.api.thermal.energy.IThermalContainerItem;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+
+public class ItemThermalContainer extends Item implements IThermalContainerItem {
+ protected int capacity;
+ protected int maxReceive;
+ protected int maxExtract;
+
+ public ItemThermalContainer() {
+ }
+
+ public ItemThermalContainer(int arg0) {
+ this(arg0, arg0, arg0);
+ }
+
+ public ItemThermalContainer(int arg0, int arg1) {
+ this(arg0, arg1, arg1);
+ }
+
+ public ItemThermalContainer(int arg0, int arg1, int arg2) {
+ this.capacity = arg0;
+ this.maxReceive = arg1;
+ this.maxExtract = arg2;
+ }
+
+ public ItemThermalContainer setCapacity(int arg0) {
+ this.capacity = arg0;
+ return this;
+ }
+
+ public void setMaxTransfer(int arg0) {
+ this.setMaxReceive(arg0);
+ this.setMaxExtract(arg0);
+ }
+
+ public void setMaxReceive(int arg0) {
+ this.maxReceive = arg0;
+ }
+
+ public void setMaxExtract(int arg0) {
+ this.maxExtract = arg0;
+ }
+
+ public int receiveThermalEnergy(ItemStack arg0, int arg1, boolean arg2) {
+ if (arg0.getTagCompound() == null) {
+ arg0.stackTagCompound = new NBTTagCompound();
+ }
+ int arg3 = arg0.stackTagCompound.getInteger("ThermalEnergy");
+ int arg4 = Math.min(this.capacity - arg3, Math.min(this.maxReceive, arg1));
+ if (!arg2) {
+ arg3 += arg4;
+ arg0.stackTagCompound.setInteger("ThermalEnergy", arg3);
+ }
+ return arg4;
+ }
+
+ public int extractThermalEnergy(ItemStack arg0, int arg1, boolean arg2) {
+ if (arg0.stackTagCompound != null && arg0.stackTagCompound.hasKey("ThermalEnergy")) {
+ int arg3 = arg0.stackTagCompound.getInteger("ThermalEnergy");
+ int arg4 = Math.min(arg3, Math.min(this.maxExtract, arg1));
+ if (!arg2) {
+ arg3 -= arg4;
+ arg0.stackTagCompound.setInteger("ThermalEnergy", arg3);
+ }
+ return arg4;
+ } else {
+ return 0;
+ }
+ }
+
+ public int getThermalEnergyStored(ItemStack arg0) {
+ return arg0.stackTagCompound != null && arg0.stackTagCompound.hasKey("ThermalEnergy")
+ ? arg0.stackTagCompound.getInteger("ThermalEnergy")
+ : 0;
+ }
+
+ public int getMaxThermalEnergyStored(ItemStack arg0) {
+ return this.capacity;
+ }
+} \ No newline at end of file