aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kekztech/common/itemBlocks
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/kekztech/common/itemBlocks')
-rw-r--r--src/main/java/kekztech/common/itemBlocks/ItemBlockIchorJar.java27
-rw-r--r--src/main/java/kekztech/common/itemBlocks/ItemBlockLapotronicEnergyUnit.java190
-rw-r--r--src/main/java/kekztech/common/itemBlocks/ItemBlockTFFTStorageField.java63
-rw-r--r--src/main/java/kekztech/common/itemBlocks/ItemBlockThaumiumReinforcedJar.java27
4 files changed, 307 insertions, 0 deletions
diff --git a/src/main/java/kekztech/common/itemBlocks/ItemBlockIchorJar.java b/src/main/java/kekztech/common/itemBlocks/ItemBlockIchorJar.java
new file mode 100644
index 0000000000..96faec380b
--- /dev/null
+++ b/src/main/java/kekztech/common/itemBlocks/ItemBlockIchorJar.java
@@ -0,0 +1,27 @@
+package kekztech.common.itemBlocks;
+
+import net.minecraft.block.Block;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
+
+public class ItemBlockIchorJar extends ItemBlock {
+
+ public ItemBlockIchorJar(Block block) {
+ super(block);
+ }
+
+ @Override
+ public int getMetadata(int meta) {
+ return meta;
+ }
+
+ @Override
+ public boolean getHasSubtypes() {
+ return true;
+ }
+
+ @Override
+ public String getUnlocalizedName(ItemStack stack) {
+ return super.getUnlocalizedName() + "." + stack.getItemDamage();
+ }
+}
diff --git a/src/main/java/kekztech/common/itemBlocks/ItemBlockLapotronicEnergyUnit.java b/src/main/java/kekztech/common/itemBlocks/ItemBlockLapotronicEnergyUnit.java
new file mode 100644
index 0000000000..e0f016afae
--- /dev/null
+++ b/src/main/java/kekztech/common/itemBlocks/ItemBlockLapotronicEnergyUnit.java
@@ -0,0 +1,190 @@
+package kekztech.common.itemBlocks;
+
+import static com.google.common.math.LongMath.pow;
+
+import java.math.BigInteger;
+import java.util.List;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.StatCollector;
+
+import gregtech.api.enums.GTValues;
+import gregtech.api.util.GTUtility;
+
+public class ItemBlockLapotronicEnergyUnit extends ItemBlock {
+
+ public ItemBlockLapotronicEnergyUnit(Block block) {
+ super(block);
+ }
+
+ @Override
+ public int getMetadata(int meta) {
+ return meta;
+ }
+
+ @Override
+ public boolean getHasSubtypes() {
+ return true;
+ }
+
+ @Override
+ public String getUnlocalizedName(ItemStack stack) {
+ return super.getUnlocalizedName() + "." + stack.getItemDamage();
+ }
+
+ // 5 Minutes, 5 mins * 60s * 20 ticks.
+ public static long LSC_time_between_wireless_rebalance_in_ticks = 5L * 60L * 20L;
+
+ // 60 Trillion EU.
+ public static BigInteger LSC_wireless_eu_cap = BigInteger.valueOf(60 * pow(10, 12));
+
+ // 10 Billion EU/t
+ private static final BigInteger UHV_cap_eu_per_tick = LSC_wireless_eu_cap
+ .divide(BigInteger.valueOf(LSC_time_between_wireless_rebalance_in_ticks));
+
+ // 6 Quadrillion EU.
+ public static BigInteger UEV_wireless_eu_cap = BigInteger.valueOf(100 * 60 * pow(10, 12));
+
+ // 1 Trillion EU/t
+ private static final BigInteger UEV_cap_eu_per_tick = UEV_wireless_eu_cap
+ .divide(BigInteger.valueOf(LSC_time_between_wireless_rebalance_in_ticks));
+
+ // 600 Quadrillion EU.
+ public static BigInteger UIV_wireless_eu_cap = BigInteger.valueOf(60 * pow(10, 16));
+
+ // 100 Trillion EU/t
+ private static final BigInteger UIV_cap_eu_per_tick = UIV_wireless_eu_cap
+ .divide(BigInteger.valueOf(LSC_time_between_wireless_rebalance_in_ticks));
+
+ // 60 Quintillion EU.
+ public static BigInteger UMV_wireless_eu_cap = UIV_wireless_eu_cap.multiply(BigInteger.valueOf(100));
+
+ // 10 Quadrillion EU/t
+ private static final BigInteger UMV_cap_eu_per_tick = UMV_wireless_eu_cap
+ .divide(BigInteger.valueOf(LSC_time_between_wireless_rebalance_in_ticks));
+
+ public static long EV_cap_storage = 60_000_000L;
+ public static long IV_cap_storage = 600_000_000L;
+ public static long LuV_cap_storage = 6_000_000_000L;
+ public static long ZPM_cap_storage = 60_000_000_000L;
+ public static long UV_cap_storage = 600_000_000_000L;
+ public static long UHV_cap_storage = Long.MAX_VALUE;
+ public static long UEV_cap_storage = Long.MAX_VALUE;
+ public static long UIV_cap_storage = Long.MAX_VALUE;
+ public static BigInteger UMV_cap_storage = BigInteger.valueOf(UIV_cap_storage)
+ .pow(2);
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public void addInformation(ItemStack stack, EntityPlayer player, List lines, boolean advancedTooltips) {
+ lines.add(StatCollector.translateToLocal("tile.kekztech_lapotronicenergyunit_block.desc"));
+ switch (stack.getItemDamage()) {
+ case 1:
+ lines.add(
+ "Capacity: " + EnumChatFormatting.RED
+ + GTUtility.formatNumbers(IV_cap_storage)
+ + EnumChatFormatting.GRAY
+ + "EU");
+ break;
+ case 2:
+ lines.add(
+ "Capacity: " + EnumChatFormatting.RED
+ + GTUtility.formatNumbers(LuV_cap_storage)
+ + EnumChatFormatting.GRAY
+ + "EU");
+ break;
+ case 3:
+ lines.add(
+ "Capacity: " + EnumChatFormatting.RED
+ + GTUtility.formatNumbers(ZPM_cap_storage)
+ + EnumChatFormatting.GRAY
+ + "EU");
+ break;
+ case 4:
+ lines.add(
+ "Capacity: " + EnumChatFormatting.RED
+ + GTUtility.formatNumbers(UV_cap_storage)
+ + EnumChatFormatting.GRAY
+ + "EU");
+ break;
+ case 5:
+ lines.add(
+ "Capacity: " + EnumChatFormatting.RED
+ + GTUtility.formatNumbers(UHV_cap_storage)
+ + EnumChatFormatting.GRAY
+ + "EU");
+ lines.add(
+ "Supports up to " + EnumChatFormatting.RED
+ + GTUtility.formatNumbers(UHV_cap_eu_per_tick)
+ + EnumChatFormatting.GRAY
+ + "EU/t of wireless transfer per "
+ + GTValues.TIER_COLORS[9]
+ + GTValues.VN[9]
+ + EnumChatFormatting.GRAY
+ + " capacitor.");
+ break;
+ case 6:
+ lines.add("Capacity: None");
+ break;
+ case 7:
+ lines.add(
+ "Capacity: " + EnumChatFormatting.RED
+ + GTUtility.formatNumbers(EV_cap_storage)
+ + EnumChatFormatting.GRAY
+ + " EU");
+ break;
+ case 8:
+ lines.add(
+ "Capacity: " + EnumChatFormatting.RED
+ + GTUtility.formatNumbers(UEV_cap_storage)
+ + EnumChatFormatting.GRAY
+ + "EU");
+ lines.add(
+ "Supports up to " + EnumChatFormatting.RED
+ + GTUtility.formatNumbers(UEV_cap_eu_per_tick)
+ + EnumChatFormatting.GRAY
+ + "EU/t of wireless transfer per "
+ + GTValues.TIER_COLORS[10]
+ + GTValues.VN[10]
+ + EnumChatFormatting.GRAY
+ + " capacitor.");
+ break;
+ case 9:
+ lines.add(
+ "Capacity: " + EnumChatFormatting.RED
+ + GTUtility.formatNumbers(UIV_cap_storage)
+ + EnumChatFormatting.GRAY
+ + "EU");
+ lines.add(
+ "Supports up to " + EnumChatFormatting.RED
+ + GTUtility.formatNumbers(UIV_cap_eu_per_tick)
+ + EnumChatFormatting.GRAY
+ + "EU/t of wireless transfer per "
+ + GTValues.TIER_COLORS[11]
+ + GTValues.VN[11]
+ + EnumChatFormatting.GRAY
+ + " capacitor.");
+ break;
+ case 10:
+ lines.add(
+ "Capacity: " + EnumChatFormatting.RED
+ + GTUtility.formatNumbers(UMV_cap_storage)
+ + EnumChatFormatting.GRAY
+ + "EU");
+ lines.add(
+ "Supports up to " + EnumChatFormatting.RED
+ + GTUtility.formatNumbers(UMV_cap_eu_per_tick)
+ + EnumChatFormatting.GRAY
+ + "EU/t of wireless transfer per "
+ + GTValues.TIER_COLORS[12]
+ + GTValues.VN[12]
+ + EnumChatFormatting.GRAY
+ + " capacitor.");
+ break;
+ }
+ }
+}
diff --git a/src/main/java/kekztech/common/itemBlocks/ItemBlockTFFTStorageField.java b/src/main/java/kekztech/common/itemBlocks/ItemBlockTFFTStorageField.java
new file mode 100644
index 0000000000..f032153f47
--- /dev/null
+++ b/src/main/java/kekztech/common/itemBlocks/ItemBlockTFFTStorageField.java
@@ -0,0 +1,63 @@
+package kekztech.common.itemBlocks;
+
+import java.text.NumberFormat;
+import java.util.List;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.StatCollector;
+
+import kekztech.common.tileentities.MTETankTFFT;
+
+public class ItemBlockTFFTStorageField extends ItemBlock {
+
+ private static final int UNIQUE_FLUIDS_PER_CELL = 25;
+
+ public ItemBlockTFFTStorageField(Block block) {
+ super(block);
+ }
+
+ @Override
+ public int getMetadata(int meta) {
+ return meta;
+ }
+
+ @Override
+ public boolean getHasSubtypes() {
+ return true;
+ }
+
+ @Override
+ public String getUnlocalizedName(ItemStack stack) {
+ return super.getUnlocalizedName() + "." + stack.getItemDamage();
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public void addInformation(ItemStack stack, EntityPlayer player, List lines, boolean advancedTooltips) {
+ int meta = stack.getItemDamage();
+ if (meta > 0) {
+ lines.add(StatCollector.translateToLocal("tile.kekztech_tfftstoragefield_block.desc"));
+ lines.add(
+ "Capacity: " + EnumChatFormatting.BLUE
+ + NumberFormat.getNumberInstance()
+ .format(MTETankTFFT.Field.VALUES[meta - 1].getCapacity())
+ + EnumChatFormatting.GRAY
+ + " L");
+ lines.add(
+ "Per Fluid Capacity: " + EnumChatFormatting.BLUE
+ + NumberFormat.getNumberInstance()
+ .format(MTETankTFFT.Field.VALUES[meta - 1].getCapacity() / UNIQUE_FLUIDS_PER_CELL)
+ + EnumChatFormatting.GRAY
+ + " L");
+ lines.add(
+ "Power Draw: " + EnumChatFormatting.BLUE
+ + MTETankTFFT.Field.VALUES[meta - 1].getCost()
+ + EnumChatFormatting.GRAY
+ + " EU/t");
+ }
+ }
+}
diff --git a/src/main/java/kekztech/common/itemBlocks/ItemBlockThaumiumReinforcedJar.java b/src/main/java/kekztech/common/itemBlocks/ItemBlockThaumiumReinforcedJar.java
new file mode 100644
index 0000000000..b2e6a434af
--- /dev/null
+++ b/src/main/java/kekztech/common/itemBlocks/ItemBlockThaumiumReinforcedJar.java
@@ -0,0 +1,27 @@
+package kekztech.common.itemBlocks;
+
+import net.minecraft.block.Block;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
+
+public class ItemBlockThaumiumReinforcedJar extends ItemBlock {
+
+ public ItemBlockThaumiumReinforcedJar(Block block) {
+ super(block);
+ }
+
+ @Override
+ public int getMetadata(int meta) {
+ return meta;
+ }
+
+ @Override
+ public boolean getHasSubtypes() {
+ return true;
+ }
+
+ @Override
+ public String getUnlocalizedName(ItemStack stack) {
+ return super.getUnlocalizedName() + "." + stack.getItemDamage();
+ }
+}