From 49bfc216e67a0c5c8d8e02ec993623e6e1d6a4ce Mon Sep 17 00:00:00 2001 From: Boblet Date: Wed, 3 Jul 2024 16:10:45 +0200 Subject: [PATCH] shit nobody asked for --- changelog | 13 ++++++-- src/main/java/com/hbm/blocks/ModBlocks.java | 3 -- .../hbm/blocks/machine/rbmk/RBMKHeatex.java | 18 ----------- .../hbm/entity/item/EntityDeliveryDrone.java | 1 - .../com/hbm/inventory/OreDictManager.java | 5 ++++ .../java/com/hbm/inventory/material/Mats.java | 2 ++ .../inventory/recipes/CrucibleRecipes.java | 4 +++ .../inventory/recipes/SolderingRecipes.java | 28 ++++++++++++++++-- src/main/java/com/hbm/items/ModItems.java | 3 ++ .../com/hbm/items/machine/ItemCircuit.java | 8 +++++ .../hbm/items/special/ItemBedrockOreNew.java | 2 +- .../java/com/hbm/main/CraftingManager.java | 5 +++- src/main/java/com/hbm/main/MainRegistry.java | 1 + .../java/com/hbm/main/ModEventHandler.java | 3 -- .../TileEntityMachineArcFurnaceLarge.java | 1 + .../machine/rbmk/TileEntityRBMKBoiler.java | 1 - .../machine/rbmk/TileEntityRBMKControl.java | 1 - .../machine/rbmk/TileEntityRBMKCooler.java | 1 - .../machine/rbmk/TileEntityRBMKHeater.java | 1 - .../machine/rbmk/TileEntityRBMKOutgasser.java | 1 - .../network/TileEntityDroneWaypoint.java | 1 - .../turret/TileEntityTurretBaseArtillery.java | 1 - .../turret/TileEntityTurretBaseNT.java | 1 - src/main/resources/assets/hbm/lang/de_DE.lang | 8 +++++ src/main/resources/assets/hbm/lang/en_US.lang | 7 +++++ .../textures/items/circuit.atomic_clock.png | Bin 0 -> 332 bytes .../textures/items/circuit.chip_quantum.png | Bin 0 -> 311 bytes .../items/circuit.controller_quantum.png | Bin 0 -> 385 bytes .../assets/hbm/textures/items/circuit.png | Bin 9437 -> 10397 bytes .../hbm/textures/items/circuit.quantum.png | Bin 0 -> 358 bytes .../assets/hbm/textures/items/ingot_bscco.png | Bin 0 -> 286 bytes .../textures/items/stick_dynamite_nuclear.png | Bin 262 -> 0 bytes 32 files changed, 80 insertions(+), 40 deletions(-) delete mode 100644 src/main/java/com/hbm/blocks/machine/rbmk/RBMKHeatex.java create mode 100644 src/main/resources/assets/hbm/textures/items/circuit.atomic_clock.png create mode 100644 src/main/resources/assets/hbm/textures/items/circuit.chip_quantum.png create mode 100644 src/main/resources/assets/hbm/textures/items/circuit.controller_quantum.png create mode 100644 src/main/resources/assets/hbm/textures/items/circuit.quantum.png create mode 100644 src/main/resources/assets/hbm/textures/items/ingot_bscco.png delete mode 100644 src/main/resources/assets/hbm/textures/items/stick_dynamite_nuclear.png diff --git a/changelog b/changelog index f13cab2b3..85304b280 100644 --- a/changelog +++ b/changelog @@ -8,9 +8,16 @@ * An inline conveyor machine similar to the splitter, receives items from conveyors (but not from ejectors directly) and outputs them on its built-in conveyor belt ## Changed -* The mandatory washing step for bedrock ore byproducts now needs 4 items for sulfuric, 12 for dissolved and 24 for cleaned byproducts (isntead of just one) +* Updated russian localization +* The mandatory washing step for bedrock ore byproducts now needs 4 items for sulfuric, 12 for dissolved and 24 for cleaned byproducts (instead of just one) * This should offset the exponentially increasing amount of byproduct created from processing bedrock ore which ends up being far greater than the primary product +* The sound extension is now configurable, and the amount of sound channels reserved is now 200 by default instead of 1000, this should fix an issue where OC's sound would not work +* Logistics drones are now crafted with standard transport drones and not express ones, making them substantially cheaper +* Added strontium to the rare earth bedrock ore chain ## Fixed -* Added a write lock o cellular dungeons while generating, fixing a crash caused by dungeons that generate next to each other due to cascading worldgen -* Added recipe caching to the arc furnace, fixing an issue where recipe detection and item IO are horribly inefficient \ No newline at end of file +* Added a write lock on cellular dungeons while generating, fixing a crash caused by dungeons that generate next to each other due to cascading worldgen +* Added recipe caching to the arc furnace, fixing an issue where recipe detection and item IO are horribly inefficient +* Fixed arc furnace state not properly saving after performing a recipe +* Fixed crash regarding OC compat +* Fixed a rare crash with the anvil GUI \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index f6c40d03f..011319519 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -1099,7 +1099,6 @@ public class ModBlocks { public static Block rbmk_loader; public static Block rbmk_steam_inlet; public static Block rbmk_steam_outlet; - public static Block rbmk_heatex; public static Block pribris; public static Block pribris_burning; public static Block pribris_radiating; @@ -2128,7 +2127,6 @@ public class ModBlocks { rbmk_loader = new RBMKLoader(Material.iron).setBlockName("rbmk_loader").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":rbmk_loader"); rbmk_steam_inlet = new RBMKInlet(Material.iron).setBlockName("rbmk_steam_inlet").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":rbmk_steam_inlet"); rbmk_steam_outlet = new RBMKOutlet(Material.iron).setBlockName("rbmk_steam_outlet").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":rbmk_steam_outlet"); - rbmk_heatex = new RBMKHeatex(Material.iron).setBlockName("rbmk_heatex").setCreativeTab(null).setHardness(50.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":rbmk_heatex"); pribris = new RBMKDebris().setBlockName("pribris").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_debris"); pribris_burning = new RBMKDebrisBurning().setBlockName("pribris_burning").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_debris_burning"); pribris_radiating = new RBMKDebrisRadiating().setBlockName("pribris_radiating").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_debris_radiating"); @@ -3113,7 +3111,6 @@ public class ModBlocks { register(rbmk_loader); register(rbmk_steam_inlet); register(rbmk_steam_outlet); - GameRegistry.registerBlock(rbmk_heatex, rbmk_heatex.getUnlocalizedName()); GameRegistry.registerBlock(pribris, pribris.getUnlocalizedName()); GameRegistry.registerBlock(pribris_burning, pribris_burning.getUnlocalizedName()); GameRegistry.registerBlock(pribris_radiating, pribris_radiating.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKHeatex.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKHeatex.java deleted file mode 100644 index af1e1eaee..000000000 --- a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKHeatex.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.hbm.blocks.machine.rbmk; - -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -public class RBMKHeatex extends BlockContainer { - - public RBMKHeatex(Material mat) { - super(mat); - } - - @Override - public TileEntity createNewTileEntity(World world, int meta) { - return null; - } -} diff --git a/src/main/java/com/hbm/entity/item/EntityDeliveryDrone.java b/src/main/java/com/hbm/entity/item/EntityDeliveryDrone.java index a62b02d64..4e215b4ed 100644 --- a/src/main/java/com/hbm/entity/item/EntityDeliveryDrone.java +++ b/src/main/java/com/hbm/entity/item/EntityDeliveryDrone.java @@ -5,7 +5,6 @@ import com.hbm.inventory.FluidStack; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.items.ModItems; -import com.hbm.items.tool.ItemDrone; import com.hbm.main.MainRegistry; import net.minecraft.entity.Entity; diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index 754af9bd5..e7cb21db8 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -168,6 +168,8 @@ public class OreDictManager { public static final DictFrame BBRONZE = new DictFrame("BismuthBronze"); /** ARSENIC BRONZE */ public static final DictFrame ABRONZE = new DictFrame("ArsenicBronze"); + /** BISMUTH STRONTIUM CALCIUM COPPER OXIDE */ + public static final DictFrame BSCCO = new DictFrame("BSCCO"); /** LEAD */ public static final DictFrame PB = new DictFrame("Lead"); public static final DictFrame BI = new DictFrame("Bismuth"); @@ -281,6 +283,7 @@ public class OreDictManager { /* * FISSION FRAGMENTS */ + public static final DictFrame SR = new DictFrame("Strontium"); public static final DictFrame SR90 = new DictFrame("Strontium90", "Sr90"); public static final DictFrame I131 = new DictFrame("Iodine131", "I131"); public static final DictFrame XE135 = new DictFrame("Xenon135", "Xe135"); @@ -376,6 +379,7 @@ public class OreDictManager { CDALLOY .ingot(ingot_cdalloy) .block(block_cdalloy); BBRONZE .ingot(ingot_bismuth_bronze); ABRONZE .ingot(ingot_arsenic_bronze); + BSCCO .ingot(ingot_bscco); PB .nugget(nugget_lead) .ingot(ingot_lead) .dust(powder_lead) .plate(plate_lead) .block(block_lead) .ore(ore_lead); BI .nugget(nugget_bismuth) .billet(billet_bismuth) .ingot(ingot_bismuth) .dust(powder_bismuth) .block(block_bismuth); AS .nugget(nugget_arsenic) .ingot(ingot_arsenic); @@ -474,6 +478,7 @@ public class OreDictManager { /* * FISSION FRAGMENTS */ + SR .hot(1F) .hydro(1F) .dust(powder_strontium); SR90 .rad(HazardRegistry.sr90) .hot(1F) .hydro(1F) .dustSmall(powder_sr90_tiny) .dust(powder_sr90) .ingot(ingot_sr90) .billet(billet_sr90) .nugget(nugget_sr90); I131 .rad(HazardRegistry.i131) .hot(1F) .dustSmall(powder_i131_tiny) .dust(powder_i131); XE135 .rad(HazardRegistry.xe135) .hot(10F) .dustSmall(powder_xe135_tiny) .dust(powder_xe135); diff --git a/src/main/java/com/hbm/inventory/material/Mats.java b/src/main/java/com/hbm/inventory/material/Mats.java index 60740f7df..357f238ea 100644 --- a/src/main/java/com/hbm/inventory/material/Mats.java +++ b/src/main/java/com/hbm/inventory/material/Mats.java @@ -111,6 +111,7 @@ public class Mats { public static final NTMMaterial MAT_BORON = makeSmeltable(500, B, 0xBDC8D2, 0x29343E, 0xAD72AE).setShapes(DUSTTINY, INGOT, DUST, BLOCK).m(); public static final NTMMaterial MAT_ZIRCONIUM = makeSmeltable(4000, ZR, 0xE3DCBE, 0x3E3719, 0xADA688).setShapes(NUGGET, WIRE, DUSTTINY, BILLET, INGOT, DUST, CASTPLATE, WELDEDPLATE, BLOCK).m(); public static final NTMMaterial MAT_SODIUM = makeSmeltable(1100, NA, 0xD3BF9E, 0x3A5A6B, 0x7E9493).setShapes(DUST).m(); + public static final NTMMaterial MAT_STRONTIUM = makeSmeltable(3800, SR, 0xF1E8BA, 0x271E00, 0xCAC193).setShapes(DUST).m(); public static final NTMMaterial MAT_CALCIUM = makeSmeltable(2000, CA, 0xCFCFA6, 0x747F6E, 0xB7B784).setShapes(INGOT, DUST).m(); public static final NTMMaterial MAT_LITHIUM = makeSmeltable(300, LI, 0xFFFFFF, 0x818181, 0xD6D6D6).setShapes(INGOT, DUST, BLOCK).m(); public static final NTMMaterial MAT_CADMIUM = makeSmeltable(4800, CD, 0xFFFADE, 0x350000, 0xA85600).setShapes(INGOT, DUST).m(); @@ -130,6 +131,7 @@ public class Mats { public static final NTMMaterial MAT_CDALLOY = makeSmeltable(_AS + 13, CDALLOY, 0xF7DF8F, 0x604308, 0xFBD368).setShapes(INGOT, CASTPLATE, WELDEDPLATE, HEAVY_COMPONENT).m(); public static final NTMMaterial MAT_BBRONZE = makeSmeltable(_AS + 16, BBRONZE, 0xE19A69, 0x485353, 0x987D65).setShapes(INGOT, CASTPLATE).m(); public static final NTMMaterial MAT_ABRONZE = makeSmeltable(_AS + 17, ABRONZE, 0xDB9462, 0x203331, 0x77644D).setShapes(INGOT, CASTPLATE).m(); + public static final NTMMaterial MAT_BSCCO = makeSmeltable(_AS + 18, BSCCO, 0x767BF1, 0x000000, 0x5E62C0).setShapes(INGOT, DENSEWIRE).m(); public static final NTMMaterial MAT_MAGTUNG = makeSmeltable(_AS + 8, MAGTUNG, 0x22A2A2, 0x0F0F0F, 0x22A2A2).setShapes(WIRE, INGOT, DUST, DENSEWIRE, BLOCK).m(); public static final NTMMaterial MAT_CMB = makeSmeltable(_AS + 9, CMB, 0x6F6FB4, 0x000011, 0x6F6FB4).setShapes(INGOT, DUST, PLATE, CASTPLATE, WELDEDPLATE, BLOCK).m(); public static final NTMMaterial MAT_DNT = makeSmeltable(_AS + 15, DNT, 0x7582B9, 0x16000E, 0x455289).setShapes(INGOT, DUST, DENSEWIRE, BLOCK).m(); diff --git a/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java b/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java index 354d26770..8f7c5e107 100644 --- a/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java @@ -112,6 +112,10 @@ public class CrucibleRecipes extends SerializableRecipe { .inputs(new MaterialStack(Mats.MAT_TUNGSTEN, i), new MaterialStack(Mats.MAT_SCHRABIDIUM, n * 1)) .outputs(new MaterialStack(Mats.MAT_MAGTUNG, i))); + recipes.add(new CrucibleRecipe(17, "crucible.bscco", 3, new ItemStack(ModItems.ingot_bscco)) + .inputs(new MaterialStack(Mats.MAT_BISMUTH, n * 2), new MaterialStack(Mats.MAT_STRONTIUM, n * 2), new MaterialStack(Mats.MAT_CALCIUM, n * 2), new MaterialStack(Mats.MAT_COPPER, n * 3)) + .outputs(new MaterialStack(Mats.MAT_BSCCO, i))); + registerMoldsForNEI(); } diff --git a/src/main/java/com/hbm/inventory/recipes/SolderingRecipes.java b/src/main/java/com/hbm/inventory/recipes/SolderingRecipes.java index a8a2ee289..863c24812 100644 --- a/src/main/java/com/hbm/inventory/recipes/SolderingRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/SolderingRecipes.java @@ -91,6 +91,19 @@ public class SolderingRecipes extends SerializableRecipe { new OreDictStack(PB.wireFine(), 12)} )); + recipes.add(new SolderingRecipe(new ItemStack(ModItems.circuit, 1, EnumCircuitType.QUANTUM.ordinal()), 400, 100_000, + new FluidStack(Fluids.RADIOSOLVENT, 1_000), + new AStack[] { + new ComparableStack(ModItems.circuit, 4, EnumCircuitType.CHIP_QUANTUM), + new ComparableStack(ModItems.circuit, lbsm ? 4 : 16, EnumCircuitType.CHIP_BISMOID), + new ComparableStack(ModItems.circuit, lbsm ? 1 : 4, EnumCircuitType.ATOMIC_CLOCK)}, + new AStack[] { + new ComparableStack(ModItems.circuit, 16, EnumCircuitType.PCB), + new OreDictStack(ANY_HARDPLASTIC.ingot(), 4)}, + new AStack[] { + new OreDictStack(PB.wireFine(), 16)} + )); + /* * COMPUTERS */ @@ -110,14 +123,25 @@ public class SolderingRecipes extends SerializableRecipe { recipes.add(new SolderingRecipe(new ItemStack(ModItems.circuit, 1, EnumCircuitType.CONTROLLER_ADVANCED.ordinal()), 600, 25_000, new AStack[] { new ComparableStack(ModItems.circuit, lbsm ? 8 : 16, EnumCircuitType.CHIP_BISMOID), - new ComparableStack(ModItems.circuit, lbsm ? 16 : 48, EnumCircuitType.CAPACITOR), - new ComparableStack(ModItems.circuit, lbsm ? 8 : 32, EnumCircuitType.CAPACITOR_TANTALIUM)}, + new ComparableStack(ModItems.circuit, lbsm ? 16 : 48, EnumCircuitType.CAPACITOR_TANTALIUM), + new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ATOMIC_CLOCK)}, new AStack[] { new ComparableStack(ModItems.circuit, 1, EnumCircuitType.CONTROLLER_CHASSIS), new ComparableStack(ModItems.upgrade_speed_3)}, new AStack[] { new OreDictStack(PB.wireFine(), 24)} )); + recipes.add(new SolderingRecipe(new ItemStack(ModItems.circuit, 1, EnumCircuitType.CONTROLLER_QUANTUM.ordinal()), 600, 250_000, + new AStack[] { + new ComparableStack(ModItems.circuit, lbsm ? 8 : 16, EnumCircuitType.CHIP_QUANTUM), + new ComparableStack(ModItems.circuit, lbsm ? 16 : 48, EnumCircuitType.CHIP_BISMOID), + new ComparableStack(ModItems.circuit, lbsm ? 1 : 8, EnumCircuitType.ATOMIC_CLOCK)}, + new AStack[] { + new ComparableStack(ModItems.circuit, 2, EnumCircuitType.CONTROLLER_ADVANCED), + new ComparableStack(ModItems.upgrade_overdrive_1)}, + new AStack[] { + new OreDictStack(PB.wireFine(), 32)} + )); /* * UPGRADES diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 5abec7129..a2a3f62d3 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -148,6 +148,7 @@ public class ModItems { public static Item ingot_cdalloy; public static Item ingot_bismuth_bronze; public static Item ingot_arsenic_bronze; + public static Item ingot_bscco; public static Item lithium; public static Item ingot_zirconium; public static Item ingot_hes; @@ -2568,6 +2569,7 @@ public class ModItems { ingot_cdalloy = new Item().setUnlocalizedName("ingot_cdalloy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_cdalloy"); ingot_bismuth_bronze = new Item().setUnlocalizedName("ingot_bismuth_bronze").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_bismuth_bronze"); ingot_arsenic_bronze = new Item().setUnlocalizedName("ingot_arsenic_bronze").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_arsenic_bronze"); + ingot_bscco = new Item().setUnlocalizedName("ingot_bscco").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_bscco"); niter = new Item().setUnlocalizedName("niter").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":salpeter"); ingot_copper = new Item().setUnlocalizedName("ingot_copper").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_copper"); @@ -5663,6 +5665,7 @@ public class ModItems { GameRegistry.registerItem(ingot_cdalloy, ingot_cdalloy.getUnlocalizedName()); GameRegistry.registerItem(ingot_bismuth_bronze, ingot_bismuth_bronze.getUnlocalizedName()); GameRegistry.registerItem(ingot_arsenic_bronze, ingot_arsenic_bronze.getUnlocalizedName()); + GameRegistry.registerItem(ingot_bscco, ingot_bscco.getUnlocalizedName()); GameRegistry.registerItem(ingot_lead, ingot_lead.getUnlocalizedName()); GameRegistry.registerItem(ingot_bismuth, ingot_bismuth.getUnlocalizedName()); GameRegistry.registerItem(ingot_arsenic, ingot_arsenic.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/machine/ItemCircuit.java b/src/main/java/com/hbm/items/machine/ItemCircuit.java index 845ff4b81..948686b39 100644 --- a/src/main/java/com/hbm/items/machine/ItemCircuit.java +++ b/src/main/java/com/hbm/items/machine/ItemCircuit.java @@ -23,18 +23,22 @@ public class ItemCircuit extends ItemEnumMulti { list.add(new ItemStack(item, 1, EnumCircuitType.VACUUM_TUBE.ordinal())); list.add(new ItemStack(item, 1, EnumCircuitType.CAPACITOR.ordinal())); list.add(new ItemStack(item, 1, EnumCircuitType.CAPACITOR_TANTALIUM.ordinal())); + list.add(new ItemStack(item, 1, EnumCircuitType.ATOMIC_CLOCK.ordinal())); list.add(new ItemStack(item, 1, EnumCircuitType.PCB.ordinal())); list.add(new ItemStack(item, 1, EnumCircuitType.SILICON.ordinal())); list.add(new ItemStack(item, 1, EnumCircuitType.CHIP.ordinal())); list.add(new ItemStack(item, 1, EnumCircuitType.CHIP_BISMOID.ordinal())); + list.add(new ItemStack(item, 1, EnumCircuitType.CHIP_QUANTUM.ordinal())); list.add(new ItemStack(item, 1, EnumCircuitType.ANALOG.ordinal())); list.add(new ItemStack(item, 1, EnumCircuitType.BASIC.ordinal())); list.add(new ItemStack(item, 1, EnumCircuitType.ADVANCED.ordinal())); list.add(new ItemStack(item, 1, EnumCircuitType.CAPACITOR_BOARD.ordinal())); list.add(new ItemStack(item, 1, EnumCircuitType.BISMOID.ordinal())); + list.add(new ItemStack(item, 1, EnumCircuitType.QUANTUM.ordinal())); list.add(new ItemStack(item, 1, EnumCircuitType.CONTROLLER_CHASSIS.ordinal())); list.add(new ItemStack(item, 1, EnumCircuitType.CONTROLLER.ordinal())); list.add(new ItemStack(item, 1, EnumCircuitType.CONTROLLER_ADVANCED.ordinal())); + list.add(new ItemStack(item, 1, EnumCircuitType.CONTROLLER_QUANTUM.ordinal())); } public static enum EnumCircuitType { @@ -53,6 +57,10 @@ public class ItemCircuit extends ItemEnumMulti { CONTROLLER_CHASSIS, CONTROLLER, CONTROLLER_ADVANCED, + QUANTUM, + CHIP_QUANTUM, + CONTROLLER_QUANTUM, + ATOMIC_CLOCK, } @Override diff --git a/src/main/java/com/hbm/items/special/ItemBedrockOreNew.java b/src/main/java/com/hbm/items/special/ItemBedrockOreNew.java index ec26b1d4e..c69ef00c2 100644 --- a/src/main/java/com/hbm/items/special/ItemBedrockOreNew.java +++ b/src/main/java/com/hbm/items/special/ItemBedrockOreNew.java @@ -120,7 +120,7 @@ public class ItemBedrockOreNew extends Item { // primary sulfuric solvent radsolvent LIGHT_METAL( 0xFFFFFF, 0x353535, "light", IRON, CU, TI, AL, AL, CHLOROCALCITE, LI, NA, CHLOROCALCITE, LI, NA), HEAVY_METAL( 0x868686, 0x000000, "heavy", W, PB, GOLD, GOLD, BE, W, PB, GOLD, BI, BI, GOLD), - RARE_EARTH( 0xE6E6B6, 0x1C1C00, "rare", CO, EnumChunkType.RARE, B, LA, NB, ND, B, ZR, CO, ND, ZR), + RARE_EARTH( 0xE6E6B6, 0x1C1C00, "rare", CO, EnumChunkType.RARE, B, LA, NB, ND, SR, ZR, CO, ND, SR), ACTINIDE( 0xC1C7BD, 0x2B3227, "actinide", U, TH232, RA226, RA226, PO210, RA226, RA226, PO210, TC99, TC99, U238), NON_METAL( 0xAFAFAF, 0x0F0F0F, "nonmetal", COAL, S, LIGNITE, KNO, F, P_RED, F, S, CHLOROCALCITE, SI, SI), CRYSTALLINE( 0xE2FFFA, 0x1E8A77, "crystal", DIAMOND, SODALITE, CINNABAR, ASBESTOS, REDSTONE, CINNABAR, ASBESTOS, EMERALD, BORAX, MOLYSITE, SODALITE); diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 10894584b..12a16a31d 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -124,7 +124,10 @@ public class CraftingManager { addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP), new Object[] { "I", "S", "W", 'I', ModItems.plate_polymer, 'S', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.SILICON), 'W', GOLD.wireFine() }); addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP_BISMOID), new Object[] { "III", "SNS", "WWW", 'I', ModItems.plate_polymer, 'S', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.SILICON), 'N', ANY_BISMOID.nugget(), 'W', CU.wireFine() }); addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP_BISMOID), new Object[] { "III", "SNS", "WWW", 'I', ModItems.plate_polymer, 'S', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.SILICON), 'N', ANY_BISMOID.nugget(), 'W', GOLD.wireFine() }); + addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP_QUANTUM), new Object[] { "HHH", "SIS", "WWW", 'H', ANY_HARDPLASTIC.ingot(), 'S', BSCCO.wireDense(), 'I', ModItems.pellet_charged, 'W', CU.wireFine() }); + addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP_QUANTUM), new Object[] { "HHH", "SIS", "WWW", 'H', ANY_HARDPLASTIC.ingot(), 'S', BSCCO.wireDense(), 'I', ModItems.pellet_charged, 'W', GOLD.wireFine() }); addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CONTROLLER_CHASSIS), new Object[] { "PPP", "CBB", "PPP", 'P', ANY_PLASTIC.ingot(), 'C', ModItems.crt_display, 'B', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.PCB) }); + addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ATOMIC_CLOCK), new Object[] { "ICI", "CSC", "ICI", 'I', ModItems.plate_polymer, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP), 'S', SR.dust() }); addRecipeAuto(new ItemStack(ModItems.crt_display, 4), new Object[] { " A ", "SGS", " T ", 'A', AL.dust(), 'S', STEEL.plate(), 'G', KEY_ANYPANE, 'T', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.VACUUM_TUBE) }); @@ -993,7 +996,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL_EXPRESS_CHUNKLOADING.ordinal()), new Object[] { " P ", "KDK", " P ", 'P', TI.plateWelded(), 'K', Fluids.KEROSENE.getDict(1_000), 'D', new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL_CHUNKLOADING.ordinal()) }); addShapelessAuto(new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL.ordinal()), new Object[] { new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL_CHUNKLOADING.ordinal()) }); addShapelessAuto(new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL_EXPRESS.ordinal()), new Object[] { new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL_EXPRESS_CHUNKLOADING.ordinal()) }); - addRecipeAuto(new ItemStack(ModItems.drone, 1, EnumDroneType.REQUEST.ordinal()), new Object[] { "E", "D", 'E', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP), 'D', new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL_EXPRESS.ordinal()) }); + addRecipeAuto(new ItemStack(ModItems.drone, 1, EnumDroneType.REQUEST.ordinal()), new Object[] { "E", "D", 'E', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP), 'D', new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL.ordinal()) }); addRecipeAuto(new ItemStack(ModItems.drone_linker), new Object[] { "T", "C", 'T', ModBlocks.drone_waypoint, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC) }); addRecipeAuto(new ItemStack(ModBlocks.drone_waypoint, 4), new Object[] { "G", "T", "C", 'G', KEY_GREEN, 'T', Blocks.redstone_torch, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC) }); diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index dbff08739..b5dfa1227 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -1341,6 +1341,7 @@ public class MainRegistry { ignoreMappings.add("hbm:tile.ore_verticium"); ignoreMappings.add("hbm:item.warhead_mirvlet"); ignoreMappings.add("hbm:item.generator_front"); + ignoreMappings.add("hbm:tile.rbmk_heatex"); /// REMAP /// remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses); diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index f3a2293ad..4f0d2f55b 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -51,8 +51,6 @@ import com.hbm.items.armor.ItemArmorMod; import com.hbm.items.armor.ItemModRevive; import com.hbm.items.armor.ItemModShackles; import com.hbm.items.food.ItemConserve.EnumFoodType; -import com.hbm.items.special.ItemBedrockOreBase; -import com.hbm.items.special.ItemBedrockOreNew.BedrockOreType; import com.hbm.items.tool.ItemGuideBook.BookType; import com.hbm.items.weapon.ItemGunBase; import com.hbm.lib.HbmCollection; @@ -123,7 +121,6 @@ import net.minecraft.util.EntityDamageSource; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.FoodStats; import net.minecraft.util.MathHelper; -import net.minecraft.util.StatCollector; import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.FakePlayer; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnaceLarge.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnaceLarge.java index 15a73a357..abd5b4ec2 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnaceLarge.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnaceLarge.java @@ -132,6 +132,7 @@ public class TileEntityMachineArcFurnaceLarge extends TileEntityMachineBase impl if(this.progress >= 1F) { this.process(); this.progress = 0; + this.markDirty(); this.delay = (int) (120 / (upgrade * 0.5 + 1)); PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, 10F); } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java index ae3ad26ce..2bff133d6 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java @@ -33,7 +33,6 @@ import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.Vec3; import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java index 39ff54514..4b3f79c15 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java @@ -11,7 +11,6 @@ import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.MathHelper; -import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) public abstract class TileEntityRBMKControl extends TileEntityRBMKSlottedBase implements SimpleComponent, CompatHandler.OCComponent { diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKCooler.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKCooler.java index f7cba8826..5a7550a2f 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKCooler.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKCooler.java @@ -17,7 +17,6 @@ import net.minecraft.entity.Entity; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; -import net.minecraftforge.common.util.ForgeDirection; import java.util.List; diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java index 302090773..45c1fa47c 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java @@ -29,7 +29,6 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java index d3a6c04f0..81c74e75d 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java @@ -27,7 +27,6 @@ import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) public class TileEntityRBMKOutgasser extends TileEntityRBMKSlottedBase implements IRBMKFluxReceiver, IFluidStandardSender, SimpleComponent, CompatHandler.OCComponent { diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityDroneWaypoint.java b/src/main/java/com/hbm/tileentity/network/TileEntityDroneWaypoint.java index 724f4be98..cb08c5bb8 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityDroneWaypoint.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityDroneWaypoint.java @@ -3,7 +3,6 @@ package com.hbm.tileentity.network; import java.util.List; import com.hbm.entity.item.EntityDeliveryDrone; -import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.util.ParticleUtil; import com.hbm.packet.BufPacket; import com.hbm.packet.PacketDispatcher; diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseArtillery.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseArtillery.java index 9d4152106..be61fcf98 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseArtillery.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseArtillery.java @@ -11,7 +11,6 @@ import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import net.minecraft.entity.Entity; -import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraftforge.common.util.ForgeDirection; diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java index bf2594776..bbb6783ee 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java @@ -54,7 +54,6 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.potion.Potion; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.FakePlayer; diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 775c3984b..ad9ad08bb 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -457,12 +457,14 @@ container.zirnox=ZIRNOX Atomreaktor crucible.aa=Herstellung - Fortgeschrittene Legierung crucible.abronze=Herstellung - Arsennronze crucible.bbronze=Herstellung - Bismutbronze +crucible.bscco=Herstellung - BSCCO crucible.cdalloy=Herstellung - Cadmiumstahl crucible.cmb=Herstellung - CMB-Stahl crucible.ferro=Herstellung - Ferrouran crucible.hematite=Herstellung - Eisen aus Hämatit crucible.hss=Herstellung - Schnellarbeitsstahl crucible.malachite=Herstellung - Kupfer aus Malachit +crucible.magtung=Herstellung - Magnetisierter Wolfram crucible.redcopper=Herstellung - Roter Kupfer crucible.steel=Herstellung - Stahl crucible.steelMeteoric=Herstellung - Stahl aus Meteoriteneisen @@ -809,6 +811,7 @@ hbmmat.bismuth=Bismut hbmmat.bismuthbronze=Bismutbronze hbmmat.borax=Borax hbmmat.boron=Bor +hbmmat.bscco=BSCCO hbmmat.cadmium=Cadmium hbmmat.calcium=Kalzium hbmmat.carbon=Kohlenstoff @@ -1563,6 +1566,7 @@ item.cigarette.name=FFI-Markenzigarette item.cinnebar.name=Zinnober item.circuit.advanced.name=Integrierter Schaltkreis, Militärstandard item.circuit.analog.name=Analoger Schaltkreis +item.circuit.atomic_clock.name=Atomuhr item.circuit.basic.name=Integrierter Schaltkreis item.circuit.bismoid.name=Vielfältiger Schaltkreis item.circuit.capacitor.name=Kondensator @@ -1570,10 +1574,13 @@ item.circuit.capacitor_board.name=Kondensatorboard item.circuit.capacitor_tantalium.name=Tantalkondensator item.circuit.chip.name=Mikrochip item.circuit.chip_bismoid.name=Vielfältiger integrierter Schaltkreis +item.circuit.chip_quantum.name=Festkörper-Quantenprozessor item.circuit.controller.name=Steuereinheit item.circuit.controller_advanced.name=Erweiterte Steuereinheit item.circuit.controller_chassis.name=Steuereinheitsgehäuse +item.circuit.controller_quantum.name=Quantencomputer item.circuit.pcb.name=Leiterplatte +item.circuit.quantum.name=Quantenprozessoreinheit item.circuit.silicon.name=Bedrucker Siliziumwafer item.circuit.vacuum_tube.name=Vakuumröhre item.circuit_aluminium.name=Einfacher Schaltkreis @@ -2214,6 +2221,7 @@ item.ingot_biorubber.name=Latextafel item.ingot_bismuth.name=Bismutbarren item.ingot_bismuth_bronze.name=Bismutbronzebarren item.ingot_boron.name=Borbarren +item.ingot_bscco.name=BSCCO-Barren item.ingot_c4.name=C4-Tafel item.ingot_cadmium.name=Cadmiumbarren item.ingot_calcium.name=Kalziumbarren diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 85264fe13..3eab84eeb 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -861,6 +861,7 @@ container.zirnox=ZIRNOX Nuclear Reactor crucible.aa=Advanced Alloy Production crucible.abronze=Arsenic Bronze Production crucible.bbronze=Bismuth Bronze Production +crucible.bscco=BSCCO Production crucible.cdalloy=Cadmium Steel Production crucible.cmb=CMB Steel Production crucible.ferro=Ferrouranium Production @@ -1518,6 +1519,7 @@ hbmmat.bismuth=Bismuth hbmmat.bismuthbronze=Bismuth Bronze hbmmat.borax=Borax hbmmat.boron=Boron +hbmmat.bscco=BSCCO hbmmat.cadmium=Cadmium hbmmat.calcium=Calcium hbmmat.carbon=Carbon @@ -2322,6 +2324,7 @@ item.cigarette.name=FFI-Brand Cigarette item.cinnebar.name=Cinnabar item.circuit.advanced.name=Military Grade Circuit Board item.circuit.analog.name=Analog Circuit Board +item.circuit.atomic_clock.name=Atomic Clock item.circuit.basic.name=Integrated Circuit Board item.circuit.bismoid.name=Versatile Circuit Board item.circuit.capacitor.name=Capacitor @@ -2329,10 +2332,13 @@ item.circuit.capacitor_board.name=Capacitor Board item.circuit.capacitor_tantalium.name=Tantalium Capacitor item.circuit.chip.name=Microchip item.circuit.chip_bismoid.name=Versatile Integrated Circuit +item.circuit.chip_quantum.name=Sold State Quantum Processor item.circuit.controller.name=Control Unit item.circuit.controller_advanced.name=Advanced Control Unit item.circuit.controller_chassis.name=Control Unit Casing +item.circuit.controller_quantum.name=Quantum Computer item.circuit.pcb.name=Printed Circuit Board +item.circuit.quantum.name=Quantum Processing Unit item.circuit.silicon.name=Printed Silicon Wafer item.circuit.vacuum_tube.name=Vacuum Tube item.circuit_aluminium.name=Basic Circuit @@ -3015,6 +3021,7 @@ item.ingot_biorubber.name=Latex Bar item.ingot_bismuth.name=Bismuth Ingot item.ingot_bismuth_bronze.name=Bismuth Bronze Ingot item.ingot_boron.name=Boron Ingot +item.ingot_bscco.name=BSCCO Ingot item.ingot_c4.name=Bar of Composition C-4 item.ingot_cadmium.name=Cadmium Ingot item.ingot_calcium.name=Calcium Ingot diff --git a/src/main/resources/assets/hbm/textures/items/circuit.atomic_clock.png b/src/main/resources/assets/hbm/textures/items/circuit.atomic_clock.png new file mode 100644 index 0000000000000000000000000000000000000000..c236d8641ba0683e9f84389890c2f826f40ab32c GIT binary patch literal 332 zcmV-S0ki&zP)qHfCM!Grhj`|;z!Ux%}`NYiwh_gR*$-tM+w-}g~Up_Ib+ z{e|GBgDc#&Eysrw0MGAF#Bq$)df{Yu6FviHIDVXnqG;8LB@l)oT5IAsrZfdyfD4p| z0x2b0YwEhT9N*2GAP4~Hx(+EN<)HwuVAplG1%_d;M4G1g-d$m1% literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/circuit.chip_quantum.png b/src/main/resources/assets/hbm/textures/items/circuit.chip_quantum.png new file mode 100644 index 0000000000000000000000000000000000000000..966d39065fca72a5e153c8ebcf871a134d1d57eb GIT binary patch literal 311 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf{qm$F79Wl#8e$NVTR{EhUuJ>K$9y|ZP*h42nfaujdZP{!5dF-`I-)pg2{n=K@ z{$S5#3#}lAdl@?6cg+|gXE7Pb#BAOZVYvIgoakGYr-xLkDo<&z)@=AHQ(4EGF)wO{ zOVwVb^B-c}=Q7OMdZ1jkw7k-JVmgCMp_7Pu#J1kl+w33WSR)lywQDVZ=^8laO~U|V|a|}#NH8gzNrt;dx5@ApMV*& zQ8Dz8SQ#RP-5tUOj$hWm($s zcx)x@_j^X8Q3t$UuTfQiRG=(NyH46{HcY3}4tTj-qN+IOh%u%DB4UHVpp_Ux;8v`z z>wKjcW3S&Fswzej#elI00K=8Ctzc3?7)wWwT)=zJ4Di4#wFAiDZPmU?jPdM#3`K!|XMQCa1U2fLjdi f(SWN@_>lbqEr+z{ENoS}00000NkvXXu0mjf2WzUW literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/circuit.png b/src/main/resources/assets/hbm/textures/items/circuit.png index de95e4f2411f1efd7cd7e5f72d45292068b185b2..a62713b28574c246a01b73c9eab85b21a9b27560 100644 GIT binary patch literal 10397 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 X#i7M1y7`3jN&rn&J(UV&tC0T(mpQ+| diff --git a/src/main/resources/assets/hbm/textures/items/circuit.quantum.png b/src/main/resources/assets/hbm/textures/items/circuit.quantum.png new file mode 100644 index 0000000000000000000000000000000000000000..c7656cf5305d9d3d741dab5375250b55660743df GIT binary patch literal 358 zcmV-s0h#`ZP)X#O{sN_wx;Z)vx+#=Sp@@i8 z7e8=tR;W&52G_iQ!eAV zE&z8IXN9hWM7*lT$ZAywV0&W`qyw#nj%7P(ZP^YVm+f@v>vrUzH13G4hE8t)3$xH0{5q)Y z9x(Jhw5J=ABaQ_WeIcuJ07;T!Ns{=VK@b#Xc6ZX_2bnRDp_hE*N&o-=07*qoM6N<$ Ef{o;qo&W#< literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/ingot_bscco.png b/src/main/resources/assets/hbm/textures/items/ingot_bscco.png new file mode 100644 index 0000000000000000000000000000000000000000..7cdcd4059504690a044c914c54e04215cb1d9e56 GIT binary patch literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf41MGKINJ@&>F+y835LH_O~-pBeQa z-$&XyGkN*-9ac>#`9a*dI&9Yu8MEf83pD#=F*4W)G32;h**;;;M~@Fao3xhp&OP;t zN$#ZpQ-jWW=W`FDR36<}#CSK~`h>CK>DLPP%AZeoJTt8^^2k9k-e2#wG+)c*))8ZI zS+Zu`gNum;x?5%nCvW)Csp4_l=&ApQ2T?0mPI_MKbAah+!p!!D+1ffv-lFHXtlQFf ikL{`b5v{-LY#CmypQR}NwM`M|K?YA(KbLh*2~7ZF6>(Ys literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/stick_dynamite_nuclear.png b/src/main/resources/assets/hbm/textures/items/stick_dynamite_nuclear.png deleted file mode 100644 index afafa853ba8129f756db5f107a5340cd7a37437e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf`AjY2kpn#?j`E(;YfeTRPwEY({qJwgZ<14y{$Tog@QuX@kS@} z()Qh)KE3t-=pT0AGbJyiP(9qD(+uV(j(_Hs1RC^g%(e