diff options
Diffstat (limited to 'src/main/java/kekztech/common/itemBlocks')
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(); + } +} |