diff --git a/src/main/java/techreborn/blockentity/storage/energy/AdjustableSUBlockEntity.java b/src/main/java/techreborn/blockentity/storage/energy/AdjustableSUBlockEntity.java index becda6dab..ffac2529d 100644 --- a/src/main/java/techreborn/blockentity/storage/energy/AdjustableSUBlockEntity.java +++ b/src/main/java/techreborn/blockentity/storage/energy/AdjustableSUBlockEntity.java @@ -45,12 +45,15 @@ public class AdjustableSUBlockEntity extends EnergyStorageBlockEntity implements public int superconductors = 0; public AdjustableSUBlockEntity() { - super(TRBlockEntities.ADJUSTABLE_SU, "ADJUSTABLE_SU", 4, TRContent.Machine.ADJUSTABLE_SU.block, EnergyTier.INSANE, TechRebornConfig.aesuMaxInput, TechRebornConfig.aesuMaxOutput, TechRebornConfig.aesuMaxEnergy); + super(TRBlockEntities.ADJUSTABLE_SU, "ADJUSTABLE_SU", 4, TRContent.Machine.ADJUSTABLE_SU.block, EnergyTier.INSANE, TechRebornConfig.aesuMaxEnergy); } @Override public void tick() { super.tick(); + if (world == null){ + return; + } if (OUTPUT > getMaxConfigOutput()) { OUTPUT = getMaxConfigOutput(); @@ -97,7 +100,7 @@ public class AdjustableSUBlockEntity extends EnergyStorageBlockEntity implements ItemStack dropStack = TRContent.Machine.ADJUSTABLE_SU.getStack(); toTag(blockEntity); dropStack.setTag(new CompoundTag()); - dropStack.getTag().put("blockEntity", blockEntity); + dropStack.getOrCreateTag().put("blockEntity", blockEntity); return dropStack; } diff --git a/src/main/java/techreborn/blockentity/storage/energy/EnergyStorageBlockEntity.java b/src/main/java/techreborn/blockentity/storage/energy/EnergyStorageBlockEntity.java index 9f666740b..4d2afd83c 100644 --- a/src/main/java/techreborn/blockentity/storage/energy/EnergyStorageBlockEntity.java +++ b/src/main/java/techreborn/blockentity/storage/energy/EnergyStorageBlockEntity.java @@ -51,14 +51,14 @@ public class EnergyStorageBlockEntity extends PowerAcceptorBlockEntity public int maxOutput; public int maxStorage; - public EnergyStorageBlockEntity(BlockEntityType blockEntityType, String name, int invSize, Block wrenchDrop, EnergyTier tier, int maxInput, int maxOuput, int maxStorage) { + public EnergyStorageBlockEntity(BlockEntityType blockEntityType, String name, int invSize, Block wrenchDrop, EnergyTier tier, int maxStorage) { super(blockEntityType); inventory = new RebornInventory<>(invSize, name + "BlockEntity", 64, this); this.wrenchDrop = wrenchDrop; this.tier = tier; this.name = name; - this.maxInput = maxInput; - this.maxOutput = maxOuput; + this.maxInput = tier.getMaxInput(); + this.maxOutput = tier.getMaxOutput(); this.maxStorage = maxStorage; // Call it again after we have proper values for energy I\O checkTier(); @@ -76,11 +76,8 @@ public class EnergyStorageBlockEntity extends PowerAcceptorBlockEntity if (Energy.valid(stack)) { Energy.of(this) - .into( - Energy - .of(stack) - ) - .move(); + .into(Energy.of(stack)) + .move(tier.getMaxInput()); } } if (!inventory.getInvStack(1).isEmpty()) { diff --git a/src/main/java/techreborn/blockentity/storage/energy/HighVoltageSUBlockEntity.java b/src/main/java/techreborn/blockentity/storage/energy/HighVoltageSUBlockEntity.java index 429c5d99e..417efab78 100644 --- a/src/main/java/techreborn/blockentity/storage/energy/HighVoltageSUBlockEntity.java +++ b/src/main/java/techreborn/blockentity/storage/energy/HighVoltageSUBlockEntity.java @@ -39,10 +39,10 @@ import techreborn.init.TRContent; public class HighVoltageSUBlockEntity extends EnergyStorageBlockEntity implements IContainerProvider { /** - * MFSU should store 40M FE with 2048 FE/t I/O + * MFSU should store 4M Energy with 512 E/t I/O */ public HighVoltageSUBlockEntity() { - super(TRBlockEntities.HIGH_VOLTAGE_SU, "HIGH_VOLTAGE_SU", 2, TRContent.Machine.HIGH_VOLTAGE_SU.block, EnergyTier.HIGH, 512, 512, 10_000_000); + super(TRBlockEntities.HIGH_VOLTAGE_SU, "HIGH_VOLTAGE_SU", 2, TRContent.Machine.HIGH_VOLTAGE_SU.block, EnergyTier.HIGH, 4_000_000); } @Override diff --git a/src/main/java/techreborn/blockentity/storage/energy/LowVoltageSUBlockEntity.java b/src/main/java/techreborn/blockentity/storage/energy/LowVoltageSUBlockEntity.java index d1a132f04..4ef3747d4 100644 --- a/src/main/java/techreborn/blockentity/storage/energy/LowVoltageSUBlockEntity.java +++ b/src/main/java/techreborn/blockentity/storage/energy/LowVoltageSUBlockEntity.java @@ -38,7 +38,7 @@ import techreborn.init.TRContent; public class LowVoltageSUBlockEntity extends EnergyStorageBlockEntity implements IContainerProvider { public LowVoltageSUBlockEntity() { - super(TRBlockEntities.LOW_VOLTAGE_SU, "BatBox", 2, TRContent.Machine.LOW_VOLTAGE_SU.block, EnergyTier.LOW, 32, 32, 40000); + super(TRBlockEntities.LOW_VOLTAGE_SU, "BatBox", 2, TRContent.Machine.LOW_VOLTAGE_SU.block, EnergyTier.LOW, 40_000); } @Override diff --git a/src/main/java/techreborn/blockentity/storage/energy/MediumVoltageSUBlockEntity.java b/src/main/java/techreborn/blockentity/storage/energy/MediumVoltageSUBlockEntity.java index d3a20bcdb..484b9440a 100644 --- a/src/main/java/techreborn/blockentity/storage/energy/MediumVoltageSUBlockEntity.java +++ b/src/main/java/techreborn/blockentity/storage/energy/MediumVoltageSUBlockEntity.java @@ -39,10 +39,10 @@ import techreborn.init.TRContent; public class MediumVoltageSUBlockEntity extends EnergyStorageBlockEntity implements IContainerProvider { /** - * MFE should store 1.2M FE with 512 FE/t I/O + * MFE should store 300k energy with 128 E/t I/O */ public MediumVoltageSUBlockEntity() { - super(TRBlockEntities.MEDIUM_VOLTAGE_SU, "MEDIUM_VOLTAGE_SU", 2, TRContent.Machine.MEDIUM_VOLTAGE_SU.block, EnergyTier.MEDIUM, 128, 128, 300000); + super(TRBlockEntities.MEDIUM_VOLTAGE_SU, "MEDIUM_VOLTAGE_SU", 2, TRContent.Machine.MEDIUM_VOLTAGE_SU.block, EnergyTier.MEDIUM, 300_000); } @Override diff --git a/src/main/java/techreborn/blockentity/storage/energy/idsu/InterdimensionalSUBlockEntity.java b/src/main/java/techreborn/blockentity/storage/energy/idsu/InterdimensionalSUBlockEntity.java index 4a29053a4..ae0badf55 100644 --- a/src/main/java/techreborn/blockentity/storage/energy/idsu/InterdimensionalSUBlockEntity.java +++ b/src/main/java/techreborn/blockentity/storage/energy/idsu/InterdimensionalSUBlockEntity.java @@ -45,7 +45,7 @@ public class InterdimensionalSUBlockEntity extends EnergyStorageBlockEntity impl private double clientEnergy; public InterdimensionalSUBlockEntity() { - super(TRBlockEntities.INTERDIMENSIONAL_SU, "IDSU", 2, TRContent.Machine.INTERDIMENSIONAL_SU.block, EnergyTier.EXTREME, TechRebornConfig.idsuMaxInput, TechRebornConfig.idsuMaxOutput, TechRebornConfig.idsuMaxEnergy); + super(TRBlockEntities.INTERDIMENSIONAL_SU, "IDSU", 2, TRContent.Machine.INTERDIMENSIONAL_SU.block, EnergyTier.INSANE, TechRebornConfig.idsuMaxEnergy); } @Override diff --git a/src/main/java/techreborn/blockentity/storage/energy/lesu/LapotronicSUBlockEntity.java b/src/main/java/techreborn/blockentity/storage/energy/lesu/LapotronicSUBlockEntity.java index 04f5a1552..0a593d060 100644 --- a/src/main/java/techreborn/blockentity/storage/energy/lesu/LapotronicSUBlockEntity.java +++ b/src/main/java/techreborn/blockentity/storage/energy/lesu/LapotronicSUBlockEntity.java @@ -47,7 +47,7 @@ public class LapotronicSUBlockEntity extends EnergyStorageBlockEntity implements private ArrayList countedNetworks = new ArrayList<>(); public LapotronicSUBlockEntity() { - super(TRBlockEntities.LAPOTRONIC_SU, "LESU", 2, TRContent.Machine.LAPOTRONIC_SU.block, EnergyTier.INSANE, 8192, TechRebornConfig.lesuBaseOutput, 1_000_000); + super(TRBlockEntities.LAPOTRONIC_SU, "LESU", 2, TRContent.Machine.LAPOTRONIC_SU.block, EnergyTier.LOW, 1_000_000); checkOverfill = false; } @@ -80,7 +80,7 @@ public class LapotronicSUBlockEntity extends EnergyStorageBlockEntity implements } setMaxStorage(); - maxOutput = (connectedBlocks * TechRebornConfig.lesuExtraIOPerBlock) + TechRebornConfig.lesuBaseOutput; + maxOutput = (connectedBlocks * TechRebornConfig.lesuExtraIOPerBlock) + tier.getMaxOutput(); if (getEnergy() > getMaxStoredPower()) { setEnergy(getMaxStoredPower()); diff --git a/src/main/java/techreborn/config/TechRebornConfig.java b/src/main/java/techreborn/config/TechRebornConfig.java index c785a8a72..0792a781a 100644 --- a/src/main/java/techreborn/config/TechRebornConfig.java +++ b/src/main/java/techreborn/config/TechRebornConfig.java @@ -253,20 +253,20 @@ public class TechRebornConfig { @Config(config = "items", category = "power", key = "LithiumBatpackCharge", comment = "Energy Capacity for Lithium Batpack") public static int lithiumBatpackCharge = 600_000; - @Config(config = "items", category = "power", key = "redCellBatteryMaxCharge", comment = "Energy Capacity for Red Cell Battery (FE)") - public static int redCellBatteryMaxCharge = 40_000; + @Config(config = "items", category = "power", key = "redCellBatteryMaxCharge", comment = "Energy Capacity for Red Cell Battery") + public static int redCellBatteryMaxCharge = 10_000; - @Config(config = "items", category = "power", key = "lithiumIonBatteryMaxCharge", comment = "Energy Capacity for Lithium Ion Battery (FE)") - public static int lithiumIonBatteryMaxCharge = 400_000; + @Config(config = "items", category = "power", key = "lithiumIonBatteryMaxCharge", comment = "Energy Capacity for Lithium Ion Battery") + public static int lithiumIonBatteryMaxCharge = 100_000; - @Config(config = "items", category = "power", key = "energyCrystalMaxCharge", comment = "Energy Capacity for Energy Crystal (FE)") - public static int energyCrystalMaxCharge = 4_000_000; + @Config(config = "items", category = "power", key = "energyCrystalMaxCharge", comment = "Energy Capacity for Energy Crystal") + public static int energyCrystalMaxCharge = 1_000_000; - @Config(config = "items", category = "power", key = "lapotronCrystalMaxCharge", comment = "Energy Capacity for Lapotron Crystal (FE)") - public static int lapotronCrystalMaxCharge = 40_000_000; + @Config(config = "items", category = "power", key = "lapotronCrystalMaxCharge", comment = "Energy Capacity for Lapotron Crystal") + public static int lapotronCrystalMaxCharge = 10_000_000; - @Config(config = "items", category = "power", key = "lapotronicOrbMaxCharge", comment = "Energy Capacity for Lapotronic Orb (FE)") - public static int lapotronicOrbMaxCharge = 400_000_000; + @Config(config = "items", category = "power", key = "lapotronicOrbMaxCharge", comment = "Energy Capacity for Lapotronic Orb") + public static int lapotronicOrbMaxCharge = 100_000_000; @Config(config = "items", category = "power", key = "cloakingDeviceCharge", comment = "Energy Capacity for Clocking Device (FE)") public static int cloakingDeviceCharge = 40_000_000; @@ -309,22 +309,13 @@ public class TechRebornConfig { @Config(config = "machines", category = "grinder", key = "GrinderMaxEnergy", comment = "Grinder Max Energy (Value in EU)") public static int grinderMaxEnergy = 1_000; - @Config(config = "machines", category = "lesu", key = "LesuMaxOutput", comment = "LESU Base Output (Value in EU)") - public static int lesuBaseOutput = 16; - - @Config(config = "machines", category = "lesu", key = "LesuMaxEnergyPerBlock", comment = "LESU Max Energy Per Block (Value in EU)") + @Config(config = "machines", category = "lesu", key = "LesuMaxEnergyPerBlock", comment = "LESU Max Energy Per Block") public static int lesuStoragePerBlock = 1_000_000; @Config(config = "machines", category = "lesu", key = "LesuExtraIO", comment = "LESU Extra I/O Multiplier") public static int lesuExtraIOPerBlock = 8; - @Config(config = "machines", category = "aesu", key = "AesuMaxInput", comment = "AESU Max Input (Value in EU)") - public static int aesuMaxInput = 16192; - - @Config(config = "machines", category = "aesu", key = "AesuMaxOutput", comment = "AESU Max Output (Value in EU)") - public static int aesuMaxOutput = 16192; - - @Config(config = "machines", category = "aesu", key = "AesuMaxEnergy", comment = "AESU Max Energy (Value in EU)") + @Config(config = "machines", category = "aesu", key = "AesuMaxEnergy", comment = "AESU Max Energy") public static int aesuMaxEnergy = 100_000_000; @Config(config = "machines", category = "player_detector", key = "PlayerDetectorMaxInput", comment = "Player Detector Max Input (Value in EU)") @@ -495,14 +486,8 @@ public class TechRebornConfig { @Config(config = "machines", category = "chemical_reactor", key = "ChemicalReactorMaxEnergy", comment = "Chemical Reactor Max Energy (Value in EU)") public static int chemicalReactorMaxEnergy = 10_000; - @Config(config = "machines", category = "idsu", key = "IdsuMaxInput", comment = "IDSU Max Input (Value in EU)") - public static int idsuMaxInput = 8192; - - @Config(config = "machines", category = "idsu", key = "IdsuMaxOutput", comment = "IDSU Max Output (Value in EU)") - public static int idsuMaxOutput = 8192; - - @Config(config = "machines", category = "idsu", key = "IdsuMaxEnergy", comment = "IDSU Max Energy (Value in EU)") - public static int idsuMaxEnergy = 100_000_000; + @Config(config = "machines", category = "idsu", key = "IdsuMaxEnergy", comment = "IDSU Max Energy") + public static int idsuMaxEnergy = 1_000_000_000; @Config(config = "machines", category = "fusion_reactor", key = "FusionReactorMaxInput", comment = "Fusion Reactor Max Input (Value in EU)") public static int fusionControlComputerMaxInput = 8192; diff --git a/src/main/java/techreborn/events/ModRegistry.java b/src/main/java/techreborn/events/ModRegistry.java index fb72d6622..0edacb160 100644 --- a/src/main/java/techreborn/events/ModRegistry.java +++ b/src/main/java/techreborn/events/ModRegistry.java @@ -166,11 +166,11 @@ public class ModRegistry { // Battery RebornRegistry.registerItem(TRContent.RED_CELL_BATTERY = InitUtils.setup(new BatteryItem(TechRebornConfig.redCellBatteryMaxCharge, EnergyTier.LOW), "red_cell_battery")); - RebornRegistry.registerItem(TRContent.LITHIUM_ION_BATTERY = InitUtils.setup(new BatteryItem(TechRebornConfig.lithiumIonBatteryMaxCharge, EnergyTier.HIGH), "lithium_ion_battery")); + RebornRegistry.registerItem(TRContent.LITHIUM_ION_BATTERY = InitUtils.setup(new BatteryItem(TechRebornConfig.lithiumIonBatteryMaxCharge, EnergyTier.MEDIUM), "lithium_ion_battery")); RebornRegistry.registerItem(TRContent.LITHIUM_ION_BATPACK = InitUtils.setup(new BatpackItem(TechRebornConfig.lithiumBatpackCharge, TRArmorMaterials.LITHIUM_BATPACK, EnergyTier.MEDIUM), "lithium_ion_batpack")); RebornRegistry.registerItem(TRContent.ENERGY_CRYSTAL = InitUtils.setup(new BatteryItem(TechRebornConfig.energyCrystalMaxCharge, EnergyTier.HIGH), "energy_crystal")); RebornRegistry.registerItem(TRContent.LAPOTRON_CRYSTAL = InitUtils.setup(new BatteryItem(TechRebornConfig.lapotronCrystalMaxCharge, EnergyTier.EXTREME), "lapotron_crystal")); - RebornRegistry.registerItem(TRContent.LAPOTRONIC_ORB = InitUtils.setup(new BatteryItem(TechRebornConfig.lapotronicOrbMaxCharge, EnergyTier.EXTREME), "lapotronic_orb")); + RebornRegistry.registerItem(TRContent.LAPOTRONIC_ORB = InitUtils.setup(new BatteryItem(TechRebornConfig.lapotronicOrbMaxCharge, EnergyTier.INSANE), "lapotronic_orb")); RebornRegistry.registerItem(TRContent.LAPOTRONIC_ORBPACK = InitUtils.setup(new BatpackItem(TechRebornConfig.lapotronPackCharge, TRArmorMaterials.LAPOTRONIC_ORBPACK, EnergyTier.INSANE), "lapotronic_orbpack")); // Tools diff --git a/src/main/java/techreborn/items/BatteryItem.java b/src/main/java/techreborn/items/BatteryItem.java index f7d5a3937..897647161 100644 --- a/src/main/java/techreborn/items/BatteryItem.java +++ b/src/main/java/techreborn/items/BatteryItem.java @@ -56,21 +56,6 @@ public class BatteryItem extends Item implements EnergyHolder, ItemDurabilityExt } // Item - @Override - public double getDurability(ItemStack stack) { - return 1 - ItemUtils.getPowerForDurabilityBar(stack); - } - - @Override - public boolean showDurability(ItemStack stack) { - return true; - } - - @Override - public int getDurabilityColor(ItemStack stack) { - return PowerSystem.getDisplayPower().colour; - } - @Override public void appendStacks(ItemGroup group, DefaultedList stacks) { if (!isIn(group)) { @@ -89,4 +74,20 @@ public class BatteryItem extends Item implements EnergyHolder, ItemDurabilityExt public EnergyTier getTier() { return tier; } + + // ItemDurabilityExtensions + @Override + public double getDurability(ItemStack stack) { + return 1 - ItemUtils.getPowerForDurabilityBar(stack); + } + + @Override + public boolean showDurability(ItemStack stack) { + return true; + } + + @Override + public int getDurabilityColor(ItemStack stack) { + return PowerSystem.getDisplayPower().colour; + } }