diff --git a/changelog b/changelog index e77ac647f..ff9332625 100644 --- a/changelog +++ b/changelog @@ -17,6 +17,7 @@ * The small arc furnace is being retired and is no longer craftable. However, it will still function, and it can use any type of electrode without depleting it * Wires now use the autogen system and are oredicted with the "wireFine" prefix (equivalent to GT fine wires, 1/8 of an ingot) * Removed the assembler recipes for wires +* Increased the maximum durability for all stamps ## Fixed * Fixed missing localization for meteorite ores and the new crucible materials diff --git a/src/main/java/com/hbm/crafting/MineralRecipes.java b/src/main/java/com/hbm/crafting/MineralRecipes.java index eab0811e6..26025c419 100644 --- a/src/main/java/com/hbm/crafting/MineralRecipes.java +++ b/src/main/java/com/hbm/crafting/MineralRecipes.java @@ -46,7 +46,6 @@ public class MineralRecipes { add1To9Pair(ModBlocks.block_schrabidate, ModItems.ingot_schrabidate); add1To9Pair(ModBlocks.block_coltan, ModItems.fragment_coltan); add1To9Pair(ModBlocks.block_smore, ModItems.ingot_smore); - add1To9Pair(ModBlocks.block_niobium, ModItems.ingot_niobium); add1To9Pair(ModBlocks.block_semtex, ModItems.ingot_semtex); add1To9Pair(ModBlocks.block_c4, ModItems.ingot_c4); add1To9Pair(ModBlocks.block_polymer, ModItems.ingot_polymer); @@ -60,6 +59,7 @@ public class MineralRecipes { add1To9PairSameMeta(Item.getItemFromBlock(ModBlocks.block_coke), ModItems.coke, i); } + addMineralSet(ModItems.nugget_niobium, ModItems.ingot_niobium, ModBlocks.block_niobium); addMineralSet(ModItems.nugget_bismuth, ModItems.ingot_bismuth, ModBlocks.block_bismuth); addMineralSet(ModItems.nugget_tantalium, ModItems.ingot_tantalium, ModBlocks.block_tantalium); addMineralSet(ModItems.nugget_zirconium, ModItems.ingot_zirconium, ModBlocks.block_zirconium); diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index 024fac49e..0b5c5b3ef 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -384,7 +384,7 @@ public class OreDictManager { CD .ingot(ingot_cadmium) .dust(powder_cadmium) .block(block_cadmium); TA .nugget(nugget_tantalium) .gem(gem_tantalium) .ingot(ingot_tantalium) .dust(powder_tantalium) .block(block_tantalium); COLTAN .ingot(fragment_coltan) .dust(powder_coltan_ore) .block(block_coltan) .ore(ore_coltan); - NB .nugget(fragment_niobium) .ingot(ingot_niobium) .dustSmall(powder_niobium_tiny) .dust(powder_niobium) .block(block_niobium); + NB .nugget(nugget_niobium, fragment_niobium) .ingot(ingot_niobium) .dustSmall(powder_niobium_tiny) .dust(powder_niobium) .block(block_niobium); BE .nugget(nugget_beryllium) .billet(billet_beryllium) .ingot(ingot_beryllium) .dust(powder_beryllium) .block(block_beryllium) .ore(ore_beryllium); CO .nugget(fragment_cobalt) .nugget(nugget_cobalt) .billet(billet_cobalt) .ingot(ingot_cobalt) .dust(powder_cobalt) .dustSmall(powder_cobalt_tiny) .block(block_cobalt) .ore(ore_cobalt, ore_nether_cobalt); B .nugget(fragment_boron) .ingot(ingot_boron) .dustSmall(powder_boron_tiny) .dust(powder_boron) .block(block_boron); diff --git a/src/main/java/com/hbm/inventory/recipes/ArcFurnaceRecipes.java b/src/main/java/com/hbm/inventory/recipes/ArcFurnaceRecipes.java index b391fa8e3..db3c9c869 100644 --- a/src/main/java/com/hbm/inventory/recipes/ArcFurnaceRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ArcFurnaceRecipes.java @@ -151,7 +151,7 @@ public class ArcFurnaceRecipes extends SerializableRecipe { } for(NTMMaterial mat : Mats.orderedList) { if(mat.smeltable == SmeltingBehavior.SMELTABLE) { - recipes.put(new ItemStack(ModItems.scraps, 1, mat.id), ItemScraps.create(new MaterialStack(mat, MaterialShapes.INGOT.q(1)))); + recipes.put(new ItemStack(ModItems.scraps, 1, mat.id), ItemScraps.create(new MaterialStack(mat, MaterialShapes.INGOT.q(1)), true)); } } return recipes; diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index 0d92377e3..1b4555128 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -31,6 +31,7 @@ import com.hbm.items.ItemAmmoEnums; import com.hbm.items.ModItems; import com.hbm.items.ItemGenericPart.EnumPartType; import com.hbm.items.machine.ItemAssemblyTemplate; +import com.hbm.items.machine.ItemCircuit.EnumCircuitType; import com.hbm.items.machine.ItemDrillbit.EnumDrillType; import com.hbm.items.machine.ItemPistons.EnumPistonType; import com.hbm.items.weapon.ItemAmmoHIMARS; @@ -361,6 +362,15 @@ public class AssemblerRecipes extends SerializableRecipe { new OreDictStack(DURA.pipe(), 4) }, 200); + makeRecipe(new ComparableStack(ModBlocks.machine_arc_furnace, 1), new AStack[] { + new OreDictStack(ANY_CONCRETE.any(), 12), + new OreDictStack(ANY_PLASTIC.ingot(), 8), + new ComparableStack(ModItems.ingot_firebrick, 16), + new OreDictStack(STEEL.plateCast(), 8), + new ComparableStack(ModBlocks.machine_transformer, 1), + new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ANALOG.ordinal()) + }, 200); + makeRecipe(new ComparableStack(ModBlocks.machine_excavator, 1), new AStack[] { new ComparableStack(Blocks.stonebrick, 8), new OreDictStack(STEEL.ingot(), 16), diff --git a/src/main/java/com/hbm/inventory/recipes/PressRecipes.java b/src/main/java/com/hbm/inventory/recipes/PressRecipes.java index d791a2fc3..06ef2cd13 100644 --- a/src/main/java/com/hbm/inventory/recipes/PressRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/PressRecipes.java @@ -25,6 +25,7 @@ import com.hbm.items.ItemAmmoEnums.Ammo556mm; import com.hbm.items.ItemAmmoEnums.AmmoLunaticSniper; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemStamp; +import com.hbm.items.machine.ItemCircuit.EnumCircuitType; import com.hbm.items.machine.ItemStamp.StampType; import com.hbm.util.Tuple.Pair; @@ -96,6 +97,7 @@ public class PressRecipes extends SerializableRecipe { makeRecipe(StampType.CIRCUIT, new ComparableStack(ModItems.circuit_bismuth_raw), ModItems.circuit_bismuth); makeRecipe(StampType.CIRCUIT, new ComparableStack(ModItems.circuit_arsenic_raw), ModItems.circuit_arsenic); makeRecipe(StampType.CIRCUIT, new ComparableStack(ModItems.circuit_tantalium_raw), ModItems.circuit_tantalium); + makeRecipe(StampType.CIRCUIT, new OreDictStack(SI.billet()), DictFrame.fromOne(ModItems.circuit, EnumCircuitType.SILICON)); makeRecipe(StampType.C357, new ComparableStack(ModItems.assembly_iron), ModItems.ammo_357.stackFromEnum(24, Ammo357Magnum.IRON)); makeRecipe(StampType.C357, new ComparableStack(ModItems.assembly_steel), ModItems.ammo_357.stackFromEnum(24, Ammo357Magnum.LEAD)); diff --git a/src/main/java/com/hbm/inventory/recipes/SolderingRecipes.java b/src/main/java/com/hbm/inventory/recipes/SolderingRecipes.java index 2ba5be4ce..e747ff959 100644 --- a/src/main/java/com/hbm/inventory/recipes/SolderingRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/SolderingRecipes.java @@ -3,6 +3,7 @@ package com.hbm.inventory.recipes; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import static com.hbm.inventory.OreDictManager.*; @@ -53,13 +54,23 @@ public class SolderingRecipes extends SerializableRecipe { new ComparableStack(ModItems.circuit, 4, EnumCircuitType.CAPACITOR.ordinal())}, new AStack[] { new ComparableStack(ModItems.circuit, 8, EnumCircuitType.PCB.ordinal()), - new OreDictStack(RUBBER.ingot())}, + new OreDictStack(RUBBER.ingot(), 2)}, new AStack[] { new OreDictStack(PB.wireFine(), 8)} )); + recipes.add(new SolderingRecipe(new ItemStack(ModItems.circuit, 1, EnumCircuitType.CAPACITOR_BOARD.ordinal()), 200, 300, + new FluidStack(Fluids.ACID, 250), + new AStack[] { + new ComparableStack(ModItems.circuit, 3, EnumCircuitType.CAPACITOR_TANTALIUM.ordinal())}, + new AStack[] { + new ComparableStack(ModItems.circuit, 1, EnumCircuitType.PCB.ordinal())}, + new AStack[] { + new OreDictStack(PB.wireFine(), 3)} + )); + recipes.add(new SolderingRecipe(new ItemStack(ModItems.circuit, 1, EnumCircuitType.BISMOID.ordinal()), 400, 10_000, - new FluidStack(Fluids.RADIOSOLVENT, 1_000), + new FluidStack(Fluids.SOLVENT, 1_000), new AStack[] { new ComparableStack(ModItems.circuit, 4, EnumCircuitType.CHIP_BISMOID.ordinal()), new ComparableStack(ModItems.circuit, 16, EnumCircuitType.CHIP.ordinal()), @@ -114,6 +125,9 @@ public class SolderingRecipes extends SerializableRecipe { @Override public void deleteRecipes() { recipes.clear(); + toppings.clear(); + pcb.clear(); + solder.clear(); } @Override @@ -125,6 +139,10 @@ public class SolderingRecipes extends SerializableRecipe { public void writeRecipe(Object obj, JsonWriter writer) throws IOException { } + + public static HashSet toppings = new HashSet(); + public static HashSet pcb = new HashSet(); + public static HashSet solder = new HashSet(); public static class SolderingRecipe { @@ -144,6 +162,9 @@ public class SolderingRecipes extends SerializableRecipe { this.output = output; this.duration = duration; this.consumption = consumption; + for(AStack t : toppings) SolderingRecipes.toppings.add(t); + for(AStack t : pcb) SolderingRecipes.pcb.add(t); + for(AStack t : solder) SolderingRecipes.solder.add(t); } public SolderingRecipe(ItemStack output, int duration, long consumption, AStack[] toppings, AStack[] pcb, AStack[] solder) { diff --git a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java index a53f11415..615901920 100644 --- a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java @@ -22,6 +22,7 @@ import com.hbm.items.ItemAmmoEnums.*; import com.hbm.items.ItemEnums.EnumChunkType; import com.hbm.items.ModItems; import com.hbm.items.food.ItemFlask.EnumInfusion; +import com.hbm.items.machine.ItemCircuit.EnumCircuitType; import net.minecraft.block.Block; import net.minecraft.init.Blocks; @@ -357,6 +358,14 @@ public class AnvilRecipes { new ComparableStack(ModItems.plate_polymer, 8) }, new AnvilOutput(new ItemStack(ModBlocks.machine_boiler))).setTier(2)); + constructionRecipes.add(new AnvilConstructionRecipe( + new AStack[] { + new OreDictStack(STEEL.plateCast(), 2), + new ComparableStack(ModItems.coil_copper, 4), + new OreDictStack(W.bolt(), 4), + new ComparableStack(ModItems.circuit, 2, EnumCircuitType.VACUUM_TUBE.ordinal()) + }, new AnvilOutput(new ItemStack(ModBlocks.machine_soldering_station))).setTier(2)); + constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] { new OreDictStack(STEEL.plateCast(), 4), diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index a13a070ba..3b7cb400f 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -309,6 +309,7 @@ public class ModItems { public static Item billet_silicon; public static Item nugget_silicon; public static Item ingot_niobium; + public static Item nugget_niobium; public static Item ingot_osmiridium; public static Item nugget_osmiridium; public static Item plate_lead; @@ -2809,6 +2810,7 @@ public class ModItems { billet_silicon = new Item().setUnlocalizedName("billet_silicon").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_silicon"); nugget_silicon = new Item().setUnlocalizedName("nugget_silicon").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_silicon"); ingot_niobium = new Item().setUnlocalizedName("ingot_niobium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_niobium"); + nugget_niobium = new Item().setUnlocalizedName("nugget_niobium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_niobium"); ingot_osmiridium = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("ingot_osmiridium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_osmiridium"); nugget_osmiridium = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("nugget_osmiridium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_osmiridium"); nugget_schrabidium = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("nugget_schrabidium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_schrabidium"); @@ -3233,26 +3235,26 @@ public class ModItems { pellet_antimatter = new ItemDrop().setUnlocalizedName("pellet_antimatter").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":pellet_antimatter"); crystal_xen = new ItemDrop().setUnlocalizedName("crystal_xen").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":crystal_xen"); - stamp_stone_flat = new ItemStamp(10, StampType.FLAT).setUnlocalizedName("stamp_stone_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_stone_flat"); - stamp_stone_plate = new ItemStamp(10, StampType.PLATE).setUnlocalizedName("stamp_stone_plate").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_stone_plate"); - stamp_stone_wire = new ItemStamp(10, StampType.WIRE).setUnlocalizedName("stamp_stone_wire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_stone_wire"); - stamp_stone_circuit = new ItemStamp(10, StampType.CIRCUIT).setUnlocalizedName("stamp_stone_circuit").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_stone_circuit"); - stamp_iron_flat = new ItemStamp(50, StampType.FLAT).setUnlocalizedName("stamp_iron_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_iron_flat"); - stamp_iron_plate = new ItemStamp(50, StampType.PLATE).setUnlocalizedName("stamp_iron_plate").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_iron_plate"); - stamp_iron_wire = new ItemStamp(50, StampType.WIRE).setUnlocalizedName("stamp_iron_wire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_iron_wire"); - stamp_iron_circuit = new ItemStamp(50, StampType.CIRCUIT).setUnlocalizedName("stamp_iron_circuit").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_iron_circuit"); - stamp_steel_flat = new ItemStamp(100, StampType.FLAT).setUnlocalizedName("stamp_steel_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_steel_flat"); - stamp_steel_plate = new ItemStamp(100, StampType.PLATE).setUnlocalizedName("stamp_steel_plate").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_steel_plate"); - stamp_steel_wire = new ItemStamp(100, StampType.WIRE).setUnlocalizedName("stamp_steel_wire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_steel_wire"); - stamp_steel_circuit = new ItemStamp(100, StampType.CIRCUIT).setUnlocalizedName("stamp_steel_circuit").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_steel_circuit"); - stamp_titanium_flat = new ItemStamp(150, StampType.FLAT).setUnlocalizedName("stamp_titanium_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_titanium_flat"); - stamp_titanium_plate = new ItemStamp(150, StampType.PLATE).setUnlocalizedName("stamp_titanium_plate").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_titanium_plate"); - stamp_titanium_wire = new ItemStamp(150, StampType.WIRE).setUnlocalizedName("stamp_titanium_wire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_titanium_wire"); - stamp_titanium_circuit = new ItemStamp(150, StampType.CIRCUIT).setUnlocalizedName("stamp_titanium_circuit").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_titanium_circuit"); - stamp_obsidian_flat = new ItemStamp(170, StampType.FLAT).setUnlocalizedName("stamp_obsidian_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_obsidian_flat"); - stamp_obsidian_plate = new ItemStamp(170, StampType.PLATE).setUnlocalizedName("stamp_obsidian_plate").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_obsidian_plate"); - stamp_obsidian_wire = new ItemStamp(170, StampType.WIRE).setUnlocalizedName("stamp_obsidian_wire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_obsidian_wire"); - stamp_obsidian_circuit = new ItemStamp(170, StampType.CIRCUIT).setUnlocalizedName("stamp_obsidian_circuit").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_obsidian_circuit"); + stamp_stone_flat = new ItemStamp(32, StampType.FLAT).setUnlocalizedName("stamp_stone_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_stone_flat"); + stamp_stone_plate = new ItemStamp(32, StampType.PLATE).setUnlocalizedName("stamp_stone_plate").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_stone_plate"); + stamp_stone_wire = new ItemStamp(32, StampType.WIRE).setUnlocalizedName("stamp_stone_wire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_stone_wire"); + stamp_stone_circuit = new ItemStamp(32, StampType.CIRCUIT).setUnlocalizedName("stamp_stone_circuit").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_stone_circuit"); + stamp_iron_flat = new ItemStamp(64, StampType.FLAT).setUnlocalizedName("stamp_iron_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_iron_flat"); + stamp_iron_plate = new ItemStamp(64, StampType.PLATE).setUnlocalizedName("stamp_iron_plate").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_iron_plate"); + stamp_iron_wire = new ItemStamp(64, StampType.WIRE).setUnlocalizedName("stamp_iron_wire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_iron_wire"); + stamp_iron_circuit = new ItemStamp(64, StampType.CIRCUIT).setUnlocalizedName("stamp_iron_circuit").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_iron_circuit"); + stamp_steel_flat = new ItemStamp(192, StampType.FLAT).setUnlocalizedName("stamp_steel_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_steel_flat"); + stamp_steel_plate = new ItemStamp(192, StampType.PLATE).setUnlocalizedName("stamp_steel_plate").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_steel_plate"); + stamp_steel_wire = new ItemStamp(192, StampType.WIRE).setUnlocalizedName("stamp_steel_wire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_steel_wire"); + stamp_steel_circuit = new ItemStamp(192, StampType.CIRCUIT).setUnlocalizedName("stamp_steel_circuit").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_steel_circuit"); + stamp_titanium_flat = new ItemStamp(256, StampType.FLAT).setUnlocalizedName("stamp_titanium_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_titanium_flat"); + stamp_titanium_plate = new ItemStamp(256, StampType.PLATE).setUnlocalizedName("stamp_titanium_plate").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_titanium_plate"); + stamp_titanium_wire = new ItemStamp(256, StampType.WIRE).setUnlocalizedName("stamp_titanium_wire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_titanium_wire"); + stamp_titanium_circuit = new ItemStamp(256, StampType.CIRCUIT).setUnlocalizedName("stamp_titanium_circuit").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_titanium_circuit"); + stamp_obsidian_flat = new ItemStamp(512, StampType.FLAT).setUnlocalizedName("stamp_obsidian_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_obsidian_flat"); + stamp_obsidian_plate = new ItemStamp(512, StampType.PLATE).setUnlocalizedName("stamp_obsidian_plate").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_obsidian_plate"); + stamp_obsidian_wire = new ItemStamp(512, StampType.WIRE).setUnlocalizedName("stamp_obsidian_wire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_obsidian_wire"); + stamp_obsidian_circuit = new ItemStamp(512, StampType.CIRCUIT).setUnlocalizedName("stamp_obsidian_circuit").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_obsidian_circuit"); stamp_desh_flat = new ItemStamp(0, StampType.FLAT).setUnlocalizedName("stamp_desh_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_desh_flat"); stamp_desh_plate = new ItemStamp(0, StampType.PLATE).setUnlocalizedName("stamp_desh_plate").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_desh_plate"); stamp_desh_wire = new ItemStamp(0, StampType.WIRE).setUnlocalizedName("stamp_desh_wire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_desh_wire"); @@ -6025,6 +6027,7 @@ public class ModItems { GameRegistry.registerItem(nugget_arsenic, nugget_arsenic.getUnlocalizedName()); GameRegistry.registerItem(nugget_tantalium, nugget_tantalium.getUnlocalizedName()); GameRegistry.registerItem(nugget_silicon, nugget_silicon.getUnlocalizedName()); + GameRegistry.registerItem(nugget_niobium, nugget_niobium.getUnlocalizedName()); GameRegistry.registerItem(nugget_beryllium, nugget_beryllium.getUnlocalizedName()); GameRegistry.registerItem(nugget_schrabidium, nugget_schrabidium.getUnlocalizedName()); GameRegistry.registerItem(nugget_solinium, nugget_solinium.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/machine/ItemCircuit.java b/src/main/java/com/hbm/items/machine/ItemCircuit.java index 8a9f28afd..8b8fcebfd 100644 --- a/src/main/java/com/hbm/items/machine/ItemCircuit.java +++ b/src/main/java/com/hbm/items/machine/ItemCircuit.java @@ -13,6 +13,7 @@ public class ItemCircuit extends ItemEnumMulti { CAPACITOR, CAPACITOR_TANTALIUM, PCB, + SILICON, CHIP, CHIP_BISMOID, ANALOG, diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 28a1b2bbf..937696fc4 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -29,6 +29,7 @@ import com.hbm.items.ItemEnums.EnumPlantType; import com.hbm.items.ItemGenericPart.EnumPartType; import com.hbm.items.food.ItemConserve.EnumFoodType; import com.hbm.items.machine.ItemBattery; +import com.hbm.items.machine.ItemCircuit.EnumCircuitType; import com.hbm.items.special.ItemCircuitStarComponent.CircuitComponentType; import com.hbm.items.special.ItemHolotapeImage.EnumHoloImage; import com.hbm.items.special.ItemPlasticScrap.ScrapType; @@ -123,6 +124,19 @@ public class CraftingManager { addShapelessAuto(new ItemStack(ModItems.circuit_gold, 2), new Object[] { ModItems.circuit_targeting_tier4 }); addShapelessAuto(new ItemStack(ModItems.circuit_schrabidium, 2), new Object[] { ModItems.circuit_targeting_tier5 }); + addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.VACUUM_TUBE), new Object[] { "G", "W", "I", 'G', KEY_ANYPANE, 'W', W.wireFine(), 'I', ModItems.plate_polymer }); + addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.VACUUM_TUBE), new Object[] { "G", "W", "I", 'G', KEY_ANYPANE, 'W', CARBON.wireFine(), 'I', ModItems.plate_polymer }); + addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CAPACITOR), new Object[] { "I", "N", "W", 'I', ModItems.plate_polymer, 'N', NB.nugget(), 'W', AL.wireFine() }); + addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CAPACITOR), new Object[] { "I", "N", "W", 'I', ModItems.plate_polymer, 'N', NB.nugget(), 'W', CU.wireFine() }); + addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CAPACITOR_TANTALIUM), new Object[] { "I", "N", "W", 'I', ModItems.plate_polymer, 'N', TA.nugget(), 'W', AL.wireFine() }); + addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CAPACITOR_TANTALIUM), new Object[] { "I", "N", "W", 'I', ModItems.plate_polymer, 'N', TA.nugget(), 'W', CU.wireFine() }); + addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.PCB), new Object[] { "I", "P", 'I', ModItems.plate_polymer, 'P', CU.plate() }); + addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.PCB, 4), new Object[] { "I", "P", 'I', ModItems.plate_polymer, 'P', GOLD.plate() }); + addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP), new Object[] { "I", "S", "W", 'I', ModItems.plate_polymer, 'S', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.SILICON), 'W', CU.wireFine() }); + 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(new ItemStack(ModItems.cell_empty, 6), new Object[] { " S ", "G G", " S ", 'S', STEEL.plate(), 'G', KEY_ANYPANE }); addRecipeAuto(new ItemStack(ModItems.cell_deuterium, 8), new Object[] { "DDD", "DTD", "DDD", 'D', ModItems.cell_empty, 'T', ModItems.mike_deut }); addRecipeAuto(new ItemStack(ModItems.particle_empty, 2), new Object[] { "STS", "G G", "STS", 'S', STEEL.plate(), 'T', W.ingot(), 'G', KEY_ANYPANE }); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSolderingStation.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSolderingStation.java index 58711ee02..111e8c028 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSolderingStation.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSolderingStation.java @@ -77,7 +77,7 @@ public class TileEntityMachineSolderingStation extends TileEntityMachineBase imp SolderingRecipe recipe = SolderingRecipes.getRecipe(new ItemStack[] {slots[0], slots[1], slots[2], slots[3], slots[4], slots[5]}); long intendedMaxPower; - UpgradeManager.eval(slots, 6, 7); + UpgradeManager.eval(slots, 9, 10); int redLevel = Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3); int blueLevel = Math.min(UpgradeManager.getLevel(UpgradeType.POWER), 3); @@ -184,6 +184,31 @@ public class TileEntityMachineSolderingStation extends TileEntityMachineBase imp this.tank.setFill(tank.getFill() - recipe.fluid.fill); } } + + @Override + public boolean isItemValidForSlot(int slot, ItemStack stack) { + if(slot < 3) { + for(int i = 0; i < 3; i++) if(i != slot && slots[i] != null && slots[i].isItemEqual(stack)) return false; + for(AStack t : SolderingRecipes.toppings) if(t.matchesRecipe(stack, true)) return true; + } else if(slot < 5) { + for(int i = 3; i < 5; i++) if(i != slot && slots[i] != null && slots[i].isItemEqual(stack)) return false; + for(AStack t : SolderingRecipes.pcb) if(t.matchesRecipe(stack, true)) return true; + } else if(slot < 6) { + for(int i = 5; i < 6; i++) if(i != slot && slots[i] != null && slots[i].isItemEqual(stack)) return false; + for(AStack t : SolderingRecipes.solder) if(t.matchesRecipe(stack, true)) return true; + } + return false; + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + return i == 6; + } + + @Override + public int[] getAccessibleSlotsFromSide(int side) { + return new int[] { 0, 1, 2, 3, 4, 5, 6 }; + } protected DirPos[] getConPos() { @@ -191,7 +216,14 @@ public class TileEntityMachineSolderingStation extends TileEntityMachineBase imp ForgeDirection rot = dir.getRotation(ForgeDirection.UP); return new DirPos[] { - + new DirPos(xCoord + dir.offsetX, yCoord, zCoord + dir.offsetZ, dir), + new DirPos(xCoord + dir.offsetX + rot.offsetX, yCoord, zCoord + dir.offsetZ + rot.offsetZ, dir), + new DirPos(xCoord - dir.offsetX * 2, yCoord, zCoord - dir.offsetZ * 2, dir.getOpposite()), + new DirPos(xCoord - dir.offsetX * 2 + rot.offsetX, yCoord, zCoord - dir.offsetZ * 2 + rot.offsetZ, dir.getOpposite()), + new DirPos(xCoord - rot.offsetX, yCoord, zCoord - rot.offsetZ, rot.getOpposite()), + new DirPos(xCoord - dir.offsetX - rot.offsetX, yCoord, zCoord - dir.offsetZ - rot.offsetZ, rot.getOpposite()), + new DirPos(xCoord + rot.offsetX * 2, yCoord, zCoord + rot.offsetZ * 2, rot), + new DirPos(xCoord - dir.offsetX + rot.offsetX * 2, yCoord, zCoord - dir.offsetZ + rot.offsetZ * 2, rot), }; } diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index d7dcbd461..4fbb55db8 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -351,7 +351,7 @@ container.launchPadRusted=Startrampe container.launchTable=Große Startrampe container.leadBox=Sicherheitsbehälter container.machineArcWelder=Lichtbogenschweißer -container.machineArcFurnaceLarge=Elektrischer Lichtbogenofen +container.machineArcFurnaceLarge=Lichtbogenofen container.machineBoiler=Ölwärmer container.machineCMB=CMB-Stahl Hochofen container.machineCoal=Verbrennungsgenerator @@ -373,6 +373,7 @@ container.machineRefinery=Ölraffinerie container.machineSelenium=Hochleistungs-Sternmotor container.machineShredder=Brecher container.machineSILEX=SILEX +container.machineSolderingStation=Lötstation container.machineSolidifier=Verfestiger container.machineTurbine=Dampfturbine container.machineTurbofan=Turbofan @@ -1516,6 +1517,18 @@ item.chopper_wing.name=Jagdschrauber Seitentragfläche item.chunk_ore.rare.name=Seltenerdenerz-Brocken 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.basic.name=Integrierter Schaltkreis +item.circuit.bismoid.name=Vielfältiger Schaltkreis +item.circuit.capacitor.name=Kondensator +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.pcb.name=Leiterplatte +item.circuit.silicon.name=Bedrucker Siliziumwafer +item.circuit.vacuum_tube.name=Vakuumröhre item.circuit_aluminium.name=Einfacher Schaltkreis item.circuit_arsenic.name=Adaptives Chipset item.circuit_arsenic_raw.name=Arsen-Schaltkreisrohling @@ -2576,6 +2589,7 @@ item.nugget_mercury.name=Quecksilbertropfen item.nugget_mox_fuel.name=MOX-Kernbrennstoffnugget item.nugget_neptunium.name=Neptuniumnugget item.nugget_neptunium_fuel.name=Neptuniumkernbrennstoffnugget +item.nugget_niobium.name=Niobnugget item.nugget_osmiridium.name=Osmiridiumnugget item.nugget_plutonium.name=Plutoniumnugget item.nugget_plutonium_fuel.name=Plutoniumkernbrennstoffnugget @@ -4272,6 +4286,7 @@ tile.machine_shredder.name=Brecher tile.machine_silex.name=Laser-Isotopentrenner (SILEX) tile.machine_siren.name=Sirene tile.machine_solar_boiler.name=Solarturmboiler +tile.machine_soldering_station.name=Lötstation tile.machine_solidifier.name=Industrielle Verfestigungsmaschine tile.machine_spp_bottom.name=NPE-Potentialgenerator (Unterteil) tile.machine_spp_top.name=NPE-Potentialgenerator (Oberteil) diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 1f012fa90..1c4438099 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -744,7 +744,7 @@ container.launchPadRusted=Launch Pad container.launchTable=Large Launch Pad container.leadBox=Containment Box container.machineArcWelder=Arc Welder -container.machineArcFurnaceLarge=Electric Arc Furnace +container.machineArcFurnaceLarge=Arc Furnace container.machineBoiler=Oil Heater container.machineCMB=CMB Steel Furnace container.machineCoal=Combustion Generator @@ -766,6 +766,7 @@ container.machineRefinery=Oil Refinery container.machineSelenium=Radial Performance Engine container.machineShredder=Shredder container.machineSILEX=SILEX +container.machineSolderingStation=Soldering Station container.machineSolidifier=Solidifier container.machineStrandCaster=Strand Caster container.machineTurbine=Steam Turbine @@ -2261,6 +2262,18 @@ item.chopper_wing.name=Hunter Chopper Wing item.chunk_ore.rare.name=Rare Earth Ore Chunk 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.basic.name=Integrated Circuit Board +item.circuit.bismoid.name=Versatile Circuit Board +item.circuit.capacitor.name=Capacitor +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.pcb.name=Printed Circuit Board +item.circuit.silicon.name=Printed Silicon Wafer +item.circuit.vacuum_tube.name=Vacuum Tube item.circuit_aluminium.name=Basic Circuit item.circuit_arsenic.name=Adaptable Circuit item.circuit_arsenic_raw.name=Adaptable Circuit Assembly @@ -3389,6 +3402,7 @@ item.nugget_mox_fuel.name=Nugget of MOX Fuel item.nugget_mox_fuel.desc=Moxie says: §lTAX EVASION.§r item.nugget_neptunium.name=Neptunium Nugget item.nugget_neptunium_fuel.name=Neptunium Fuel Nugget +item.nugget_niobium.name=Niobium Nugget item.nugget_osmiridium.name=Osmiridium Nugget item.nugget_pb209.name=Lead-209 Nugget item.nugget_plutonium.name=Plutonium Nugget @@ -5335,6 +5349,7 @@ tile.machine_shredder.name=Shredder tile.machine_silex.name=Laser Isotope Separation Chamber (SILEX) tile.machine_siren.name=Siren tile.machine_solar_boiler.name=Solar Tower Boiler +tile.machine_soldering_station.name=Soldering Station tile.machine_solidifier.name=Industrial Solidification Machine tile.machine_solidifier.desc=A universal machine fitted with cooling systems and other$versatile tools for turning fluids solid using various$processes such as freezing and petrochemical polymerization. tile.machine_spp_bottom.name=ZPE Potential Generator (Bottom) diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_soldering_station.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_soldering_station.png index 69c16866b..cb3081743 100644 Binary files a/src/main/resources/assets/hbm/textures/gui/processing/gui_soldering_station.png and b/src/main/resources/assets/hbm/textures/gui/processing/gui_soldering_station.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit.png b/src/main/resources/assets/hbm/textures/items/circuit.png index 811b8583c..d2ac0d1b3 100644 Binary files a/src/main/resources/assets/hbm/textures/items/circuit.png and b/src/main/resources/assets/hbm/textures/items/circuit.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit.silicon.png b/src/main/resources/assets/hbm/textures/items/circuit.silicon.png new file mode 100644 index 000000000..768ee5273 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit.silicon.png differ diff --git a/src/main/resources/assets/hbm/textures/items/nugget_niobium.png b/src/main/resources/assets/hbm/textures/items/nugget_niobium.png new file mode 100644 index 000000000..c9bc77d5d Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/nugget_niobium.png differ