diff --git a/common/src/main/java/muramasa/gregtech/data/GregTechData.java b/common/src/main/java/muramasa/gregtech/data/GregTechData.java index e896c64a1..54f2ba5a3 100644 --- a/common/src/main/java/muramasa/gregtech/data/GregTechData.java +++ b/common/src/main/java/muramasa/gregtech/data/GregTechData.java @@ -158,44 +158,51 @@ public static void init(Side side) { public static ItemBasic EngravedCrystalChip = new ItemBasic<>(GTIRef.ID, "engraved_crystal_chip").tip("Needed for Circuits"); public static ItemBasic EngravedLapotronChip = new ItemBasic<>(GTIRef.ID, "engraved_lapotron_chip").tip("Needed for Circuits"); - public static ItemBasic CircuitBoardBasic = new ItemBasic<>(GTIRef.ID, "basic_circuit_board"); - public static ItemBasic CircuitBoardAdvanced = new ItemBasic<>(GTIRef.ID, "advanced_circuit_board"); - public static ItemBasic CircuitBoardEmpty = new ItemBasic<>(GTIRef.ID, "empty_circuit_board"); - public static ItemBasic CircuitBoardProcessor = new ItemBasic<>(GTIRef.ID, "processor_circuit_board"); - public static ItemBasic CircuitBoardProcessorEmpty = new ItemBasic<>(GTIRef.ID, "empty_processor_circuit_board"); - - public static ItemBasic CircuitBoardCoated = new ItemBasic<>(GTIRef.ID, "board_coated").tip("The most basic Board"); - public static ItemBasic CircuitBoardPhenolic = new ItemBasic<>(GTIRef.ID, "board_phenolic").tip("A basic Board"); - public static ItemBasic CircuitBoardPlastic = new ItemBasic<>(GTIRef.ID, "board_plastic").tip("An advanced Board"); - public static ItemBasic CircuitBoardEpoxy = new ItemBasic<>(GTIRef.ID, "board_epoxy").tip("4th Tier Board"); - public static ItemBasic CircuitBoardFiber = new ItemBasic<>(GTIRef.ID, "board_fiber_reinforced").tip("5th Tier Board"); - public static ItemBasic CircuitBoardMultiFiber = new ItemBasic<>(GTIRef.ID, "board_multilayer_fiber_reinforced").tip("6th Tier Board"); - public static ItemBasic CircuitBoardWetware = new ItemBasic<>(GTIRef.ID, "board_wetware").tip("7th Tier Board"); - - public static ItemBasic CircuitBasicIntegrated = new ItemBasic<>(GTIRef.ID, "basic_integrated_circuit").tip("The breakthrough to the electrical age"); - public static ItemBasic CircuitBasicElectronic = new ItemBasic<>(GTIRef.ID, "basic_electronic_circuit").tip("A basic Circuit"); - public static ItemBasic CircuitGoodElectronic = new ItemBasic<>(GTIRef.ID, "good_electronic_circuit").tip("A good Circuit"); - public static ItemBasic CircuitGoodIntegrated = new ItemBasic<>(GTIRef.ID, "good_integrated_circuit").tip("Good Circuit"); - public static ItemBasic CircuitAdv = new ItemBasic<>(GTIRef.ID, "advanced_circuit").tip("An advanced Circuit"); - public static ItemBasic CircuitDataStorage = new ItemBasic<>(GTIRef.ID, "data_storage_circuit"); - public static ItemBasic CircuitDataControl = new ItemBasic<>(GTIRef.ID, "data_control_circuit"); - public static ItemBasic MicroProcessor = new ItemBasic<>(GTIRef.ID, "microprocessor").tip("A Basic Circuit"); - public static ItemBasic IntegratedProcessor = new ItemBasic<>(GTIRef.ID, "integrated_processor").tip("A Good Circuit"); - public static ItemBasic NanoProcessor = new ItemBasic<>(GTIRef.ID, "nanoprocessor").tip("A Nanoprocessor"); - public static ItemBasic QuantumProcessor = new ItemBasic<>(GTIRef.ID, "quantumprocessor").tip("A Quantumprocessor"); - public static ItemBasic CircuitEnergyFlow = new ItemBasic<>(GTIRef.ID, "energy_flow_circuit").tip("A High Voltage Processor"); - public static ItemBasic CircuitWetware = new ItemBasic<>(GTIRef.ID, "wetware_circuit").tip("You feel like it's watching you"); - public static ItemBasic DataOrb = new ItemBasic<>(GTIRef.ID, "data_orb"); + public static ItemBasic CircuitBoardBasic = new ItemBasic<>(GTIRef.ID, "basic_circuit_board", "circuits/"); + public static ItemBasic CircuitBoardAdvanced = new ItemBasic<>(GTIRef.ID, "advanced_circuit_board", "circuits/"); + public static ItemBasic CircuitBoardEmpty = new ItemBasic<>(GTIRef.ID, "empty_circuit_board", "circuits/"); + public static ItemBasic CircuitBoardProcessor = new ItemBasic<>(GTIRef.ID, "processor_circuit_board", "circuits/"); + public static ItemBasic CircuitBoardProcessorEmpty = new ItemBasic<>(GTIRef.ID, "empty_processor_circuit_board", "circuits/"); + + public static ItemBasic CircuitBoardCoated = new ItemBasic<>(GTIRef.ID, "board_coated", "circuits/").tip("The most basic Board"); + public static ItemBasic CircuitBoardPhenolic = new ItemBasic<>(GTIRef.ID, "board_phenolic", "circuits/").tip("A basic Board"); + public static ItemBasic CircuitBoardPlastic = new ItemBasic<>(GTIRef.ID, "board_plastic", "circuits/").tip("An advanced Board"); + public static ItemBasic CircuitBoardEpoxy = new ItemBasic<>(GTIRef.ID, "board_epoxy", "circuits/").tip("4th Tier Board"); + public static ItemBasic CircuitBoardFiber = new ItemBasic<>(GTIRef.ID, "board_fiber_reinforced", "circuits/").tip("5th Tier Board"); + public static ItemBasic CircuitBoardMultiFiber = new ItemBasic<>(GTIRef.ID, "board_multilayer_fiber_reinforced", "circuits/").tip("6th Tier Board"); + public static ItemBasic CircuitBoardWetware = new ItemBasic<>(GTIRef.ID, "board_wetware", "circuits/").tip("7th Tier Board"); + + public static ItemBasic CircuitBasicElectronic = new ItemBasic<>(GTIRef.ID, "basic_electronic_circuit", "circuits/").tip("A basic Circuit"); + public static ItemBasic CircuitBasicIntegrated = new ItemBasic<>(GTIRef.ID, "basic_integrated_circuit", "circuits/").tip("The breakthrough to the electrical age"); + public static ItemBasic MicroProcessor = new ItemBasic<>(GTIRef.ID, "microprocessor", "circuits/").tip("A Basic Circuit"); + public static ItemBasic CircuitGoodElectronic = new ItemBasic<>(GTIRef.ID, "good_electronic_circuit", "circuits/").tip("A good Circuit"); + public static ItemBasic CircuitGoodIntegrated = new ItemBasic<>(GTIRef.ID, "good_integrated_circuit", "circuits/").tip("Good Circuit"); + public static ItemBasic IntegratedProcessor = new ItemBasic<>(GTIRef.ID, "integrated_processor", "circuits/").tip("A Good Circuit"); + public static ItemBasic CircuitAdv = new ItemBasic<>(GTIRef.ID, "advanced_circuit", "circuits/").tip("An advanced Circuit"); + public static ItemBasic ProcessorAssembly = new ItemBasic<>(GTIRef.ID, "processor_assembly", "circuits/").tip("An advanced Circuit"); + public static ItemBasic NanoProcessor = new ItemBasic<>(GTIRef.ID, "nanoprocessor", "circuits/").tip("A Nanoprocessor"); + public static ItemBasic CircuitDataStorage = new ItemBasic<>(GTIRef.ID, "data_storage_circuit", "circuits/"); + public static ItemBasic CircuitDataControl = new ItemBasic<>(GTIRef.ID, "data_control_circuit", "circuits/"); + + + + public static ItemBasic QuantumProcessor = new ItemBasic<>(GTIRef.ID, "quantumprocessor", "circuits/").tip("A Quantumprocessor"); + public static ItemBasic CircuitEnergyFlow = new ItemBasic<>(GTIRef.ID, "energy_flow_circuit", "circuits/").tip("A High Voltage Processor"); + public static ItemBasic CircuitWetware = new ItemBasic<>(GTIRef.ID, "wetware_circuit", "circuits/").tip("You feel like it's watching you"); + public static ItemBasic DataOrb = new ItemBasic<>(GTIRef.ID, "data_orb", "circuits/"); public static ItemBasic Transistor = new ItemBasic<>(GTIRef.ID, "transistor").tip("An integral part to Circuitry"); public static ItemBasic SMDTransistor = new ItemBasic<>(GTIRef.ID, "smd_transistor").tip("An integral part to Circuitry"); public static ItemBasic Resistor = new ItemBasic<>(GTIRef.ID, "resistor").tip("An integral part to Circuitry"); public static ItemBasic SMDResistor = new ItemBasic<>(GTIRef.ID, "smd_resistor").tip("An integral part to Circuitry"); public static ItemBasic Diode = new ItemBasic<>(GTIRef.ID, "diode").tip("An integral part to Circuitry"); + public static ItemBasic SMDDiode = new ItemBasic<>(GTIRef.ID, "smd_diode").tip("An integral part to Circuitry"); public static ItemBasic Capacitor = new ItemBasic<>(GTIRef.ID, "capacitor").tip("An integral part to Circuitry"); public static ItemBasic SMDCapacitor = new ItemBasic<>(GTIRef.ID, "smd_capacitor").tip("An integral part to Circuitry"); public static ItemBasic VacuumTube = new ItemBasic<>(GTIRef.ID, "vacuum_tube").tip("A part for the Basic Circuit"); public static ItemBasic GlassTube = new ItemBasic<>(GTIRef.ID, "glass_tube").tip("A part for circuits"); + public static ItemBasic SmallCoil = new ItemBasic<>(GTIRef.ID, "small_coil").tip("A part for circuits"); + public static ItemBasic PetriDish = new ItemBasic<>(GTIRef.ID, "petri_dish"); public static ItemBasic SiliconBoule = new ItemBasic<>(GTIRef.ID, "monocrystalline_silicon_boule", "silicon/"); public static ItemBasic GlowstoneDopedSiliconBoule = new ItemBasic<>(GTIRef.ID, "glowstone_doped_monocrystalline_silicon_boule", "silicon/"); @@ -205,8 +212,28 @@ public static void init(Side side) { public static ItemBasic SiliconChip = new ItemBasic<>(GTIRef.ID, "silicon_chip", "silicon/"); public static ItemBasic GlowstoneDopedWafer = new ItemBasic<>(GTIRef.ID, "glowstone_doped_wafer", "silicon/"); public static ItemBasic NaquadahDopedWafer = new ItemBasic<>(GTIRef.ID, "naquadah_doped_wafer", "silicon/"); + public static ItemBasic ASoCWafer = new ItemBasic<>(GTIRef.ID, "asoc_wafer", "silicon/"); + public static ItemBasic ASoC = new ItemBasic<>(GTIRef.ID, "asoc", "silicon/"); + public static ItemBasic CentralProcessingUnitWafer = new ItemBasic<>(GTIRef.ID, "central_processing_unit_wafer", "silicon/"); + public static ItemBasic CentralProcessingUnit = new ItemBasic<>(GTIRef.ID, "central_processing_unit", "silicon/"); + public static ItemBasic HPICWafer = new ItemBasic<>(GTIRef.ID, "hpic_wafer", "silicon/"); + public static ItemBasic HighPowerIC = new ItemBasic<>(GTIRef.ID, "high_power_ic", "silicon/"); public static ItemBasic IntegratedLogicCircuitWafer = new ItemBasic<>(GTIRef.ID, "integrated_logic_circuit_wafer", "silicon/"); public static ItemBasic IntegratedLogicCircuit = new ItemBasic<>(GTIRef.ID, "integrated_logic_circuit", "silicon/"); + public static ItemBasic NANDMemoryChipWafer = new ItemBasic<>(GTIRef.ID, "nand_memory_chip_wafer", "silicon/"); + public static ItemBasic NANDMemoryChip = new ItemBasic<>(GTIRef.ID, "nand_memory_chip", "silicon/"); + public static ItemBasic NanoCpuWafer = new ItemBasic<>(GTIRef.ID, "nano_cpu_wafer", "silicon/"); + public static ItemBasic NanoCpu = new ItemBasic<>(GTIRef.ID, "nanocomponent_central_processing_unit", "silicon/"); + public static ItemBasic NorMemoryChipWafer = new ItemBasic<>(GTIRef.ID, "nor_memory_chip_wafer", "silicon/"); + public static ItemBasic NorMemoryChip = new ItemBasic<>(GTIRef.ID, "nor_memory_chip", "silicon/"); + public static ItemBasic PICWafer = new ItemBasic<>(GTIRef.ID, "pic_wafer", "silicon/"); + public static ItemBasic PowerIC = new ItemBasic<>(GTIRef.ID, "power_ic", "silicon/"); + public static ItemBasic QBitWafer = new ItemBasic<>(GTIRef.ID, "qbit_wafer", "silicon/"); + public static ItemBasic QBitProcessingUnit = new ItemBasic<>(GTIRef.ID, "qbit_processing_unit", "silicon/"); + public static ItemBasic RandomAccessMemoryChipWafer = new ItemBasic<>(GTIRef.ID, "random_access_memory_chip_wafer", "silicon/"); + public static ItemBasic RandomAccessMemoryChip = new ItemBasic<>(GTIRef.ID, "random_access_memory_chip", "silicon/"); + public static ItemBasic SOCWafer = new ItemBasic<>(GTIRef.ID, "soc_wafer", "silicon/"); + public static ItemBasic SOC = new ItemBasic<>(GTIRef.ID, "soc", "silicon/"); public static ItemBasic BatteryTantalum = new ItemBattery(GTIRef.ID, "tantalum_capacitor", Tier.ULV, 10000, true).tip("Reusable"); public static ItemBasic BatteryHullSmall = new ItemBasic<>(GTIRef.ID, "small_battery_hull").tip("An empty LV Battery Hull"); diff --git a/common/src/main/java/muramasa/gregtech/data/GregTechTags.java b/common/src/main/java/muramasa/gregtech/data/GregTechTags.java index a134b9527..3a0681757 100644 --- a/common/src/main/java/muramasa/gregtech/data/GregTechTags.java +++ b/common/src/main/java/muramasa/gregtech/data/GregTechTags.java @@ -26,6 +26,8 @@ public class GregTechTags { public static TagKey POWER_UNIT_HV = getTag("power_units/hv"); public static TagKey POWER_UNIT_SMALL = getTag("power_units/small"); public static TagKey RESISTORS = TagUtils.getItemTag(new ResourceLocation(GTIRef.ID, "resistors")); + public static TagKey CAPACITORS = TagUtils.getItemTag(new ResourceLocation(GTIRef.ID, "capacitors")); + public static TagKey TRANSISTORS = TagUtils.getItemTag(new ResourceLocation(GTIRef.ID, "transistors")); public static TagKey getTag(String id){ return TagUtils.getForgelikeItemTag(id); diff --git a/common/src/main/java/muramasa/gregtech/datagen/GregTechItemTagProvider.java b/common/src/main/java/muramasa/gregtech/datagen/GregTechItemTagProvider.java index 6e82d53a3..17e380b32 100644 --- a/common/src/main/java/muramasa/gregtech/datagen/GregTechItemTagProvider.java +++ b/common/src/main/java/muramasa/gregtech/datagen/GregTechItemTagProvider.java @@ -4,9 +4,9 @@ import muramasa.antimatter.datagen.providers.AntimatterItemTagProvider; import muramasa.antimatter.util.TagUtils; import muramasa.gregtech.data.GregTechTags; +import net.minecraft.world.item.Items; -import static muramasa.antimatter.data.AntimatterMaterialTypes.DUST; -import static muramasa.antimatter.data.AntimatterMaterialTypes.PLATE; +import static muramasa.antimatter.data.AntimatterMaterialTypes.*; import static muramasa.antimatter.data.AntimatterMaterials.*; import static muramasa.gregtech.data.GregTechData.*; import static muramasa.gregtech.data.GregTechTags.*; @@ -36,6 +36,9 @@ protected void processTags(String domain) { this.tag(POWER_UNIT_HV).add(PowerUnitHV); this.tag(POWER_UNIT_SMALL).add(SmallPowerUnit); this.tag(RESISTORS).add(Resistor, SMDResistor); + this.tag(CAPACITORS).add(Capacitor, SMDCapacitor); + this.tag(TRANSISTORS).add(Transistor, SMDTransistor); + this.tag(GEM.getMaterialTag(Amethyst)).remove(Items.AMETHYST_SHARD); this.tag(PLATES_IRON_ALUMINIUM).addTag(PLATE.getMaterialTag(Iron)).addTag(PLATE.getMaterialTag(WroughtIron)).addTag(PLATE.getMaterialTag(Aluminium)); this.tag(DUST_LAPIS_LAZURITE).addTag(DUST.getMaterialTag(Lapis)).addTag(DUST.getMaterialTag(Lazurite)); this.tag(DUST_COALS).addTag(DUST.getMaterialTag(Coal)).addTag(DUST.getMaterialTag(Charcoal)).addTag(DUST.getMaterialTag(Carbon)); diff --git a/common/src/main/java/muramasa/gregtech/loader/items/Circuitry.java b/common/src/main/java/muramasa/gregtech/loader/items/Circuitry.java index a279ab91b..f1f10fe04 100644 --- a/common/src/main/java/muramasa/gregtech/loader/items/Circuitry.java +++ b/common/src/main/java/muramasa/gregtech/loader/items/Circuitry.java @@ -4,7 +4,9 @@ import io.github.gregtechintergalactical.gtrubber.GTRubberData; import muramasa.antimatter.data.AntimatterMaterialTypes; import muramasa.antimatter.data.AntimatterMaterials; +import muramasa.antimatter.data.ForgeCTags; import muramasa.antimatter.datagen.providers.AntimatterRecipeProvider; +import muramasa.antimatter.item.ItemBasic; import muramasa.antimatter.material.Material; import muramasa.antimatter.material.SubTag; import muramasa.antimatter.pipe.PipeSize; @@ -33,8 +35,7 @@ import static muramasa.antimatter.machine.Tier.MV; import static muramasa.gregtech.data.GregTechData.*; import static muramasa.gregtech.data.GregTechMaterialTags.SOLDER; -import static muramasa.gregtech.data.GregTechTags.CIRCUITS_ADVANCED; -import static muramasa.gregtech.data.GregTechTags.DUST_COALS; +import static muramasa.gregtech.data.GregTechTags.*; import static muramasa.gregtech.data.Materials.*; import static muramasa.antimatter.recipe.ingredient.RecipeIngredient.of; import static muramasa.gregtech.data.RecipeMaps.*; @@ -65,6 +66,12 @@ private static void bloodyCircuits(Consumer output, AntimatterRe .put('R',Resistor).put('P', ITEM_CASING.get(Steel)) .build(), "RPR", "VBV", "WWW"); + provider.addItemRecipe(output, "circuits", "has_wrench", provider.hasSafeItem(WRENCH.getTag()), CircuitGoodElectronic, + ImmutableMap.builder() + .put('S', ITEM_CASING.getMaterialTag(Steel)) + .put('C', CIRCUITS_BASIC) + .put('c', CABLE_RED_ALLOY.getBlockItem(PipeSize.VTINY)) + .put('D', Diode).build(), "SCc", "CDC", "cCS"); // MANUAL VAC TUBE CRAFTING provider.addItemRecipe(output, "vac_tube", "has_wrench", provider.hasSafeItem(WRENCH.getTag()), VacuumTube, @@ -91,6 +98,30 @@ private static void bloodyCircuits(Consumer output, AntimatterRe .put('W', WIRE_FINE.getMaterialTag(Copper)) .build(), " P ", "WCW", " P "); + provider.addItemRecipe(output, GTIRef.ID, "", "diodes", "has_wrench", provider.hasSafeItem(WRENCH.getTag()), Diode, + ImmutableMap.builder() + .put('B', ForgeCTags.DYES_BLACK) + .put('T', WIRE_TIN.getBlockItem(PipeSize.VTINY)) + .put('W', Wafer) + .put('G', ForgeCTags.GLASS_PANES).build(), "BG ", "TWT", "BG "); + provider.addItemRecipe(output, GTIRef.ID, "diode_2", "diodes", "has_wrench", provider.hasSafeItem(WRENCH.getTag()), Diode, + ImmutableMap.builder() + .put('B', ForgeCTags.DYES_BLACK) + .put('T', WIRE_FINE.getMaterialTag(Tin)) + .put('W', Wafer) + .put('G', ForgeCTags.GLASS_PANES).build(), "BG ", "TWT", "BG "); + provider.addStackRecipe(output, GTIRef.ID, "diode_#", "diodes", "has_wrench", provider.hasSafeItem(WRENCH.getTag()), new ItemStack(Diode), + ImmutableMap.builder() + .put('B', ForgeCTags.DYES_BLACK) + .put('T', WIRE_TIN.getBlockItem(PipeSize.VTINY)) + .put('W', DUST_TINY.getMaterialTag(Gallium)) + .put('G', ForgeCTags.GLASS_PANES).build(), "BG ", "TWT", "BG "); + provider.addStackRecipe(output, GTIRef.ID, "diode_4", "diodes", "has_wrench", provider.hasSafeItem(WRENCH.getTag()), new ItemStack(Diode), + ImmutableMap.builder() + .put('B', ForgeCTags.DYES_BLACK) + .put('T', WIRE_FINE.getMaterialTag(Tin)) + .put('W', DUST_TINY.getMaterialTag(Gallium)) + .put('G', ForgeCTags.GLASS_PANES).build(), "BG ", "TWT", "BG "); } private static void circuits(Consumer output, AntimatterRecipeProvider provider){ @@ -147,26 +178,67 @@ public static void init() { private static void silicon(){ BLASTING.RB().temperature(1784).ii(DUST.getMaterialIngredient(Silicon, 16), INT_CIRCUITS.get(16)).fi(Helium.getGas(1000)).io(SiliconBoule).add("silicon_boule", 9000, 120); - addCuttingRecipe(SiliconBoule, new ItemStack(Wafer, 16), "wafer", 1600, 384); - addCuttingRecipe(Wafer, new ItemStack(SiliconChip, 8), "silicon_chip", 1600, 384); + addCuttingRecipe(SiliconBoule, Wafer, 16, 1600, 384, 1); + addCuttingRecipe(Wafer, SiliconChip, 8, 600, 48, 22); if (GregTechConfig.GAMEPLAY.HARDER_CIRCUITS){ BLASTING.RB().temperature(2484).ii(DUST.getMaterialIngredient(Silicon, 16), DUST.getMaterialIngredient(Glowstone, 1)).fi(Nitrogen.getGas(1000)).io(GlowstoneDopedSiliconBoule).add("glowstone_doped_silicon_boule", 12000, 480); BLASTING.RB().temperature(2484).ii(DUST.getMaterialIngredient(Silicon, 16), DUST.getMaterialIngredient(Naquadah, 1)).fi(Argon.getGas(1000)).io(NaquadahDopedSiliconBoule).add("naquadah_doped_silicon_boule", 15000, 1920); - addCuttingRecipe(GlowstoneDopedSiliconBoule, new ItemStack(GlowstoneDopedWafer, 32), "glowstone_doped_wafer", 800, 64); - addCuttingRecipe(NaquadahDopedSiliconBoule, new ItemStack(NaquadahDopedWafer, 64), "naquadah_doped_wafer", 1600, 64); + addCuttingRecipe(GlowstoneDopedSiliconBoule, GlowstoneDopedWafer, 32, 800, 64, 20); + addCuttingRecipe(NaquadahDopedSiliconBoule, NaquadahDopedWafer, 64, 1600, 64, 240); + addLensRecipe(NaquadahDopedWafer, ASoCWafer, 1, 200, 1920, Amber, Topaz); + addCuttingRecipe(ASoCWafer, ASoC, 8, 600, 48, 22); + addLensRecipe(Wafer, CentralProcessingUnitWafer, 1, 900, 120, Diamond, Glass, Dilithium); + addLensRecipe(GlowstoneDopedWafer, CentralProcessingUnitWafer, 4, 500, 480, Diamond, Glass, Dilithium); + addLensRecipe(NaquadahDopedWafer, CentralProcessingUnitWafer, 8, 200, 1920, Diamond, Glass, Dilithium); + addCuttingRecipe(CentralProcessingUnitWafer, CentralProcessingUnit, 8, 600, 48, 22); + CHEMICAL_REACTING.RB().ii(of(PICWafer), DUST.getMaterialIngredient(IndiumGalliumPhosphide, 2)).fi(RedAlloy.getLiquid(L * 2)).io(HPICWafer).add("hpic_wafer", 1200, 1920); + addCuttingRecipe(HPICWafer, HighPowerIC, 2, 600, 48, 22); + addLensRecipe(Wafer, IntegratedLogicCircuitWafer, 1, 900, 120, Ruby, RedGarnet, Jade); + addLensRecipe(GlowstoneDopedWafer, IntegratedLogicCircuitWafer, 4, 500, 480, Ruby, RedGarnet, Jade); + addLensRecipe(NaquadahDopedWafer, IntegratedLogicCircuitWafer, 8, 200, 1920, Ruby, RedGarnet, Jade); + addCuttingRecipe(IntegratedLogicCircuitWafer, IntegratedLogicCircuit, 8, 600, 48, 22); + addLensRecipe(GlowstoneDopedWafer, NANDMemoryChipWafer, 1, 500, 480, EnderPearl); + addLensRecipe(NaquadahDopedWafer, NANDMemoryChipWafer, 4, 200, 1920, EnderPearl); + addCuttingRecipe(NANDMemoryChipWafer, NANDMemoryChip, 32, 600, 48, 22); + CHEMICAL_REACTING.RB().ii(of(CentralProcessingUnitWafer), of(CarbonFibre, 16)).fi(Glowstone.getLiquid(L * 4)).io(NanoCpuWafer).add("nano_cpu_wafer", 400, 1920); + addCuttingRecipe(NanoCpuWafer, NanoCpu, 7, 600, 48, 22); + addLensRecipe(GlowstoneDopedWafer, NorMemoryChipWafer, 1, 500, 480, EnderEye); + addLensRecipe(NaquadahDopedWafer, NorMemoryChipWafer, 4, 200, 1920, EnderEye); + addCuttingRecipe(NorMemoryChipWafer, NorMemoryChip, 16, 600, 48, 22); + addLensRecipe(GlowstoneDopedWafer, PICWafer, 1, 500, 480, Opal, Sapphire, BlueTopaz); + addLensRecipe(NaquadahDopedWafer, PICWafer, 4, 200, 1920, Opal, Sapphire, BlueTopaz); + addCuttingRecipe(PICWafer, PowerIC, 4, 600, 48, 22); + CHEMICAL_REACTING.RB().ii(of(NanoCpuWafer), of(QuantumEye, 2)).fi(GalliumArsenide.getLiquid(L * 2)).io(QBitWafer).add("qbit_wafer", 400, 1920); + CHEMICAL_REACTING.RB().ii(of(NanoCpuWafer), DUST.getMaterialIngredient(IndiumGalliumPhosphide, 1)).fi(Radon.getGas(50)).io(QBitWafer).add("qbit_wafer_2", 600, 1920); + addCuttingRecipe(QBitWafer, QBitProcessingUnit, 5, 600, 48, 22); + addLensRecipe(Wafer, RandomAccessMemoryChipWafer, 1, 900, 120, GreenSapphire); + addLensRecipe(GlowstoneDopedWafer, RandomAccessMemoryChipWafer, 4, 500, 480, GreenSapphire); + addLensRecipe(NaquadahDopedWafer, RandomAccessMemoryChipWafer, 8, 200, 1920, GreenSapphire); + addCuttingRecipe(RandomAccessMemoryChipWafer, RandomAccessMemoryChip, 32, 600, 48, 22); + addLensRecipe(GlowstoneDopedWafer, SOCWafer, 1, 500, 480, YellowGarnet); + addLensRecipe(NaquadahDopedWafer, SOCWafer, 4, 200, 1920, YellowGarnet); + addCuttingRecipe(SOCWafer, SOC, 10, 600, 48, 22); + } } - private static void addCuttingRecipe(Item input, ItemStack output, String id, int ticks, int power){ + private static void addLensRecipe(ItemBasic input, ItemBasic output, int count, int ticks, int power, Material... lenses){ + String extra = input.getId().replace("doped_", "").replace("wafer", ""); + for (Material lens : lenses){ + LASER_ENGRAVING.RB().ii(of(input), LENS.getMaterialIngredient(lens, 1).setNoConsume()).io(new ItemStack(output, count)).add(output.getId() + "_" + extra + lens.getId(), ticks, power); + } + } + + private static void addCuttingRecipe(Item input, ItemBasic output, int amount, int ticks, int power, int liquidMultiplier){ CUTTING.RB().ii(RecipeIngredient.of(input, 1)) - .fi(FluidPlatformUtils.createFluidStack(Fluids.WATER, 960 * TesseractGraphWrappers.dropletMultiplier)) - .io(output).add(id + "_with_water", ticks, power); + .fi(FluidPlatformUtils.createFluidStack(Fluids.WATER, 5 * liquidMultiplier * TesseractGraphWrappers.dropletMultiplier)) + .io(new ItemStack(output, amount)).add(output.getId() + "_with_water", ticks, power); CUTTING.RB().ii(RecipeIngredient.of(input, 1)) - .fi(DistilledWater.getLiquid(721)) - .io(output).add(id + "_with_distilled_water", ticks, power); + .fi(DistilledWater.getLiquid(3 * liquidMultiplier)) + .io(new ItemStack(output, amount)).add(output.getId() + "_with_distilled_water", ticks, power); CUTTING.RB().ii(RecipeIngredient.of(input, 1)) - .fi(Lubricant.getLiquid(240)) - .io(output).add(id + "_with_lubricant", ticks / 2, power); + .fi(Lubricant.getLiquid(liquidMultiplier)) + .io(new ItemStack(output, amount)).add(output.getId() + "_with_lubricant", ticks / 2, power); } private static void circuitParts(){ @@ -212,35 +284,35 @@ private static void circuits(){ private static void bloodyBoards() { //Plastic - CHEMICAL_REACTING.RB().ii(of(GregTechData.CircuitBoardPhenolic,1), of(PLATE.get(Polyethylene),1), of(AntimatterMaterialTypes.FOIL.get(AntimatterMaterials.Copper),1)) + CHEMICAL_REACTING.RB().ii(PLATE.getMaterialIngredient(Polyethylene, 1), FOIL.getMaterialIngredient(Copper, 1)) .fi(SulfuricAcid.getLiquid(125)) .io(new ItemStack(GregTechData.CircuitBoardPlastic,1)) - .add("plastic_circuit_board",8*20, 128); - CHEMICAL_REACTING.RB().ii(of(GregTechData.CircuitBoardPhenolic,1), of(PLATE.get(PolyvinylChloride),1), of(AntimatterMaterialTypes.FOIL.get(AntimatterMaterials.Copper),1)) + .add("plastic_circuit_board",25*20, 10); + CHEMICAL_REACTING.RB().ii(PLATE.getMaterialIngredient(PolyvinylChloride, 1), FOIL.getMaterialIngredient(Copper, 1)) .fi(SulfuricAcid.getLiquid(125)) .io(new ItemStack(GregTechData.CircuitBoardPlastic,2)) - .add("plastic_circuit_board_2",8*20, 128); - CHEMICAL_REACTING.RB().ii(of(GregTechData.CircuitBoardPhenolic,1), of(PLATE.get(Polytetrafluoroethylene),1), of(AntimatterMaterialTypes.FOIL.get(AntimatterMaterials.Copper),1)) + .add("plastic_circuit_board_2",25*20, 10); + CHEMICAL_REACTING.RB().ii(PLATE.getMaterialIngredient(Polytetrafluoroethylene, 1), FOIL.getMaterialIngredient(Copper, 1)) .fi(SulfuricAcid.getLiquid(125)) .io(new ItemStack(GregTechData.CircuitBoardPlastic,4)) - .add("plastic_circuit_board_3",8*20, 128); + .add("plastic_circuit_board_4",25*20, 10); //Epoxy - CHEMICAL_REACTING.RB().ii(of(GregTechData.CircuitBoardPlastic,1), of(PLATE.get(EpoxyResin),1), of(AntimatterMaterialTypes.FOIL.get(AnnealedCopper),1)) + CHEMICAL_REACTING.RB().ii(PLATE.getMaterialIngredient(EpoxyResin, 1), FOIL.getMaterialIngredient(Copper, 1)) .fi(SulfuricAcid.getLiquid(125)) .io(new ItemStack(GregTechData.CircuitBoardEpoxy,1)) - .add("epoxy_circuit_board",8*20, 512); + .add("epoxy_circuit_board",25*20, 10); //Fiber - CHEMICAL_REACTING.RB().ii(of(GregTechData.CircuitBoardEpoxy,1), of(PLATE.get(FiberReinforcedEpoxyResin),1), of(AntimatterMaterialTypes.FOIL.get(AnnealedCopper),1)) + CHEMICAL_REACTING.RB().ii(PLATE.getMaterialIngredient(FiberReinforcedEpoxyResin, 1), FOIL.getMaterialIngredient(Copper, 1)) .fi(SulfuricAcid.getLiquid(125)) - .io(new ItemStack(GregTechData.CircuitBoardFiber,1)) - .add("fiber_circuit_board",8*20, 2048); + .io(new ItemStack(CircuitBoardFiber,1)) + .add("fiber_circuit_board",25*20, 10); //MultiFiber - CHEMICAL_REACTING.RB().ii(of(GregTechData.CircuitBoardFiber,1), of(AntimatterMaterialTypes.FOIL.get(Electrum),1)) - .fi(SulfuricAcid.getLiquid(125)) + CHEMICAL_REACTING.RB().ii(of(GregTechData.CircuitBoardFiber,1), FOIL.getMaterialIngredient(Electrum, 16)) + .fi(SulfuricAcid.getLiquid(250)) .io(new ItemStack(GregTechData.CircuitBoardMultiFiber,1)) - .add("multi_fiber_circuit_board",8*20, 8192); + .add("multi_fiber_circuit_board",5*20, 480); //Wetware - ASSEMBLING.RB().ii(of(GregTechData.CircuitBoardMultiFiber,1), of(GregTechData.CircuitEnergyFlow,1), of(AntimatterMaterialTypes.FOIL.get(Electrum),1)) + ASSEMBLING.RB().ii(of(GregTechData.CircuitBoardMultiFiber,1), of(GregTechTags.CIRCUITS_GOOD,1), of(PetriDish), of(SensorLV), of(COVER_PUMP.getItem(LV))) .fi(Polystyrene.getLiquid(144)) .io(new ItemStack(GregTechData.CircuitBoardWetware,1)) .add("wetware_circuit_board",8*20, 32768); @@ -255,6 +327,7 @@ private static void bloodyCircuitParts(){ ASSEMBLING.RB().ii(FOIL.getMaterialIngredient(PolyvinylChloride, 4), FOIL.getMaterialIngredient(Aluminium, 1)).fi(Polyethylene.getLiquid(L / 4)).io(new ItemStack(SMDCapacitor,16)).add("smd_capacitor_aluminium",50, 96); ASSEMBLING.RB().ii(FOIL.getMaterialIngredient(SiliconeRubber, 4), FOIL.getMaterialIngredient(Tantalum, 1)).fi(Polyethylene.getLiquid(L / 4)).io(new ItemStack(SMDCapacitor,32)).add("smd_capacitor_tantalum_rubber",60, 120); ASSEMBLING.RB().ii(FOIL.getMaterialIngredient(SiliconeRubber, 4), FOIL.getMaterialIngredient(Aluminium, 1)).fi(Polyethylene.getLiquid(L / 4)).io(new ItemStack(SMDCapacitor,16)).add("smd_capacitor_aluminium_rubber",60, 120); + ASSEMBLING.RB().ii(WIRE_FINE.getMaterialIngredient(AnnealedCopper, 4), DUST_SMALL.getMaterialIngredient(Gallium, 1)).fi(Polyethylene.getLiquid(L * 2)).io(new ItemStack(Diode, 16)).add("diode", 400, 48); } private static void bloodyCircuits() { @@ -268,21 +341,45 @@ private static void bloodyCircuits() { WIRE_FINE.getMaterialIngredient(Copper, 4), of(IntegratedLogicCircuit, 1)) .io(new ItemStack(CircuitBasicIntegrated,1)) .fi(material.getLiquid(base * 4)).add("basic_circuit_using_" + material.getId(),200, 8); + CIRCUIT_ASSEMBLING.RB().ii(of(CircuitBoardPlastic), of(IntegratedLogicCircuit, 4), + of(GregTechTags.RESISTORS, 4), of(GregTechTags.CAPACITORS, 4), + of(GregTechTags.TRANSISTORS, 4), WIRE_FINE.getMaterialIngredient(Copper, 2)) + .io(new ItemStack(MicroProcessor, 4)) + .fi(material.getLiquid(base * 4)).add("microprocessor_using_" + material.getId(), 200, 60); + CIRCUIT_ASSEMBLING.RB().ii(of(CircuitBoardPlastic), of(SOC, 4), WIRE_FINE.getMaterialIngredient(Copper, 2)) + .io(new ItemStack(MicroProcessor, 4)) + .fi(material.getLiquid(base * 4)).add("microprocessor_soc_using_" + material.getId(), 200, 60); //Good - ASSEMBLING.RB().ii(of(GregTechData.CircuitBoardPhenolic, 1), of(GregTechData.Resistor, 2),of(GregTechData.Transistor, 2), - of(GregTechData.Capacitor, 2),of(AntimatterMaterialTypes.WIRE_FINE.get(Electrum), 2)) - .io(new ItemStack(GregTechData.CircuitGoodElectronic,1)) - .fi(material.getLiquid(base * 4)).add("good_circuit_using_" + material.getId(),20*20, 32); + CIRCUIT_ASSEMBLING.RB().ii(of(GregTechData.CircuitBoardPhenolic, 1), of(RESISTORS, 4),of(CircuitBasicIntegrated, 3), + WIRE_FINE.getMaterialIngredient(Electrum, 8)) + .io(new ItemStack(CircuitGoodIntegrated,1)) + .fi(material.getLiquid(base * 4)).add("good_circuit_using_" + material.getId(),20*20, 16); + CIRCUIT_ASSEMBLING.RB().ii(of(CircuitBoardPlastic), of(CentralProcessingUnit, 1), + of(GregTechTags.RESISTORS, 2), of(GregTechTags.CAPACITORS, 2), + of(GregTechTags.TRANSISTORS, 2), WIRE_FINE.getMaterialIngredient(RedAlloy, 2)) + .io(new ItemStack(IntegratedProcessor, 4)) + .fi(material.getLiquid(base * 4)).add("integrated_processor_using_" + material.getId(), 200, 60); + CIRCUIT_ASSEMBLING.RB().ii(of(CircuitBoardPlastic), of(SOC, 1), WIRE_FINE.getMaterialIngredient(RedAlloy, 2)) + .io(new ItemStack(IntegratedProcessor, 1)) + .fi(material.getLiquid(base * 4)).add("integrated_processor_soc_using_" + material.getId(), 200, 60); //Advanced - ASSEMBLING.RB().ii(of(GregTechData.CircuitBoardPlastic, 1), of(GregTechData.Resistor, 4),of(GregTechData.Transistor, 4), - of(GregTechData.Capacitor, 4),of(AntimatterMaterialTypes.WIRE_FINE.get(RedAlloy), 2)) + CIRCUIT_ASSEMBLING.RB().ii(of(CircuitGoodIntegrated, 2), of(IntegratedLogicCircuit, 3),of(RandomAccessMemoryChip, 1), + of(TRANSISTORS, 4), WIRE_FINE.getMaterialIngredient(Electrum, 16)) .io(new ItemStack(GregTechData.CircuitAdv,1)) - .fi(material.getLiquid(base * 4)).add("advanced_circuit_using_" + material.getId(),20*20, 128); - //Nano - ASSEMBLING.RB().ii(of(GregTechData.CircuitBoardEpoxy, 1), of(GregTechData.Resistor, 4),of(GregTechData.Transistor, 4), - of(GregTechData.Capacitor, 4),of(AntimatterMaterialTypes.WIRE_FINE.get(RoseGold), 2)) - .io(new ItemStack(GregTechData.NanoProcessor,1)) - .fi(material.getLiquid(base * 4)).add("nano_processor_circuit_using_" + material.getId(),20*20, 512); + .fi(material.getLiquid(base * 4)).add("advanced_circuit_using_" + material.getId(),800, 28); + CIRCUIT_ASSEMBLING.RB().ii(of(CircuitBoardPlastic), of(IntegratedProcessor, 2), of(SmallCoil, 4), + of(CAPACITORS, 4), of(RandomAccessMemoryChip, 4), WIRE_FINE.getMaterialIngredient(RedAlloy, 12)) + .io(ProcessorAssembly) + .fi(material.getLiquid(base * 4)).add("processor_assembly_using_" + material.getId(), 200, 600); + CIRCUIT_ASSEMBLING.RB().ii(of(CircuitBoardEpoxy), of(NanoCpu, 1), + of(GregTechTags.RESISTORS, 2), of(GregTechTags.CAPACITORS, 2), + of(GregTechTags.TRANSISTORS, 2), WIRE_FINE.getMaterialIngredient(Electrum, 2)) + .io(new ItemStack(NanoProcessor)) + .fi(material.getLiquid(base * 4)).add("nano_processor_using_" + material.getId(), 200, 600); + CIRCUIT_ASSEMBLING.RB().ii(of(CircuitBoardPlastic), of(ASoC, 1), WIRE_FINE.getMaterialIngredient(Electrum, 2)) + .io(new ItemStack(NanoProcessor)) + .fi(material.getLiquid(base * 4)).add("nano_processor_soc_using_" + material.getId(), 300, 8192); + //Quantum ASSEMBLING.RB().ii(of(GregTechData.CircuitBoardFiber, 1), of(GregTechData.Resistor, 4),of(GregTechData.Transistor, 4), of(GregTechData.Capacitor, 4),of(AntimatterMaterialTypes.WIRE_FINE.get(Platinum), 2)) diff --git a/common/src/main/resources/assets/gti/textures/gui/progress_bars/bronze_sifter.png b/common/src/main/resources/assets/gti/textures/gui/progress_bars/bronze_sifter.png index 0c9e4b8dd..4b1d28e20 100644 Binary files a/common/src/main/resources/assets/gti/textures/gui/progress_bars/bronze_sifter.png and b/common/src/main/resources/assets/gti/textures/gui/progress_bars/bronze_sifter.png differ diff --git a/common/src/main/resources/assets/gti/textures/item/basic/advanced_circuit.png b/common/src/main/resources/assets/gti/textures/item/basic/circuits/advanced_circuit.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/advanced_circuit.png rename to common/src/main/resources/assets/gti/textures/item/basic/circuits/advanced_circuit.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/advanced_circuit_board.png b/common/src/main/resources/assets/gti/textures/item/basic/circuits/advanced_circuit_board.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/advanced_circuit_board.png rename to common/src/main/resources/assets/gti/textures/item/basic/circuits/advanced_circuit_board.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/basic_circuit_board.png b/common/src/main/resources/assets/gti/textures/item/basic/circuits/basic_circuit_board.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/basic_circuit_board.png rename to common/src/main/resources/assets/gti/textures/item/basic/circuits/basic_circuit_board.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/basic_electronic_circuit.png b/common/src/main/resources/assets/gti/textures/item/basic/circuits/basic_electronic_circuit.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/basic_electronic_circuit.png rename to common/src/main/resources/assets/gti/textures/item/basic/circuits/basic_electronic_circuit.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/basic_integrated_circuit.png b/common/src/main/resources/assets/gti/textures/item/basic/circuits/basic_integrated_circuit.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/basic_integrated_circuit.png rename to common/src/main/resources/assets/gti/textures/item/basic/circuits/basic_integrated_circuit.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/board_coated.png b/common/src/main/resources/assets/gti/textures/item/basic/circuits/board_coated.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/board_coated.png rename to common/src/main/resources/assets/gti/textures/item/basic/circuits/board_coated.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/board_epoxy.png b/common/src/main/resources/assets/gti/textures/item/basic/circuits/board_epoxy.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/board_epoxy.png rename to common/src/main/resources/assets/gti/textures/item/basic/circuits/board_epoxy.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/board_fiber_reinforced.png b/common/src/main/resources/assets/gti/textures/item/basic/circuits/board_fiber_reinforced.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/board_fiber_reinforced.png rename to common/src/main/resources/assets/gti/textures/item/basic/circuits/board_fiber_reinforced.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/board_multilayer_fiber_reinforced.png b/common/src/main/resources/assets/gti/textures/item/basic/circuits/board_multilayer_fiber_reinforced.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/board_multilayer_fiber_reinforced.png rename to common/src/main/resources/assets/gti/textures/item/basic/circuits/board_multilayer_fiber_reinforced.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/board_phenolic.png b/common/src/main/resources/assets/gti/textures/item/basic/circuits/board_phenolic.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/board_phenolic.png rename to common/src/main/resources/assets/gti/textures/item/basic/circuits/board_phenolic.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/board_plastic.png b/common/src/main/resources/assets/gti/textures/item/basic/circuits/board_plastic.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/board_plastic.png rename to common/src/main/resources/assets/gti/textures/item/basic/circuits/board_plastic.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/board_wetware.png b/common/src/main/resources/assets/gti/textures/item/basic/circuits/board_wetware.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/board_wetware.png rename to common/src/main/resources/assets/gti/textures/item/basic/circuits/board_wetware.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/data_control_circuit.png b/common/src/main/resources/assets/gti/textures/item/basic/circuits/data_control_circuit.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/data_control_circuit.png rename to common/src/main/resources/assets/gti/textures/item/basic/circuits/data_control_circuit.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/data_orb.png b/common/src/main/resources/assets/gti/textures/item/basic/circuits/data_orb.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/data_orb.png rename to common/src/main/resources/assets/gti/textures/item/basic/circuits/data_orb.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/data_stick.png b/common/src/main/resources/assets/gti/textures/item/basic/circuits/data_stick.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/data_stick.png rename to common/src/main/resources/assets/gti/textures/item/basic/circuits/data_stick.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/data_storage_circuit.png b/common/src/main/resources/assets/gti/textures/item/basic/circuits/data_storage_circuit.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/data_storage_circuit.png rename to common/src/main/resources/assets/gti/textures/item/basic/circuits/data_storage_circuit.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/empty_circuit_board.png b/common/src/main/resources/assets/gti/textures/item/basic/circuits/empty_circuit_board.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/empty_circuit_board.png rename to common/src/main/resources/assets/gti/textures/item/basic/circuits/empty_circuit_board.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/empty_processor_circuit_board.png b/common/src/main/resources/assets/gti/textures/item/basic/circuits/empty_processor_circuit_board.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/empty_processor_circuit_board.png rename to common/src/main/resources/assets/gti/textures/item/basic/circuits/empty_processor_circuit_board.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/energy_flow_circuit.png b/common/src/main/resources/assets/gti/textures/item/basic/circuits/energy_flow_circuit.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/energy_flow_circuit.png rename to common/src/main/resources/assets/gti/textures/item/basic/circuits/energy_flow_circuit.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/good_electronic_circuit.png b/common/src/main/resources/assets/gti/textures/item/basic/circuits/good_electronic_circuit.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/good_electronic_circuit.png rename to common/src/main/resources/assets/gti/textures/item/basic/circuits/good_electronic_circuit.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/good_integrated_circuit.png b/common/src/main/resources/assets/gti/textures/item/basic/circuits/good_integrated_circuit.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/good_integrated_circuit.png rename to common/src/main/resources/assets/gti/textures/item/basic/circuits/good_integrated_circuit.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/circuits/microprocessor.png b/common/src/main/resources/assets/gti/textures/item/basic/circuits/microprocessor.png new file mode 100644 index 000000000..cffad53f1 Binary files /dev/null and b/common/src/main/resources/assets/gti/textures/item/basic/circuits/microprocessor.png differ diff --git a/common/src/main/resources/assets/gti/textures/item/basic/nanoprocessor.png b/common/src/main/resources/assets/gti/textures/item/basic/circuits/nanoprocessor.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/nanoprocessor.png rename to common/src/main/resources/assets/gti/textures/item/basic/circuits/nanoprocessor.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/circuits/processor_assembly.png b/common/src/main/resources/assets/gti/textures/item/basic/circuits/processor_assembly.png new file mode 100644 index 000000000..cb9ada097 Binary files /dev/null and b/common/src/main/resources/assets/gti/textures/item/basic/circuits/processor_assembly.png differ diff --git a/common/src/main/resources/assets/gti/textures/item/basic/processor_circuit_board.png b/common/src/main/resources/assets/gti/textures/item/basic/circuits/processor_circuit_board.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/processor_circuit_board.png rename to common/src/main/resources/assets/gti/textures/item/basic/circuits/processor_circuit_board.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/quantumprocessor.png b/common/src/main/resources/assets/gti/textures/item/basic/circuits/quantumprocessor.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/quantumprocessor.png rename to common/src/main/resources/assets/gti/textures/item/basic/circuits/quantumprocessor.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/wetware_circuit.png b/common/src/main/resources/assets/gti/textures/item/basic/circuits/wetware_circuit.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/wetware_circuit.png rename to common/src/main/resources/assets/gti/textures/item/basic/circuits/wetware_circuit.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/petri_dish.png b/common/src/main/resources/assets/gti/textures/item/basic/petri_dish.png new file mode 100644 index 000000000..ba3c5f20b Binary files /dev/null and b/common/src/main/resources/assets/gti/textures/item/basic/petri_dish.png differ diff --git a/common/src/main/resources/assets/gti/textures/item/basic/silicon/39.png b/common/src/main/resources/assets/gti/textures/item/basic/silicon/asoc.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/silicon/39.png rename to common/src/main/resources/assets/gti/textures/item/basic/silicon/asoc.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/silicon/41.png b/common/src/main/resources/assets/gti/textures/item/basic/silicon/central_processing_unit.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/silicon/41.png rename to common/src/main/resources/assets/gti/textures/item/basic/silicon/central_processing_unit.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/silicon/43.png b/common/src/main/resources/assets/gti/textures/item/basic/silicon/high_power_ic.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/silicon/43.png rename to common/src/main/resources/assets/gti/textures/item/basic/silicon/high_power_ic.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/silicon/45.png b/common/src/main/resources/assets/gti/textures/item/basic/silicon/nanacomponent_central_processing_unit.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/silicon/45.png rename to common/src/main/resources/assets/gti/textures/item/basic/silicon/nanacomponent_central_processing_unit.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/silicon/47.png b/common/src/main/resources/assets/gti/textures/item/basic/silicon/nand_memory_chip.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/silicon/47.png rename to common/src/main/resources/assets/gti/textures/item/basic/silicon/nand_memory_chip.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/silicon/49.png b/common/src/main/resources/assets/gti/textures/item/basic/silicon/nor_memory_chip.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/silicon/49.png rename to common/src/main/resources/assets/gti/textures/item/basic/silicon/nor_memory_chip.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/silicon/51.png b/common/src/main/resources/assets/gti/textures/item/basic/silicon/power_ic.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/silicon/51.png rename to common/src/main/resources/assets/gti/textures/item/basic/silicon/power_ic.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/silicon/53.png b/common/src/main/resources/assets/gti/textures/item/basic/silicon/qbit_processing_unit.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/silicon/53.png rename to common/src/main/resources/assets/gti/textures/item/basic/silicon/qbit_processing_unit.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/silicon/obit_wafer.png b/common/src/main/resources/assets/gti/textures/item/basic/silicon/qbit_wafer.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/silicon/obit_wafer.png rename to common/src/main/resources/assets/gti/textures/item/basic/silicon/qbit_wafer.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/silicon/55.png b/common/src/main/resources/assets/gti/textures/item/basic/silicon/random_access_memory_chip.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/silicon/55.png rename to common/src/main/resources/assets/gti/textures/item/basic/silicon/random_access_memory_chip.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/silicon/57.png b/common/src/main/resources/assets/gti/textures/item/basic/silicon/soc.png similarity index 100% rename from common/src/main/resources/assets/gti/textures/item/basic/silicon/57.png rename to common/src/main/resources/assets/gti/textures/item/basic/silicon/soc.png diff --git a/common/src/main/resources/assets/gti/textures/item/basic/small_coil.png b/common/src/main/resources/assets/gti/textures/item/basic/small_coil.png new file mode 100644 index 000000000..71cfbbfac Binary files /dev/null and b/common/src/main/resources/assets/gti/textures/item/basic/small_coil.png differ diff --git a/common/src/main/resources/assets/gti/textures/item/basic/smd_diode.png b/common/src/main/resources/assets/gti/textures/item/basic/smd_diode.png new file mode 100644 index 000000000..2f900ccc4 Binary files /dev/null and b/common/src/main/resources/assets/gti/textures/item/basic/smd_diode.png differ