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 --- 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 +- 211 files changed, 3072 insertions(+), 9366 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/gtPlusPlus') diff --git a/src/main/java/gtPlusPlus/GTplusplus.java b/src/main/java/gtPlusPlus/GTplusplus.java index f21700cf85..cea985301f 100644 --- a/src/main/java/gtPlusPlus/GTplusplus.java +++ b/src/main/java/gtPlusPlus/GTplusplus.java @@ -207,7 +207,6 @@ public class GTplusplus implements ActionListener { ItemGiantEgg.postInit(ModItems.itemBigEgg); BlockEventHandler.init(); - GTPP_Recipe.reInit(); Logger.INFO("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); Logger.INFO("| Recipes succesfully Loaded: " @@ -269,14 +268,6 @@ public class GTplusplus implements ActionListener { public void onLoadComplete(FMLLoadCompleteEvent event) { proxy.onLoadComplete(event); generateGregtechRecipeMaps(); - // Check our maps are untouched - GTPP_Recipe.checkRecipeModifications(); - Logger.INFO("Passed verification checks."); - } - - @Mod.EventHandler - public void onIDChangingEvent(FMLModIdMappingEvent aEvent) { - GTPP_Recipe.reInit(); } protected void generateGregtechRecipeMaps() { diff --git a/src/main/java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java b/src/main/java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java index 84e02d452f..017b23d02f 100644 --- a/src/main/java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java +++ b/src/main/java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java @@ -6,6 +6,7 @@ import gtPlusPlus.api.helpers.MaterialHelper; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.data.AutoMap; import gtPlusPlus.api.objects.minecraft.ItemPackage; +import gtPlusPlus.core.item.circuit.GTPP_IntegratedCircuit_Item; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.lib.LoadedMods; import gtPlusPlus.core.material.ELEMENT; @@ -17,7 +18,6 @@ import gtPlusPlus.core.util.reflect.ReflectionUtils; import gtPlusPlus.plugin.agrichem.BioRecipes; import gtPlusPlus.plugin.agrichem.item.algae.ItemAgrichemBase; import gtPlusPlus.plugin.agrichem.item.algae.ItemAlgaeBase; -import gtPlusPlus.plugin.agrichem.item.algae.ItemBioChip; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import java.lang.reflect.Field; import java.util.ArrayList; @@ -152,7 +152,7 @@ public class AgriculturalChem extends ItemPackage { mAlgae = new ItemAlgaeBase(); mAgrichemItem1 = new ItemAgrichemBase(); - mBioCircuit = new ItemBioChip(); + mBioCircuit = new GTPP_IntegratedCircuit_Item("BioRecipeSelector", "bioscience/BioCircuit"); GregtechItemList.Circuit_BioRecipeSelector.set(mBioCircuit); mAlgaeBiosmass = ItemUtils.simpleMetaStack(mAgrichemItem1, 0, 1); diff --git a/src/main/java/gtPlusPlus/core/item/chemistry/GenericChem.java b/src/main/java/gtPlusPlus/core/item/chemistry/GenericChem.java index d5224f48e4..31e2492259 100644 --- a/src/main/java/gtPlusPlus/core/item/chemistry/GenericChem.java +++ b/src/main/java/gtPlusPlus/core/item/chemistry/GenericChem.java @@ -5,7 +5,7 @@ import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.minecraft.ItemPackage; import gtPlusPlus.core.item.chemistry.general.ItemGenericChemBase; -import gtPlusPlus.core.item.circuit.ItemAdvancedChip; +import gtPlusPlus.core.item.circuit.GTPP_IntegratedCircuit_Item; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.*; import gtPlusPlus.core.material.state.MaterialState; @@ -126,7 +126,7 @@ public class GenericChem extends ItemPackage { MaterialGenerator.generate(TEFLON, false); mGenericChemItem1 = new ItemGenericChemBase(); - mAdvancedCircuit = new ItemAdvancedChip(); + mAdvancedCircuit = new GTPP_IntegratedCircuit_Item("T3RecipeSelector", "science/general/AdvancedCircuit"); GregtechItemList.Circuit_T3RecipeSelector.set(mAdvancedCircuit); registerItemStacks(); diff --git a/src/main/java/gtPlusPlus/core/item/circuit/GTPP_IntegratedCircuit_Item.java b/src/main/java/gtPlusPlus/core/item/circuit/GTPP_IntegratedCircuit_Item.java new file mode 100644 index 0000000000..cbc7be7efc --- /dev/null +++ b/src/main/java/gtPlusPlus/core/item/circuit/GTPP_IntegratedCircuit_Item.java @@ -0,0 +1,214 @@ +package gtPlusPlus.core.item.circuit; + +import com.gtnewhorizons.modularui.api.UIInfos; +import cpw.mods.fml.common.registry.GameRegistry; +import gregtech.api.GregTech_API; +import gregtech.api.enums.GT_Values; +import gregtech.api.interfaces.INetworkUpdatableItem; +import gregtech.api.net.GT_Packet_UpdateItem; +import gregtech.api.objects.XSTR; +import gregtech.api.util.GT_LanguageManager; +import gregtech.api.util.GT_Utility; +import gregtech.common.gui.modularui.uifactory.SelectItemUIFactory; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.util.minecraft.ItemUtils; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.function.BiFunction; +import java.util.function.Predicate; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.ChatComponentTranslation; +import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import net.minecraftforge.common.util.Constants; +import net.minecraftforge.common.util.FakePlayer; +import org.apache.commons.lang3.tuple.Pair; + +public class GTPP_IntegratedCircuit_Item extends Item implements INetworkUpdatableItem { + private final List ALL_VARIANTS = new ArrayList<>(); + + private final String iconLocation; + protected IIcon base; + + public GTPP_IntegratedCircuit_Item(String unlocalizedName, String iconLocation) { + this.setHasSubtypes(true); + this.setNoRepair(); + this.setMaxStackSize(64); + this.setMaxDamage(0); + this.setUnlocalizedName(unlocalizedName); + this.iconLocation = iconLocation; + GameRegistry.registerItem(this, this.getUnlocalizedName()); + ALL_VARIANTS.add(new ItemStack(this, 0, 0)); + for (int i = 1; i <= 24; i++) { + ItemStack aStack = new ItemStack(this, 0, i); + ALL_VARIANTS.add(aStack); + } + } + + @Override + public boolean isDamageable() { + return false; + } + + @Override + public void addInformation(ItemStack aStack, EntityPlayer p_77624_2_, List aList, boolean p_77624_4_) { + try { + aList.add("Configuration == " + aStack.getItemDamage()); + aList.add(GT_LanguageManager.addStringLocalization( + new StringBuilder() + .append(getUnlocalizedName()) + .append(".tooltip.0") + .toString(), + "Right click to reconfigure")); + aList.add(GT_LanguageManager.addStringLocalization( + new StringBuilder() + .append(getUnlocalizedName()) + .append(".tooltip.1") + .toString(), + "Needs a screwdriver or circuit programming tool")); + } catch (Throwable t) { + t.printStackTrace(); + } + super.addInformation(aStack, p_77624_2_, aList, p_77624_4_); + } + + @Override + public EnumRarity getRarity(ItemStack p_77613_1_) { + return EnumRarity.common; + } + + @Override + public void getSubItems(Item aItem, CreativeTabs p_150895_2_, List aList) { + aList.add(ItemUtils.simpleMetaStack(aItem, 0, 1)); + } + + @Override + public boolean isRepairable() { + return false; + } + + @Override + public boolean isBookEnchantable(ItemStack stack, ItemStack book) { + return false; + } + + @Override + public boolean showDurabilityBar(ItemStack stack) { + return false; + } + + @Override + public void registerIcons(final IIconRegister u) { + this.base = u.registerIcon(CORE.MODID + ":" + iconLocation); + } + + @Override + public IIcon getIconFromDamageForRenderPass(final int damage, final int pass) { + return this.base; + } + + @Override + public IIcon getIconFromDamage(int damage) { + return this.base; + } + + @Override + public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { + return this.base; + } + + @Override + public IIcon getIcon(ItemStack stack, int pass) { + return this.base; + } + + @Override + public boolean receive(ItemStack stack, EntityPlayerMP player, NBTTagCompound tag) { + int meta = tag.hasKey("meta", Constants.NBT.TAG_BYTE) ? tag.getByte("meta") : -1; + if (meta < 0 || meta > 24) return true; + + if (!player.capabilities.isCreativeMode) { + Pair> toolIndex = findConfiguratorInInv(player); + if (toolIndex == null) return true; + + ItemStack[] mainInventory = player.inventory.mainInventory; + mainInventory[toolIndex.getKey()] = toolIndex.getValue().apply(mainInventory[toolIndex.getKey()], player); + } + stack.setItemDamage(meta); + + return true; + } + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + // nothing on server side or fake player + if (player instanceof FakePlayer || !world.isRemote) return stack; + // check if any screwdriver + ItemStack configuratorStack; + if (player.capabilities.isCreativeMode) { + configuratorStack = null; + } else { + Pair configurator = findConfiguratorInInv(player); + if (configurator == null) { + int count; + try { + count = Integer.parseInt( + StatCollector.translateToLocal("GT5U.item.programmed_circuit.no_screwdriver.count")); + } catch (NumberFormatException e) { + player.addChatComponentMessage(new ChatComponentText( + "Error in translation GT5U.item.programmed_circuit.no_screwdriver.count: " + + e.getMessage())); + count = 1; + } + player.addChatComponentMessage(new ChatComponentTranslation( + "GT5U.item.programmed_circuit.no_screwdriver." + XSTR.XSTR_INSTANCE.nextInt(count))); + return stack; + } + configuratorStack = player.inventory.mainInventory[configurator.getKey()]; + } + openSelectorGui(configuratorStack, stack.getItemDamage(), player); + return stack; + } + + private void openSelectorGui(ItemStack configurator, int meta, EntityPlayer player) { + UIInfos.openClientUI(player, buildContext -> new SelectItemUIFactory( + StatCollector.translateToLocal("GT5U.item.programmed_circuit.select.header"), + configurator, + GTPP_IntegratedCircuit_Item::onConfigured, + ALL_VARIANTS, + meta, + true) + .createWindow(buildContext)); + } + + private static void onConfigured(ItemStack stack) { + NBTTagCompound tag = new NBTTagCompound(); + tag.setByte("meta", (byte) stack.getItemDamage()); + GT_Values.NW.sendToServer(new GT_Packet_UpdateItem(tag)); + } + + private static Pair> findConfiguratorInInv( + EntityPlayer player) { + ItemStack[] mainInventory = player.inventory.mainInventory; + for (int j = 0, mainInventoryLength = mainInventory.length; j < mainInventoryLength; j++) { + ItemStack toolStack = mainInventory[j]; + + if (!GT_Utility.isStackValid(toolStack)) continue; + + for (Map.Entry, BiFunction> p : + GregTech_API.sCircuitProgrammerList.entrySet()) + if (p.getKey().test(toolStack)) return Pair.of(j, p.getValue()); + } + return null; + } +} diff --git a/src/main/java/gtPlusPlus/core/item/circuit/ItemAdvancedChip.java b/src/main/java/gtPlusPlus/core/item/circuit/ItemAdvancedChip.java deleted file mode 100644 index d76a71d24e..0000000000 --- a/src/main/java/gtPlusPlus/core/item/circuit/ItemAdvancedChip.java +++ /dev/null @@ -1,259 +0,0 @@ -package gtPlusPlus.core.item.circuit; - -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.registry.GameRegistry; -import gregtech.api.GregTech_API; -import gregtech.api.enums.GT_Values; -import gregtech.api.gui.GT_GUIDialogSelectItem; -import gregtech.api.interfaces.INetworkUpdatableItem; -import gregtech.api.net.GT_Packet_UpdateItem; -import gregtech.api.objects.XSTR; -import gregtech.api.util.GT_LanguageManager; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import java.util.*; -import java.util.function.BiFunction; -import java.util.function.Predicate; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.*; -import net.minecraft.world.World; -import net.minecraftforge.common.util.Constants; -import net.minecraftforge.common.util.FakePlayer; -import org.apache.commons.lang3.tuple.Pair; - -public class ItemAdvancedChip extends Item implements INetworkUpdatableItem { - private static final List ALL_VARIANTS = new ArrayList<>(); - protected IIcon base; - - public ItemAdvancedChip() { - this.setHasSubtypes(true); - this.setNoRepair(); - this.setMaxStackSize(64); - this.setMaxDamage(0); - this.setUnlocalizedName("T3RecipeSelector"); - GameRegistry.registerItem(this, this.getUnlocalizedName()); - ALL_VARIANTS.add(new ItemStack(this, 0, 0)); - for (int i = 1; i <= 24; i++) { - ItemStack aStack = new ItemStack(this, 0, i); - ALL_VARIANTS.add(aStack); - } - } - - @Override - public boolean isDamageable() { - return false; - } - - @Override - public boolean shouldRotateAroundWhenRendering() { - return super.shouldRotateAroundWhenRendering(); - } - - @Override - public void onUpdate( - ItemStack p_77663_1_, World p_77663_2_, Entity p_77663_3_, int p_77663_4_, boolean p_77663_5_) { - super.onUpdate(p_77663_1_, p_77663_2_, p_77663_3_, p_77663_4_, p_77663_5_); - } - - @Override - public String getItemStackDisplayName(ItemStack aStack) { - return super.getItemStackDisplayName(aStack); - } - - @Override - public void addInformation(ItemStack aStack, EntityPlayer p_77624_2_, List aList, boolean p_77624_4_) { - try { - aList.add("Configuration == " + aStack.getItemDamage()); - aList.add(GT_LanguageManager.addStringLocalization( - new StringBuilder() - .append(getUnlocalizedName()) - .append(".tooltip.0") - .toString(), - "Right click to reconfigure")); - aList.add(GT_LanguageManager.addStringLocalization( - new StringBuilder() - .append(getUnlocalizedName()) - .append(".tooltip.1") - .toString(), - "Needs a screwdriver or circuit programming tool")); - } catch (Throwable t) { - t.printStackTrace(); - } - super.addInformation(aStack, p_77624_2_, aList, p_77624_4_); - } - - @Override - public EnumRarity getRarity(ItemStack p_77613_1_) { - return EnumRarity.common; - } - - @Override - public void getSubItems(Item aItem, CreativeTabs p_150895_2_, List aList) { - aList.add(ItemUtils.simpleMetaStack(aItem, 0, 1)); - } - - @Override - public boolean getIsRepairable(ItemStack p_82789_1_, ItemStack p_82789_2_) { - return false; - } - - @Override - public boolean isRepairable() { - return false; - } - - @Override - public boolean isBookEnchantable(ItemStack stack, ItemStack book) { - return false; - } - - @Override - public int getDisplayDamage(ItemStack stack) { - return stack.getItemDamage(); - } - - @Override - public boolean showDurabilityBar(ItemStack stack) { - return false; - } - - @Override - public int getItemEnchantability() { - return 0; - } - - @Override - public int getItemEnchantability(ItemStack stack) { - return 0; - } - - @Override - public void registerIcons(final IIconRegister u) { - this.base = u.registerIcon(CORE.MODID + ":" + "science/general/AdvancedCircuit"); - } - - @Override - public IIcon getIconFromDamageForRenderPass(final int damage, final int pass) { - return this.base; - } - - @Override - public IIcon getIconFromDamage(int damage) { - return this.base; - } - - @Override - public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { - return this.base; - } - - @Override - public IIcon getIcon(ItemStack stack, int pass) { - return this.base; - } - - @Override - public String getUnlocalizedName(ItemStack stack) { - return super.getUnlocalizedName(); - } - - @Override - public boolean receive(ItemStack stack, EntityPlayerMP player, NBTTagCompound tag) { - int meta = tag.hasKey("meta", Constants.NBT.TAG_BYTE) ? tag.getByte("meta") : -1; - if (meta < 0 || meta > 24) return true; - - if (!player.capabilities.isCreativeMode) { - Pair> toolIndex = findConfiguratorInInv(player); - if (toolIndex == null) return true; - - ItemStack[] mainInventory = player.inventory.mainInventory; - mainInventory[toolIndex.getKey()] = toolIndex.getValue().apply(mainInventory[toolIndex.getKey()], player); - } - stack.setItemDamage(meta); - - return true; - } - - @Override - public boolean onItemUse( - ItemStack stack, - EntityPlayer player, - World world, - int x, - int y, - int z, - int side, - float xOffset, - float yOffset, - float zOffset) { - // nothing on server side or fake player - if (player instanceof FakePlayer || !world.isRemote) return false; - // check if any screwdriver - ItemStack configuratorStack; - if (player.capabilities.isCreativeMode) { - configuratorStack = null; - } else { - Pair configurator = findConfiguratorInInv(player); - if (configurator == null) { - int count; - try { - count = Integer.parseInt( - StatCollector.translateToLocal("GT5U.item.programmed_circuit.no_screwdriver.count")); - } catch (NumberFormatException e) { - player.addChatComponentMessage(new ChatComponentText( - "Error in translation GT5U.item.programmed_circuit.no_screwdriver.count: " - + e.getMessage())); - count = 1; - } - player.addChatComponentMessage(new ChatComponentTranslation( - "GT5U.item.programmed_circuit.no_screwdriver." + XSTR.XSTR_INSTANCE.nextInt(count))); - return false; - } - configuratorStack = player.inventory.mainInventory[configurator.getKey()]; - } - openSelectorGui(configuratorStack, stack.getItemDamage()); - return true; - } - - private void openSelectorGui(ItemStack configurator, int meta) { - FMLCommonHandler.instance() - .showGuiScreen(new GT_GUIDialogSelectItem( - StatCollector.translateToLocal("GT5U.item.programmed_circuit.select.header"), - configurator, - null, - ItemAdvancedChip::onConfigured, - ALL_VARIANTS, - meta, - true)); - } - - private static void onConfigured(ItemStack stack) { - NBTTagCompound tag = new NBTTagCompound(); - tag.setByte("meta", (byte) stack.getItemDamage()); - GT_Values.NW.sendToServer(new GT_Packet_UpdateItem(tag)); - } - - private static Pair> findConfiguratorInInv( - EntityPlayer player) { - ItemStack[] mainInventory = player.inventory.mainInventory; - for (int j = 0, mainInventoryLength = mainInventory.length; j < mainInventoryLength; j++) { - ItemStack toolStack = mainInventory[j]; - - if (!GT_Utility.isStackValid(toolStack)) continue; - - for (Map.Entry, BiFunction> p : - GregTech_API.sCircuitProgrammerList.entrySet()) - if (p.getKey().test(toolStack)) return Pair.of(j, p.getValue()); - } - return null; - } -} diff --git a/src/main/java/gtPlusPlus/core/slots/SlotAirFilter.java b/src/main/java/gtPlusPlus/core/slots/SlotAirFilter.java deleted file mode 100644 index 8ad0b000bc..0000000000 --- a/src/main/java/gtPlusPlus/core/slots/SlotAirFilter.java +++ /dev/null @@ -1,29 +0,0 @@ -package gtPlusPlus.core.slots; - -import gtPlusPlus.core.item.general.ItemAirFilter; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class SlotAirFilter extends Slot { - - public SlotAirFilter(final IInventory inventory, final int slot, final int x, final int y) { - super(inventory, slot, x, y); - } - - @Override - public boolean isItemValid(final ItemStack itemstack) { - if (itemstack == null) { - return false; - } - if (itemstack.getItem() instanceof ItemAirFilter) { - return true; - } - return false; - } - - @Override - public int getSlotStackLimit() { - return 1; - } -} diff --git a/src/main/java/gtPlusPlus/core/slots/SlotBlueprint.java b/src/main/java/gtPlusPlus/core/slots/SlotBlueprint.java deleted file mode 100644 index 56d39233e7..0000000000 --- a/src/main/java/gtPlusPlus/core/slots/SlotBlueprint.java +++ /dev/null @@ -1,29 +0,0 @@ -package gtPlusPlus.core.slots; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.interfaces.IItemBlueprint; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class SlotBlueprint extends Slot { - - public SlotBlueprint(final IInventory inventory, final int x, final int y, final int z) { - super(inventory, x, y, z); - } - - @Override - public boolean isItemValid(final ItemStack itemstack) { - if (itemstack.getItem() instanceof IItemBlueprint) { - Logger.WARNING(itemstack.getDisplayName() + " is a valid Blueprint."); - return true; - } - Logger.WARNING(itemstack.getDisplayName() + " is not a valid Blueprint."); - return false; - } - - @Override - public int getSlotStackLimit() { - return 1; - } -} diff --git a/src/main/java/gtPlusPlus/core/slots/SlotElectric.java b/src/main/java/gtPlusPlus/core/slots/SlotElectric.java deleted file mode 100644 index 9c14afc6cc..0000000000 --- a/src/main/java/gtPlusPlus/core/slots/SlotElectric.java +++ /dev/null @@ -1,48 +0,0 @@ -package gtPlusPlus.core.slots; - -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.items.GT_MetaGenerated_Tool; -import ic2.api.info.Info; -import ic2.api.item.ElectricItem; -import ic2.api.item.IElectricItem; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class SlotElectric extends Slot { - - public SlotElectric(final IInventory inventory, final int x, final int y, final int z) { - super(inventory, x, y, z); - } - - public SlotElectric(IGregTechTileEntity mTileEntity, int i, int j, int k) { - this( - mTileEntity.getIInventory(mTileEntity.getXCoord(), mTileEntity.getYCoord(), mTileEntity.getZCoord()), - i, - j, - k); - } - - @Override - public boolean isItemValid(final ItemStack itemstack) { - if ((accepts(itemstack)) - || (itemstack.getItem() instanceof GT_MetaGenerated_Tool) - || (itemstack.getItem() instanceof IElectricItem)) { - return true; - } - return false; - } - - public boolean accepts(final ItemStack stack) { - if (stack == null) { - return false; - } - return (Info.itemEnergy.getEnergyValue(stack) > 0.0D) - || (ElectricItem.manager.discharge(stack, (1.0D / 0.0D), 4, true, true, true) > 0.0D); - } - - @Override - public int getSlotStackLimit() { - return 1; - } -} diff --git a/src/main/java/gtPlusPlus/core/slots/SlotLockedInput.java b/src/main/java/gtPlusPlus/core/slots/SlotLockedInput.java deleted file mode 100644 index 41a3236275..0000000000 --- a/src/main/java/gtPlusPlus/core/slots/SlotLockedInput.java +++ /dev/null @@ -1,53 +0,0 @@ -package gtPlusPlus.core.slots; - -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gtPlusPlus.core.util.reflect.ReflectionUtils; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class SlotLockedInput extends Slot { - - private ItemStack mLockStack; - private final IGregTechTileEntity mEntity; - private boolean mChecked = false; - - public SlotLockedInput( - final IGregTechTileEntity inventory, final int index, final int x, final int y, ItemStack lockStack) { - super(inventory, index, x, y); - mLockStack = lockStack; - mEntity = inventory; - } - - @Override - public boolean isItemValid(final ItemStack itemstack) { - if (mEntity == null) { - return false; - } else { - if (!mChecked) { - try { - mLockStack = (ItemStack) ReflectionUtils.getField( - this.mEntity.getMetaTileEntity().getClass(), "mItemStack") - .get(this.mEntity.getMetaTileEntity()); - } catch (Throwable t) { - t.printStackTrace(); - mLockStack = null; - } - mChecked = true; - } - } - - if (mLockStack == null) { - return true; - } else { - if (ItemStack.areItemStacksEqual(itemstack, mLockStack)) { - return true; - } - } - return false; - } - - @Override - public int getSlotStackLimit() { - return mLockStack == null ? 64 : mLockStack.getMaxStackSize(); - } -} diff --git a/src/main/java/gtPlusPlus/core/slots/SlotNoInputLogging.java b/src/main/java/gtPlusPlus/core/slots/SlotNoInputLogging.java deleted file mode 100644 index 230a299d41..0000000000 --- a/src/main/java/gtPlusPlus/core/slots/SlotNoInputLogging.java +++ /dev/null @@ -1,34 +0,0 @@ -package gtPlusPlus.core.slots; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import net.minecraft.block.Block; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; - -public class SlotNoInputLogging extends SlotNoInput { - - private final int aSlotIndex; - - public SlotNoInputLogging(final IInventory inventory, final int index, final int x, final int y) { - super(inventory, index, x, y); - aSlotIndex = index; - Logger.INFO("Slot " + index + " is doing logging"); - } - - @Override - public boolean isItemValid(final ItemStack itemstack) { - if (ItemUtils.checkForInvalidItems(itemstack)) { - Logger.INFO("Tried Inserting " + ItemUtils.getItemName(itemstack) + " into slot " + aSlotIndex); - Block b = Block.getBlockFromItem(itemstack.getItem()); - Logger.INFO("" + itemstack.getUnlocalizedName()); - if (b != null) { - Logger.INFO("" + b.getLocalizedName()); - Logger.INFO("" + b.getUnlocalizedName()); - } - } else { - Logger.INFO("Bad Itemstack"); - } - return false; - } -} diff --git a/src/main/java/gtPlusPlus/core/slots/SlotPollutionScrubber.java b/src/main/java/gtPlusPlus/core/slots/SlotPollutionScrubber.java deleted file mode 100644 index 7025943908..0000000000 --- a/src/main/java/gtPlusPlus/core/slots/SlotPollutionScrubber.java +++ /dev/null @@ -1,67 +0,0 @@ -package gtPlusPlus.core.slots; - -import gregtech.api.items.GT_MetaGenerated_Tool; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.item.general.ItemAirFilter; -import gtPlusPlus.core.item.general.ItemBasicScrubberTurbine; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.recipe.common.CI; -import java.util.HashMap; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class SlotPollutionScrubber extends Slot { - - private final int mType; - private final int mTier; - - private static HashMap mConveyorMap = new HashMap(); - - static { - for (int i = 0; i < (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK ? 9 : 5); i++) { - mConveyorMap.put(i, CI.getConveyor(i, 1)); - } - } - - public SlotPollutionScrubber( - final int aType, final int aTier, final IInventory inventory, final int slot, final int x, final int y) { - super(inventory, slot, x, y); - mType = aType; - mTier = aTier; - } - - @Override - public synchronized boolean isItemValid(final ItemStack itemstack) { - return isItemValidForSlot(this, itemstack); - } - - public static synchronized boolean isItemValidForSlot( - final SlotPollutionScrubber aSlot, final ItemStack itemstack) { - if (aSlot.mType == 0) { - if (itemstack.getItem() instanceof ItemBasicScrubberTurbine) { - return true; - } - if (itemstack.getItem() instanceof GT_MetaGenerated_Tool - && itemstack.getItemDamage() >= 170 - && itemstack.getItemDamage() <= 179) { - return true; - } - } else if (aSlot.mType == 1) { - if (itemstack.getItem() instanceof ItemAirFilter) { - return true; - } - } else if (aSlot.mType == 2) { - ItemStack aConveyorStack = mConveyorMap.get(aSlot.mTier); - if (GT_Utility.areStacksEqual(itemstack, aConveyorStack, true)) { - return true; - } - } - return false; - } - - @Override - public int getSlotStackLimit() { - return 1; - } -} diff --git a/src/main/java/gtPlusPlus/core/tileentities/base/TileEntityBase.java b/src/main/java/gtPlusPlus/core/tileentities/base/TileEntityBase.java index f52ce86a99..59516e4231 100644 --- a/src/main/java/gtPlusPlus/core/tileentities/base/TileEntityBase.java +++ b/src/main/java/gtPlusPlus/core/tileentities/base/TileEntityBase.java @@ -554,19 +554,6 @@ public class TileEntityBase extends TileEntity implements ILazyCoverable, IGregT return this.zCoord + ForgeDirection.getOrientation(aSide).offsetZ * aMultiplier; } - public final boolean openGUI(EntityPlayer aPlayer) { - return this.openGUI(aPlayer, 0); - } - - public final boolean openGUI(EntityPlayer aPlayer, int aID) { - if (aPlayer == null) { - return false; - } else { - aPlayer.openGui(GT_Values.GT, aID, this.worldObj, this.xCoord, this.yCoord, this.zCoord); - return true; - } - } - public final int getRandomNumber(int aRange) { return this.worldObj.rand.nextInt(aRange); } diff --git a/src/main/java/gtPlusPlus/core/util/debug/DEBUG_MULTIBLOCK_ShapeSpawner.java b/src/main/java/gtPlusPlus/core/util/debug/DEBUG_MULTIBLOCK_ShapeSpawner.java index b4d2480a02..9cff0758a7 100644 --- a/src/main/java/gtPlusPlus/core/util/debug/DEBUG_MULTIBLOCK_ShapeSpawner.java +++ b/src/main/java/gtPlusPlus/core/util/debug/DEBUG_MULTIBLOCK_ShapeSpawner.java @@ -7,8 +7,7 @@ import gregtech.api.GregTech_API; import gregtech.api.enums.ConfigCategories; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; -import gregtech.api.gui.GT_Container_MultiMachine; -import gregtech.api.gui.GT_GUIContainer_MultiMachine; +import gregtech.api.gui.modularui.GT_UIInfos; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.items.GT_MetaGenerated_Tool; @@ -22,7 +21,6 @@ import gregtech.api.util.GT_Utility; import gregtech.common.items.GT_MetaGenerated_Tool_01; import java.util.ArrayList; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.fluids.FluidStack; @@ -183,26 +181,10 @@ public abstract class DEBUG_MULTIBLOCK_ShapeSpawner extends MetaTileEntity { @Override public boolean onRightclick(final IGregTechTileEntity aBaseMetaTileEntity, final EntityPlayer aPlayer) { - if (aBaseMetaTileEntity.isClientSide()) { - return true; - } - aBaseMetaTileEntity.openGUI(aPlayer); + GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); return true; } - @Override - public Object getServerGUI( - final int aID, final InventoryPlayer aPlayerInventory, final IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_Container_MultiMachine(aPlayerInventory, aBaseMetaTileEntity); - } - - @Override - public Object getClientGUI( - final int aID, final InventoryPlayer aPlayerInventory, final IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_MultiMachine( - aPlayerInventory, aBaseMetaTileEntity, this.getLocalName(), "MultiblockDisplay.png"); - } - @Override public byte getTileEntityBaseType() { return 2; @@ -982,4 +964,9 @@ public abstract class DEBUG_MULTIBLOCK_ShapeSpawner extends MetaTileEntity { final IGregTechTileEntity aBaseMetaTileEntity, final int aIndex, final byte aSide, final ItemStack aStack) { return false; } + + @Override + public boolean useModularUI() { + return true; + } } diff --git a/src/main/java/gtPlusPlus/nei/GTPP_NEI_DefaultHandler.java b/src/main/java/gtPlusPlus/nei/GTPP_NEI_DefaultHandler.java index f080a0bf44..65af02dfe1 100644 --- a/src/main/java/gtPlusPlus/nei/GTPP_NEI_DefaultHandler.java +++ b/src/main/java/gtPlusPlus/nei/GTPP_NEI_DefaultHandler.java @@ -11,6 +11,9 @@ import gtPlusPlus.core.util.minecraft.ItemUtils; import java.util.*; import net.minecraft.item.ItemStack; +/** + * Handles milling/catalyst tooltip + */ public class GTPP_NEI_DefaultHandler extends GT_NEI_DefaultHandler { public GTPP_NEI_DefaultHandler(final GT_Recipe_Map tMap) { diff --git a/src/main/java/gtPlusPlus/nei/GT_NEI_LFTR.java b/src/main/java/gtPlusPlus/nei/GT_NEI_LFTR.java index f0555906eb..0d1ef2bcf7 100644 --- a/src/main/java/gtPlusPlus/nei/GT_NEI_LFTR.java +++ b/src/main/java/gtPlusPlus/nei/GT_NEI_LFTR.java @@ -4,7 +4,7 @@ import codechicken.nei.recipe.TemplateRecipeHandler; import gregtech.api.util.GTPP_Recipe.GTPP_Recipe_Map; import gtPlusPlus.core.util.math.MathUtils; -public class GT_NEI_LFTR extends GT_NEI_MultiNoCell { +public class GT_NEI_LFTR extends GTPP_NEI_DefaultHandler { public GT_NEI_LFTR() { super(GTPP_Recipe_Map.sLiquidFluorineThoriumReactorRecipes); @@ -19,21 +19,25 @@ public class GT_NEI_LFTR extends GT_NEI_MultiNoCell { public void drawExtras(final int aRecipeIndex) { final long tEUt = ((CachedDefaultRecipe) this.arecipes.get(aRecipeIndex)).mRecipe.mSpecialValue; final int tDuration = ((CachedDefaultRecipe) this.arecipes.get(aRecipeIndex)).mRecipe.mDuration; + int y = getDescriptionYOffset(); drawText( 10, - 83, + y, "Time: " + (tDuration < 20 ? "< 1" : MathUtils.formatNumbers(0.05d * tDuration)) + " secs", -16777216); + y += 10; drawText( 10, - 93, + y, this.mRecipeMap.mNEISpecialValuePre + MathUtils.formatNumbers( (((CachedDefaultRecipe) this.arecipes.get(aRecipeIndex)).mRecipe.mSpecialValue * this.mRecipeMap.mNEISpecialValueMultiplier)) + this.mRecipeMap.mNEISpecialValuePost, -16777216); - drawText(10, 103, "Dynamo: " + MathUtils.formatNumbers((long) (tDuration * tEUt)) + " EU", -16777216); - drawText(10, 113, "Total: " + MathUtils.formatNumbers((long) (tDuration * tEUt * 4)) + " EU", -16777216); + y += 10; + drawText(10, y, "Dynamo: " + MathUtils.formatNumbers((long) (tDuration * tEUt)) + " EU", -16777216); + y += 10; + drawText(10, y, "Total: " + MathUtils.formatNumbers((long) (tDuration * tEUt * 4)) + " EU", -16777216); } } diff --git a/src/main/java/gtPlusPlus/nei/GT_NEI_MultiNoCell.java b/src/main/java/gtPlusPlus/nei/GT_NEI_MultiNoCell.java deleted file mode 100644 index 074371c8f3..0000000000 --- a/src/main/java/gtPlusPlus/nei/GT_NEI_MultiNoCell.java +++ /dev/null @@ -1,33 +0,0 @@ -package gtPlusPlus.nei; - -import codechicken.lib.gui.GuiDraw; -import codechicken.nei.recipe.TemplateRecipeHandler; -import gregtech.api.util.GT_Recipe.GT_Recipe_Map; -import org.lwjgl.opengl.GL11; - -/** - * Used for larger GUI ("basicmachines/FissionFuel") - */ -public class GT_NEI_MultiNoCell extends GTPP_NEI_DefaultHandler { - - public GT_NEI_MultiNoCell(GT_Recipe_Map aMap) { - super(aMap); - } - - @Override - public TemplateRecipeHandler newInstance() { - return new GT_NEI_MultiNoCell(mRecipeMap); - } - - @Override - public void drawBackground(final int recipe) { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GuiDraw.changeTexture(this.getGuiTexture()); - GuiDraw.drawTexturedModalRect(-4, -8, 1, 3, 174, 89); - } - - @Override - protected int getDescriptionYOffset() { - return 85; - } -} diff --git a/src/main/java/gtPlusPlus/nei/GT_NEI_MultiSolarTower.java b/src/main/java/gtPlusPlus/nei/GT_NEI_MultiSolarTower.java index 9dadd870d1..375c47ef5d 100644 --- a/src/main/java/gtPlusPlus/nei/GT_NEI_MultiSolarTower.java +++ b/src/main/java/gtPlusPlus/nei/GT_NEI_MultiSolarTower.java @@ -4,7 +4,7 @@ import codechicken.nei.recipe.TemplateRecipeHandler; import gregtech.api.util.GT_Recipe.GT_Recipe_Map; import gtPlusPlus.core.util.math.MathUtils; -public class GT_NEI_MultiSolarTower extends GT_NEI_MultiNoCell { +public class GT_NEI_MultiSolarTower extends GTPP_NEI_DefaultHandler { public GT_NEI_MultiSolarTower(GT_Recipe_Map aMap) { super(aMap); @@ -18,15 +18,19 @@ public class GT_NEI_MultiSolarTower extends GT_NEI_MultiNoCell { @Override public void drawExtras(final int aRecipeIndex) { final int tDuration = ((CachedDefaultRecipe) this.arecipes.get(aRecipeIndex)).mRecipe.mDuration; + int y = getDescriptionYOffset(); if (tDuration > 0) { drawText( 10, - 90, + y, "Time: " + (tDuration < 20 ? "< 1" : MathUtils.formatNumbers(0.05d * tDuration)) + " secs", -16777216); + y += 10; } - drawText(5, 100, "Solar Heater rings boost tier", -16777216); - drawText(5, 110, "R1:T1, R2:T2, R3:T4, R4:T8, R5:T16", -16777216); - drawText(5, 120, "Input Amount = 1000 x T", -16777216); + drawText(5, y, "Solar Heater rings boost tier", -16777216); + y += 10; + drawText(5, y, "R1:T1, R2:T2, R3:T4, R4:T8, R5:T16", -16777216); + y += 10; + drawText(5, y, "Input Amount = 1000 x T", -16777216); } } diff --git a/src/main/java/gtPlusPlus/nei/GT_NEI_MultiTreeGrowthSimulator.java b/src/main/java/gtPlusPlus/nei/GT_NEI_MultiTreeGrowthSimulator.java index 5617237044..a98b791e34 100644 --- a/src/main/java/gtPlusPlus/nei/GT_NEI_MultiTreeGrowthSimulator.java +++ b/src/main/java/gtPlusPlus/nei/GT_NEI_MultiTreeGrowthSimulator.java @@ -8,7 +8,7 @@ import gtPlusPlus.core.item.ModItems; import java.util.List; import net.minecraft.item.ItemStack; -public class GT_NEI_MultiTreeGrowthSimulator extends GT_NEI_MultiNoCell { +public class GT_NEI_MultiTreeGrowthSimulator extends GTPP_NEI_DefaultHandler { public GT_NEI_MultiTreeGrowthSimulator() { super(GTPP_Recipe_Map.sTreeSimFakeRecipes); @@ -22,9 +22,12 @@ public class GT_NEI_MultiTreeGrowthSimulator extends GT_NEI_MultiNoCell { @Override public void drawExtras(final int aRecipeIndex) { if (ModItems.fluidFertBasic != null) { - drawText(5, 90, "Chance of Sapling out