From 1a7f2b60912119b24dbfd618cf10b2be99b90372 Mon Sep 17 00:00:00 2001 From: Boblet Date: Mon, 9 Aug 2021 15:44:11 +0200 Subject: [PATCH] self-charging cells --- .../java/api/hbm/energy/IBatteryItem.java | 12 ++-- src/main/java/com/hbm/items/ModItems.java | 20 +++++++ .../hbm/items/machine/ItemSelfcharger.java | 55 +++++++++++++++++++ src/main/resources/assets/hbm/lang/de_DE.lang | 6 ++ src/main/resources/assets/hbm/lang/en_US.lang | 6 ++ 5 files changed, 93 insertions(+), 6 deletions(-) create mode 100644 src/main/java/com/hbm/items/machine/ItemSelfcharger.java diff --git a/src/main/java/api/hbm/energy/IBatteryItem.java b/src/main/java/api/hbm/energy/IBatteryItem.java index 528e5bb87..fb90e3d86 100644 --- a/src/main/java/api/hbm/energy/IBatteryItem.java +++ b/src/main/java/api/hbm/energy/IBatteryItem.java @@ -5,10 +5,10 @@ import net.minecraft.item.ItemStack; public interface IBatteryItem { public void chargeBattery(ItemStack stack, long i); - public void setCharge(ItemStack stack, long i); - public void dischargeBattery(ItemStack stack, long i); - public long getCharge(ItemStack stack); - public long getMaxCharge(); - public long getChargeRate(); - public long getDischargeRate(); + public void setCharge(ItemStack stack, long i); + public void dischargeBattery(ItemStack stack, long i); + public long getCharge(ItemStack stack); + public long getMaxCharge(); + public long getChargeRate(); + public long getDischargeRate(); } diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 4cd029a93..dc1292c4f 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1765,6 +1765,13 @@ public class ModItems { public static Item battery_spark_cell_power; public static Item cube_power; + public static Item battery_sc_uranium; + public static Item battery_sc_technetium; + public static Item battery_sc_plutonium; + public static Item battery_sc_polonium; + public static Item battery_sc_gold; + public static Item battery_sc_americium; + public static Item battery_su; public static Item battery_su_l; public static Item battery_potato; @@ -4282,6 +4289,13 @@ public class ModItems { battery_spark_cell_10000 = new ItemBattery(100000000L * 10000L, 200000000, 200000000).setUnlocalizedName("battery_spark_cell_10000").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_spark_cell_10000"); battery_spark_cell_power = new ItemBattery(100000000L * 1000000L, 200000000, 200000000).setUnlocalizedName("battery_spark_cell_power").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_spark_cell_power"); cube_power = new ItemBattery(1000000000000000000L, 1000000000000000L, 1000000000000000L).setUnlocalizedName("cube_power").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":cube_power"); + + battery_sc_uranium = new ItemSelfcharger(5).setUnlocalizedName("battery_sc_uranium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_uranium"); + battery_sc_technetium = new ItemSelfcharger(25).setUnlocalizedName("battery_sc_technetium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_technetium"); + battery_sc_plutonium = new ItemSelfcharger(100).setUnlocalizedName("battery_sc_plutonium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_plutonium"); + battery_sc_polonium = new ItemSelfcharger(500).setUnlocalizedName("battery_sc_polonium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_polonium"); + battery_sc_gold = new ItemSelfcharger(2500).setUnlocalizedName("battery_sc_gold").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_gold"); + battery_sc_americium = new ItemSelfcharger(10000).setUnlocalizedName("battery_sc_americium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_americium"); battery_potato = new ItemBattery(100, 0, 100).setUnlocalizedName("battery_potato").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_potato"); battery_potatos = new ItemPotatos(5000, 0, 100).setUnlocalizedName("battery_potatos").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_potatos"); @@ -6004,6 +6018,12 @@ public class ModItems { GameRegistry.registerItem(battery_potatos, battery_potatos.getUnlocalizedName()); GameRegistry.registerItem(battery_steam, battery_steam.getUnlocalizedName()); GameRegistry.registerItem(battery_steam_large, battery_steam_large.getUnlocalizedName()); + GameRegistry.registerItem(battery_sc_uranium, battery_sc_uranium.getUnlocalizedName()); + GameRegistry.registerItem(battery_sc_technetium, battery_sc_technetium.getUnlocalizedName()); + GameRegistry.registerItem(battery_sc_plutonium, battery_sc_plutonium.getUnlocalizedName()); + GameRegistry.registerItem(battery_sc_polonium, battery_sc_polonium.getUnlocalizedName()); + GameRegistry.registerItem(battery_sc_gold, battery_sc_gold.getUnlocalizedName()); + GameRegistry.registerItem(battery_sc_americium, battery_sc_americium.getUnlocalizedName()); GameRegistry.registerItem(hev_battery, hev_battery.getUnlocalizedName()); GameRegistry.registerItem(fusion_core, fusion_core.getUnlocalizedName()); GameRegistry.registerItem(energy_core, energy_core.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/machine/ItemSelfcharger.java b/src/main/java/com/hbm/items/machine/ItemSelfcharger.java new file mode 100644 index 000000000..5b02d54e2 --- /dev/null +++ b/src/main/java/com/hbm/items/machine/ItemSelfcharger.java @@ -0,0 +1,55 @@ +package com.hbm.items.machine; + +import java.util.List; + +import com.hbm.lib.Library; + +import api.hbm.energy.IBatteryItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; + +public class ItemSelfcharger extends Item implements IBatteryItem { + + long charge; + + public ItemSelfcharger(long charge) { + this.charge = charge; + } + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { + list.add(EnumChatFormatting.YELLOW + "" + Library.getShortNumber(charge) + "HE/t"); + } + + @Override + public void chargeBattery(ItemStack stack, long i) { } + + @Override + public void setCharge(ItemStack stack, long i) { } + + @Override + public void dischargeBattery(ItemStack stack, long i) { } + + @Override + public long getCharge(ItemStack stack) { + return charge; + } + + @Override + public long getMaxCharge() { + return charge; + } + + @Override + public long getChargeRate() { + return 0; + } + + @Override + public long getDischargeRate() { + return charge; + } + +} diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 365cbc520..5773afb81 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -696,6 +696,12 @@ item.battery_potatos.name=PotatOS item.battery_red_cell.name=Redstone-Energiezelle item.battery_red_cell_24.name=24-fache Redstone-Energiezelle item.battery_red_cell_6.name=Sechsfache Redstone-Energiezelle +item.battery_sc_americium.name=Americium-241-Selbstlader +item.battery_sc_gold.name=Gold-198-Selbstlader +item.battery_sc_plutonium.name=Plutonium-238-Selbstlader +item.battery_sc_polonium.name=Polonium-210-Selbstlader +item.battery_sc_technetium.name=Technerium-98-Selbstlader +item.battery_sc_uranium.name=Uran-238-Selbstlader item.battery_schrabidium.name=Schrabidiumbatterie item.battery_schrabidium_cell.name=Schrabidium-Energiezelle item.battery_schrabidium_cell_2.name=Doppelte Schrabidium-Energiezelle diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 7a750e06e..c3c040f62 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -764,6 +764,12 @@ item.battery_potatos.name=PotatOS item.battery_red_cell.name=Redstone Power Cell item.battery_red_cell_24.name=24-Fold Redstone Power Cell item.battery_red_cell_6.name=Sixfold Redstone Power Cell +item.battery_sc_americium.name=Self-Charging Americium-241 Battery +item.battery_sc_gold.name=Self-Charging Gold-198 Battery +item.battery_sc_plutonium.name=Self-Charging Plutonium-238 Battery +item.battery_sc_polonium.name=Self-Charging Polonium-210 Battery +item.battery_sc_technetium.name=Self-Charging Technerium-98 Battery +item.battery_sc_uranium.name=Self-Charging Uranium-238 Battery item.battery_schrabidium.name=Schrabidium Battery item.battery_schrabidium_cell.name=Schrabidium Power Cell item.battery_schrabidium_cell_2.name=Double Schrabidium Power Cell