From cd2ba914a6b5b980ff56347455fcf43a9e3eea3b Mon Sep 17 00:00:00 2001 From: miozune Date: Sat, 26 Nov 2022 01:56:28 +0900 Subject: Rewrite GUIs with ModularUI (#440) * Update GT * NEI migration & cleanup Deprecate GTPP_Recipe_Map_Internal#sMappingsEx and delegate to GT_Recipe_Map#sMappings instead Remove recipe modification check * Boiler * Programmed Circuit & Super Bus * Lower the number of fluid slots for multi mixer NEI * Solar Generator * Crop Manager * Bronze Workbench & Advanced Workbench * Turbine Housing & Rotor Assembly * Iron Plated Blast Furnace * Player Safe * Advanced Muffler Hatch * spotlessApply * Auto Workbench * Breaker, Control Core, RTG Hatch, Steam Bus, some cleanup * Fix crash when removing Breaker * Data Orb Repository * Charging/Discharging Bus * Pollution Scrubber * Storage Crate, Shelf, TieredChest They're just broken in the first place, don't blame me * cleanup * Steam Condenser It's broken in the first place, never blame me! * Catalyst Housing, Ball Housing * Fluid Tank, generators, custom hatches, cleanup * Computer Cube MKII Many things are broken in the first place, I swear * Inventory Manager * Migrate multiblock dehydrator recipemap to ModularUI * Overflow cover * Redstone Circuit Block * Multiblock * cleanup * Update GT --- .../java/gregtech/api/util/FishPondFakeRecipe.java | 9 +- src/main/java/gregtech/api/util/GTPP_Recipe.java | 1678 +++++++------------- src/main/java/gtPlusPlus/GTplusplus.java | 9 - .../core/item/chemistry/AgriculturalChem.java | 4 +- .../core/item/chemistry/GenericChem.java | 4 +- .../item/circuit/GTPP_IntegratedCircuit_Item.java | 214 +++ .../core/item/circuit/ItemAdvancedChip.java | 259 --- .../java/gtPlusPlus/core/slots/SlotAirFilter.java | 29 - .../java/gtPlusPlus/core/slots/SlotBlueprint.java | 29 - .../java/gtPlusPlus/core/slots/SlotElectric.java | 48 - .../gtPlusPlus/core/slots/SlotLockedInput.java | 53 - .../gtPlusPlus/core/slots/SlotNoInputLogging.java | 34 - .../core/slots/SlotPollutionScrubber.java | 67 - .../core/tileentities/base/TileEntityBase.java | 13 - .../util/debug/DEBUG_MULTIBLOCK_ShapeSpawner.java | 27 +- .../gtPlusPlus/nei/GTPP_NEI_DefaultHandler.java | 3 + src/main/java/gtPlusPlus/nei/GT_NEI_LFTR.java | 14 +- .../java/gtPlusPlus/nei/GT_NEI_MultiNoCell.java | 33 - .../gtPlusPlus/nei/GT_NEI_MultiSolarTower.java | 14 +- .../nei/GT_NEI_MultiTreeGrowthSimulator.java | 11 +- src/main/java/gtPlusPlus/nei/NEI_GT_Config.java | 64 +- src/main/java/gtPlusPlus/nei/NEI_IMC_Sender.java | 17 +- .../plugin/agrichem/item/algae/ItemBioChip.java | 260 --- .../gregtech/api/gui/CONTAINER_AdvancedBoiler.java | 102 -- .../xmod/gregtech/api/gui/CONTAINER_Cyclotron.java | 40 - .../xmod/gregtech/api/gui/CONTAINER_DataHatch.java | 76 - .../gregtech/api/gui/CONTAINER_DeluxeTank.java | 76 - .../api/gui/CONTAINER_Hatch_Muffler_Advanced.java | 53 - .../api/gui/CONTAINER_IndustrialCentrifuge.java | 42 - .../api/gui/CONTAINER_IronBlastFurnace.java | 31 - .../xmod/gregtech/api/gui/CONTAINER_MatterFab.java | 104 -- .../api/gui/CONTAINER_MetaTileMachineLong.java | 256 --- .../gregtech/api/gui/CONTAINER_MultiMachine.java | 286 ---- .../CONTAINER_MultiMachine_NoPlayerInventory.java | 31 - .../api/gui/CONTAINER_PowerSubStation.java | 85 - .../xmod/gregtech/api/gui/CONTAINER_SafeBlock.java | 118 -- .../gregtech/api/gui/CONTAINER_SolarGenerator.java | 90 -- .../gregtech/api/gui/CONTAINER_SteamCondenser.java | 100 -- .../gregtech/api/gui/CONTAINER_SuperChest.java | 75 - .../gregtech/api/gui/CONTAINER_TreeFarmer.java | 72 - .../xmod/gregtech/api/gui/GTPP_UITextures.java | 150 ++ .../xmod/gregtech/api/gui/GUI_AdvancedBoiler.java | 42 - .../xmod/gregtech/api/gui/GUI_Cyclotron.java | 49 - .../xmod/gregtech/api/gui/GUI_DataHatch.java | 41 - .../xmod/gregtech/api/gui/GUI_DeluxeTank.java | 39 - .../api/gui/GUI_Hatch_Muffler_Advanced.java | 51 - .../gregtech/api/gui/GUI_IndustrialCentrifuge.java | 74 - .../gregtech/api/gui/GUI_IronBlastFurnace.java | 44 - .../xmod/gregtech/api/gui/GUI_MatterFab.java | 95 -- .../xmod/gregtech/api/gui/GUI_MultiMachine.java | 358 ----- .../gregtech/api/gui/GUI_MultiMachine_Default.java | 72 - .../gregtech/api/gui/GUI_Multi_Basic_Slotted.java | 92 -- .../xmod/gregtech/api/gui/GUI_PowerSubStation.java | 134 -- .../xmod/gregtech/api/gui/GUI_SafeBlock.java | 46 - .../xmod/gregtech/api/gui/GUI_SolarGenerator.java | 43 - .../xmod/gregtech/api/gui/GUI_SteamCondenser.java | 52 - .../xmod/gregtech/api/gui/GUI_SuperChest.java | 37 - .../xmod/gregtech/api/gui/GUI_TreeFarmer.java | 48 - .../xmod/gregtech/api/gui/SyncedLong.java | 59 - .../xmod/gregtech/api/gui/SyncedValueManager.java | 42 - .../GT_Container_ElectricAutoWorkbench.java | 137 -- .../GT_Container_ElectricInventoryManager.java | 316 ---- .../GT_GUIContainer_ElectricAutoWorkbench.java | 66 - .../GT_GUIContainer_ElectricInventoryManager.java | 202 --- .../api/gui/basic/CONTAINER_PollutionCleaner.java | 100 -- .../api/gui/basic/GT_Container_CropHarvestor.java | 179 --- .../gui/basic/GT_GUIContainer_CropHarvestor.java | 77 - .../api/gui/basic/GUI_PollutionCleaner.java | 76 - .../gui/computer/GT_Container_ComputerCube.java | 407 ----- .../GT_Container_RedstoneCircuitBlock.java | 175 -- .../gui/computer/GT_GUIContainer_ComputerCube.java | 225 --- .../GT_GUIContainer_RedstoneCircuitBlock.java | 136 -- .../gui/fluidreactor/Container_FluidReactor.java | 174 -- .../api/gui/fluidreactor/GUI_FluidReactor.java | 135 -- .../api/gui/hatches/CONTAINER_1by1_Turbine.java | 60 - .../gregtech/api/gui/hatches/CONTAINER_2by2.java | 31 - .../gregtech/api/gui/hatches/CONTAINER_4by4.java | 43 - .../gui/hatches/CONTAINER_HatchNbtConsumable.java | 298 ---- .../gregtech/api/gui/hatches/GUI_1by1_Turbine.java | 36 - .../xmod/gregtech/api/gui/hatches/GUI_2by2.java | 44 - .../xmod/gregtech/api/gui/hatches/GUI_4by4.java | 44 - .../api/gui/hatches/GUI_HatchNbtConsumable.java | 55 - .../hatches/charge/CONTAINER_Electric_2by2.java | 21 - .../hatches/charge/CONTAINER_Electric_4by4.java | 33 - .../api/gui/hatches/charge/GUI_Electric_2by2.java | 23 - .../api/gui/hatches/charge/GUI_Electric_4by4.java | 23 - .../api/gui/power/CONTAINER_BasicTank.java | 66 - .../xmod/gregtech/api/gui/power/GUI_BasicTank.java | 34 - .../api/gui/widget/DataStickSlotWidget.java | 28 + .../api/gui/widget/ElectricSlotWidget.java | 37 + .../workbench/GT_Container_AdvancedWorkbench.java | 158 -- .../workbench/GT_Container_BronzeWorkbench.java | 153 -- .../GT_GUIContainer_AdvancedWorkbench.java | 89 -- .../workbench/GT_GUIContainer_BronzeWorkbench.java | 16 - .../power/GTPP_MTE_BasicLosslessGenerator.java | 14 +- .../custom/power/GTPP_MTE_BasicMachine.java | 24 +- .../custom/power/GTPP_MTE_BasicTank.java | 13 - .../GT_MetaTileEntity_BasicBreaker.java | 35 +- .../GT_MetaTileEntity_DeluxeMachine.java | 34 +- .../GT_MetaTileEntity_DeluxeTank.java | 15 - .../GT_MetaTileEntity_Hatch_ControlCore.java | 27 +- ...etaTileEntity_Hatch_ElementalDataOrbHolder.java | 50 +- .../GT_MetaTileEntity_Hatch_Energy_RTG.java | 29 +- .../GT_MetaTileEntity_Hatch_InputBattery.java | 52 +- .../GT_MetaTileEntity_Hatch_Muffler_Adv.java | 63 +- .../GT_MetaTileEntity_Hatch_OutputBattery.java | 52 +- .../GT_MetaTileEntity_Hatch_Steam_BusInput.java | 29 +- .../GT_MetaTileEntity_Hatch_Steam_BusOutput.java | 29 +- .../GT_MetaTileEntity_Hatch_Turbine.java | 36 +- .../GT_MetaTileEntity_Hatch_TurbineProvider.java | 28 +- .../GT_MetaTileEntity_SuperBus_Input.java | 28 +- .../GT_MetaTileEntity_SuperBus_Output.java | 15 - .../implementations/base/CustomMetaTileBase.java | 4 +- .../GT_MetaTileEntity_Hatch_CustomFluidBase.java | 9 +- .../base/GregtechMeta_MultiBlockBase.java | 346 +++- .../base/GregtechMeta_SteamMultiBase.java | 10 - .../GregtechDoubleFuelGeneratorBase.java | 8 +- .../base/generators/GregtechMetaBoilerBase.java | 3 +- .../generators/GregtechMetaSolarGenerator.java | 3 +- .../GregtechRocketFuelGeneratorBase.java | 11 +- .../base/machines/GregtechMetaSafeBlockBase.java | 3 +- .../GT_MetaTileEntity_Hatch_NbtConsumable.java | 113 +- .../common/covers/GTPP_Cover_Overflow.java | 158 +- .../GT_MetaTileEntity_ElectricAutoWorkbench.java | 134 +- ...GT_MetaTileEntity_ElectricInventoryManager.java | 201 ++- .../generators/GT_MetaTileEntity_Boiler_Base.java | 63 +- .../generators/GT_MetaTileEntity_Boiler_Solar.java | 15 - .../generators/GT_MetaTileEntity_RfConvertor.java | 13 - .../GregtechMetaTileEntityGeothermalGenerator.java | 6 +- .../GregtechMetaTileEntitySolarGenerator.java | 84 +- .../creative/GregtechMetaCreativeEnergyBuffer.java | 13 - .../basic/GT_MetaTileEntity_CropHarvestor.java | 82 +- .../GregtechMetaAtmosphericReconditioner.java | 69 +- .../machines/basic/GregtechMetaCondensor.java | 81 +- .../GregtechMetaTileEntity_ChemicalReactor.java | 26 - ...regtechMetaTileEntity_CompactFusionReactor.java | 13 - .../basic/GregtechMetaTileEntity_PocketFusion.java | 13 - .../machines/multi/misc/GMTE_AmazonPackager.java | 10 - .../multi/misc/GregtechMTE_TeslaTower.java | 15 +- ...gtechMetaTileEntity_IndustrialAlloySmelter.java | 17 - ...regtechMetaTileEntity_IndustrialArcFurnace.java | 10 - ...regtechMetaTileEntity_IndustrialCentrifuge.java | 10 - .../GregtechMetaTileEntity_IndustrialChisel.java | 15 - .../GregtechMetaTileEntity_IndustrialCokeOven.java | 10 - ...echMetaTileEntity_IndustrialCuttingMachine.java | 10 - ...regtechMetaTileEntity_IndustrialDehydrator.java | 15 - ...gtechMetaTileEntity_IndustrialElectrolyzer.java | 10 - .../GregtechMetaTileEntity_IndustrialExtruder.java | 10 - ...egtechMetaTileEntity_IndustrialFluidHeater.java | 10 - ...egtechMetaTileEntity_IndustrialForgeHammer.java | 10 - ...GregtechMetaTileEntity_IndustrialMacerator.java | 10 - .../GregtechMetaTileEntity_IndustrialMixer.java | 10 - ...aTileEntity_IndustrialMolecularTransformer.java | 15 - ...gtechMetaTileEntity_IndustrialMultiMachine.java | 10 - ...regtechMetaTileEntity_IndustrialPlatePress.java | 10 - .../GregtechMetaTileEntity_IndustrialSifter.java | 10 - .../GregtechMetaTileEntity_IndustrialSinter.java | 5 - ...MetaTileEntity_IndustrialThermalCentrifuge.java | 10 - ...techMetaTileEntity_IndustrialVacuumFreezer.java | 15 - ...GregtechMetaTileEntity_IndustrialWashPlant.java | 10 - .../GregtechMetaTileEntity_IndustrialWireMill.java | 10 - .../GregtechMetaTileEntity_IronBlastFurnace.java | 58 +- .../processing/GregtechMetaTileEntity_IsaMill.java | 10 - .../GregtechMetaTileEntity_SpargeTower.java | 23 - .../GregtechMetaTileEntity_Adv_AssemblyLine.java | 17 - ...egtechMetaTileEntity_Adv_DistillationTower.java | 25 - .../advanced/GregtechMetaTileEntity_Adv_EBF.java | 15 - .../GregtechMetaTileEntity_Adv_HeatExchanger.java | 18 - .../GregtechMetaTileEntity_Adv_Implosion.java | 15 - .../multi/production/GT4Entity_AutoCrafter.java | 10 - .../multi/production/GT4Entity_ThermalBoiler.java | 15 - .../GregtechMTE_ElementalDuplicator.java | 20 +- .../production/GregtechMTE_FastNeutronReactor.java | 10 - .../production/GregtechMTE_FrothFlotationCell.java | 10 - .../production/GregtechMTE_LargeNaqReactor.java | 15 - .../production/GregtechMTE_MiniFusionPlant.java | 10 - .../production/GregtechMTE_NuclearReactor.java | 10 - .../GregtechMetaTileEntityGeneratorArray.java | 15 - .../production/GregtechMetaTileEntityTreeFarm.java | 15 - .../GregtechMetaTileEntity_AlloyBlastSmelter.java | 15 - .../GregtechMetaTileEntity_Cyclotron.java | 29 +- ...egtechMetaTileEntity_IndustrialFishingPond.java | 10 - ...egtechMetaTileEntity_IndustrialRockBreaker.java | 17 +- .../GregtechMetaTileEntity_LargeRocketEngine.java | 22 +- ...techMetaTileEntity_LargeSemifluidGenerator.java | 17 - .../GregtechMetaTileEntity_MassFabricator.java | 54 +- .../GregtechMetaTileEntity_Refinery.java | 10 - .../GregtechMetaTileEntity_SolarTower.java | 15 +- .../algae/GregtechMTE_AlgaePondBase.java | 10 - ...chMetaTileEntity_BedrockMiningPlatformBase.java | 18 - .../chemplant/GregtechMTE_ChemicalPlant.java | 12 +- .../turbines/GT_MTE_LargeTurbine_Gas.java | 5 - .../turbines/GT_MTE_LargeTurbine_Plasma.java | 5 - .../turbines/GT_MTE_LargeTurbine_SCSteam.java | 5 - .../turbines/GT_MTE_LargeTurbine_SHSteam.java | 5 - .../turbines/GT_MTE_LargeTurbine_Steam.java | 5 - .../GregtechMetaTileEntity_LargerTurbineBase.java | 12 - .../storage/GregtechMetaTileEntity_MultiTank.java | 10 - ...chMetaTileEntity_PowerSubStationController.java | 136 +- .../misc/GT_TileEntity_ComputerCube.java | 516 +++++- .../redstone/GT_MetaTileEntity_RedstoneBase.java | 17 - .../GT_MetaTileEntity_RedstoneCircuitBlock.java | 220 ++- .../GT_MetaTileEntity_AdvancedCraftingTable.java | 211 ++- .../GT_MetaTileEntity_BronzeCraftingTable.java | 76 +- .../GT_MetaTileEntity_ConnectableCrate.java | 59 +- .../storage/GT_MetaTileEntity_TieredChest.java | 59 +- .../storage/GT_MetaTileEntity_TieredTank.java | 12 +- .../storage/GregtechMetaEnergyBuffer.java | 16 - .../storage/GregtechMetaSafeBlock.java | 37 +- .../GT_MetaTileEntity_InfiniteItemHolder.java | 11 - .../storage/shelving/GT4Entity_Shelf_Large.java | 44 +- .../RecipeGen_MultisUsingFluidInsteadOfCells.java | 6 +- .../xmod/gregtech/recipes/GregtechRecipeAdder.java | 2 +- 213 files changed, 3634 insertions(+), 10491 deletions(-) create mode 100644 src/main/java/gtPlusPlus/core/item/circuit/GTPP_IntegratedCircuit_Item.java delete mode 100644 src/main/java/gtPlusPlus/core/item/circuit/ItemAdvancedChip.java delete mode 100644 src/main/java/gtPlusPlus/core/slots/SlotAirFilter.java delete mode 100644 src/main/java/gtPlusPlus/core/slots/SlotBlueprint.java delete mode 100644 src/main/java/gtPlusPlus/core/slots/SlotElectric.java delete mode 100644 src/main/java/gtPlusPlus/core/slots/SlotLockedInput.java delete mode 100644 src/main/java/gtPlusPlus/core/slots/SlotNoInputLogging.java delete mode 100644 src/main/java/gtPlusPlus/core/slots/SlotPollutionScrubber.java delete mode 100644 src/main/java/gtPlusPlus/nei/GT_NEI_MultiNoCell.java delete mode 100644 src/main/java/gtPlusPlus/plugin/agrichem/item/algae/ItemBioChip.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_AdvancedBoiler.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_Cyclotron.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_DataHatch.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_DeluxeTank.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_Hatch_Muffler_Advanced.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_IndustrialCentrifuge.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_IronBlastFurnace.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_MatterFab.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_MetaTileMachineLong.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_MultiMachine.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_MultiMachine_NoPlayerInventory.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_PowerSubStation.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_SafeBlock.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_SolarGenerator.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_SteamCondenser.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_SuperChest.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_TreeFarmer.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/GTPP_UITextures.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/GUI_AdvancedBoiler.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/GUI_Cyclotron.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/GUI_DataHatch.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/GUI_DeluxeTank.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/GUI_Hatch_Muffler_Advanced.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/GUI_IndustrialCentrifuge.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/GUI_IronBlastFurnace.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/GUI_MatterFab.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/GUI_MultiMachine.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/GUI_MultiMachine_Default.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/GUI_Multi_Basic_Slotted.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/GUI_PowerSubStation.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/GUI_SafeBlock.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/GUI_SolarGenerator.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/GUI_SteamCondenser.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/GUI_SuperChest.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/GUI_TreeFarmer.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/SyncedLong.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/SyncedValueManager.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/automation/GT_Container_ElectricAutoWorkbench.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/automation/GT_Container_ElectricInventoryManager.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/automation/GT_GUIContainer_ElectricAutoWorkbench.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/automation/GT_GUIContainer_ElectricInventoryManager.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/basic/CONTAINER_PollutionCleaner.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/basic/GT_Container_CropHarvestor.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/basic/GT_GUIContainer_CropHarvestor.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/basic/GUI_PollutionCleaner.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/computer/GT_Container_ComputerCube.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/computer/GT_Container_RedstoneCircuitBlock.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/computer/GT_GUIContainer_ComputerCube.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/computer/GT_GUIContainer_RedstoneCircuitBlock.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/fluidreactor/Container_FluidReactor.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/fluidreactor/GUI_FluidReactor.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/hatches/CONTAINER_1by1_Turbine.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/hatches/CONTAINER_2by2.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/hatches/CONTAINER_4by4.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/hatches/CONTAINER_HatchNbtConsumable.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/hatches/GUI_1by1_Turbine.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/hatches/GUI_2by2.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/hatches/GUI_4by4.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/hatches/GUI_HatchNbtConsumable.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/hatches/charge/CONTAINER_Electric_2by2.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/hatches/charge/CONTAINER_Electric_4by4.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/hatches/charge/GUI_Electric_2by2.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/hatches/charge/GUI_Electric_4by4.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/power/CONTAINER_BasicTank.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/power/GUI_BasicTank.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/widget/DataStickSlotWidget.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/widget/ElectricSlotWidget.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/workbench/GT_Container_AdvancedWorkbench.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/workbench/GT_Container_BronzeWorkbench.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/workbench/GT_GUIContainer_AdvancedWorkbench.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/gui/workbench/GT_GUIContainer_BronzeWorkbench.java (limited to 'src/main/java') diff --git a/src/main/java/gregtech/api/util/FishPondFakeRecipe.java b/src/main/java/gregtech/api/util/FishPondFakeRecipe.java index 14cd00d134..3c11c5f801 100644 --- a/src/main/java/gregtech/api/util/FishPondFakeRecipe.java +++ b/src/main/java/gregtech/api/util/FishPondFakeRecipe.java @@ -70,11 +70,8 @@ public class FishPondFakeRecipe { new FluidStack[] {null}, 100, // 1 Tick 0, // No Eu produced - circuit // Magic Number - ); - if (x != null) { - Logger.INFO("Fishing [" + circuit + "]: " + ItemUtils.getArrayStackNames(outputItems)); - GTPP_Recipe.GTPP_Recipe_Map.sFishPondRecipes.addRecipe(x); - } + 0); + Logger.INFO("Fishing [" + circuit + "]: " + ItemUtils.getArrayStackNames(outputItems)); + GTPP_Recipe.GTPP_Recipe_Map.sFishPondRecipes.addRecipe(x, false, false, false); } } diff --git a/src/main/java/gregtech/api/util/GTPP_Recipe.java b/src/main/java/gregtech/api/util/GTPP_Recipe.java index 553a774147..766145c952 100644 --- a/src/main/java/gregtech/api/util/GTPP_Recipe.java +++ b/src/main/java/gregtech/api/util/GTPP_Recipe.java @@ -2,15 +2,13 @@ package gregtech.api.util; import static gregtech.api.enums.GT_Values.*; -import codechicken.nei.PositionedStack; -import gregtech.api.interfaces.tileentity.*; -import gregtech.nei.GT_NEI_DefaultHandler.FixedPositionedStack; +import com.gtnewhorizons.modularui.api.math.Pos2d; +import com.gtnewhorizons.modularui.common.widget.ProgressBar; +import gregtech.api.gui.modularui.GT_UITextures; import gtPlusPlus.api.interfaces.IComparableRecipe; import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.api.objects.data.Pair; import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.RecipeUtils; +import gtPlusPlus.xmod.gregtech.api.gui.GTPP_UITextures; import java.util.*; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.*; @@ -22,9 +20,6 @@ import net.minecraftforge.fluids.*; */ public class GTPP_Recipe extends GT_Recipe implements IComparableRecipe { - private final String mRecipeHash; - private final AutoMap mHashMap = new AutoMap(); - public GTPP_Recipe( final boolean aOptimize, final ItemStack[] aInputs, @@ -49,84 +44,12 @@ public class GTPP_Recipe extends GT_Recipe implements IComparableRecipe { aSpecialValue); // Logger.SPECIFIC_WARNING(this.getClass().getName()+" | [GregtechRecipe]", "Created new recipe instance for // "+ItemUtils.getArrayStackNames(aInputs), 167); - this.mRecipeHash = getRecipeHash(this); - this.mHashMap.addAll(convertStringDataToInts(getEncodedRecipeData(this))); } public GTPP_Recipe(final ItemStack aInput1, final ItemStack aOutput1, final int aFuelValue, final int aType) { this(aInput1, aOutput1, null, null, null, aFuelValue, aType); } - private static AutoMap convertStringDataToInts(AutoMap aData) { - AutoMap aMap = new AutoMap(); - for (String string : aData) { - aMap.add(string.hashCode()); - } - return aMap; - } - - private static AutoMap getEncodedRecipeData(GTPP_Recipe aRecipe) { - AutoMap aData = new AutoMap(); - aData.add(aRecipe.mRecipeHash); - aData.add("" + aRecipe.mCanBeBuffered); - aData.add("" + aRecipe.mHidden); - aData.add("" + aRecipe.mEnabled); - aData.add("" + aRecipe.mDuration); - aData.add("" + aRecipe.mEUt); - aData.add("" + aRecipe.mFakeRecipe); - aData.add("" + aRecipe.mSpecialItems); - aData.add(aRecipe.mChances.toString()); - aData.add(aRecipe.mInputs.toString()); - aData.add(aRecipe.mOutputs.toString()); - aData.add(aRecipe.mFluidInputs.toString()); - aData.add(aRecipe.mFluidOutputs.toString()); - return aData; - } - - public static String getRecipeHash(GT_Recipe aRecipe) { - String aEncoderString = aRecipe.toString(); - return aEncoderString; - } - - private final void checkModified() { - if (hasBeenModified()) { - String[] aInfo = RecipeUtils.getRecipeInfo(this); - for (String s : aInfo) { - Logger.INFO(s); - } - CORE.crash( - "Someone has edited an internal GT++ recipe, which is no longer allowed. Please complain to whoever has done this, not Alkalus."); - } - } - - private final boolean hasBeenModified() { - String aEncoderString = this.toString(); - boolean aBasicHashCheck = this.mRecipeHash.equals(aEncoderString); - if (!aBasicHashCheck) { - Logger.INFO("This Recipe Hash: " + aEncoderString); - Logger.INFO("Expected Hash Code: " + this.mRecipeHash); - return true; - } - AutoMap aData = new AutoMap(); - aData.addAll(convertStringDataToInts(getEncodedRecipeData(this))); - long aHashTotal = 0; - long aExpectedHashTotal = 0; - for (int a : aData) { - aHashTotal += a; - } - for (int a : this.mHashMap) { - aExpectedHashTotal += a; - } - if (aHashTotal != aExpectedHashTotal) { - Logger.INFO("This Recipe Hash: " + aEncoderString); - Logger.INFO("Expected Hash Code: " + this.mRecipeHash); - Logger.INFO("This Recipe Hash: " + aHashTotal); - Logger.INFO("Expected Hash Code: " + aExpectedHashTotal); - return true; - } - return false; - } - // aSpecialValue = EU per Liter! If there is no Liquid for this Object, then it gets multiplied with 1000! public GTPP_Recipe( final ItemStack aInput1, @@ -180,38 +103,14 @@ public class GTPP_Recipe extends GT_Recipe implements IComparableRecipe { } } - public static void reInit() { - GT_Log.out.println("GT_Mod: Re-Unificating Recipes."); - for (final GTPP_Recipe_Map_Internal tMapEntry : GTPP_Recipe_Map_Internal.sMappingsEx) { - // tMapEntry.reInit(); - if (tMapEntry != null && tMapEntry.mRecipeList != null && !tMapEntry.mRecipeList.isEmpty()) { - for (GT_Recipe aRecipe : tMapEntry.mRecipeList) { - checkRecipeOwnership(aRecipe); - } - } - } - } - - private static final boolean checkRecipeOwnership(GT_Recipe aRecipe) { - if (aRecipe != null && aRecipe instanceof GTPP_Recipe) { - GTPP_Recipe nRecipe = (GTPP_Recipe) aRecipe; - GTPP_Recipe_Map_Internal.mHashedRecipes.put(nRecipe.hashCode(), nRecipe); - return true; - } - return false; - } - - public static final void checkRecipeModifications() { - for (GTPP_Recipe aRecipe : GTPP_Recipe_Map_Internal.mHashedRecipes.values()) { - Logger.INFO("Checking recipe: " + aRecipe.hashCode()); - aRecipe.checkModified(); - } - } - + /** + * Even though this is deprecated, it's still used to keep binary compatibility. + * (GoodGenerator and GTNHLanthanides reference to `sSimpleWasherRecipes` and `sChemicalDehydratorRecipes`) + */ public static class GTPP_Recipe_Map_Internal extends GT_Recipe_Map { + @Deprecated public static final Collection sMappingsEx = new ArrayList<>(); - private static final HashMap mHashedRecipes = new HashMap(); public GTPP_Recipe_Map_Internal( Collection aRecipeList, @@ -245,153 +144,155 @@ public class GTPP_Recipe extends GT_Recipe implements IComparableRecipe { aNEISpecialValuePost, aShowVoltageAmperageInNEI, aNEIAllowed); - GT_Recipe_Map.sMappings.remove(this); - GTPP_Recipe_Map_Internal.sMappingsEx.add(this); } } public static class GTPP_Recipe_Map { - // public static final GT_Recipe_Map sChemicalBathRecipes = new GT_Recipe_Map(new HashSet(200), - // "gtpp.recipe.chemicalbath", "Chemical Bath", null, RES_PATH_GUI + "basicmachines/ChemicalBath", 1, 3, 1, 1, - // 1, E, 1, E, true, true); - public static final GTPP_Recipe_Map_Internal sCokeOvenRecipes = new GTPP_Recipe_Map_Internal( - new HashSet(200), - "gtpp.recipe.cokeoven", - "Coke Oven", - null, - RES_PATH_GUI + "basicmachines/Dehydrator", - 2, - 9, - 1, - 0, - 1, - E, - 1, - E, - true, - true); - public static final GTPP_Recipe_Map_Internal sMatterFab2Recipes = new GTPP_Recipe_Map_Internal( - new HashSet(200), - "gtpp.recipe.matterfab2", - "Matter Fabricator", - null, - RES_PATH_GUI + "basicmachines/Default", - 6, - 6, - 0, - 0, - 1, - E, - 1, - E, - true, - true); - // public static final Gregtech_Recipe_Map sMatterFabRecipes = new Gregtech_Recipe_Map(new - // HashSet(200), "gtpp.recipe.matterfab", "Matter Fabricator", null, RES_PATH_GUI + - // "basicmachines/Massfabricator", 1, 3, 1, 1, 1, E, 1, E, true, true); + public static final GT_Recipe_Map sCokeOvenRecipes = new GT_Recipe_Map( + new HashSet<>(200), + "gtpp.recipe.cokeoven", + "Coke Oven", + null, + RES_PATH_GUI + "basicmachines/Dehydrator", + 2, + 9, + 1, + 0, + 1, + E, + 1, + E, + true, + true) + .setProgressBar(GT_UITextures.PROGRESSBAR_SIFT, ProgressBar.Direction.DOWN); + public static final GT_Recipe_Map sMatterFab2Recipes = new GT_Recipe_Map( + new HashSet<>(200), + "gtpp.recipe.matterfab2", + "Matter Fabricator", + null, + RES_PATH_GUI + "basicmachines/Default", + 2, + 0, + 0, + 0, + 1, + E, + 1, + E, + true, + true) + .useModularUI(true); - public static final GT_Recipe_Map_Fuel sRocketFuels = new GT_Recipe_Map_Fuel( - new HashSet(10), - "gtpp.recipe.rocketenginefuel", - "Rocket Engine Fuel", - null, - RES_PATH_GUI + "basicmachines/Default", - 1, - 1, - 0, - 0, - 1, - "Fuel Value: ", - 3000, - " EU", - true, - true); + public static final GT_Recipe_Map sRocketFuels = new GT_Recipe_Map_Fuel( + new HashSet<>(10), + "gtpp.recipe.rocketenginefuel", + "Rocket Engine Fuel", + null, + RES_PATH_GUI + "basicmachines/Default", + 0, + 0, + 0, + 0, + 1, + "Fuel Value: ", + 3000, + " EU", + true, + true) + .useModularUI(true); - public static final GTPP_Recipe_Map_Internal sGeoThermalFuels = new GTPP_Recipe_Map_Internal( - new HashSet(10), - "gtpp.recipe.geothermalfuel", - "GeoThermal Fuel", - null, - RES_PATH_GUI + "basicmachines/Default", - 1, - 1, - 0, - 0, - 1, - "Fuel Value: ", - 1000, - " EU", - true, - true); - public static final GTPP_Recipe_Map_Internal sChemicalDehydratorRecipes = new GTPP_Recipe_Map_Internal( - new HashSet(200), - "gtpp.recipe.chemicaldehydrator", - "Dehydrator", - null, - RES_PATH_GUI + "basicmachines/Dehydrator", - 2, - 9, - 0, - 0, - 1, - E, - 1, - E, - true, - true); - public static final GTPP_Recipe_Map_Internal sVacuumFurnaceRecipes = new GTPP_Recipe_Map_MultiNoCell( - new HashSet(500), - "gtpp.recipe.vacfurnace", - "Vacuum Furnace", - null, - RES_PATH_GUI + "basicmachines/FissionFuel", - 6, - 6, - 1, - 0, - 1, - "Heat Capacity: ", - 1, - " K", - false, - true); - public static final GTPP_Recipe_Map_Internal sAlloyBlastSmelterRecipes = new GTPP_Recipe_Map_MultiNoCell( - new HashSet(200), - "gtpp.recipe.alloyblastsmelter", - "Alloy Blast Smelter", - null, - RES_PATH_GUI + "basicmachines/FissionFuel", - 9, - 9, - 1, - 0, - 1, - E, - 1, - E, - true, - true); - public static final GTPP_Recipe_Map_Internal sSteamTurbineFuels = new GTPP_Recipe_Map_Internal( - new HashSet(10), - "gtpp.recipe.steamturbinefuel", - "GeoThermal Fuel", - null, - RES_PATH_GUI + "basicmachines/Default", - 1, - 1, - 0, - 0, - 1, - "Fuel Value: ", - 1000, - " EU", - true, - false); + public static final GT_Recipe_Map sGeoThermalFuels = new GT_Recipe_Map( + new HashSet<>(10), + "gtpp.recipe.geothermalfuel", + "GeoThermal Fuel", + null, + RES_PATH_GUI + "basicmachines/Default", + 1, + 1, + 0, + 0, + 1, + "Fuel Value: ", + 1000, + " EU", + true, + true) + .useModularUI(true); + public static final GTPP_Recipe_Map_Internal sChemicalDehydratorRecipes = + (GTPP_Recipe_Map_Internal) new GTPP_Recipe_Map_Internal( + new HashSet<>(200), + "gtpp.recipe.chemicaldehydrator", + "Dehydrator", + null, + RES_PATH_GUI + "basicmachines/Dehydrator", + 2, + 9, + 0, + 0, + 1, + E, + 1, + E, + true, + true) + .setProgressBar(GT_UITextures.PROGRESSBAR_SIFT, ProgressBar.Direction.DOWN); + public static final GT_Recipe_Map sVacuumFurnaceRecipes = new GT_Recipe_Map_LargeNEI( + new HashSet<>(500), + "gtpp.recipe.vacfurnace", + "Vacuum Furnace", + null, + RES_PATH_GUI + "basicmachines/FissionFuel", + 9, + 9, + 1, + 0, + 1, + "Heat Capacity: ", + 1, + " K", + false, + true) + .setUsualFluidInputCount(3) + .setUsualFluidOutputCount(3); + public static final GT_Recipe_Map sAlloyBlastSmelterRecipes = new GT_Recipe_Map_LargeNEI( + new HashSet<>(200), + "gtpp.recipe.alloyblastsmelter", + "Alloy Blast Smelter", + null, + RES_PATH_GUI + "basicmachines/FissionFuel", + 9, + 9, + 1, + 0, + 1, + E, + 1, + E, + true, + true) + .setUsualFluidInputCount(3) + .setUsualFluidOutputCount(3); + public static final GT_Recipe_Map sSteamTurbineFuels = new GT_Recipe_Map( + new HashSet<>(10), + "gtpp.recipe.steamturbinefuel", + "GeoThermal Fuel", + null, + RES_PATH_GUI + "basicmachines/Default", + 1, + 1, + 0, + 0, + 1, + "Fuel Value: ", + 1000, + " EU", + true, + false) + .useModularUI(true); // LFTR recipes - public static final GTPP_Recipe_Map_Internal sLiquidFluorineThoriumReactorRecipes = - new GTPP_Recipe_Map_MultiNoCell( - new HashSet(50), + public static final GT_Recipe_Map sLiquidFluorineThoriumReactorRecipes = new GT_Recipe_Map_FluidOnly( + new HashSet<>(50), "gtpp.recipe.lftr", "Liquid Fluoride Thorium Reactor", null, @@ -405,119 +306,129 @@ public class GTPP_Recipe extends GT_Recipe implements IComparableRecipe { 1, " EU/t per Dynamo", true, - true); + false) + .setUsualFluidInputCount(6) + .setUsualFluidOutputCount(6); // Ore Milling Map - public static final GTPP_Recipe_Map_Internal sOreMillRecipes = new GTPP_Recipe_Map_Internal( - new HashSet(10000), - "gtpp.recipe.oremill", - "Milling", - null, - RES_PATH_GUI + "basicmachines/LFTR", - 3, - 4, - 1, - 0, - 1, - E, - 1, - E, - true, - true); + public static final GT_Recipe_Map sOreMillRecipes = new GT_Recipe_Map( + new HashSet<>(10000), + "gtpp.recipe.oremill", + "Milling", + null, + RES_PATH_GUI + "basicmachines/LFTR", + 3, + 3, + 1, + 0, + 1, + E, + 1, + E, + true, + false) + .useModularUI(true); // Fission Fuel Plant Recipes - public static final GTPP_Recipe_Map_Internal sFissionFuelProcessing = new GTPP_Recipe_Map_MultiNoCell( - new HashSet(50), - "gtpp.recipe.fissionfuel", - "Nuclear Fuel Processing", - null, - RES_PATH_GUI + "basicmachines/FissionFuel", - 0, - 0, - 0, - 0, - 1, - E, - 1, - E, - true, - true); + public static final GT_Recipe_Map sFissionFuelProcessing = new GT_Recipe_Map_FluidOnly( + new HashSet<>(50), + "gtpp.recipe.fissionfuel", + "Nuclear Fuel Processing", + null, + RES_PATH_GUI + "basicmachines/FissionFuel", + 0, + 0, + 0, + 0, + 1, + E, + 1, + E, + true, + true) + .setUsualFluidInputCount(6) + .setUsualFluidOutputCount(6); // Cold Trap - public static final GTPP_Recipe_Map_Internal sColdTrapRecipes = new GTPP_Recipe_Map_Internal( - new HashSet(10000), - "gtpp.recipe.coldtrap", - "Cold Trap", - null, - RES_PATH_GUI + "basicmachines/Dehydrator", - 2, - 9, - 0, - 0, - 1, - E, - 1, - E, - true, - true); + public static final GT_Recipe_Map sColdTrapRecipes = new GT_Recipe_Map( + new HashSet<>(10000), + "gtpp.recipe.coldtrap", + "Cold Trap", + null, + RES_PATH_GUI + "basicmachines/Dehydrator", + 2, + 9, + 0, + 0, + 1, + E, + 1, + E, + true, + true) + .setProgressBar(GT_UITextures.PROGRESSBAR_SIFT, ProgressBar.Direction.DOWN); // Reactor Processing Unit - public static final GTPP_Recipe_Map_Internal sReactorProcessingUnitRecipes = new GTPP_Recipe_Map_Internal( - new HashSet(10000), - "gtpp.recipe.reactorprocessingunit", - "Reactor Processing Unit", - null, - RES_PATH_GUI + "basicmachines/Dehydrator", - 2, - 9, - 0, - 0, - 1, - E, - 1, - E, - true, - true); + public static final GT_Recipe_Map sReactorProcessingUnitRecipes = new GT_Recipe_Map( + new HashSet<>(10000), + "gtpp.recipe.reactorprocessingunit", + "Reactor Processing Unit", + null, + RES_PATH_GUI + "basicmachines/Dehydrator", + 2, + 9, + 0, + 0, + 1, + E, + 1, + E, + true, + true) + .setProgressBar(GT_UITextures.PROGRESSBAR_SIFT, ProgressBar.Direction.DOWN); // Basic Washer Map - public static final GTPP_Recipe_Map_Internal sSimpleWasherRecipes = new GTPP_Recipe_Map_Internal( - new HashSet(3), - "gtpp.recipe.simplewasher", - "Simple Dust Washer", - null, - RES_PATH_GUI + "basicmachines/PotionBrewer", - 1, - 1, - 0, - 0, - 1, - E, - 1, - E, - true, - true); + public static final GTPP_Recipe_Map_Internal sSimpleWasherRecipes = + (GTPP_Recipe_Map_Internal) new GTPP_Recipe_Map_Internal( + new HashSet<>(3), + "gtpp.recipe.simplewasher", + "Simple Dust Washer", + null, + RES_PATH_GUI + "basicmachines/PotionBrewer", + 1, + 1, + 0, + 0, + 1, + E, + 1, + E, + true, + true) + .setProgressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE); // Molecular Transformer Map - public static final GTPP_Recipe_Map_Internal sMolecularTransformerRecipes = new GTPP_Recipe_Map_Internal( - new HashSet(3), - "gtpp.recipe.moleculartransformer", - "Molecular Transformer", - null, - RES_PATH_GUI + "basicmachines/Scanner", - 1, - 1, - 0, - 0, - 1, - E, - 1, - E, - true, - true); + public static final GT_Recipe_Map sMolecularTransformerRecipes = new GT_Recipe_Map( + new HashSet<>(3), + "gtpp.recipe.moleculartransformer", + "Molecular Transformer", + null, + RES_PATH_GUI + "basicmachines/Scanner", + 1, + 1, + 0, + 0, + 1, + E, + 1, + E, + true, + true) + .setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_MICROSCOPE); // Elemental Duplicator Map - public static final GTPP_Recipe_Map_Internal sElementalDuplicatorRecipes = new GTPP_Recipe_Map_Internal( - new HashSet(3), + public static final GT_Recipe_Map sElementalDuplicatorRecipes = new GT_Recipe_Map( + new HashSet<>(3), "gtpp.recipe.elementaldupe", "Elemental Duplicator", null, @@ -533,18 +444,14 @@ public class GTPP_Recipe extends GT_Recipe implements IComparableRecipe { true, false); - // public static final GT_Recipe_Map sSimpleWasherRecipes_FakeFuckBW = new GT_Recipe_Map(new - // HashSet(3), "gtpp.recipe.simplewasher", "Fuck you Bart", null, RES_PATH_GUI + - // "basicmachines/PotionBrewer", 1, 1, 0, 0, 1, E, 1, E, true, false); - - public static final GTPP_Recipe_Map_Internal sChemicalPlantRecipes = new GTPP_Recipe_Map_ChemicalPlant( - new HashSet(100), + public static final GT_Recipe_Map sChemicalPlantRecipes = new GTPP_Recipe_Map_ChemicalPlant( + new HashSet<>(100), "gtpp.recipe.fluidchemicaleactor", "Chemical Plant", null, CORE.MODID + ":textures/gui/FluidReactor", - 0, - 0, + 4, + 4, 0, 2, 1, @@ -552,153 +459,163 @@ public class GTPP_Recipe extends GT_Recipe implements IComparableRecipe { 1, E, true, - true); + false); // RTG Fuel Map - public static final GT_Recipe.GT_Recipe_Map_Fuel sRTGFuels = new GTPP_Recipe.GT_Recipe_Map_Fuel( - new HashSet(10), - "gtpp.recipe.RTGgenerators", - "RTG", - null, - "gregtech:textures/gui/basicmachines/Default", - 1, - 1, - 0, - 0, - 1, - "Fuel Value: ", - 365, - " Minecraft Days", - true, - true); + public static final GT_Recipe.GT_Recipe_Map_Fuel sRTGFuels = (GT_Recipe_Map_Fuel) new GT_Recipe_Map_Fuel( + new HashSet<>(10), + "gtpp.recipe.RTGgenerators", + "RTG", + null, + "gregtech:textures/gui/basicmachines/Default", + 1, + 0, + 0, + 0, + 1, + "Fuel Value: ", + 365, + " Minecraft Days", + true, + true) + .useModularUI(true); // Thermal Boiler map - public static final GTPP_Recipe_Map_Internal sThermalFuels = new GTPP_Recipe_Map_MultiNoCell( - new HashSet(10), - "gtpp.recipe.thermalgeneratorfuel", - "Thermal Generator Fuel", - null, - RES_PATH_GUI + "basicmachines/FissionFuel", - 1, - 1, - 0, - 0, - 1, - null, - 1000, - null, - true, - true); + public static final GT_Recipe_Map sThermalFuels = new GT_Recipe_Map_LargeNEI( + new HashSet<>(10), + "gtpp.recipe.thermalgeneratorfuel", + "Thermal Generator Fuel", + null, + RES_PATH_GUI + "basicmachines/FissionFuel", + 9, + 9, + 0, + 0, + 1, + null, + 1000, + null, + true, + true) + .setUsualFluidInputCount(3) + .setUsualFluidOutputCount(3); // Solar Tower map - public static final GTPP_Recipe_Map_Internal sSolarTowerRecipes = new GTPP_Recipe_Map_MultiNoCell( - new HashSet(10), - "gtpp.recipe.solartower", - "Solar Tower", - null, - RES_PATH_GUI + "basicmachines/FissionFuel", - 1, - 1, - 0, - 0, - 1, - null, - 1000, - null, - true, - true); + public static final GT_Recipe_Map sSolarTowerRecipes = new GT_Recipe_Map( + new HashSet<>(10), + "gtpp.recipe.solartower", + "Solar Tower", + null, + RES_PATH_GUI + "basicmachines/FissionFuel", + 0, + 0, + 0, + 0, + 1, + null, + 1000, + null, + true, + false) + .useModularUI(true); // Cyclotron recipe map - public static final GTPP_Recipe_Map_Internal sCyclotronRecipes = new GTPP_Recipe_Map_Internal( - new HashSet(200), - "gtpp.recipe.cyclotron", - "COMET - Compact Cyclotron", - null, - RES_PATH_GUI + "basicmachines/BlastSmelter", - 2, - 16, - 0, - 0, - 1, - E, - 1, - E, - true, - true); + public static final GT_Recipe_Map sCyclotronRecipes = new GT_Recipe_Map( + new HashSet<>(200), + "gtpp.recipe.cyclotron", + "COMET - Compact Cyclotron", + null, + RES_PATH_GUI + "basicmachines/BlastSmelter", + 9, + 9, + 0, + 0, + 1, + E, + 1, + E, + true, + true) + .useModularUI(true); // Advanced Mixer - public static final GTPP_Recipe_Map_Internal sAdvancedMixerRecipes = new GTPP_Recipe_Map_Internal( - new HashSet(1000), - "gtpp.recipe.advanced.mixer", - "Advanced Material Combiner", - null, - "gregtech:textures/gui/basicmachines/MixerAdvanced", - 4, - 4, - 1, - 0, - 2, - "", - 1, - "", - true, - true); + public static final GT_Recipe_Map sAdvancedMixerRecipes = new GT_Recipe_Map( + new HashSet<>(1000), + "gtpp.recipe.advanced.mixer", + "Advanced Material Combiner", + null, + "gregtech:textures/gui/basicmachines/MixerAdvanced", + 4, + 4, + 1, + 0, + 2, + "", + 1, + "", + true, + true) + .useModularUI(true); // Mini Fusion - public static final GTPP_Recipe_Map_Internal sSlowFusionRecipes = new GTPP_Recipe_Map_Internal( - new HashSet(50), - "gtpp.recipe.slowfusionreactor", - "Mimir - Slow Fusion", - null, - "gregtech:textures/gui/basicmachines/LFTR", - 0, - 0, - 0, - 2, - 1, - "Start: ", - 1, - " EU", - true, - true); + public static final GT_Recipe_Map sSlowFusionRecipes = new GT_Recipe_Map( + new HashSet<>(50), + "gtpp.recipe.slowfusionreactor", + "Mimir - Slow Fusion", + null, + "gregtech:textures/gui/basicmachines/LFTR", + 0, + 0, + 0, + 2, + 1, + "Start: ", + 1, + " EU", + true, + true) + .useModularUI(true); // Component Assembler public static final GT_Recipe_Map sComponentAssemblerRecipes = new GT_Recipe_Map_Assembler( - new HashSet(300), - "gtpp.recipe.componentassembler", - "Component Assembler", - null, - RES_PATH_GUI + "basicmachines/Assembler", - 6, - 1, - 1, - 0, - 1, - E, - 1, - E, - true, - true); + new HashSet<>(300), + "gtpp.recipe.componentassembler", + "Component Assembler", + null, + RES_PATH_GUI + "basicmachines/Assembler", + 6, + 1, + 1, + 0, + 1, + E, + 1, + E, + true, + true) + .useModularUI(true); // Special Maps for Multis - public static final GTPP_Recipe_Map_Internal sFishPondRecipes = new GTPP_Recipe_Map_Internal( - new HashSet(3), - "gtpp.recipe.fishpond", - "Zhuhai - Fishing Port", - null, - RES_PATH_GUI + "basicmachines/PotionBrewer", - 0, - 1, - 0, - 0, - 1, - "Requires Circuit: ", - 1, - ".", - true, - true); - public static final GTPP_Recipe_Map_Internal sSpargeTowerRecipes = new GTPP_Recipe_Map_Internal( - new HashSet(10000), + public static final GT_Recipe_Map sFishPondRecipes = new GT_Recipe_Map( + new HashSet<>(3), + "gtpp.recipe.fishpond", + "Zhuhai - Fishing Port", + null, + RES_PATH_GUI + "basicmachines/PotionBrewer", + 1, + 1, + 0, + 0, + 1, + E, + 1, + E, + true, + true) + .setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_CAULDRON) + .setProgressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE); + public static final GT_Recipe_Map sSpargeTowerRecipes = new GT_Recipe_Map( + new HashSet<>(10000), "gtpp.recipe.spargetower", "Sparging", null, @@ -714,51 +631,50 @@ public class GTPP_Recipe extends GT_Recipe implements IComparableRecipe { true, false); - // public static final GTPP_Recipe_Map sMultiblockCentrifugeRecipes = new GT_Recipe_Map_LargeCentrifuge(); - // public static final GTPP_Recipe_Map sMultiblockElectrolyzerRecipes = new GT_Recipe_Map_LargeElectrolyzer(); - // public static final GTPP_Recipe_Map sAdvFreezerRecipes = new GT_Recipe_Map_AdvancedVacuumFreezer(); - - public static final GTPP_Recipe_Map_Internal sAdvFreezerRecipes_GT = new GTPP_Recipe_Map_MultiNoCell( - new HashSet(2000), - "gtpp.recipe.cryogenicfreezer", - "Cryogenic Freezer", - null, - RES_PATH_GUI + "basicmachines/FissionFuel", - 9, - 9, - 0, - 0, - 1, - "", - 0, - "", - false, - true); - public static final GTPP_Recipe_Map_Internal sMultiblockCentrifugeRecipes_GT = new GTPP_Recipe_Map_MultiNoCell( - new HashSet(2000), - "gtpp.recipe.multicentrifuge", - "Multiblock Centrifuge", - null, - RES_PATH_GUI + "basicmachines/FissionFuel", - 9, - 9, - 0, - 0, - 1, - "", - 0, - "", - false, - true); - public static final GTPP_Recipe_Map_Internal sMultiblockElectrolyzerRecipes_GT = - new GTPP_Recipe_Map_MultiNoCell( - new HashSet(2000), + public static final GT_Recipe_Map sAdvFreezerRecipes_GT = new GT_Recipe_Map( + new HashSet<>(2000), + "gtpp.recipe.cryogenicfreezer", + "Cryogenic Freezer", + null, + RES_PATH_GUI + "basicmachines/FissionFuel", + 1, + 1, + 0, + 0, + 1, + "", + 0, + "", + false, + true) + .setUsualFluidInputCount(2); + public static final GT_Recipe_Map sMultiblockCentrifugeRecipes_GT = new GT_Recipe_Map_LargeNEI( + new HashSet<>(2000), + "gtpp.recipe.multicentrifuge", + "Multiblock Centrifuge", + null, + RES_PATH_GUI + "basicmachines/FissionFuel", + 6, + 6, + 0, + 0, + 1, + "", + 0, + "", + false, + true) + .setProgressBar(GT_UITextures.PROGRESSBAR_EXTRACT) + .setUsualFluidInputCount(6) + .setUsualFluidOutputCount(6); + public static final GT_Recipe_Map sMultiblockElectrolyzerRecipes_GT